diff --git a/providers/src/databricks_account/v00.00.00000/services/billing.yaml b/providers/src/databricks_account/v00.00.00000/services/billing.yaml index 9edfc8ba..31bcab0e 100644 --- a/providers/src/databricks_account/v00.00.00000/services/billing.yaml +++ b/providers/src/databricks_account/v00.00.00000/services/billing.yaml @@ -5,7 +5,7 @@ info: Python SDK. version: 0.1.0 x-stackql-sdk-version: 0.86.0 - x-stackql-date-generated: '2026-02-19' + x-stackql-date-generated: '2026-02-24' x-stackql-sdk-namespace: databricks.sdk.service.billing servers: - url: https://accounts.cloud.databricks.com @@ -66,7 +66,7 @@ paths: in: query required: false schema: - type: string + type: boolean description: Specify whether to include personally identifiable information in the billable usage logs, for example the email addresses of cluster creators. Handle this information with care. Defaults to false. responses: @@ -123,7 +123,24 @@ paths: type: object properties: policy: - type: string + type: object + properties: + binding_workspace_ids: + type: array + items: + type: integer + description: List of workspaces that this budget policy will be exclusively bound to. An empty binding + implies that this budget policy is open to any workspace in the account. + custom_tags: + type: string + description: A list of tags defined by the customer. At most 20 entries are allowed per policy. + policy_id: + type: string + description: The Id of the policy. This field is generated by Databricks and globally unique. + policy_name: + type: string + description: The name of the policy. - Must be unique among active policies. - Can contain only characters + from the ISO 8859-1 (latin1) set. - Can't start with reserved keywords such as `databricks:default-policy`. description: The policy to create. `policy_id` needs to be empty as it will be generated `policy_name` must be provided, custom_tags may need to be provided depending on the cloud provider. All other fields are optional. @@ -184,13 +201,13 @@ paths: in: query required: false schema: - type: string + $ref: '#/components/schemas/Filter' description: A filter to apply to the list of policies. - name: page_size in: query required: false schema: - type: string + type: integer description: The maximum number of budget policies to return. If unspecified, at most 100 budget policies will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. - name: page_token @@ -205,7 +222,7 @@ paths: in: query required: false schema: - type: string + $ref: '#/components/schemas/SortSpec' description: The sort specification. responses: '200': @@ -343,7 +360,7 @@ paths: in: query required: false schema: - type: string + $ref: '#/components/schemas/LimitConfig' description: DEPRECATED. This is redundant field as LimitConfig is part of the BudgetPolicy requestBody: content: @@ -352,7 +369,24 @@ paths: type: object properties: policy: - type: string + type: object + properties: + binding_workspace_ids: + type: array + items: + type: integer + description: List of workspaces that this budget policy will be exclusively bound to. An empty binding + implies that this budget policy is open to any workspace in the account. + custom_tags: + type: string + description: A list of tags defined by the customer. At most 20 entries are allowed per policy. + policy_id: + type: string + description: The Id of the policy. This field is generated by Databricks and globally unique. + policy_name: + type: string + description: The name of the policy. - Must be unique among active policies. - Can contain only characters + from the ISO 8859-1 (latin1) set. - Can't start with reserved keywords such as `databricks:default-policy`. description: The policy to update. `creator_user_id` cannot be specified in the request. All other fields must be specified even if not changed. The `policy_id` is used to identify the policy to update. required: @@ -404,7 +438,199 @@ paths: type: object properties: budget: - type: string + type: object + properties: + account_id: + type: string + alert_configurations: + type: array + items: + type: object + properties: + action_configurations: + type: array + items: + type: object + properties: + action_type: + type: string + x-enum: + - EMAIL_NOTIFICATION + description: |- + Create a collection of name/value pairs. + + Example enumeration: + + >>> class Color(Enum): + ... RED = 1 + ... BLUE = 2 + ... GREEN = 3 + + Access them by: + + - attribute access:: + + >>> Color.RED + + + - value lookup: + + >>> Color(1) + + + - name lookup: + + >>> Color['RED'] + + + Enumerations can be iterated over, and know how many members they have: + + >>> len(Color) + 3 + + >>> list(Color) + [, , ] + + Methods can be added to enumerations, and members can have their own + attributes -- see the documentation for details. + target: + type: string + description: Target for the action. For example, an email address. + quantity_threshold: + type: string + description: The threshold for the budget alert to determine if it is in a triggered state. The + number is evaluated based on `quantity_type`. + quantity_type: + type: string + x-enum: + - LIST_PRICE_DOLLARS_USD + description: The way to calculate cost for this budget alert. This is what `quantity_threshold` + is measured in. + time_period: + type: string + x-enum: + - MONTH + description: The time window of usage data for the budget. + trigger_type: + type: string + x-enum: + - CUMULATIVE_SPENDING_EXCEEDED + description: The evaluation method to determine when this budget alert is in a triggered state. + description: Alerts to configure when this budget is in a triggered state. Budgets must have exactly + one alert configuration. + display_name: + type: string + description: 'Human-readable name of budget configuration. Max Length: 128' + filter: + type: object + properties: + tags: + type: array + items: + type: object + properties: + key: + type: string + value: + type: object + properties: + operator: + type: string + x-enum: + - IN + description: |- + Create a collection of name/value pairs. + + Example enumeration: + + >>> class Color(Enum): + ... RED = 1 + ... BLUE = 2 + ... GREEN = 3 + + Access them by: + + - attribute access:: + + >>> Color.RED + + + - value lookup: + + >>> Color(1) + + + - name lookup: + + >>> Color['RED'] + + + Enumerations can be iterated over, and know how many members they have: + + >>> len(Color) + 3 + + >>> list(Color) + [, , ] + + Methods can be added to enumerations, and members can have their own + attributes -- see the documentation for details. + values: + type: array + items: + type: string + workspace_id: + type: object + properties: + operator: + type: string + x-enum: + - IN + description: |- + Create a collection of name/value pairs. + + Example enumeration: + + >>> class Color(Enum): + ... RED = 1 + ... BLUE = 2 + ... GREEN = 3 + + Access them by: + + - attribute access:: + + >>> Color.RED + + + - value lookup: + + >>> Color(1) + + + - name lookup: + + >>> Color['RED'] + + + Enumerations can be iterated over, and know how many members they have: + + >>> len(Color) + 3 + + >>> list(Color) + [, , ] + + Methods can be added to enumerations, and members can have their own + attributes -- see the documentation for details. + values: + type: array + items: + type: integer + description: If provided, usage must match with the provided Databricks workspace IDs. + description: Configured filters for this budget. These are applied to your account's usage to limit + the scope of what is considered for this budget. Leave empty to include all usage for this account. + All provided filters must be matched for usage to be included. description: Properties of the new budget configuration. required: - budget @@ -592,7 +818,171 @@ paths: type: object properties: budget: - type: string + type: object + properties: + account_id: + type: string + alert_configurations: + type: array + items: + type: object + properties: + action_configurations: + type: array + items: + type: object + properties: + action_configuration_id: + type: string + action_type: + type: string + x-enum: + - EMAIL_NOTIFICATION + description: The type of the action. + target: + type: string + description: Target for the action. For example, an email address. + alert_configuration_id: + type: string + description: Databricks alert configuration ID. + quantity_threshold: + type: string + description: The threshold for the budget alert to determine if it is in a triggered state. The + number is evaluated based on `quantity_type`. + quantity_type: + type: string + x-enum: + - LIST_PRICE_DOLLARS_USD + description: The way to calculate cost for this budget alert. This is what `quantity_threshold` + is measured in. + time_period: + type: string + x-enum: + - MONTH + description: The time window of usage data for the budget. + trigger_type: + type: string + x-enum: + - CUMULATIVE_SPENDING_EXCEEDED + description: The evaluation method to determine when this budget alert is in a triggered state. + description: Alerts to configure when this budget is in a triggered state. Budgets must have exactly + one alert configuration. + budget_configuration_id: + type: string + description: Databricks budget configuration ID. + display_name: + type: string + description: 'Human-readable name of budget configuration. Max Length: 128' + filter: + type: object + properties: + tags: + type: array + items: + type: object + properties: + key: + type: string + value: + type: object + properties: + operator: + type: string + x-enum: + - IN + description: |- + Create a collection of name/value pairs. + + Example enumeration: + + >>> class Color(Enum): + ... RED = 1 + ... BLUE = 2 + ... GREEN = 3 + + Access them by: + + - attribute access:: + + >>> Color.RED + + + - value lookup: + + >>> Color(1) + + + - name lookup: + + >>> Color['RED'] + + + Enumerations can be iterated over, and know how many members they have: + + >>> len(Color) + 3 + + >>> list(Color) + [, , ] + + Methods can be added to enumerations, and members can have their own + attributes -- see the documentation for details. + values: + type: array + items: + type: string + workspace_id: + type: object + properties: + operator: + type: string + x-enum: + - IN + description: |- + Create a collection of name/value pairs. + + Example enumeration: + + >>> class Color(Enum): + ... RED = 1 + ... BLUE = 2 + ... GREEN = 3 + + Access them by: + + - attribute access:: + + >>> Color.RED + + + - value lookup: + + >>> Color(1) + + + - name lookup: + + >>> Color['RED'] + + + Enumerations can be iterated over, and know how many members they have: + + >>> len(Color) + 3 + + >>> list(Color) + [, , ] + + Methods can be added to enumerations, and members can have their own + attributes -- see the documentation for details. + values: + type: array + items: + type: integer + description: If provided, usage must match with the provided Databricks workspace IDs. + description: Configured filters for this budget. These are applied to your account's usage to limit + the scope of what is considered for this budget. Leave empty to include all usage for this account. + All provided filters must be matched for usage to be included. description: The updated budget. This will overwrite the budget specified by the budget ID. required: - budget @@ -660,7 +1050,80 @@ paths: type: object properties: log_delivery_configuration: - type: string + type: object + properties: + log_type: + type: string + x-enum: + - AUDIT_LOGS + - BILLABLE_USAGE + description: 'Log delivery type. Supported values are: * `BILLABLE_USAGE` — Configure [billable usage + log delivery]. For the CSV schema, see the [View billable usage]. * `AUDIT_LOGS` — Configure [audit + log delivery]. For the JSON schema, see [Configure audit logging] [Configure audit logging]: https://docs.databricks.com/administration-guide/account-settings/audit-logs.html + [View billable usage]: https://docs.databricks.com/administration-guide/account-settings/usage.html + [audit log delivery]: https://docs.databricks.com/administration-guide/account-settings/audit-logs.html + [billable usage log delivery]: https://docs.databricks.com/administration-guide/account-settings/billable-usage-delivery.html' + output_format: + type: string + x-enum: + - CSV + - JSON + description: 'The file type of log delivery. * If `log_type` is `BILLABLE_USAGE`, this value must be + `CSV`. Only the CSV (comma-separated values) format is supported. For the schema, see the [View billable + usage] * If `log_type` is `AUDIT_LOGS`, this value must be `JSON`. Only the JSON (JavaScript Object + Notation) format is supported. For the schema, see the [Configuring audit logs]. [Configuring audit + logs]: https://docs.databricks.com/administration-guide/account-settings/audit-logs.html [View billable + usage]: https://docs.databricks.com/administration-guide/account-settings/usage.html' + credentials_id: + type: string + description: 'The ID for a method:credentials/create that represents the AWS IAM role with policy and + trust relationship as described in the main billable usage documentation page. See [Configure billable + usage delivery]. [Configure billable usage delivery]: https://docs.databricks.com/administration-guide/account-settings/billable-usage-delivery.html' + storage_configuration_id: + type: string + description: 'The ID for a method:storage/create that represents the S3 bucket with bucket policy as + described in the main billable usage documentation page. See [Configure billable usage delivery]. + [Configure billable usage delivery]: https://docs.databricks.com/administration-guide/account-settings/billable-usage-delivery.html' + config_name: + type: string + description: The optional human-readable name of the log delivery configuration. Defaults to empty. + delivery_path_prefix: + type: string + description: The optional delivery path prefix within Amazon S3 storage. Defaults to empty, which means + that logs are delivered to the root of the bucket. This must be a valid S3 object key. This must not + start or end with a slash character. + delivery_start_time: + type: string + description: This field applies only if log_type is BILLABLE_USAGE. This is the optional start month + and year for delivery, specified in YYYY-MM format. Defaults to current year and month. BILLABLE_USAGE + logs are not available for usage before March 2019 (2019-03). + status: + type: string + x-enum: + - DISABLED + - ENABLED + description: Status of log delivery configuration. Set to `ENABLED` (enabled) or `DISABLED` (disabled). + Defaults to `ENABLED`. You can [enable or disable the configuration](#operation/patch-log-delivery-config-status) + later. Deletion of a configuration is not supported, so disable a log delivery configuration that + is no longer needed. + workspace_ids_filter: + type: array + items: + type: integer + description: Optional filter that specifies workspace IDs to deliver logs for. By default the workspace + filter is empty and log delivery applies at the account level, delivering workspace-level logs for + all workspaces in your account, plus account level logs. You can optionally set this field to an array + of workspace IDs (each one is an `int64`) to which log delivery should apply, in which case only workspace-level + logs relating to the specified workspaces are delivered. If you plan to use different log delivery + configurations for different workspaces, set this field explicitly. Be aware that delivery configurations + mentioning specific workspaces won't apply to new workspaces created in the future, and delivery won't + include account level logs. For some types of Databricks deployments there is only one workspace per + account ID, so this field is unnecessary. + required: + - log_type + - output_format + - credentials_id + - storage_configuration_id description: ':returns: :class:`WrappedLogDeliveryConfiguration`' required: - log_delivery_configuration @@ -726,7 +1189,7 @@ paths: in: query required: false schema: - type: string + $ref: '#/components/schemas/LogDeliveryConfigStatus' description: The log delivery status to filter the search results with - name: storage_configuration_id in: query @@ -837,6 +1300,9 @@ paths: properties: status: type: string + x-enum: + - DISABLED + - ENABLED description: Status of log delivery configuration. Set to `ENABLED` (enabled) or `DISABLED` (disabled). Defaults to `ENABLED`. You can [enable or disable the configuration](#operation/patch-log-delivery-config-status) later. Deletion of a configuration is not supported, so disable a log delivery configuration that is no @@ -891,13 +1357,19 @@ paths: properties: dashboard_type: type: string + x-enum: + - USAGE_DASHBOARD_TYPE_GLOBAL + - USAGE_DASHBOARD_TYPE_WORKSPACE description: Workspace level usage dashboard shows usage data for the specified workspace ID. Global level usage dashboard shows usage data for all workspaces in the account. major_version: type: string + x-enum: + - USAGE_DASHBOARD_MAJOR_VERSION_1 + - USAGE_DASHBOARD_MAJOR_VERSION_2 description: The major version of the usage dashboard template to use. Defaults to VERSION_1. workspace_id: - type: string + type: integer description: The workspace ID of the workspace in which the usage dashboard is created. responses: '200': @@ -944,14 +1416,14 @@ paths: in: query required: false schema: - type: string + $ref: '#/components/schemas/UsageDashboardType' description: Workspace level usage dashboard shows usage data for the specified workspace ID. Global level usage dashboard shows usage data for all workspaces in the account. - name: workspace_id in: query required: false schema: - type: string + type: integer description: The workspace ID of the workspace in which the usage dashboard is created. responses: '200': @@ -1451,20 +1923,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -1492,20 +1964,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -1533,20 +2005,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -1574,20 +2046,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -1615,20 +2087,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -1694,20 +2166,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -1736,20 +2208,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -1778,20 +2250,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -2029,6 +2501,10 @@ components: - name: binding_workspace_id type: string description: ID of a workspace bound to this budget policy (one row per workspace). + requiredParams: + - name: account_id + type: string + description: Databricks account ID used to scope the query. views: select: predicate: sqlDialect == "sqlite3" @@ -2102,6 +2578,10 @@ components: - name: action_configurations type: array description: List of actions to execute when the alert fires. + requiredParams: + - name: account_id + type: string + description: Databricks account ID used to scope the query. views: select: predicate: sqlDialect == "sqlite3" @@ -2175,6 +2655,10 @@ components: - name: action_target type: string description: Target for the action, such as an email address or webhook URL. + requiredParams: + - name: account_id + type: string + description: Databricks account ID used to scope the query. views: select: predicate: sqlDialect == "sqlite3" @@ -2265,6 +2749,10 @@ components: - name: workspace_ids_filter type: array description: List of workspace IDs to include in log delivery; empty means all workspaces. + requiredParams: + - name: account_id + type: string + description: Databricks account ID used to scope the query. views: select: predicate: sqlDialect == "sqlite3" @@ -2339,6 +2827,10 @@ components: - name: workspace_id type: string description: ID of a workspace included in the delivery filter (one row per workspace). + requiredParams: + - name: account_id + type: string + description: Databricks account ID used to scope the query. views: select: predicate: sqlDialect == "sqlite3" @@ -2392,6 +2884,10 @@ components: - name: tag_values type: array description: List of tag values matched by the operator for this tag key. + requiredParams: + - name: account_id + type: string + description: Databricks account ID used to scope the query. views: select: predicate: sqlDialect == "sqlite3" diff --git a/providers/src/databricks_account/v00.00.00000/services/catalog.yaml b/providers/src/databricks_account/v00.00.00000/services/catalog.yaml index 3d488071..0fd64d39 100644 --- a/providers/src/databricks_account/v00.00.00000/services/catalog.yaml +++ b/providers/src/databricks_account/v00.00.00000/services/catalog.yaml @@ -5,7 +5,7 @@ info: Python SDK. version: 0.1.0 x-stackql-sdk-version: 0.86.0 - x-stackql-date-generated: '2026-02-19' + x-stackql-date-generated: '2026-02-24' x-stackql-sdk-namespace: databricks.sdk.service.catalog servers: - url: https://accounts.cloud.databricks.com @@ -52,7 +52,21 @@ paths: type: object properties: metastore_assignment: - type: string + type: object + properties: + workspace_id: + type: integer + metastore_id: + type: string + description: The unique ID of the metastore. + default_catalog_name: + type: string + description: The name of the default catalog in the metastore. This field is deprecated. Please use + "Default Namespace API" to configure the default catalog for a Databricks workspace. + required: + - workspace_id + - metastore_id + - default_catalog_name description: ':returns: :class:`AccountsCreateMetastoreAssignmentResponse`' responses: '200': @@ -167,7 +181,19 @@ paths: type: object properties: metastore_assignment: - type: string + type: object + properties: + workspace_id: + type: integer + default_catalog_name: + type: string + description: The name of the default catalog in the metastore. This field is deprecated. Please use + "Default Namespace API" to configure the default catalog for a Databricks workspace. + metastore_id: + type: string + description: The unique ID of the metastore. + required: + - workspace_id description: ':returns: :class:`AccountsUpdateMetastoreAssignmentResponse`' responses: '200': @@ -306,7 +332,21 @@ paths: type: object properties: metastore_info: - type: string + type: object + properties: + name: + type: string + external_access_enabled: + type: boolean + description: Whether to allow non-DBR clients to directly access entities under the metastore. + region: + type: string + description: Cloud region which the metastore serves (e.g., `us-west-2`, `westus`). + storage_root: + type: string + description: The storage root URL for metastore + required: + - name description: ':returns: :class:`AccountsCreateMetastoreResponse`' responses: '200': @@ -395,7 +435,7 @@ paths: in: query required: false schema: - type: string + type: boolean description: Force deletion even if the metastore is not empty. Default is false. responses: '200': @@ -494,7 +534,31 @@ paths: type: object properties: metastore_info: - type: string + type: object + properties: + delta_sharing_organization_name: + type: string + delta_sharing_recipient_token_lifetime_in_seconds: + type: integer + description: The lifetime of delta sharing recipient token in seconds. + delta_sharing_scope: + type: string + x-enum: + - INTERNAL + - INTERNAL_AND_EXTERNAL + description: The scope of Delta Sharing enabled for the metastore. + external_access_enabled: + type: boolean + description: Whether to allow non-DBR clients to directly access entities under the metastore. + owner: + type: string + description: The owner of the metastore. + privilege_model_version: + type: string + description: Privilege model version of the metastore, of the form `major.minor` (e.g., `1.0`). + storage_root_credential_id: + type: string + description: UUID of storage credential to access the metastore storage_root. description: Properties of the metastore to change. responses: '200': @@ -557,11 +621,84 @@ paths: type: object properties: credential_info: - type: string + type: object + properties: + name: + type: string + aws_iam_role: + type: object + properties: + role_arn: + type: string + description: The Amazon Resource Name (ARN) of the AWS IAM role used to vend temporary credentials. + required: + - role_arn + description: The AWS IAM role configuration. + azure_managed_identity: + type: object + properties: + access_connector_id: + type: string + description: The Azure resource ID of the Azure Databricks Access Connector. Use the format `/subscriptions/{guid}/resourceGroups/{rg-name}/providers/Microsoft.Databricks/accessConnectors/{connector-name}`. + managed_identity_id: + type: string + description: The Azure resource ID of the managed identity. Use the format, `/subscriptions/{guid}/resourceGroups/{rg-name}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identity-name}` + This is only available for user-assgined identities. For system-assigned identities, the access_connector_id + is used to identify the identity. If this field is not provided, then we assume the AzureManagedIdentity + is using the system-assigned identity. + required: + - access_connector_id + description: The Azure managed identity configuration. + azure_service_principal: + type: object + properties: + directory_id: + type: string + description: The directory ID corresponding to the Azure Active Directory (AAD) tenant of the application. + application_id: + type: string + description: The application ID of the application registration within the referenced AAD tenant. + client_secret: + type: string + description: The client secret generated for the above app ID in AAD. + required: + - directory_id + - application_id + - client_secret + description: The Azure service principal configuration. + cloudflare_api_token: + type: object + properties: + access_key_id: + type: string + description: The access key ID associated with the API token. + secret_access_key: + type: string + description: The secret access token generated for the above access key ID. + account_id: + type: string + description: The ID of the account associated with the API token. + required: + - access_key_id + - secret_access_key + description: The Cloudflare API token configuration. + comment: + type: string + description: Comment associated with the credential. + databricks_gcp_service_account: + type: object + properties: {} + description: The Databricks managed GCP service account configuration. + read_only: + type: boolean + description: Whether the credential is usable only for read operations. Only applicable when purpose + is **STORAGE**. + required: + - name description: ':param skip_validation: bool (optional) Optional, default false. Supplying true to this argument skips validation of the created set of credentials.' skip_validation: - type: string + type: boolean responses: '200': description: Success @@ -666,7 +803,7 @@ paths: in: query required: false schema: - type: string + type: boolean description: Force deletion even if the Storage Credential is not empty. Default is false. responses: '200': @@ -784,11 +921,92 @@ paths: type: object properties: credential_info: - type: string + type: object + properties: + aws_iam_role: + type: object + properties: + role_arn: + type: string + description: The Amazon Resource Name (ARN) of the AWS IAM role used to vend temporary credentials. + required: + - role_arn + description: The AWS IAM role configuration + azure_managed_identity: + type: object + properties: + access_connector_id: + type: string + description: The Azure resource ID of the Azure Databricks Access Connector. Use the format `/subscriptions/{guid}/resourceGroups/{rg-name}/providers/Microsoft.Databricks/accessConnectors/{connector-name}`. + credential_id: + type: string + description: The Databricks internal ID that represents this managed identity. + managed_identity_id: + type: string + description: The Azure resource ID of the managed identity. Use the format, `/subscriptions/{guid}/resourceGroups/{rg-name}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identity-name}` + This is only available for user-assgined identities. For system-assigned identities, the access_connector_id + is used to identify the identity. If this field is not provided, then we assume the AzureManagedIdentity + is using the system-assigned identity. + required: + - access_connector_id + description: The Azure managed identity configuration. + azure_service_principal: + type: object + properties: + directory_id: + type: string + description: The directory ID corresponding to the Azure Active Directory (AAD) tenant of the application. + application_id: + type: string + description: The application ID of the application registration within the referenced AAD tenant. + client_secret: + type: string + description: The client secret generated for the above app ID in AAD. + required: + - directory_id + - application_id + - client_secret + description: The Azure service principal configuration. + cloudflare_api_token: + type: object + properties: + access_key_id: + type: string + description: The access key ID associated with the API token. + secret_access_key: + type: string + description: The secret access token generated for the above access key ID. + account_id: + type: string + description: The ID of the account associated with the API token. + required: + - access_key_id + - secret_access_key + description: The Cloudflare API token configuration. + comment: + type: string + description: Comment associated with the credential. + databricks_gcp_service_account: + type: object + properties: {} + description: The Databricks managed GCP service account configuration. + isolation_mode: + type: string + x-enum: + - ISOLATION_MODE_ISOLATED + - ISOLATION_MODE_OPEN + description: Whether the current securable is accessible from all workspaces or a specific set of workspaces. + owner: + type: string + description: Username of current owner of credential. + read_only: + type: boolean + description: Whether the credential is usable only for read operations. Only applicable when purpose + is **STORAGE**. description: ':param skip_validation: bool (optional) Optional. Supplying true to this argument skips validation of the updated set of credentials.' skip_validation: - type: string + type: boolean responses: '200': description: Success @@ -855,29 +1073,82 @@ paths: description: The credential name. The name must be unique among storage and service credentials within the metastore. aws_iam_role: - type: string + type: object + properties: + external_id: + type: string + description: The external ID used in role assumption to prevent the confused deputy problem. + role_arn: + type: string + description: The Amazon Resource Name (ARN) of the AWS IAM role used to vend temporary credentials. + unity_catalog_iam_arn: + type: string + description: The Amazon Resource Name (ARN) of the AWS IAM user managed by Databricks. This is the identity + that is going to assume the AWS IAM role. description: The AWS IAM role configuration. azure_managed_identity: - type: string + type: object + properties: + access_connector_id: + type: string + description: The Azure resource ID of the Azure Databricks Access Connector. Use the format `/subscriptions/{guid}/resourceGroups/{rg-name}/providers/Microsoft.Databricks/accessConnectors/{connector-name}`. + credential_id: + type: string + description: The Databricks internal ID that represents this managed identity. + managed_identity_id: + type: string + description: The Azure resource ID of the managed identity. Use the format, `/subscriptions/{guid}/resourceGroups/{rg-name}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identity-name}` + This is only available for user-assgined identities. For system-assigned identities, the access_connector_id + is used to identify the identity. If this field is not provided, then we assume the AzureManagedIdentity + is using the system-assigned identity. + required: + - access_connector_id description: The Azure managed identity configuration. azure_service_principal: - type: string + type: object + properties: + directory_id: + type: string + description: The directory ID corresponding to the Azure Active Directory (AAD) tenant of the application. + application_id: + type: string + description: The application ID of the application registration within the referenced AAD tenant. + client_secret: + type: string + description: The client secret generated for the above app ID in AAD. + required: + - directory_id + - application_id + - client_secret description: The Azure service principal configuration. comment: type: string description: Comment associated with the credential. databricks_gcp_service_account: - type: string + type: object + properties: + credential_id: + type: string + description: The Databricks internal ID that represents this managed identity. + email: + type: string + description: The email of the service account. + private_key_id: + type: string + description: The ID that represents the private key for this Service Account description: The Databricks managed GCP service account configuration. purpose: type: string + x-enum: + - SERVICE + - STORAGE description: Indicates the purpose of the credential. read_only: - type: string + type: boolean description: Whether the credential is usable only for read operations. Only applicable when purpose is **STORAGE**. skip_validation: - type: string + type: boolean description: Optional. Supplying true to this argument skips validation of the created set of credentials. required: - name @@ -936,14 +1207,14 @@ paths: in: query required: false schema: - type: string + type: boolean description: Whether to include credentials not bound to the workspace. Effective only if the user has permission to update the credential–workspace binding. - name: max_results in: query required: false schema: - type: string + type: integer description: Maximum number of credentials to return. - If not set, the default max page size is used. - When set to a value greater than 0, the page length is the minimum of this value and a server-configured value. - When set to 0, the page length is set to a server-configured value (recommended). - When set to a value less than 0, an invalid @@ -958,7 +1229,7 @@ paths: in: query required: false schema: - type: string + $ref: '#/components/schemas/CredentialPurpose' description: Return only credentials for the specified purpose. responses: '200': @@ -1006,7 +1277,7 @@ paths: in: query required: false schema: - type: string + type: boolean description: Force an update even if there are dependent services (when purpose is **SERVICE**) or dependent external locations and external tables (when purpose is **STORAGE**). responses: @@ -1118,26 +1389,79 @@ paths: type: object properties: aws_iam_role: - type: string + type: object + properties: + external_id: + type: string + description: The external ID used in role assumption to prevent the confused deputy problem. + role_arn: + type: string + description: The Amazon Resource Name (ARN) of the AWS IAM role used to vend temporary credentials. + unity_catalog_iam_arn: + type: string + description: The Amazon Resource Name (ARN) of the AWS IAM user managed by Databricks. This is the identity + that is going to assume the AWS IAM role. description: The AWS IAM role configuration. azure_managed_identity: - type: string + type: object + properties: + access_connector_id: + type: string + description: The Azure resource ID of the Azure Databricks Access Connector. Use the format `/subscriptions/{guid}/resourceGroups/{rg-name}/providers/Microsoft.Databricks/accessConnectors/{connector-name}`. + credential_id: + type: string + description: The Databricks internal ID that represents this managed identity. + managed_identity_id: + type: string + description: The Azure resource ID of the managed identity. Use the format, `/subscriptions/{guid}/resourceGroups/{rg-name}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identity-name}` + This is only available for user-assgined identities. For system-assigned identities, the access_connector_id + is used to identify the identity. If this field is not provided, then we assume the AzureManagedIdentity + is using the system-assigned identity. + required: + - access_connector_id description: The Azure managed identity configuration. azure_service_principal: - type: string + type: object + properties: + directory_id: + type: string + description: The directory ID corresponding to the Azure Active Directory (AAD) tenant of the application. + application_id: + type: string + description: The application ID of the application registration within the referenced AAD tenant. + client_secret: + type: string + description: The client secret generated for the above app ID in AAD. + required: + - directory_id + - application_id + - client_secret description: The Azure service principal configuration. comment: type: string description: Comment associated with the credential. databricks_gcp_service_account: - type: string + type: object + properties: + credential_id: + type: string + description: The Databricks internal ID that represents this managed identity. + email: + type: string + description: The email of the service account. + private_key_id: + type: string + description: The ID that represents the private key for this Service Account description: The Databricks managed GCP service account configuration. force: - type: string + type: boolean description: Force an update even if there are dependent services (when purpose is **SERVICE**) or dependent external locations and external tables (when purpose is **STORAGE**). isolation_mode: type: string + x-enum: + - ISOLATION_MODE_ISOLATED + - ISOLATION_MODE_OPEN description: Whether the current securable is accessible from all workspaces or a specific set of workspaces. new_name: type: string @@ -1146,11 +1470,11 @@ paths: type: string description: Username of current owner of credential. read_only: - type: string + type: boolean description: Whether the credential is usable only for read operations. Only applicable when purpose is **STORAGE**. skip_validation: - type: string + type: boolean description: Supply true to this argument to skip validation of the updated credential. responses: '200': @@ -1198,10 +1522,25 @@ paths: type: string description: The name of the service credential used to generate a temporary credential azure_options: - type: string + type: object + properties: + resources: + type: array + items: + type: string + description: The resources to which the temporary Azure credential should apply. These resources are + the scopes that are passed to the token provider (see https://learn.microsoft.com/python/api/azure-core/azure.core.credentials.tokencredential?view=azure-python) description: ':param gcp_options: :class:`GenerateTemporaryServiceCredentialGcpOptions` (optional)' gcp_options: - type: string + type: object + properties: + scopes: + type: array + items: + type: string + description: The scopes to which the temporary GCP credential should apply. These resources are the + scopes that are passed to the token provider (see https://google-auth.readthedocs.io/en/latest/reference/google.auth.html#google.auth.credentials.Credentials) + description: The GCP cloud options to customize the requested temporary credential required: - credential_name responses: @@ -1269,24 +1608,64 @@ paths: type: object properties: aws_iam_role: - type: string + type: object + properties: + external_id: + type: string + description: The external ID used in role assumption to prevent the confused deputy problem. + role_arn: + type: string + description: The Amazon Resource Name (ARN) of the AWS IAM role used to vend temporary credentials. + unity_catalog_iam_arn: + type: string + description: The Amazon Resource Name (ARN) of the AWS IAM user managed by Databricks. This is the identity + that is going to assume the AWS IAM role. description: ':param azure_managed_identity: :class:`AzureManagedIdentity` (optional)' azure_managed_identity: - type: string + type: object + properties: + access_connector_id: + type: string + description: The Azure resource ID of the Azure Databricks Access Connector. Use the format `/subscriptions/{guid}/resourceGroups/{rg-name}/providers/Microsoft.Databricks/accessConnectors/{connector-name}`. + credential_id: + type: string + description: The Databricks internal ID that represents this managed identity. + managed_identity_id: + type: string + description: The Azure resource ID of the managed identity. Use the format, `/subscriptions/{guid}/resourceGroups/{rg-name}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identity-name}` + This is only available for user-assgined identities. For system-assigned identities, the access_connector_id + is used to identify the identity. If this field is not provided, then we assume the AzureManagedIdentity + is using the system-assigned identity. + required: + - access_connector_id + description: The Azure managed identity configuration. credential_name: type: string description: Required. The name of an existing credential or long-lived cloud credential to validate. databricks_gcp_service_account: - type: string + type: object + properties: + credential_id: + type: string + description: The Databricks internal ID that represents this managed identity. + email: + type: string + description: The email of the service account. + private_key_id: + type: string + description: The ID that represents the private key for this Service Account description: ':param external_location_name: str (optional) The name of an existing external location to validate. Only applicable for storage credentials (purpose is **STORAGE**.)' external_location_name: type: string purpose: type: string + x-enum: + - SERVICE + - STORAGE description: The purpose of the credential. This should only be used when the credential is specified. read_only: - type: string + type: boolean description: Whether the credential is only usable for read operations. Only applicable for storage credentials (purpose is **STORAGE**.) url: @@ -4579,20 +4958,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -4653,20 +5032,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -4718,20 +5097,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -4760,20 +5139,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -4801,20 +5180,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -4844,20 +5223,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -4886,20 +5265,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -4981,20 +5360,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -5026,20 +5405,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -5068,20 +5447,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -5111,20 +5490,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -5152,20 +5531,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -5194,20 +5573,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -5235,20 +5614,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -5278,20 +5657,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -5319,20 +5698,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -5361,20 +5740,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -5403,20 +5782,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -5445,20 +5824,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -5494,20 +5873,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -5546,20 +5925,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -5591,20 +5970,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -5658,20 +6037,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -5741,20 +6120,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -5783,20 +6162,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -5826,20 +6205,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -5916,20 +6295,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -5962,20 +6341,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -6095,20 +6474,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -6137,20 +6516,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -6200,20 +6579,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -6242,20 +6621,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -6291,20 +6670,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -6358,20 +6737,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -6714,6 +7093,13 @@ components: type: string description: Derived cloud provider type - one of AWS, AZURE_MANAGED_IDENTITY, AZURE_SERVICE_PRINCIPAL, CLOUDFLARE, GCP, or UNKNOWN. + requiredParams: + - name: account_id + type: string + description: Databricks account ID used to scope the query. + - name: metastore_id + type: string + description: Metastore ID used to scope the query. views: select: predicate: sqlDialect == "sqlite3" diff --git a/providers/src/databricks_account/v00.00.00000/services/iam.yaml b/providers/src/databricks_account/v00.00.00000/services/iam.yaml index 78c8948d..f410c736 100644 --- a/providers/src/databricks_account/v00.00.00000/services/iam.yaml +++ b/providers/src/databricks_account/v00.00.00000/services/iam.yaml @@ -5,7 +5,7 @@ info: SDK. version: 0.1.0 x-stackql-sdk-version: 0.86.0 - x-stackql-date-generated: '2026-02-19' + x-stackql-date-generated: '2026-02-24' x-stackql-sdk-namespace: databricks.sdk.service.iam servers: - url: https://accounts.cloud.databricks.com @@ -177,7 +177,37 @@ paths: type: string description: Name of the rule set. rule_set: - type: string + type: object + properties: + name: + type: string + etag: + type: string + description: Identifies the version of the rule set returned. Etag used for versioning. The response + is at least as fresh as the eTag provided. Etag is used for optimistic concurrency control as a way + to help prevent simultaneous updates of a rule set from overwriting each other. It is strongly suggested + that systems make use of the etag in the read -> modify -> write pattern to perform rule set updates + in order to avoid race conditions that is get an etag from a GET rule set request, and pass it with + the PUT update request to identify the rule set version you are updating. + grant_rules: + type: array + items: + type: object + properties: + role: + type: string + principals: + type: array + items: + type: string + description: 'Principals this grant rule applies to. A principal can be a user (for end users), + a service principal (for applications and compute workloads), or an account group. Each principal + has its own identifier format: * users/ * groups/ * servicePrincipals/' + required: + - role + required: + - name + - etag description: ':returns: :class:`RuleSetResponse`' required: - name @@ -244,13 +274,42 @@ paths: id: type: string members: - type: string + type: array + items: + type: object + properties: + display: + type: string + primary: + type: boolean + $ref: + type: string + type: + type: string + value: + type: string description: ':param meta: :class:`ResourceMeta` (optional) Container for the group identifier. Workspace local versus account.' meta: - type: string + type: object + properties: + resourceType: + type: string roles: - type: string + type: array + items: + type: object + properties: + display: + type: string + primary: + type: boolean + $ref: + type: string + type: + type: string + value: + type: string description: Indicates if the group has the admin role. responses: '200': @@ -320,7 +379,7 @@ paths: in: query required: false schema: - type: string + type: integer description: Desired number of results per page. Default is 10000. - name: excluded_attributes in: query @@ -346,13 +405,13 @@ paths: in: query required: false schema: - type: string + $ref: '#/components/schemas/ListSortOrder' description: The order to sort the results. - name: start_index in: query required: false schema: - type: string + type: integer description: Specifies the index of the first result. First item is number 1. responses: '200': @@ -489,11 +548,68 @@ paths: type: object properties: operations: - type: string + type: array + items: + type: object + properties: + op: + type: string + x-enum: + - add + - remove + - replace + description: Type of patch operation. + path: + type: string + description: Selection of patch operation + value: + type: object + description: Value to modify description: ':param schemas: List[:class:`PatchSchema`] (optional) The schema of the patch request. Must be ["urn:ietf:params:scim:api:messages:2.0:PatchOp"].' schemas: - type: string + type: array + items: + type: string + x-enum: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + description: |- + Create a collection of name/value pairs. + + Example enumeration: + + >>> class Color(Enum): + ... RED = 1 + ... BLUE = 2 + ... GREEN = 3 + + Access them by: + + - attribute access:: + + >>> Color.RED + + + - value lookup: + + >>> Color(1) + + + - name lookup: + + >>> Color['RED'] + + + Enumerations can be iterated over, and know how many members they have: + + >>> len(Color) + 3 + + >>> list(Color) + [, , ] + + Methods can be added to enumerations, and members can have their own + attributes -- see the documentation for details. responses: '200': description: Success @@ -553,12 +669,41 @@ paths: type: string description: ':param members: List[:class:`ComplexValue`] (optional)' members: - type: string + type: array + items: + type: object + properties: + display: + type: string + primary: + type: boolean + $ref: + type: string + type: + type: string + value: + type: string meta: - type: string + type: object + properties: + resourceType: + type: string description: Container for the group identifier. Workspace local versus account. roles: - type: string + type: array + items: + type: object + properties: + display: + type: string + primary: + type: boolean + $ref: + type: string + type: + type: string + value: + type: string description: Indicates if the group has the admin role. responses: '200': @@ -611,7 +756,7 @@ paths: type: object properties: active: - type: string + type: boolean description: If this user is active application_id: type: string @@ -625,7 +770,20 @@ paths: id: type: string roles: - type: string + type: array + items: + type: object + properties: + display: + type: string + primary: + type: boolean + $ref: + type: string + type: + type: string + value: + type: string description: Indicates if the group has the admin role. responses: '200': @@ -692,7 +850,7 @@ paths: in: query required: false schema: - type: string + type: integer description: Desired number of results per page. Default is 10000. - name: excluded_attributes in: query @@ -718,13 +876,13 @@ paths: in: query required: false schema: - type: string + $ref: '#/components/schemas/ListSortOrder' description: The order to sort the results. - name: start_index in: query required: false schema: - type: string + type: integer description: Specifies the index of the first result. First item is number 1. responses: '200': @@ -861,11 +1019,68 @@ paths: type: object properties: operations: - type: string + type: array + items: + type: object + properties: + op: + type: string + x-enum: + - add + - remove + - replace + description: Type of patch operation. + path: + type: string + description: Selection of patch operation + value: + type: object + description: Value to modify description: ':param schemas: List[:class:`PatchSchema`] (optional) The schema of the patch request. Must be ["urn:ietf:params:scim:api:messages:2.0:PatchOp"].' schemas: - type: string + type: array + items: + type: string + x-enum: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + description: |- + Create a collection of name/value pairs. + + Example enumeration: + + >>> class Color(Enum): + ... RED = 1 + ... BLUE = 2 + ... GREEN = 3 + + Access them by: + + - attribute access:: + + >>> Color.RED + + + - value lookup: + + >>> Color(1) + + + - name lookup: + + >>> Color['RED'] + + + Enumerations can be iterated over, and know how many members they have: + + >>> len(Color) + 3 + + >>> list(Color) + [, , ] + + Methods can be added to enumerations, and members can have their own + attributes -- see the documentation for details. responses: '200': description: Success @@ -922,7 +1137,7 @@ paths: type: object properties: active: - type: string + type: boolean description: If this user is active application_id: type: string @@ -935,7 +1150,20 @@ paths: description: ':param roles: List[:class:`ComplexValue`] (optional) Indicates if the group has the admin role.' roles: - type: string + type: array + items: + type: object + properties: + display: + type: string + primary: + type: boolean + $ref: + type: string + type: + type: string + value: + type: string responses: '200': description: Success @@ -992,13 +1220,26 @@ paths: type: object properties: active: - type: string + type: boolean description: If this user is active display_name: type: string description: String that represents a concatenation of given and family names. For example `John Smith`. emails: - type: string + type: array + items: + type: object + properties: + display: + type: string + primary: + type: boolean + $ref: + type: string + type: + type: string + value: + type: string description: All the emails associated with the Databricks user. external_id: type: string @@ -1007,11 +1248,30 @@ paths: type: string description: Databricks user ID. name: - type: string + type: object + properties: + familyName: + type: string + givenName: + type: string + description: Given name of the Databricks user. description: ':param roles: List[:class:`ComplexValue`] (optional) Indicates if the group has the admin role.' roles: - type: string + type: array + items: + type: object + properties: + display: + type: string + primary: + type: boolean + $ref: + type: string + type: + type: string + value: + type: string user_name: type: string description: Email address of the Databricks user. @@ -1081,7 +1341,7 @@ paths: in: query required: false schema: - type: string + type: integer description: Desired number of results per page. Default is 10000. - name: excluded_attributes in: query @@ -1108,13 +1368,13 @@ paths: in: query required: false schema: - type: string + $ref: '#/components/schemas/ListSortOrder' description: The order to sort the results. - name: start_index in: query required: false schema: - type: string + type: integer description: Specifies the index of the first result. First item is number 1. responses: '200': @@ -1230,7 +1490,7 @@ paths: in: query required: false schema: - type: string + type: integer description: Desired number of results per page. Default is 10000. - name: excluded_attributes in: query @@ -1257,13 +1517,13 @@ paths: in: query required: false schema: - type: string + $ref: '#/components/schemas/GetSortOrder' description: The order to sort the results. - name: start_index in: query required: false schema: - type: string + type: integer description: Specifies the index of the first result. First item is number 1. responses: '200': @@ -1317,11 +1577,68 @@ paths: type: object properties: operations: - type: string + type: array + items: + type: object + properties: + op: + type: string + x-enum: + - add + - remove + - replace + description: Type of patch operation. + path: + type: string + description: Selection of patch operation + value: + type: object + description: Value to modify description: ':param schemas: List[:class:`PatchSchema`] (optional) The schema of the patch request. Must be ["urn:ietf:params:scim:api:messages:2.0:PatchOp"].' schemas: - type: string + type: array + items: + type: string + x-enum: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + description: |- + Create a collection of name/value pairs. + + Example enumeration: + + >>> class Color(Enum): + ... RED = 1 + ... BLUE = 2 + ... GREEN = 3 + + Access them by: + + - attribute access:: + + >>> Color.RED + + + - value lookup: + + >>> Color(1) + + + - name lookup: + + >>> Color['RED'] + + + Enumerations can be iterated over, and know how many members they have: + + >>> len(Color) + 3 + + >>> list(Color) + [, , ] + + Methods can be added to enumerations, and members can have their own + attributes -- see the documentation for details. responses: '200': description: Success @@ -1380,23 +1697,55 @@ paths: type: object properties: active: - type: string + type: boolean description: If this user is active display_name: type: string description: String that represents a concatenation of given and family names. For example `John Smith`. emails: - type: string + type: array + items: + type: object + properties: + display: + type: string + primary: + type: boolean + $ref: + type: string + type: + type: string + value: + type: string description: All the emails associated with the Databricks user. external_id: type: string description: External ID is not currently supported. It is reserved for future use. name: - type: string + type: object + properties: + familyName: + type: string + givenName: + type: string + description: Given name of the Databricks user. description: ':param roles: List[:class:`ComplexValue`] (optional) Indicates if the group has the admin role.' roles: - type: string + type: array + items: + type: object + properties: + display: + type: string + primary: + type: boolean + $ref: + type: string + type: + type: string + value: + type: string user_name: type: string description: Email address of the Databricks user. @@ -1510,7 +1859,50 @@ paths: type: object properties: permissions: - type: string + type: array + items: + type: string + x-enum: + - ADMIN + - UNKNOWN + - USER + description: |- + Create a collection of name/value pairs. + + Example enumeration: + + >>> class Color(Enum): + ... RED = 1 + ... BLUE = 2 + ... GREEN = 3 + + Access them by: + + - attribute access:: + + >>> Color.RED + + + - value lookup: + + >>> Color(1) + + + - name lookup: + + >>> Color['RED'] + + + Enumerations can be iterated over, and know how many members they have: + + >>> len(Color) + 3 + + >>> list(Color) + [, , ] + + Methods can be added to enumerations, and members can have their own + attributes -- see the documentation for details. description: Array of permissions assignments to update on the workspace. Valid values are "USER" and "ADMIN" (case-sensitive). If both "USER" and "ADMIN" are provided, "ADMIN" takes precedence. Other values will be ignored. Note that excluding this field, or providing unsupported values, will have the same effect @@ -2302,20 +2694,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -2343,20 +2735,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -2384,20 +2776,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -2426,20 +2818,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -2479,20 +2871,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -2551,20 +2943,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -2593,20 +2985,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -2636,20 +3028,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -2972,6 +3364,10 @@ components: - name: role type: string description: Role assigned to the user (one row per role assignment). + requiredParams: + - name: account_id + type: string + description: Databricks account ID used to scope the query. views: select: predicate: sqlDialect == "sqlite3" @@ -3024,6 +3420,10 @@ components: - name: member_type type: string description: Type of the member resource (e.g. User, Group, ServicePrincipal). + requiredParams: + - name: account_id + type: string + description: Databricks account ID used to scope the query. views: select: predicate: sqlDialect == "sqlite3" @@ -3071,6 +3471,10 @@ components: - name: role type: string description: Role assigned to the group (one row per role assignment). + requiredParams: + - name: account_id + type: string + description: Databricks account ID used to scope the query. views: select: predicate: sqlDialect == "sqlite3" @@ -3118,6 +3522,10 @@ components: - name: role type: string description: Role assigned to the service principal (one row per role assignment). + requiredParams: + - name: account_id + type: string + description: Databricks account ID used to scope the query. views: select: predicate: sqlDialect == "sqlite3" @@ -3175,6 +3583,13 @@ components: - name: permission type: string description: Permission level granted to the principal on the workspace (one row per permission, e.g. USER, ADMIN). + requiredParams: + - name: account_id + type: string + description: Databricks account ID used to scope the query. + - name: workspace_id + type: integer + description: Numeric ID of the workspace used to scope the query. views: select: predicate: sqlDialect == "sqlite3" diff --git a/providers/src/databricks_account/v00.00.00000/services/iamv2.yaml b/providers/src/databricks_account/v00.00.00000/services/iamv2.yaml index 884bf251..d0b769ea 100644 --- a/providers/src/databricks_account/v00.00.00000/services/iamv2.yaml +++ b/providers/src/databricks_account/v00.00.00000/services/iamv2.yaml @@ -6,7 +6,7 @@ info: generated from the Databricks Python SDK. version: 0.1.0 x-stackql-sdk-version: 0.86.0 - x-stackql-date-generated: '2026-02-19' + x-stackql-date-generated: '2026-02-24' x-stackql-sdk-namespace: databricks.sdk.service.iamv2 servers: - url: https://accounts.cloud.databricks.com @@ -71,7 +71,7 @@ paths: in: query required: false schema: - type: string + $ref: '#/components/schemas/WorkspaceAccessDetailView' description: Controls what fields are returned. responses: '200': diff --git a/providers/src/databricks_account/v00.00.00000/services/oauth2.yaml b/providers/src/databricks_account/v00.00.00000/services/oauth2.yaml index f58b3aa4..a0983ea6 100644 --- a/providers/src/databricks_account/v00.00.00000/services/oauth2.yaml +++ b/providers/src/databricks_account/v00.00.00000/services/oauth2.yaml @@ -5,7 +5,7 @@ info: Python SDK. version: 0.1.0 x-stackql-sdk-version: 0.86.0 - x-stackql-date-generated: '2026-02-19' + x-stackql-date-generated: '2026-02-24' x-stackql-sdk-namespace: databricks.sdk.service.oauth2 servers: - url: https://accounts.cloud.databricks.com @@ -44,7 +44,72 @@ paths: type: object properties: policy: - type: string + type: object + properties: + create_time: + type: string + description: + type: string + description: Description of the federation policy. + name: + type: string + description: Resource name for the federation policy. Example values include `accounts//federationPolicies/my-federation-policy` + for Account Federation Policies, and `accounts//servicePrincipals//federationPolicies/my-federation-policy` + for Service Principal Federation Policies. Typically an output parameter, which does not need to be + specified in create or update requests. If specified in a request, must match the value in the request + URL. + oidc_policy: + type: object + properties: + audiences: + type: array + items: + type: string + description: The allowed token audiences, as specified in the 'aud' claim of federated tokens. The + audience identifier is intended to represent the recipient of the token. Can be any non-empty + string value. As long as the audience in the token matches at least one audience in the policy, + the token is considered a match. If audiences is unspecified, defaults to your Databricks account + id. + issuer: + type: string + description: The required token issuer, as specified in the 'iss' claim of federated tokens. + jwks_json: + type: string + description: The public keys used to validate the signature of federated tokens, in JWKS format. + Most use cases should not need to specify this field. If jwks_uri and jwks_json are both unspecified + (recommended), Databricks automatically fetches the public keys from your issuer’s well known + endpoint. Databricks strongly recommends relying on your issuer’s well known endpoint for discovering + public keys. + jwks_uri: + type: string + description: URL of the public keys used to validate the signature of federated tokens, in JWKS + format. Most use cases should not need to specify this field. If jwks_uri and jwks_json are both + unspecified (recommended), Databricks automatically fetches the public keys from your issuer’s + well known endpoint. Databricks strongly recommends relying on your issuer’s well known endpoint + for discovering public keys. + subject: + type: string + description: The required token subject, as specified in the subject claim of federated tokens. + Must be specified for service principal federation policies. Must not be specified for account + federation policies. + subject_claim: + type: string + description: The claim that contains the subject of the token. If unspecified, the default value + is 'sub'. + description: Specifies the policy to use for validating OIDC claims in your federated tokens. + policy_id: + type: string + description: The ID of the federation policy. Output only. + service_principal_id: + type: integer + description: The service principal ID that this federation policy applies to. Output only. Only set + for service principal federation policies. + uid: + type: string + description: Unique, immutable id of the federation policy. + update_time: + type: string + description: Last update time of the federation policy. description: ':param policy_id: str (optional) The identifier for the federation policy. The identifier must contain only lowercase alphanumeric characters, numbers, hyphens, and slashes. If unspecified, the id will be assigned by Databricks.' @@ -92,7 +157,7 @@ paths: in: query required: false schema: - type: string + type: integer description: ':param page_token: str (optional)' - name: page_token in: query @@ -245,7 +310,72 @@ paths: type: object properties: policy: - type: string + type: object + properties: + create_time: + type: string + description: + type: string + description: Description of the federation policy. + name: + type: string + description: Resource name for the federation policy. Example values include `accounts//federationPolicies/my-federation-policy` + for Account Federation Policies, and `accounts//servicePrincipals//federationPolicies/my-federation-policy` + for Service Principal Federation Policies. Typically an output parameter, which does not need to be + specified in create or update requests. If specified in a request, must match the value in the request + URL. + oidc_policy: + type: object + properties: + audiences: + type: array + items: + type: string + description: The allowed token audiences, as specified in the 'aud' claim of federated tokens. The + audience identifier is intended to represent the recipient of the token. Can be any non-empty + string value. As long as the audience in the token matches at least one audience in the policy, + the token is considered a match. If audiences is unspecified, defaults to your Databricks account + id. + issuer: + type: string + description: The required token issuer, as specified in the 'iss' claim of federated tokens. + jwks_json: + type: string + description: The public keys used to validate the signature of federated tokens, in JWKS format. + Most use cases should not need to specify this field. If jwks_uri and jwks_json are both unspecified + (recommended), Databricks automatically fetches the public keys from your issuer’s well known + endpoint. Databricks strongly recommends relying on your issuer’s well known endpoint for discovering + public keys. + jwks_uri: + type: string + description: URL of the public keys used to validate the signature of federated tokens, in JWKS + format. Most use cases should not need to specify this field. If jwks_uri and jwks_json are both + unspecified (recommended), Databricks automatically fetches the public keys from your issuer’s + well known endpoint. Databricks strongly recommends relying on your issuer’s well known endpoint + for discovering public keys. + subject: + type: string + description: The required token subject, as specified in the subject claim of federated tokens. + Must be specified for service principal federation policies. Must not be specified for account + federation policies. + subject_claim: + type: string + description: The claim that contains the subject of the token. If unspecified, the default value + is 'sub'. + description: Specifies the policy to use for validating OIDC claims in your federated tokens. + policy_id: + type: string + description: The ID of the federation policy. Output only. + service_principal_id: + type: integer + description: The service principal ID that this federation policy applies to. Output only. Only set + for service principal federation policies. + uid: + type: string + description: Unique, immutable id of the federation policy. + update_time: + type: string + description: Last update time of the federation policy. description: ':param update_mask: str (optional) The field mask specifies which fields of the policy to update. To specify multiple fields in the field mask, use comma as the separator (no space). The special value ''*'' indicates that all fields should be updated (full replacement). If unspecified, all fields @@ -313,23 +443,46 @@ paths: type: object properties: confidential: - type: string + type: boolean description: This field indicates whether an OAuth client secret is required to authenticate this client. name: type: string description: Name of the custom OAuth app redirect_urls: - type: string + type: array + items: + type: string description: List of OAuth redirect urls scopes: - type: string + type: array + items: + type: string description: 'OAuth scopes granted to the application. Supported scopes: all-apis, sql, offline_access, openid, profile, email.' token_access_policy: - type: string + type: object + properties: + absolute_session_lifetime_in_minutes: + type: integer + access_token_ttl_in_minutes: + type: integer + description: access token time to live in minutes + enable_single_use_refresh_tokens: + type: boolean + description: Whether to enable single-use refresh tokens (refresh token rotation). If this feature is + enabled, upon successfully getting a new access token using a refresh token, Databricks will issue + a new refresh token along with the access token in the response and invalidate the old refresh token. + The client should use the new refresh token to get access tokens in future requests. + refresh_token_ttl_in_minutes: + type: integer + description: Refresh token time to live in minutes. When single-use refresh tokens are enabled, this + represents the TTL of an individual refresh token. If the refresh token is used before it expires, + a new one is issued with a renewed individual TTL. description: Token access policy user_authorized_scopes: - type: string + type: array + items: + type: string description: Scopes that will need to be consented by end user to mint the access token. If the user does not authorize the access token will not be minted. Must be a subset of scopes. responses: @@ -375,13 +528,13 @@ paths: in: query required: false schema: - type: string + type: boolean description: ':param page_size: int (optional)' - name: page_size in: query required: false schema: - type: string + type: integer - name: page_token in: query required: false @@ -531,16 +684,39 @@ paths: type: object properties: redirect_urls: - type: string + type: array + items: + type: string scopes: - type: string + type: array + items: + type: string description: List of OAuth scopes to be updated in the custom OAuth app integration, similar to redirect URIs this will fully replace the existing values instead of appending token_access_policy: - type: string + type: object + properties: + absolute_session_lifetime_in_minutes: + type: integer + access_token_ttl_in_minutes: + type: integer + description: access token time to live in minutes + enable_single_use_refresh_tokens: + type: boolean + description: Whether to enable single-use refresh tokens (refresh token rotation). If this feature is + enabled, upon successfully getting a new access token using a refresh token, Databricks will issue + a new refresh token along with the access token in the response and invalidate the old refresh token. + The client should use the new refresh token to get access tokens in future requests. + refresh_token_ttl_in_minutes: + type: integer + description: Refresh token time to live in minutes. When single-use refresh tokens are enabled, this + represents the TTL of an individual refresh token. If the refresh token is used before it expires, + a new one is issued with a renewed individual TTL. description: Token access policy to be updated in the custom OAuth app integration user_authorized_scopes: - type: string + type: array + items: + type: string description: Scopes that will need to be consented by end user to mint the access token. If the user does not authorize the access token will not be minted. Must be a subset of scopes. responses: @@ -584,7 +760,7 @@ paths: in: query required: false schema: - type: string + type: integer description: The max number of OAuth published apps to return in one page. - name: page_token in: query @@ -645,7 +821,24 @@ paths: type: string description: App id of the OAuth published app integration. For example power-bi, tableau-deskop token_access_policy: - type: string + type: object + properties: + absolute_session_lifetime_in_minutes: + type: integer + access_token_ttl_in_minutes: + type: integer + description: access token time to live in minutes + enable_single_use_refresh_tokens: + type: boolean + description: Whether to enable single-use refresh tokens (refresh token rotation). If this feature is + enabled, upon successfully getting a new access token using a refresh token, Databricks will issue + a new refresh token along with the access token in the response and invalidate the old refresh token. + The client should use the new refresh token to get access tokens in future requests. + refresh_token_ttl_in_minutes: + type: integer + description: Refresh token time to live in minutes. When single-use refresh tokens are enabled, this + represents the TTL of an individual refresh token. If the refresh token is used before it expires, + a new one is issued with a renewed individual TTL. description: Token access policy responses: '200': @@ -689,7 +882,7 @@ paths: in: query required: false schema: - type: string + type: integer description: ':param page_token: str (optional)' - name: page_token in: query @@ -830,7 +1023,24 @@ paths: type: object properties: token_access_policy: - type: string + type: object + properties: + absolute_session_lifetime_in_minutes: + type: integer + access_token_ttl_in_minutes: + type: integer + description: access token time to live in minutes + enable_single_use_refresh_tokens: + type: boolean + description: Whether to enable single-use refresh tokens (refresh token rotation). If this feature is + enabled, upon successfully getting a new access token using a refresh token, Databricks will issue + a new refresh token along with the access token in the response and invalidate the old refresh token. + The client should use the new refresh token to get access tokens in future requests. + refresh_token_ttl_in_minutes: + type: integer + description: Refresh token time to live in minutes. When single-use refresh tokens are enabled, this + represents the TTL of an individual refresh token. If the refresh token is used before it expires, + a new one is issued with a renewed individual TTL. responses: '200': description: Success @@ -888,7 +1098,72 @@ paths: type: object properties: policy: - type: string + type: object + properties: + create_time: + type: string + description: + type: string + description: Description of the federation policy. + name: + type: string + description: Resource name for the federation policy. Example values include `accounts//federationPolicies/my-federation-policy` + for Account Federation Policies, and `accounts//servicePrincipals//federationPolicies/my-federation-policy` + for Service Principal Federation Policies. Typically an output parameter, which does not need to be + specified in create or update requests. If specified in a request, must match the value in the request + URL. + oidc_policy: + type: object + properties: + audiences: + type: array + items: + type: string + description: The allowed token audiences, as specified in the 'aud' claim of federated tokens. The + audience identifier is intended to represent the recipient of the token. Can be any non-empty + string value. As long as the audience in the token matches at least one audience in the policy, + the token is considered a match. If audiences is unspecified, defaults to your Databricks account + id. + issuer: + type: string + description: The required token issuer, as specified in the 'iss' claim of federated tokens. + jwks_json: + type: string + description: The public keys used to validate the signature of federated tokens, in JWKS format. + Most use cases should not need to specify this field. If jwks_uri and jwks_json are both unspecified + (recommended), Databricks automatically fetches the public keys from your issuer’s well known + endpoint. Databricks strongly recommends relying on your issuer’s well known endpoint for discovering + public keys. + jwks_uri: + type: string + description: URL of the public keys used to validate the signature of federated tokens, in JWKS + format. Most use cases should not need to specify this field. If jwks_uri and jwks_json are both + unspecified (recommended), Databricks automatically fetches the public keys from your issuer’s + well known endpoint. Databricks strongly recommends relying on your issuer’s well known endpoint + for discovering public keys. + subject: + type: string + description: The required token subject, as specified in the subject claim of federated tokens. + Must be specified for service principal federation policies. Must not be specified for account + federation policies. + subject_claim: + type: string + description: The claim that contains the subject of the token. If unspecified, the default value + is 'sub'. + description: Specifies the policy to use for validating OIDC claims in your federated tokens. + policy_id: + type: string + description: The ID of the federation policy. Output only. + service_principal_id: + type: integer + description: The service principal ID that this federation policy applies to. Output only. Only set + for service principal federation policies. + uid: + type: string + description: Unique, immutable id of the federation policy. + update_time: + type: string + description: Last update time of the federation policy. description: ':param policy_id: str (optional) The identifier for the federation policy. The identifier must contain only lowercase alphanumeric characters, numbers, hyphens, and slashes. If unspecified, the id will be assigned by Databricks.' @@ -944,7 +1219,7 @@ paths: in: query required: false schema: - type: string + type: integer description: ':param page_token: str (optional)' - name: page_token in: query @@ -1121,7 +1396,72 @@ paths: type: object properties: policy: - type: string + type: object + properties: + create_time: + type: string + description: + type: string + description: Description of the federation policy. + name: + type: string + description: Resource name for the federation policy. Example values include `accounts//federationPolicies/my-federation-policy` + for Account Federation Policies, and `accounts//servicePrincipals//federationPolicies/my-federation-policy` + for Service Principal Federation Policies. Typically an output parameter, which does not need to be + specified in create or update requests. If specified in a request, must match the value in the request + URL. + oidc_policy: + type: object + properties: + audiences: + type: array + items: + type: string + description: The allowed token audiences, as specified in the 'aud' claim of federated tokens. The + audience identifier is intended to represent the recipient of the token. Can be any non-empty + string value. As long as the audience in the token matches at least one audience in the policy, + the token is considered a match. If audiences is unspecified, defaults to your Databricks account + id. + issuer: + type: string + description: The required token issuer, as specified in the 'iss' claim of federated tokens. + jwks_json: + type: string + description: The public keys used to validate the signature of federated tokens, in JWKS format. + Most use cases should not need to specify this field. If jwks_uri and jwks_json are both unspecified + (recommended), Databricks automatically fetches the public keys from your issuer’s well known + endpoint. Databricks strongly recommends relying on your issuer’s well known endpoint for discovering + public keys. + jwks_uri: + type: string + description: URL of the public keys used to validate the signature of federated tokens, in JWKS + format. Most use cases should not need to specify this field. If jwks_uri and jwks_json are both + unspecified (recommended), Databricks automatically fetches the public keys from your issuer’s + well known endpoint. Databricks strongly recommends relying on your issuer’s well known endpoint + for discovering public keys. + subject: + type: string + description: The required token subject, as specified in the subject claim of federated tokens. + Must be specified for service principal federation policies. Must not be specified for account + federation policies. + subject_claim: + type: string + description: The claim that contains the subject of the token. If unspecified, the default value + is 'sub'. + description: Specifies the policy to use for validating OIDC claims in your federated tokens. + policy_id: + type: string + description: The ID of the federation policy. Output only. + service_principal_id: + type: integer + description: The service principal ID that this federation policy applies to. Output only. Only set + for service principal federation policies. + uid: + type: string + description: Unique, immutable id of the federation policy. + update_time: + type: string + description: Last update time of the federation policy. description: ':param update_mask: str (optional) The field mask specifies which fields of the policy to update. To specify multiple fields in the field mask, use comma as the separator (no space). The special value ''*'' indicates that all fields should be updated (full replacement). If unspecified, all fields @@ -1244,7 +1584,7 @@ paths: in: query required: false schema: - type: string + type: integer description: ':param page_token: str (optional) An opaque page token which was the `next_page_token` in the response of the previous request to list the secrets for this service principal. Provide this token to retrieve the next page of secret entries. When providing a `page_token`, all other parameters provided to the request must match the @@ -1925,6 +2265,10 @@ components: - name: oidc_jwks_json type: string description: Inline JWKS JSON used to verify the OIDC token signature (alternative to jwks_uri). + requiredParams: + - name: account_id + type: string + description: Databricks account ID used to scope the query. views: select: predicate: sqlDialect == "sqlite3" @@ -2017,6 +2361,10 @@ components: - name: single_use_refresh_tokens type: boolean description: Whether refresh tokens are single-use (rotated on each use). + requiredParams: + - name: account_id + type: string + description: Databricks account ID used to scope the query. views: select: predicate: sqlDialect == "sqlite3" @@ -2096,6 +2444,10 @@ components: - name: single_use_refresh_tokens type: boolean description: Whether refresh tokens are single-use and rotated on each use (1 = true, 0 = false). + requiredParams: + - name: account_id + type: string + description: Databricks account ID used to scope the query. views: select: predicate: sqlDialect == "sqlite3" diff --git a/providers/src/databricks_account/v00.00.00000/services/provisioning.yaml b/providers/src/databricks_account/v00.00.00000/services/provisioning.yaml index 5d964e8a..bc513de0 100644 --- a/providers/src/databricks_account/v00.00.00000/services/provisioning.yaml +++ b/providers/src/databricks_account/v00.00.00000/services/provisioning.yaml @@ -5,7 +5,7 @@ info: Python SDK. version: 0.1.0 x-stackql-sdk-version: 0.86.0 - x-stackql-date-generated: '2026-02-19' + x-stackql-date-generated: '2026-02-24' x-stackql-sdk-namespace: databricks.sdk.service.provisioning servers: - url: https://accounts.cloud.databricks.com @@ -52,7 +52,13 @@ paths: type: string description: The human-readable name of the credential configuration object. aws_credentials: - type: string + type: object + properties: + sts_role: + type: object + properties: + role_arn: + type: string description: ':returns: :class:`Credential`' required: - credentials_name @@ -243,13 +249,83 @@ paths: type: object properties: use_cases: - type: string + type: array + items: + type: string + x-enum: + - MANAGED_SERVICES + - STORAGE + description: |- + Create a collection of name/value pairs. + + Example enumeration: + + >>> class Color(Enum): + ... RED = 1 + ... BLUE = 2 + ... GREEN = 3 + + Access them by: + + - attribute access:: + + >>> Color.RED + + + - value lookup: + + >>> Color(1) + + + - name lookup: + + >>> Color['RED'] + + + Enumerations can be iterated over, and know how many members they have: + + >>> len(Color) + 3 + + >>> list(Color) + [, , ] + + Methods can be added to enumerations, and members can have their own + attributes -- see the documentation for details. description: The cases that the key can be used for. aws_key_info: - type: string + type: object + properties: + key_arn: + type: string + key_alias: + type: string + description: The AWS KMS key alias. + key_region: + type: string + description: The AWS KMS key region. + reuse_key_for_cluster_volumes: + type: boolean + description: This field applies only if the `use_cases` property includes `STORAGE`. If this is set + to true or omitted, the key is also used to encrypt cluster EBS volumes. If you do not want to use + this key for encrypting EBS volumes, set to false. + required: + - key_arn description: ':param gcp_key_info: :class:`CreateGcpKeyInfo` (optional)' gcp_key_info: - type: string + type: object + properties: + kms_key_id: + type: string + gcp_service_account: + type: object + properties: + service_account_email: + type: string + description: Globally unique service account email that has access to the KMS key. The service account + exists within the Databricks CP project. + required: + - kms_key_id required: - use_cases responses: @@ -447,20 +523,60 @@ paths: type: object properties: gcp_network_info: - type: string + type: object + properties: + network_project_id: + type: string + vpc_id: + type: string + description: The customer-provided VPC ID. + subnet_id: + type: string + description: The customer-provided Subnet ID that will be available to Clusters in Workspaces using + this Network. + subnet_region: + type: string + pod_ip_range_name: + type: string + description: Name of the secondary range within the subnet that will be used by GKE as Pod IP range. + This is BYO VPC specific. DB VPC uses network.getGcpManagedNetworkConfig.getGkeClusterPodIpRange + service_ip_range_name: + type: string + description: Name of the secondary range within the subnet that will be used by GKE as Service IP range. + required: + - network_project_id + - vpc_id + - subnet_id + - subnet_region + - pod_ip_range_name + - service_ip_range_name description: ':param network_name: str (optional) The human-readable name of the network configuration.' network_name: type: string security_group_ids: - type: string + type: array + items: + type: string description: IDs of one to five security groups associated with this network. Security group IDs **cannot** be used in multiple network configurations. subnet_ids: - type: string + type: array + items: + type: string description: IDs of at least two subnets associated with this network. Subnet IDs **cannot** be used in multiple network configurations. vpc_endpoints: - type: string + type: object + properties: + dataplane_relay: + type: array + items: + type: string + rest_api: + type: array + items: + type: string + description: The VPC endpoint ID used by this network to access the Databricks REST API. description: ':param vpc_id: str (optional) The ID of the VPC associated with this network configuration. VPC IDs can be used in multiple networks.' vpc_id: @@ -661,7 +777,9 @@ paths: type: object properties: allowed_vpc_endpoint_ids: - type: string + type: array + items: + type: string description: 'An array of Databricks VPC endpoint IDs. This is the Databricks ID returned when registering the VPC endpoint configuration in your Databricks account. This is not the ID of the VPC endpoint in AWS. Only used when private_access_level is set to ENDPOINT. This is an allow list of VPC endpoints registered @@ -670,6 +788,9 @@ paths: connections. To control how your workspace is accessed via public internet, see IP access lists.' private_access_level: type: string + x-enum: + - ACCOUNT + - ENDPOINT description: The private access level controls which VPC endpoints can connect to the UI or API of any workspace that attaches this private access settings object. `ACCOUNT` level access (the default) allows only VPC endpoints that are registered in your Databricks account connect to your workspace. `ENDPOINT` level access @@ -678,7 +799,7 @@ paths: type: string description: The human-readable name of the private access settings object. public_access_enabled: - type: string + type: boolean description: Determines if the workspace can be accessed over public internet. For fully private workspaces, you can optionally specify false, but only if you implement both the front-end and the back-end PrivateLink connections. Otherwise, specify true, which means that public access is enabled. @@ -870,7 +991,46 @@ paths: type: object properties: customer_facing_private_access_settings: - type: string + type: object + properties: + account_id: + type: string + description: The Databricks account ID that hosts the private access settings. + allowed_vpc_endpoint_ids: + type: array + items: + type: string + description: An array of Databricks VPC endpoint IDs. This is the Databricks ID that is returned when + registering the VPC endpoint configuration in your Databricks account. This is not the ID of the VPC + endpoint in AWS. Only used when private_access_level is set to ENDPOINT. This is an allow list of + VPC endpoints that in your account that can connect to your workspace over AWS PrivateLink. If hybrid + access to your workspace is enabled by setting public_access_enabled to true, this control only works + for PrivateLink connections. To control how your workspace is accessed via public internet, see IP + access lists. + private_access_level: + type: string + x-enum: + - ACCOUNT + - ENDPOINT + description: The private access level controls which VPC endpoints can connect to the UI or API of any + workspace that attaches this private access settings object. `ACCOUNT` level access (the default) + allows only VPC endpoints that are registered in your Databricks account connect to your workspace. + `ENDPOINT` level access allows only specified VPC endpoints connect to your workspace. For details, + see allowed_vpc_endpoint_ids. + private_access_settings_id: + type: string + description: Databricks private access settings ID. + private_access_settings_name: + type: string + description: The human-readable name of the private access settings object. + public_access_enabled: + type: boolean + description: Determines if the workspace can be accessed over public internet. For fully private workspaces, + you can optionally specify false, but only if you implement both the front-end and the back-end PrivateLink + connections. Otherwise, specify true, which means that public access is enabled. + region: + type: string + description: The AWS region for workspaces attached to this private access settings object. description: Properties of the new private access settings object. required: - customer_facing_private_access_settings @@ -931,7 +1091,10 @@ paths: type: string description: The human-readable name of the storage configuration. root_bucket_info: - type: string + type: object + properties: + bucket_name: + type: string description: Root S3 bucket information. role_arn: type: string @@ -1132,7 +1295,22 @@ paths: type: string description: The ID of the VPC endpoint object in AWS. gcp_vpc_endpoint_info: - type: string + type: object + properties: + project_id: + type: string + psc_endpoint_name: + type: string + endpoint_region: + type: string + psc_connection_id: + type: string + service_attachment_id: + type: string + required: + - project_id + - psc_endpoint_name + - endpoint_region description: The cloud info of this vpc endpoint. region: type: string @@ -1413,7 +1591,13 @@ paths: cloud: type: string cloud_resource_container: - type: string + type: object + properties: + gcp: + type: object + properties: + project_id: + type: string description: ':param compute_mode: :class:`CustomerFacingComputeMode` (optional) If the compute mode is `SERVERLESS`, a serverless workspace is created that comes pre-configured with serverless compute and default storage, providing a fully-managed, enterprise-ready SaaS experience. This means you don''t need @@ -1421,11 +1605,17 @@ paths: is `HYBRID` (which is the default option), a classic workspace is created that uses customer-managed resources.' compute_mode: type: string + x-enum: + - HYBRID + - SERVERLESS + description: |- + Corresponds to compute mode defined here: + https://src.dev.databricks.com/databricks/universe@9076536b18479afd639d1c1f9dd5a59f72215e69/-/blob/central/api/common.proto?L872 credentials_id: type: string description: ID of the workspace's credential configuration object. custom_tags: - type: string + type: object description: The custom tags key-value pairing that is attached to this workspace. The key-value pair is a string of utf-8 characters. The value can be an empty string, with maximum length of 255 characters. The key can be of maximum length of 127 characters, and cannot be empty. @@ -1445,10 +1635,33 @@ paths: This value must be unique across all non-deleted deployments across all AWS regions. If a new workspace omits this property, the server generates a unique deployment name for you with the pattern dbc-xxxxxxxx-xxxx. gcp_managed_network_config: - type: string + type: object + properties: + gke_cluster_pod_ip_range: + type: string + description: The IP range that will be used to allocate GKE cluster Pods from. + gke_cluster_service_ip_range: + type: string + description: The IP range that will be used to allocate GKE cluster Services from. + subnet_cidr: + type: string + description: 'The IP range which will be used to allocate GKE cluster nodes from. Note: Pods, services + and master IP range must be mutually exclusive.' description: ':param gke_config: :class:`GkeConfig` (optional)' gke_config: - type: string + type: object + properties: + connectivity_type: + type: string + x-enum: + - PRIVATE_NODE_PUBLIC_MASTER + - PUBLIC_NODE_PUBLIC_MASTER + description: The type of network connectivity of the GKE cluster. + master_ip_range: + type: string + description: The IP range that will be used to allocate GKE cluster master resources from. This field + must not be set if gke_cluster_type=PUBLIC_NODE_PUBLIC_MASTER. + description: The configurations of the GKE cluster used by the GCP workspace. location: type: string description: The Google Cloud region of the workspace data plane in your Google account (for example, `us-east4`). @@ -1467,6 +1680,13 @@ paths: is required. pricing_tier: type: string + x-enum: + - COMMUNITY_EDITION + - DEDICATED + - ENTERPRISE + - PREMIUM + - STANDARD + - UNKNOWN description: ':param private_access_settings_id: str (optional) ID of the workspace''s private access settings object. Only used for PrivateLink. You must specify this ID if you are using [AWS PrivateLink] for either front-end (user-to-workspace connection), back-end (data plane to control plane connection), or both connection @@ -1684,7 +1904,228 @@ paths: type: object properties: customer_facing_workspace: - type: string + type: object + properties: + account_id: + type: string + aws_region: + type: string + azure_workspace_info: + type: object + properties: + resource_group: + type: string + subscription_id: + type: string + description: Azure Subscription ID + cloud: + type: string + description: The cloud name. This field can have values like `azure`, `gcp`. + cloud_resource_container: + type: object + properties: + gcp: + type: object + properties: + project_id: + type: string + compute_mode: + type: string + x-enum: + - HYBRID + - SERVERLESS + description: The compute mode of the workspace. + creation_time: + type: integer + description: Time in epoch milliseconds when the workspace was created. + credentials_id: + type: string + description: ID of the workspace's credential configuration object. + custom_tags: + type: object + description: The custom tags key-value pairing that is attached to this workspace. The key-value pair + is a string of utf-8 characters. The value can be an empty string, with maximum length of 255 characters. + The key can be of maximum length of 127 characters, and cannot be empty. + deployment_name: + type: string + expected_workspace_status: + type: string + x-enum: + - BANNED + - CANCELLING + - FAILED + - NOT_PROVISIONED + - PROVISIONING + - RUNNING + description: A client owned field used to indicate the workspace status that the client expects to be + in. For now this is only used to unblock Temporal workflow for GCP least privileged workspace. + gcp_managed_network_config: + type: object + properties: + gke_cluster_pod_ip_range: + type: string + description: The IP range that will be used to allocate GKE cluster Pods from. + gke_cluster_service_ip_range: + type: string + description: The IP range that will be used to allocate GKE cluster Services from. + subnet_cidr: + type: string + description: 'The IP range which will be used to allocate GKE cluster nodes from. Note: Pods, services + and master IP range must be mutually exclusive.' + description: The network configuration for the workspace. + gke_config: + type: object + properties: + connectivity_type: + type: string + x-enum: + - PRIVATE_NODE_PUBLIC_MASTER + - PUBLIC_NODE_PUBLIC_MASTER + description: The type of network connectivity of the GKE cluster. + master_ip_range: + type: string + description: The IP range that will be used to allocate GKE cluster master resources from. This + field must not be set if gke_cluster_type=PUBLIC_NODE_PUBLIC_MASTER. + description: The configurations of the GKE cluster used by the GCP workspace. + location: + type: string + description: The Google Cloud region of the workspace data plane in your Google account (for example, + `us-east4`). + managed_services_customer_managed_key_id: + type: string + description: ID of the key configuration for encrypting managed services. + network: + type: object + properties: + gcp_common_network_config: + type: object + properties: + gke_cluster_master_ip_range: + type: string + description: The IP range that will be used to allocate GKE cluster master resources from. This + field must not be set if gke_cluster_type=PUBLIC_NODE_PUBLIC_MASTER. + gke_connectivity_type: + type: string + x-enum: + - PRIVATE_NODE_PUBLIC_MASTER + - PUBLIC_NODE_PUBLIC_MASTER + description: The type of network connectivity of the GKE cluster. + description: The shared network config for GCP workspace. This object has common network configurations + that are network attributions of a workspace. This object is input-only. + gcp_managed_network_config: + type: object + properties: + gke_cluster_pod_ip_range: + type: string + description: The IP range that will be used to allocate GKE cluster Pods from. + gke_cluster_service_ip_range: + type: string + description: The IP range that will be used to allocate GKE cluster Services from. + subnet_cidr: + type: string + description: 'The IP range which will be used to allocate GKE cluster nodes from. Note: Pods, + services and master IP range must be mutually exclusive.' + description: The mutually exclusive network deployment modes. The option decides which network mode + the workspace will use. The network config for GCP workspace with Databricks managed network. + This object is input-only and will not be provided when listing workspaces. See go/gcp-byovpc-alpha-design + for interface decisions. + network_id: + type: string + description: The ID of the network object, if the workspace is a BYOVPC workspace. This should apply + to workspaces on all clouds in internal services. In accounts-rest-api, user will use workspace.network_id + for input and output instead. Currently (2021-06-19) the network ID is only used by GCP. + description: The network configuration for the workspace. DEPRECATED. Use `network_id` instead. + network_connectivity_config_id: + type: string + description: The object ID of network connectivity config. + network_id: + type: string + description: If this workspace is BYO VPC, then the network_id will be populated. If this workspace + is not BYO VPC, then the network_id will be empty. + pricing_tier: + type: string + x-enum: + - COMMUNITY_EDITION + - DEDICATED + - ENTERPRISE + - PREMIUM + - STANDARD + - UNKNOWN + description: |- + Create a collection of name/value pairs. + + Example enumeration: + + >>> class Color(Enum): + ... RED = 1 + ... BLUE = 2 + ... GREEN = 3 + + Access them by: + + - attribute access:: + + >>> Color.RED + + + - value lookup: + + >>> Color(1) + + + - name lookup: + + >>> Color['RED'] + + + Enumerations can be iterated over, and know how many members they have: + + >>> len(Color) + 3 + + >>> list(Color) + [, , ] + + Methods can be added to enumerations, and members can have their own + attributes -- see the documentation for details. + private_access_settings_id: + type: string + description: 'ID of the workspace''s private access settings object. Only used for PrivateLink. You + must specify this ID if you are using [AWS PrivateLink] for either front-end (user-to-workspace connection), + back-end (data plane to control plane connection), or both connection types. Before configuring PrivateLink, + read the [Databricks article about PrivateLink].", [AWS PrivateLink]: https://aws.amazon.com/privatelink/ + [Databricks article about PrivateLink]: https://docs.databricks.com/administration-guide/cloud-configurations/aws/privatelink.html' + storage_configuration_id: + type: string + description: ID of the workspace's storage configuration object. + storage_customer_managed_key_id: + type: string + description: ID of the key configuration for encrypting workspace storage. + storage_mode: + type: string + x-enum: + - CUSTOMER_HOSTED + - DEFAULT_STORAGE + description: The storage mode of the workspace. + workspace_id: + type: integer + description: A unique integer ID for the workspace + workspace_name: + type: string + description: The human-readable name of the workspace. + workspace_status: + type: string + x-enum: + - BANNED + - CANCELLING + - FAILED + - NOT_PROVISIONED + - PROVISIONING + - RUNNING + description: The status of a workspace + workspace_status_message: + type: string + description: Message describing the current workspace status. description: ':param update_mask: str (optional) The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields @@ -2273,20 +2714,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -2315,20 +2756,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -2381,20 +2822,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -2427,20 +2868,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -2469,20 +2910,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -2513,20 +2954,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -2555,20 +2996,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -3004,6 +3445,10 @@ components: - name: gke_master_ip_range type: string description: CIDR range for the GKE control plane (GCP only). + requiredParams: + - name: account_id + type: string + description: Databricks account ID used to scope the query. views: select: predicate: sqlDialect == "sqlite3" @@ -3132,6 +3577,10 @@ components: - name: vpc_endpoint_dataplane_relay_ids type: array description: List of VPC endpoint IDs used for dataplane relay private connectivity (AWS only). + requiredParams: + - name: account_id + type: string + description: Databricks account ID used to scope the query. views: select: predicate: sqlDialect == "sqlite3" @@ -3203,6 +3652,10 @@ components: - name: error_message type: string description: Human-readable description of the network validation error. + requiredParams: + - name: account_id + type: string + description: Databricks account ID used to scope the query. views: select: predicate: sqlDialect == "sqlite3" @@ -3254,6 +3707,10 @@ components: - name: warning_message type: string description: Human-readable description of the network validation warning. + requiredParams: + - name: account_id + type: string + description: Databricks account ID used to scope the query. views: select: predicate: sqlDialect == "sqlite3" @@ -3332,6 +3789,10 @@ components: - name: cloud_type type: string description: Derived cloud provider for this key configuration - one of AWS, AZURE, GCP, or UNKNOWN. + requiredParams: + - name: account_id + type: string + description: Databricks account ID used to scope the query. views: select: predicate: sqlDialect == "sqlite3" @@ -3408,6 +3869,10 @@ components: - name: aws_role_arn type: string description: ARN of the AWS IAM role Databricks uses to manage resources in the customer account (AWS only). + requiredParams: + - name: account_id + type: string + description: Databricks account ID used to scope the query. views: select: predicate: sqlDialect == "sqlite3" @@ -3455,6 +3920,10 @@ components: - name: root_bucket_name type: string description: Name of the S3 bucket used as the workspace root storage (AWS only). + requiredParams: + - name: account_id + type: string + description: Databricks account ID used to scope the query. views: select: predicate: sqlDialect == "sqlite3" @@ -3531,6 +4000,10 @@ components: - name: cloud_type type: string description: Derived cloud provider for this VPC endpoint - one of AWS, GCP, or UNKNOWN. + requiredParams: + - name: account_id + type: string + description: Databricks account ID used to scope the query. views: select: predicate: sqlDialect == "sqlite3" diff --git a/providers/src/databricks_account/v00.00.00000/services/settings.yaml b/providers/src/databricks_account/v00.00.00000/services/settings.yaml index bd7aada6..cc082adc 100644 --- a/providers/src/databricks_account/v00.00.00000/services/settings.yaml +++ b/providers/src/databricks_account/v00.00.00000/services/settings.yaml @@ -5,7 +5,7 @@ info: Python SDK. version: 0.1.0 x-stackql-sdk-version: 0.86.0 - x-stackql-date-generated: '2026-02-19' + x-stackql-date-generated: '2026-02-24' x-stackql-sdk-namespace: databricks.sdk.service.settings servers: - url: https://accounts.cloud.databricks.com @@ -55,9 +55,14 @@ paths: description: Label for the IP access list. This **cannot** be empty. list_type: type: string + x-enum: + - ALLOW + - BLOCK description: ':param ip_addresses: List[str] (optional)' ip_addresses: - type: string + type: array + items: + type: string required: - label - list_type @@ -247,11 +252,16 @@ paths: description: Label for the IP access list. This **cannot** be empty. list_type: type: string + x-enum: + - ALLOW + - BLOCK description: ':param enabled: bool Specifies whether this IP access list is enabled.' enabled: type: boolean ip_addresses: - type: string + type: array + items: + type: string description: List[str] (optional) required: - label @@ -320,15 +330,20 @@ paths: type: object properties: enabled: - type: string + type: boolean description: Specifies whether this IP access list is enabled. ip_addresses: - type: string + type: array + items: + type: string description: ':param label: str (optional) Label for the IP access list. This **cannot** be empty.' label: type: string list_type: type: string + x-enum: + - ALLOW + - BLOCK description: :class:`ListType` (optional) responses: '200': @@ -381,7 +396,20 @@ paths: type: object properties: network_connectivity_config: - type: string + type: object + properties: + name: + type: string + description: The name of the network connectivity configuration. The name can contain alphanumeric characters, + hyphens, and underscores. The length must be between 3 and 30 characters. The name must match the + regular expression ^[0-9a-zA-Z-_]{3,30}$ + region: + type: string + description: The region for the network connectivity configuration. Only workspaces in the same region + can be attached to the network connectivity configuration. + required: + - name + - region description: ':returns: :class:`NetworkConnectivityConfiguration`' required: - network_connectivity_config @@ -490,7 +518,37 @@ paths: type: object properties: private_endpoint_rule: - type: string + type: object + properties: + domain_names: + type: array + items: + type: string + description: Only used by private endpoints to customer-managed private endpoint services. Domain names + of target private link service. When updating this field, the full list of target domain_names must + be specified. + endpoint_service: + type: string + description: The full target AWS endpoint service name that connects to the destination resources of + the private endpoint. + error_message: + type: string + group_id: + type: string + description: Not used by customer-managed private endpoint services. The sub-resource type (group ID) + of the target resource. Note that to connect to workspace root storage (root DBFS), you need two endpoints, + one for blob and one for dfs. + resource_id: + type: string + description: The Azure resource ID of the target resource. + resource_names: + type: array + items: + type: string + description: Only used by private endpoints towards AWS S3 service. The globally unique S3 bucket names + that will be accessed via the VPC endpoint. The bucket names must be in the same region as the NCC/endpoint + service. When updating this field, we perform full update on this field. Please ensure a full list + of desired resource_names is provided. description: ':returns: :class:`NccPrivateEndpointRule`' required: - private_endpoint_rule @@ -811,7 +869,29 @@ paths: type: object properties: private_endpoint_rule: - type: string + type: object + properties: + domain_names: + type: array + items: + type: string + description: Only used by private endpoints to customer-managed private endpoint services. Domain names + of target private link service. When updating this field, the full list of target domain_names must + be specified. + enabled: + type: boolean + description: Only used by private endpoints towards an AWS S3 service. Update this field to activate/deactivate + this private endpoint to allow egress access from serverless compute resources. + error_message: + type: string + resource_names: + type: array + items: + type: string + description: Only used by private endpoints towards AWS S3 service. The globally unique S3 bucket names + that will be accessed via the VPC endpoint. The bucket names must be in the same region as the NCC/endpoint + service. When updating this field, we perform full update on this field. Please ensure a full list + of desired resource_names is provided. description: ':param update_mask: str The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, @@ -866,7 +946,169 @@ paths: type: object properties: network_policy: - type: string + type: object + properties: + account_id: + type: string + egress: + type: object + properties: + network_access: + type: object + properties: + restriction_mode: + type: string + x-enum: + - FULL_ACCESS + - RESTRICTED_ACCESS + description: |- + At which level can Databricks and Databricks managed compute access Internet. FULL_ACCESS: + Databricks can access Internet. No blocking rules will apply. RESTRICTED_ACCESS: Databricks can + only access explicitly allowed internet and storage destinations, as well as UC connections and + external locations. + allowed_internet_destinations: + type: array + items: + type: object + properties: + destination: + type: string + description: The internet destination to which access will be allowed. Format dependent + on the destination type. + internet_destination_type: + type: string + x-enum: + - DNS_NAME + description: |- + Create a collection of name/value pairs. + + Example enumeration: + + >>> class Color(Enum): + ... RED = 1 + ... BLUE = 2 + ... GREEN = 3 + + Access them by: + + - attribute access:: + + >>> Color.RED + + + - value lookup: + + >>> Color(1) + + + - name lookup: + + >>> Color['RED'] + + + Enumerations can be iterated over, and know how many members they have: + + >>> len(Color) + 3 + + >>> list(Color) + [, , ] + + Methods can be added to enumerations, and members can have their own + attributes -- see the documentation for details. + description: |- + Users can specify accessible internet destinations when outbound access is restricted. We only + support DNS_NAME (FQDN format) destinations for the time being. Going forward we may extend + support to host names and IP addresses. + description: List of internet destinations that serverless workloads are allowed to access when + in RESTRICTED_ACCESS mode. + allowed_storage_destinations: + type: array + items: + type: object + properties: + azure_storage_account: + type: string + description: The Azure storage account name. + azure_storage_service: + type: string + description: The Azure storage service type (blob, dfs, etc.). + bucket_name: + type: string + region: + type: string + storage_destination_type: + type: string + x-enum: + - AWS_S3 + - AZURE_STORAGE + - GOOGLE_CLOUD_STORAGE + description: |- + Create a collection of name/value pairs. + + Example enumeration: + + >>> class Color(Enum): + ... RED = 1 + ... BLUE = 2 + ... GREEN = 3 + + Access them by: + + - attribute access:: + + >>> Color.RED + + + - value lookup: + + >>> Color(1) + + + - name lookup: + + >>> Color['RED'] + + + Enumerations can be iterated over, and know how many members they have: + + >>> len(Color) + 3 + + >>> list(Color) + [, , ] + + Methods can be added to enumerations, and members can have their own + attributes -- see the documentation for details. + description: Users can specify accessible storage destinations. + description: List of storage destinations that serverless workloads are allowed to access when + in RESTRICTED_ACCESS mode. + policy_enforcement: + type: object + properties: + dry_run_mode_product_filter: + type: array + items: + type: string + x-enum: + - DBSQL + - ML_SERVING + description: The values should match the list of workloads used in networkconfig.proto + enforcement_mode: + type: string + x-enum: + - DRY_RUN + - ENFORCED + description: The mode of policy enforcement. ENFORCED blocks traffic that violates policy, + while DRY_RUN only logs violations without blocking. When not specified, defaults to ENFORCED. + description: Optional. When policy_enforcement is not provided, we default to ENFORCE_MODE_ALL_SERVICES + required: + - restriction_mode + description: The access policy enforced for egress traffic to the internet. + description: The network policies applying for egress traffic. + network_policy_id: + type: string + description: The unique identifier for the network policy. description: Network policy configuration details. required: - network_policy @@ -1050,7 +1292,169 @@ paths: type: object properties: network_policy: - type: string + type: object + properties: + account_id: + type: string + egress: + type: object + properties: + network_access: + type: object + properties: + restriction_mode: + type: string + x-enum: + - FULL_ACCESS + - RESTRICTED_ACCESS + description: |- + At which level can Databricks and Databricks managed compute access Internet. FULL_ACCESS: + Databricks can access Internet. No blocking rules will apply. RESTRICTED_ACCESS: Databricks can + only access explicitly allowed internet and storage destinations, as well as UC connections and + external locations. + allowed_internet_destinations: + type: array + items: + type: object + properties: + destination: + type: string + description: The internet destination to which access will be allowed. Format dependent + on the destination type. + internet_destination_type: + type: string + x-enum: + - DNS_NAME + description: |- + Create a collection of name/value pairs. + + Example enumeration: + + >>> class Color(Enum): + ... RED = 1 + ... BLUE = 2 + ... GREEN = 3 + + Access them by: + + - attribute access:: + + >>> Color.RED + + + - value lookup: + + >>> Color(1) + + + - name lookup: + + >>> Color['RED'] + + + Enumerations can be iterated over, and know how many members they have: + + >>> len(Color) + 3 + + >>> list(Color) + [, , ] + + Methods can be added to enumerations, and members can have their own + attributes -- see the documentation for details. + description: |- + Users can specify accessible internet destinations when outbound access is restricted. We only + support DNS_NAME (FQDN format) destinations for the time being. Going forward we may extend + support to host names and IP addresses. + description: List of internet destinations that serverless workloads are allowed to access when + in RESTRICTED_ACCESS mode. + allowed_storage_destinations: + type: array + items: + type: object + properties: + azure_storage_account: + type: string + description: The Azure storage account name. + azure_storage_service: + type: string + description: The Azure storage service type (blob, dfs, etc.). + bucket_name: + type: string + region: + type: string + storage_destination_type: + type: string + x-enum: + - AWS_S3 + - AZURE_STORAGE + - GOOGLE_CLOUD_STORAGE + description: |- + Create a collection of name/value pairs. + + Example enumeration: + + >>> class Color(Enum): + ... RED = 1 + ... BLUE = 2 + ... GREEN = 3 + + Access them by: + + - attribute access:: + + >>> Color.RED + + + - value lookup: + + >>> Color(1) + + + - name lookup: + + >>> Color['RED'] + + + Enumerations can be iterated over, and know how many members they have: + + >>> len(Color) + 3 + + >>> list(Color) + [, , ] + + Methods can be added to enumerations, and members can have their own + attributes -- see the documentation for details. + description: Users can specify accessible storage destinations. + description: List of storage destinations that serverless workloads are allowed to access when + in RESTRICTED_ACCESS mode. + policy_enforcement: + type: object + properties: + dry_run_mode_product_filter: + type: array + items: + type: string + x-enum: + - DBSQL + - ML_SERVING + description: The values should match the list of workloads used in networkconfig.proto + enforcement_mode: + type: string + x-enum: + - DRY_RUN + - ENFORCED + description: The mode of policy enforcement. ENFORCED blocks traffic that violates policy, + while DRY_RUN only logs violations without blocking. When not specified, defaults to ENFORCED. + description: Optional. When policy_enforcement is not provided, we default to ENFORCE_MODE_ALL_SERVICES + required: + - restriction_mode + description: The access policy enforced for egress traffic to the internet. + description: The network policies applying for egress traffic. + network_policy_id: + type: string + description: The unique identifier for the network policy. description: Updated network policy configuration details. required: - network_policy @@ -1154,7 +1558,13 @@ paths: type: object properties: workspace_network_option: - type: string + type: object + properties: + network_policy_id: + type: string + workspace_id: + type: integer + description: The workspace ID. description: The network option details for the workspace. required: - workspace_network_option @@ -2850,20 +3260,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -2897,20 +3307,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -2944,20 +3354,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -3012,20 +3422,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -3057,20 +3467,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -3107,20 +3517,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -3149,20 +3559,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -3211,20 +3621,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -3252,20 +3662,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -3300,20 +3710,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -3353,20 +3763,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -3419,20 +3829,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -3466,20 +3876,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -3519,20 +3929,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -3839,6 +4249,10 @@ components: - name: ip_address type: string description: Individual IP address or CIDR range entry from the list (one row per entry). + requiredParams: + - name: account_id + type: string + description: Databricks account ID used to scope the query. views: select: predicate: sqlDialect == "sqlite3" @@ -3912,6 +4326,10 @@ components: - name: azure_svc_endpoint_services type: array description: List of Azure services targeted by the default service endpoint rule (Azure only). + requiredParams: + - name: account_id + type: string + description: Databricks account ID used to scope the query. views: select: predicate: sqlDialect == "sqlite3" @@ -3999,6 +4417,10 @@ components: - name: updated_time type: integer description: Unix timestamp (ms) when the rule was last updated. + requiredParams: + - name: account_id + type: string + description: Databricks account ID used to scope the query. views: select: predicate: sqlDialect == "sqlite3" @@ -4097,6 +4519,10 @@ components: - name: updated_time type: integer description: Unix timestamp (ms) when the rule was last updated. + requiredParams: + - name: account_id + type: string + description: Databricks account ID used to scope the query. views: select: predicate: sqlDialect == "sqlite3" @@ -4166,6 +4592,10 @@ components: - name: destination_type type: string description: Classification of the allowed internet destination (e.g. PUBLIC). + requiredParams: + - name: account_id + type: string + description: Databricks account ID used to scope the query. views: select: predicate: sqlDialect == "sqlite3" @@ -4226,6 +4656,10 @@ components: - name: azure_storage_service type: string description: Azure storage service type for this destination (e.g. blob, dfs) (Azure only). + requiredParams: + - name: account_id + type: string + description: Databricks account ID used to scope the query. views: select: predicate: sqlDialect == "sqlite3" diff --git a/providers/src/databricks_account/v00.00.00000/services/settingsv2.yaml b/providers/src/databricks_account/v00.00.00000/services/settingsv2.yaml index ab60c8b1..06a1c2e3 100644 --- a/providers/src/databricks_account/v00.00.00000/services/settingsv2.yaml +++ b/providers/src/databricks_account/v00.00.00000/services/settingsv2.yaml @@ -6,7 +6,7 @@ info: APIs), generated from the Databricks Python SDK. version: 0.1.0 x-stackql-sdk-version: 0.86.0 - x-stackql-date-generated: '2026-02-19' + x-stackql-date-generated: '2026-02-24' x-stackql-sdk-namespace: databricks.sdk.service.settingsv2 servers: - url: https://accounts.cloud.databricks.com @@ -110,7 +110,842 @@ paths: type: object properties: setting: - type: string + type: object + properties: + aibi_dashboard_embedding_access_policy: + type: object + properties: + access_policy_type: + type: string + x-enum: + - ALLOW_ALL_DOMAINS + - ALLOW_APPROVED_DOMAINS + - DENY_ALL_DOMAINS + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know how many + members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members + can have their own + + attributes -- see the documentation for details. + required: + - access_policy_type + aibi_dashboard_embedding_approved_domains: + type: object + properties: + approved_domains: + type: array + items: + type: string + description: >- + Setting value for + aibi_dashboard_embedding_approved_domains setting. This + is the setting value set by consumers, check + effective_aibi_dashboard_embedding_approved_domains for + final setting value. + automatic_cluster_update_workspace: + type: object + properties: + can_toggle: + type: boolean + enabled: + type: boolean + enablement_details: + type: object + properties: + forced_for_compliance_mode: + type: boolean + description: >- + The feature is force enabled if compliance mode + is active + unavailable_for_disabled_entitlement: + type: boolean + description: >- + The feature is unavailable if the corresponding + entitlement disabled (see + getShieldEntitlementEnable) + unavailable_for_non_enterprise_tier: + type: boolean + description: >- + The feature is unavailable if the customer + doesn't have enterprise tier + description: >- + Contains an information about the enablement status + judging (e.g. whether the enterprise tier is + enabled) This is only additional information that MUST NOT be used to decide whether the setting + is enabled or not. This is intended to use only for purposes like showing an error message to + the customer with the additional details. For example, using these details we can check why + exactly the feature is disabled for this customer. + maintenance_window: + type: object + properties: + week_day_based_schedule: + type: object + properties: + day_of_week: + type: string + x-enum: + - FRIDAY + - MONDAY + - SATURDAY + - SUNDAY + - THURSDAY + - TUESDAY + - WEDNESDAY + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know + how many members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , + ] + + + Methods can be added to enumerations, and + members can have their own + + attributes -- see the documentation for + details. + frequency: + type: string + x-enum: + - EVERY_WEEK + - FIRST_AND_THIRD_OF_MONTH + - FIRST_OF_MONTH + - FOURTH_OF_MONTH + - SECOND_AND_FOURTH_OF_MONTH + - SECOND_OF_MONTH + - THIRD_OF_MONTH + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know + how many members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , + ] + + + Methods can be added to enumerations, and + members can have their own + + attributes -- see the documentation for + details. + window_start_time: + type: object + properties: + hours: + type: integer + minutes: + type: integer + restart_even_if_no_updates_available: + type: boolean + description: >- + Setting value for automatic_cluster_update_workspace + setting. This is the setting value set by consumers, + check effective_automatic_cluster_update_workspace for + final setting value. + boolean_val: + type: object + properties: + value: + type: boolean + description: >- + Setting value for boolean type setting. This is the + setting value set by consumers, check + effective_boolean_val for final setting value. + effective_aibi_dashboard_embedding_access_policy: + type: object + properties: + access_policy_type: + type: string + x-enum: + - ALLOW_ALL_DOMAINS + - ALLOW_APPROVED_DOMAINS + - DENY_ALL_DOMAINS + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know how many + members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members + can have their own + + attributes -- see the documentation for details. + required: + - access_policy_type + description: >- + Effective setting value for + aibi_dashboard_embedding_access_policy setting. This is + the final effective value of setting. To set a value use + aibi_dashboard_embedding_access_policy. + effective_aibi_dashboard_embedding_approved_domains: + type: object + properties: + approved_domains: + type: array + items: + type: string + description: >- + Effective setting value for + aibi_dashboard_embedding_approved_domains setting. This + is the final effective value of setting. To set a value + use aibi_dashboard_embedding_approved_domains. + effective_automatic_cluster_update_workspace: + type: object + properties: + can_toggle: + type: boolean + enabled: + type: boolean + enablement_details: + type: object + properties: + forced_for_compliance_mode: + type: boolean + description: >- + The feature is force enabled if compliance mode + is active + unavailable_for_disabled_entitlement: + type: boolean + description: >- + The feature is unavailable if the corresponding + entitlement disabled (see + getShieldEntitlementEnable) + unavailable_for_non_enterprise_tier: + type: boolean + description: >- + The feature is unavailable if the customer + doesn't have enterprise tier + description: >- + Contains an information about the enablement status + judging (e.g. whether the enterprise tier is + enabled) This is only additional information that MUST NOT be used to decide whether the setting + is enabled or not. This is intended to use only for purposes like showing an error message to + the customer with the additional details. For example, using these details we can check why + exactly the feature is disabled for this customer. + maintenance_window: + type: object + properties: + week_day_based_schedule: + type: object + properties: + day_of_week: + type: string + x-enum: + - FRIDAY + - MONDAY + - SATURDAY + - SUNDAY + - THURSDAY + - TUESDAY + - WEDNESDAY + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know + how many members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , + ] + + + Methods can be added to enumerations, and + members can have their own + + attributes -- see the documentation for + details. + frequency: + type: string + x-enum: + - EVERY_WEEK + - FIRST_AND_THIRD_OF_MONTH + - FIRST_OF_MONTH + - FOURTH_OF_MONTH + - SECOND_AND_FOURTH_OF_MONTH + - SECOND_OF_MONTH + - THIRD_OF_MONTH + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know + how many members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , + ] + + + Methods can be added to enumerations, and + members can have their own + + attributes -- see the documentation for + details. + window_start_time: + type: object + properties: + hours: + type: integer + minutes: + type: integer + restart_even_if_no_updates_available: + type: boolean + description: >- + Effective setting value for + automatic_cluster_update_workspace setting. This is the + final effective value of setting. To set a value use + automatic_cluster_update_workspace. + effective_boolean_val: + type: object + properties: + value: + type: boolean + description: >- + Effective setting value for boolean type setting. This + is the final effective value of setting. To set a value + use boolean_val. + effective_integer_val: + type: object + properties: + value: + type: integer + description: >- + Effective setting value for integer type setting. This + is the final effective value of setting. To set a value + use integer_val. + effective_personal_compute: + type: object + properties: + value: + type: string + x-enum: + - DELEGATE + - 'ON' + description: >- + ON: Grants all users in all workspaces access to the + Personal Compute default policy, allowing + + all users to create single-machine compute + resources. DELEGATE: Moves access control for the + + Personal Compute default policy to individual + workspaces and requires a workspace’s users or + + groups to be added to the ACLs of that workspace’s + Personal Compute default policy before they + + will be able to create compute resources through + that policy. + description: >- + Effective setting value for personal_compute setting. + This is the final effective value of setting. To set a + value use personal_compute. + effective_restrict_workspace_admins: + type: object + properties: + status: + type: string + x-enum: + - ALLOW_ALL + - RESTRICT_TOKENS_AND_JOB_RUN_AS + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know how many + members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members + can have their own + + attributes -- see the documentation for details. + required: + - status + description: >- + Effective setting value for restrict_workspace_admins + setting. This is the final effective value of setting. + To set a value use restrict_workspace_admins. + effective_string_val: + type: object + properties: + value: + type: string + description: >- + Effective setting value for string type setting. This is + the final effective value of setting. To set a value use + string_val. + integer_val: + type: object + properties: + value: + type: integer + description: >- + Setting value for integer type setting. This is the + setting value set by consumers, check + effective_integer_val for final setting value. + name: + type: string + description: Name of the setting. + personal_compute: + type: object + properties: + value: + type: string + x-enum: + - DELEGATE + - 'ON' + description: >- + ON: Grants all users in all workspaces access to the + Personal Compute default policy, allowing + + all users to create single-machine compute + resources. DELEGATE: Moves access control for the + + Personal Compute default policy to individual + workspaces and requires a workspace’s users or + + groups to be added to the ACLs of that workspace’s + Personal Compute default policy before they + + will be able to create compute resources through + that policy. + description: >- + Setting value for personal_compute setting. This is the + setting value set by consumers, check + effective_personal_compute for final setting value. + restrict_workspace_admins: + type: object + properties: + status: + type: string + x-enum: + - ALLOW_ALL + - RESTRICT_TOKENS_AND_JOB_RUN_AS + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know how many + members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members + can have their own + + attributes -- see the documentation for details. + required: + - status + description: >- + Setting value for restrict_workspace_admins setting. + This is the setting value set by consumers, check + effective_restrict_workspace_admins for final setting + value. + string_val: + type: object + properties: + value: + type: string + description: >- + Setting value for string type setting. This is the + setting value set by consumers, check + effective_string_val for final setting value. required: - setting responses: @@ -252,7 +1087,39 @@ paths: type: object properties: setting: - type: string + type: object + properties: + boolean_val: + type: object + properties: + value: + type: boolean + effective_boolean_val: + type: object + properties: + value: + type: boolean + effective_string_val: + type: object + properties: + value: + type: string + name: + type: string + description: Name of the setting. + string_val: + type: object + properties: + value: + type: string + user_id: + type: string + description: User ID of the user. + description: >- + User Preference represents a user-specific setting scoped to + an individual user within an + account. Unlike workspace or account settings that apply to all users, user preferences allow + personal customization (e.g., UI theme, editor preferences) without affecting other users. required: - setting responses: @@ -313,7 +1180,7 @@ paths: in: query required: false schema: - type: string + type: integer description: >- The maximum number of settings to return. The service may return fewer than this value. If unspecified, at most 200 settings will be @@ -401,7 +1268,7 @@ paths: in: query required: false schema: - type: string + type: integer description: >- The maximum number of settings to return. The service may return fewer than this value. If unspecified, at most 200 settings will be @@ -726,20 +1593,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -773,20 +1640,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -820,20 +1687,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -881,20 +1748,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: diff --git a/providers/src/databricks_workspace/v00.00.00000/services/agentbricks.yaml b/providers/src/databricks_workspace/v00.00.00000/services/agentbricks.yaml index cedb50bd..f43a7969 100644 --- a/providers/src/databricks_workspace/v00.00.00000/services/agentbricks.yaml +++ b/providers/src/databricks_workspace/v00.00.00000/services/agentbricks.yaml @@ -6,7 +6,7 @@ info: (workspace-level APIs), generated from the Databricks Python SDK. version: 0.1.0 x-stackql-sdk-version: 0.86.0 - x-stackql-date-generated: '2026-02-19' + x-stackql-date-generated: '2026-02-24' x-stackql-sdk-namespace: databricks.sdk.service.agentbricks servers: - url: https://{deployment_name}.cloud.databricks.com @@ -96,12 +96,35 @@ paths: you have write permissions. Please provide this in catalog.schema format. datasets: - type: string + type: array + items: + type: object + properties: + table: + type: object + properties: + table_path: + type: string + request_col: + type: string + description: Name of the request column + response_col: + type: string + description: >- + Optional: Name of the response column if the data + is labeled + required: + - table_path + - request_col + required: + - table description: >- Datasets used for training and evaluating the model, not for inference. Currently, only 1 dataset is accepted. guidelines: - type: string + type: array + items: + type: string description: Guidelines for the custom LLM to adhere to required: - name @@ -240,7 +263,74 @@ paths: type: object properties: custom_llm: - type: string + type: object + properties: + name: + type: string + instructions: + type: string + description: Instructions for the custom LLM to follow + agent_artifact_path: + type: string + creation_time: + type: string + description: Creation timestamp of the custom LLM + creator: + type: string + description: Creator of the custom LLM + datasets: + type: array + items: + type: object + properties: + table: + type: object + properties: + table_path: + type: string + request_col: + type: string + description: Name of the request column + response_col: + type: string + description: >- + Optional: Name of the response column if the + data is labeled + required: + - table_path + - request_col + required: + - table + description: >- + Datasets used for training and evaluating the model, not + for inference + endpoint_name: + type: string + description: >- + Name of the endpoint that will be used to serve the + custom LLM + guidelines: + type: array + items: + type: string + description: Guidelines for the custom LLM to adhere to + id: + type: string + optimization_state: + type: string + x-enum: + - CANCELLED + - COMPLETED + - CREATED + - FAILED + - PENDING + - RUNNING + description: >- + If optimization is kicked off, tracks the state of the + custom LLM + required: + - name + - instructions description: The CustomLlm containing the fields which should be updated. update_mask: type: string diff --git a/providers/src/databricks_workspace/v00.00.00000/services/apps.yaml b/providers/src/databricks_workspace/v00.00.00000/services/apps.yaml index 27a25bff..be334ff3 100644 --- a/providers/src/databricks_workspace/v00.00.00000/services/apps.yaml +++ b/providers/src/databricks_workspace/v00.00.00000/services/apps.yaml @@ -5,7 +5,7 @@ info: Python SDK. version: 0.1.0 x-stackql-sdk-version: 0.86.0 - x-stackql-date-generated: '2026-02-19' + x-stackql-date-generated: '2026-02-24' x-stackql-sdk-namespace: databricks.sdk.service.apps servers: - url: https://{deployment_name}.cloud.databricks.com @@ -35,7 +35,7 @@ paths: in: query required: false schema: - type: string + type: boolean requestBody: content: application/json: @@ -43,7 +43,707 @@ paths: type: object properties: app: - type: string + type: object + properties: + name: + type: string + active_deployment: + type: object + properties: + command: + type: array + items: + type: string + create_time: + type: string + description: The creation time of the deployment. Formatted timestamp in ISO 6801. + creator: + type: string + description: The email of the user creates the deployment. + deployment_artifacts: + type: object + properties: + source_code_path: + type: string + description: The deployment artifacts for an app. + deployment_id: + type: string + description: The unique id of the deployment. + env_vars: + type: array + items: + type: object + properties: + name: + type: string + value: + type: string + description: The value for the environment variable. + value_from: + type: string + description: The name of an external Databricks resource that contains the value, such as + a secret or a database table. + description: The environment variables to set in the app runtime environment. This will override + the environment variables specified in the app.yaml file. + git_source: + type: object + properties: + branch: + type: string + description: Git branch to checkout. + commit: + type: string + description: Git commit SHA to checkout. + git_repository: + type: object + properties: + url: + type: string + description: URL of the Git repository. + provider: + type: string + description: 'Git provider. Case insensitive. Supported values: gitHub, gitHubEnterprise, + bitbucketCloud, bitbucketServer, azureDevOpsServices, gitLab, gitLabEnterpriseEdition, + awsCodeCommit.' + required: + - url + - provider + description: Git repository configuration. Populated from the app's git_repository configuration. + resolved_commit: + type: string + description: The resolved commit SHA that was actually used for the deployment. This is populated + by the system after resolving the reference (branch, tag, or commit). If commit is specified + directly, this will match commit. If a branch or tag is specified, this contains the commit + SHA that the branch or tag pointed to at deployment time. + source_code_path: + type: string + description: Relative path to the app source code within the Git repository. If not specified, + the root of the repository is used. + tag: + type: string + description: Git tag to checkout. + description: Git repository to use as the source for the app deployment. + mode: + type: string + x-enum: + - AUTO_SYNC + - SNAPSHOT + description: The mode of which the deployment will manage the source code. + source_code_path: + type: string + description: The workspace file system path of the source code used to create the app deployment. + This is different from `deployment_artifacts.source_code_path`, which is the path used by the + deployed app. The former refers to the original source code location of the app in the workspace + during deployment creation, whereas the latter provides a system generated stable snapshotted + source code path used by the deployment. + status: + type: object + properties: + message: + type: string + state: + type: string + x-enum: + - CANCELLED + - FAILED + - IN_PROGRESS + - SUCCEEDED + description: State of the deployment. + description: Status and status message of the deployment + update_time: + type: string + description: The update time of the deployment. Formatted timestamp in ISO 6801. + description: The active deployment of the app. A deployment is considered active when it has been deployed + to the app compute. + app_status: + type: object + properties: + message: + type: string + state: + type: string + x-enum: + - CRASHED + - DEPLOYING + - RUNNING + - UNAVAILABLE + description: State of the application. + budget_policy_id: + type: string + compute_size: + type: string + x-enum: + - LARGE + - MEDIUM + description: |- + Create a collection of name/value pairs. + + Example enumeration: + + >>> class Color(Enum): + ... RED = 1 + ... BLUE = 2 + ... GREEN = 3 + + Access them by: + + - attribute access:: + + >>> Color.RED + + + - value lookup: + + >>> Color(1) + + + - name lookup: + + >>> Color['RED'] + + + Enumerations can be iterated over, and know how many members they have: + + >>> len(Color) + 3 + + >>> list(Color) + [, , ] + + Methods can be added to enumerations, and members can have their own + attributes -- see the documentation for details. + compute_status: + type: object + properties: + active_instances: + type: integer + message: + type: string + description: Compute status message + state: + type: string + x-enum: + - ACTIVE + - DELETING + - ERROR + - STARTING + - STOPPED + - STOPPING + - UPDATING + description: State of the app compute. + create_time: + type: string + description: The creation time of the app. Formatted timestamp in ISO 6801. + creator: + type: string + description: The email of the user that created the app. + default_source_code_path: + type: string + description: The default workspace file system path of the source code from which app deployment are + created. This field tracks the workspace source code path of the last active deployment. + description: + type: string + description: The description of the app. + effective_budget_policy_id: + type: string + effective_usage_policy_id: + type: string + effective_user_api_scopes: + type: array + items: + type: string + description: The effective api scopes granted to the user access token. + git_repository: + type: object + properties: + url: + type: string + description: URL of the Git repository. + provider: + type: string + description: 'Git provider. Case insensitive. Supported values: gitHub, gitHubEnterprise, bitbucketCloud, + bitbucketServer, azureDevOpsServices, gitLab, gitLabEnterpriseEdition, awsCodeCommit.' + required: + - url + - provider + description: Git repository configuration for app deployments. When specified, deployments can reference + code from this repository by providing only the git reference (branch, tag, or commit). + id: + type: string + description: The unique identifier of the app. + oauth2_app_client_id: + type: string + oauth2_app_integration_id: + type: string + pending_deployment: + type: object + properties: + command: + type: array + items: + type: string + create_time: + type: string + description: The creation time of the deployment. Formatted timestamp in ISO 6801. + creator: + type: string + description: The email of the user creates the deployment. + deployment_artifacts: + type: object + properties: + source_code_path: + type: string + description: The deployment artifacts for an app. + deployment_id: + type: string + description: The unique id of the deployment. + env_vars: + type: array + items: + type: object + properties: + name: + type: string + value: + type: string + description: The value for the environment variable. + value_from: + type: string + description: The name of an external Databricks resource that contains the value, such as + a secret or a database table. + description: The environment variables to set in the app runtime environment. This will override + the environment variables specified in the app.yaml file. + git_source: + type: object + properties: + branch: + type: string + description: Git branch to checkout. + commit: + type: string + description: Git commit SHA to checkout. + git_repository: + type: object + properties: + url: + type: string + description: URL of the Git repository. + provider: + type: string + description: 'Git provider. Case insensitive. Supported values: gitHub, gitHubEnterprise, + bitbucketCloud, bitbucketServer, azureDevOpsServices, gitLab, gitLabEnterpriseEdition, + awsCodeCommit.' + required: + - url + - provider + description: Git repository configuration. Populated from the app's git_repository configuration. + resolved_commit: + type: string + description: The resolved commit SHA that was actually used for the deployment. This is populated + by the system after resolving the reference (branch, tag, or commit). If commit is specified + directly, this will match commit. If a branch or tag is specified, this contains the commit + SHA that the branch or tag pointed to at deployment time. + source_code_path: + type: string + description: Relative path to the app source code within the Git repository. If not specified, + the root of the repository is used. + tag: + type: string + description: Git tag to checkout. + description: Git repository to use as the source for the app deployment. + mode: + type: string + x-enum: + - AUTO_SYNC + - SNAPSHOT + description: The mode of which the deployment will manage the source code. + source_code_path: + type: string + description: The workspace file system path of the source code used to create the app deployment. + This is different from `deployment_artifacts.source_code_path`, which is the path used by the + deployed app. The former refers to the original source code location of the app in the workspace + during deployment creation, whereas the latter provides a system generated stable snapshotted + source code path used by the deployment. + status: + type: object + properties: + message: + type: string + state: + type: string + x-enum: + - CANCELLED + - FAILED + - IN_PROGRESS + - SUCCEEDED + description: State of the deployment. + description: Status and status message of the deployment + update_time: + type: string + description: The update time of the deployment. Formatted timestamp in ISO 6801. + description: The pending deployment of the app. A deployment is considered pending when it is being + prepared for deployment to the app compute. + resources: + type: array + items: + type: object + properties: + name: + type: string + database: + type: object + properties: + instance_name: + type: string + database_name: + type: string + permission: + type: string + x-enum: + - CAN_CONNECT_AND_CREATE + description: |- + Create a collection of name/value pairs. + + Example enumeration: + + >>> class Color(Enum): + ... RED = 1 + ... BLUE = 2 + ... GREEN = 3 + + Access them by: + + - attribute access:: + + >>> Color.RED + + + - value lookup: + + >>> Color(1) + + + - name lookup: + + >>> Color['RED'] + + + Enumerations can be iterated over, and know how many members they have: + + >>> len(Color) + 3 + + >>> list(Color) + [, , ] + + Methods can be added to enumerations, and members can have their own + attributes -- see the documentation for details. + required: + - instance_name + - database_name + - permission + description: + type: string + description: Description of the App Resource. + experiment: + type: object + properties: + experiment_id: + type: string + permission: + type: string + x-enum: + - CAN_EDIT + - CAN_MANAGE + - CAN_READ + description: |- + Create a collection of name/value pairs. + + Example enumeration: + + >>> class Color(Enum): + ... RED = 1 + ... BLUE = 2 + ... GREEN = 3 + + Access them by: + + - attribute access:: + + >>> Color.RED + + + - value lookup: + + >>> Color(1) + + + - name lookup: + + >>> Color['RED'] + + + Enumerations can be iterated over, and know how many members they have: + + >>> len(Color) + 3 + + >>> list(Color) + [, , ] + + Methods can be added to enumerations, and members can have their own + attributes -- see the documentation for details. + required: + - experiment_id + - permission + genie_space: + type: object + properties: + name: + type: string + space_id: + type: string + permission: + type: string + x-enum: + - CAN_EDIT + - CAN_MANAGE + - CAN_RUN + - CAN_VIEW + description: |- + Create a collection of name/value pairs. + + Example enumeration: + + >>> class Color(Enum): + ... RED = 1 + ... BLUE = 2 + ... GREEN = 3 + + Access them by: + + - attribute access:: + + >>> Color.RED + + + - value lookup: + + >>> Color(1) + + + - name lookup: + + >>> Color['RED'] + + + Enumerations can be iterated over, and know how many members they have: + + >>> len(Color) + 3 + + >>> list(Color) + [, , ] + + Methods can be added to enumerations, and members can have their own + attributes -- see the documentation for details. + required: + - name + - space_id + - permission + job: + type: object + properties: + id: + type: string + permission: + type: string + x-enum: + - CAN_MANAGE + - CAN_MANAGE_RUN + - CAN_VIEW + - IS_OWNER + description: 'Permissions to grant on the Job. Supported permissions are: "CAN_MANAGE", "IS_OWNER", + "CAN_MANAGE_RUN", "CAN_VIEW".' + required: + - id + - permission + secret: + type: object + properties: + scope: + type: string + key: + type: string + description: Key of the secret to grant permission on. + permission: + type: string + x-enum: + - MANAGE + - READ + - WRITE + description: 'Permission to grant on the secret scope. For secrets, only one permission is + allowed. Permission must be one of: "READ", "WRITE", "MANAGE".' + required: + - scope + - key + - permission + serving_endpoint: + type: object + properties: + name: + type: string + permission: + type: string + x-enum: + - CAN_MANAGE + - CAN_QUERY + - CAN_VIEW + description: 'Permission to grant on the serving endpoint. Supported permissions are: "CAN_MANAGE", + "CAN_QUERY", "CAN_VIEW".' + required: + - name + - permission + sql_warehouse: + type: object + properties: + id: + type: string + permission: + type: string + x-enum: + - CAN_MANAGE + - CAN_USE + - IS_OWNER + description: 'Permission to grant on the SQL warehouse. Supported permissions are: "CAN_MANAGE", + "CAN_USE", "IS_OWNER".' + required: + - id + - permission + uc_securable: + type: object + properties: + securable_full_name: + type: string + securable_type: + type: string + x-enum: + - CONNECTION + - FUNCTION + - TABLE + - VOLUME + description: |- + Create a collection of name/value pairs. + + Example enumeration: + + >>> class Color(Enum): + ... RED = 1 + ... BLUE = 2 + ... GREEN = 3 + + Access them by: + + - attribute access:: + + >>> Color.RED + + + - value lookup: + + >>> Color(1) + + + - name lookup: + + >>> Color['RED'] + + + Enumerations can be iterated over, and know how many members they have: + + >>> len(Color) + 3 + + >>> list(Color) + [, , ] + + Methods can be added to enumerations, and members can have their own + attributes -- see the documentation for details. + permission: + type: string + x-enum: + - EXECUTE + - READ_VOLUME + - SELECT + - USE_CONNECTION + - WRITE_VOLUME + description: |- + Create a collection of name/value pairs. + + Example enumeration: + + >>> class Color(Enum): + ... RED = 1 + ... BLUE = 2 + ... GREEN = 3 + + Access them by: + + - attribute access:: + + >>> Color.RED + + + - value lookup: + + >>> Color(1) + + + - name lookup: + + >>> Color['RED'] + + + Enumerations can be iterated over, and know how many members they have: + + >>> len(Color) + 3 + + >>> list(Color) + [, , ] + + Methods can be added to enumerations, and members can have their own + attributes -- see the documentation for details. + required: + - securable_full_name + - securable_type + - permission + required: + - name + description: Resources for the app. + service_principal_client_id: + type: string + service_principal_id: + type: integer + service_principal_name: + type: string + update_time: + type: string + description: The update time of the app. Formatted timestamp in ISO 6801. + updater: + type: string + description: The email of the user that last updated the app. + url: + type: string + description: The URL of the app once it is deployed. + usage_policy_id: + type: string + user_api_scopes: + type: array + items: + type: string + required: + - name description: ':param no_compute: bool (optional) If true, the app will not be started after creation.' required: - app @@ -85,7 +785,7 @@ paths: in: query required: false schema: - type: string + type: integer description: Upper bound for items returned. - name: page_token in: query @@ -159,7 +859,707 @@ paths: update_mask: type: string app: - type: string + type: object + properties: + name: + type: string + active_deployment: + type: object + properties: + command: + type: array + items: + type: string + create_time: + type: string + description: The creation time of the deployment. Formatted timestamp in ISO 6801. + creator: + type: string + description: The email of the user creates the deployment. + deployment_artifacts: + type: object + properties: + source_code_path: + type: string + description: The deployment artifacts for an app. + deployment_id: + type: string + description: The unique id of the deployment. + env_vars: + type: array + items: + type: object + properties: + name: + type: string + value: + type: string + description: The value for the environment variable. + value_from: + type: string + description: The name of an external Databricks resource that contains the value, such as + a secret or a database table. + description: The environment variables to set in the app runtime environment. This will override + the environment variables specified in the app.yaml file. + git_source: + type: object + properties: + branch: + type: string + description: Git branch to checkout. + commit: + type: string + description: Git commit SHA to checkout. + git_repository: + type: object + properties: + url: + type: string + description: URL of the Git repository. + provider: + type: string + description: 'Git provider. Case insensitive. Supported values: gitHub, gitHubEnterprise, + bitbucketCloud, bitbucketServer, azureDevOpsServices, gitLab, gitLabEnterpriseEdition, + awsCodeCommit.' + required: + - url + - provider + description: Git repository configuration. Populated from the app's git_repository configuration. + resolved_commit: + type: string + description: The resolved commit SHA that was actually used for the deployment. This is populated + by the system after resolving the reference (branch, tag, or commit). If commit is specified + directly, this will match commit. If a branch or tag is specified, this contains the commit + SHA that the branch or tag pointed to at deployment time. + source_code_path: + type: string + description: Relative path to the app source code within the Git repository. If not specified, + the root of the repository is used. + tag: + type: string + description: Git tag to checkout. + description: Git repository to use as the source for the app deployment. + mode: + type: string + x-enum: + - AUTO_SYNC + - SNAPSHOT + description: The mode of which the deployment will manage the source code. + source_code_path: + type: string + description: The workspace file system path of the source code used to create the app deployment. + This is different from `deployment_artifacts.source_code_path`, which is the path used by the + deployed app. The former refers to the original source code location of the app in the workspace + during deployment creation, whereas the latter provides a system generated stable snapshotted + source code path used by the deployment. + status: + type: object + properties: + message: + type: string + state: + type: string + x-enum: + - CANCELLED + - FAILED + - IN_PROGRESS + - SUCCEEDED + description: State of the deployment. + description: Status and status message of the deployment + update_time: + type: string + description: The update time of the deployment. Formatted timestamp in ISO 6801. + description: The active deployment of the app. A deployment is considered active when it has been deployed + to the app compute. + app_status: + type: object + properties: + message: + type: string + state: + type: string + x-enum: + - CRASHED + - DEPLOYING + - RUNNING + - UNAVAILABLE + description: State of the application. + budget_policy_id: + type: string + compute_size: + type: string + x-enum: + - LARGE + - MEDIUM + description: |- + Create a collection of name/value pairs. + + Example enumeration: + + >>> class Color(Enum): + ... RED = 1 + ... BLUE = 2 + ... GREEN = 3 + + Access them by: + + - attribute access:: + + >>> Color.RED + + + - value lookup: + + >>> Color(1) + + + - name lookup: + + >>> Color['RED'] + + + Enumerations can be iterated over, and know how many members they have: + + >>> len(Color) + 3 + + >>> list(Color) + [, , ] + + Methods can be added to enumerations, and members can have their own + attributes -- see the documentation for details. + compute_status: + type: object + properties: + active_instances: + type: integer + message: + type: string + description: Compute status message + state: + type: string + x-enum: + - ACTIVE + - DELETING + - ERROR + - STARTING + - STOPPED + - STOPPING + - UPDATING + description: State of the app compute. + create_time: + type: string + description: The creation time of the app. Formatted timestamp in ISO 6801. + creator: + type: string + description: The email of the user that created the app. + default_source_code_path: + type: string + description: The default workspace file system path of the source code from which app deployment are + created. This field tracks the workspace source code path of the last active deployment. + description: + type: string + description: The description of the app. + effective_budget_policy_id: + type: string + effective_usage_policy_id: + type: string + effective_user_api_scopes: + type: array + items: + type: string + description: The effective api scopes granted to the user access token. + git_repository: + type: object + properties: + url: + type: string + description: URL of the Git repository. + provider: + type: string + description: 'Git provider. Case insensitive. Supported values: gitHub, gitHubEnterprise, bitbucketCloud, + bitbucketServer, azureDevOpsServices, gitLab, gitLabEnterpriseEdition, awsCodeCommit.' + required: + - url + - provider + description: Git repository configuration for app deployments. When specified, deployments can reference + code from this repository by providing only the git reference (branch, tag, or commit). + id: + type: string + description: The unique identifier of the app. + oauth2_app_client_id: + type: string + oauth2_app_integration_id: + type: string + pending_deployment: + type: object + properties: + command: + type: array + items: + type: string + create_time: + type: string + description: The creation time of the deployment. Formatted timestamp in ISO 6801. + creator: + type: string + description: The email of the user creates the deployment. + deployment_artifacts: + type: object + properties: + source_code_path: + type: string + description: The deployment artifacts for an app. + deployment_id: + type: string + description: The unique id of the deployment. + env_vars: + type: array + items: + type: object + properties: + name: + type: string + value: + type: string + description: The value for the environment variable. + value_from: + type: string + description: The name of an external Databricks resource that contains the value, such as + a secret or a database table. + description: The environment variables to set in the app runtime environment. This will override + the environment variables specified in the app.yaml file. + git_source: + type: object + properties: + branch: + type: string + description: Git branch to checkout. + commit: + type: string + description: Git commit SHA to checkout. + git_repository: + type: object + properties: + url: + type: string + description: URL of the Git repository. + provider: + type: string + description: 'Git provider. Case insensitive. Supported values: gitHub, gitHubEnterprise, + bitbucketCloud, bitbucketServer, azureDevOpsServices, gitLab, gitLabEnterpriseEdition, + awsCodeCommit.' + required: + - url + - provider + description: Git repository configuration. Populated from the app's git_repository configuration. + resolved_commit: + type: string + description: The resolved commit SHA that was actually used for the deployment. This is populated + by the system after resolving the reference (branch, tag, or commit). If commit is specified + directly, this will match commit. If a branch or tag is specified, this contains the commit + SHA that the branch or tag pointed to at deployment time. + source_code_path: + type: string + description: Relative path to the app source code within the Git repository. If not specified, + the root of the repository is used. + tag: + type: string + description: Git tag to checkout. + description: Git repository to use as the source for the app deployment. + mode: + type: string + x-enum: + - AUTO_SYNC + - SNAPSHOT + description: The mode of which the deployment will manage the source code. + source_code_path: + type: string + description: The workspace file system path of the source code used to create the app deployment. + This is different from `deployment_artifacts.source_code_path`, which is the path used by the + deployed app. The former refers to the original source code location of the app in the workspace + during deployment creation, whereas the latter provides a system generated stable snapshotted + source code path used by the deployment. + status: + type: object + properties: + message: + type: string + state: + type: string + x-enum: + - CANCELLED + - FAILED + - IN_PROGRESS + - SUCCEEDED + description: State of the deployment. + description: Status and status message of the deployment + update_time: + type: string + description: The update time of the deployment. Formatted timestamp in ISO 6801. + description: The pending deployment of the app. A deployment is considered pending when it is being + prepared for deployment to the app compute. + resources: + type: array + items: + type: object + properties: + name: + type: string + database: + type: object + properties: + instance_name: + type: string + database_name: + type: string + permission: + type: string + x-enum: + - CAN_CONNECT_AND_CREATE + description: |- + Create a collection of name/value pairs. + + Example enumeration: + + >>> class Color(Enum): + ... RED = 1 + ... BLUE = 2 + ... GREEN = 3 + + Access them by: + + - attribute access:: + + >>> Color.RED + + + - value lookup: + + >>> Color(1) + + + - name lookup: + + >>> Color['RED'] + + + Enumerations can be iterated over, and know how many members they have: + + >>> len(Color) + 3 + + >>> list(Color) + [, , ] + + Methods can be added to enumerations, and members can have their own + attributes -- see the documentation for details. + required: + - instance_name + - database_name + - permission + description: + type: string + description: Description of the App Resource. + experiment: + type: object + properties: + experiment_id: + type: string + permission: + type: string + x-enum: + - CAN_EDIT + - CAN_MANAGE + - CAN_READ + description: |- + Create a collection of name/value pairs. + + Example enumeration: + + >>> class Color(Enum): + ... RED = 1 + ... BLUE = 2 + ... GREEN = 3 + + Access them by: + + - attribute access:: + + >>> Color.RED + + + - value lookup: + + >>> Color(1) + + + - name lookup: + + >>> Color['RED'] + + + Enumerations can be iterated over, and know how many members they have: + + >>> len(Color) + 3 + + >>> list(Color) + [, , ] + + Methods can be added to enumerations, and members can have their own + attributes -- see the documentation for details. + required: + - experiment_id + - permission + genie_space: + type: object + properties: + name: + type: string + space_id: + type: string + permission: + type: string + x-enum: + - CAN_EDIT + - CAN_MANAGE + - CAN_RUN + - CAN_VIEW + description: |- + Create a collection of name/value pairs. + + Example enumeration: + + >>> class Color(Enum): + ... RED = 1 + ... BLUE = 2 + ... GREEN = 3 + + Access them by: + + - attribute access:: + + >>> Color.RED + + + - value lookup: + + >>> Color(1) + + + - name lookup: + + >>> Color['RED'] + + + Enumerations can be iterated over, and know how many members they have: + + >>> len(Color) + 3 + + >>> list(Color) + [, , ] + + Methods can be added to enumerations, and members can have their own + attributes -- see the documentation for details. + required: + - name + - space_id + - permission + job: + type: object + properties: + id: + type: string + permission: + type: string + x-enum: + - CAN_MANAGE + - CAN_MANAGE_RUN + - CAN_VIEW + - IS_OWNER + description: 'Permissions to grant on the Job. Supported permissions are: "CAN_MANAGE", "IS_OWNER", + "CAN_MANAGE_RUN", "CAN_VIEW".' + required: + - id + - permission + secret: + type: object + properties: + scope: + type: string + key: + type: string + description: Key of the secret to grant permission on. + permission: + type: string + x-enum: + - MANAGE + - READ + - WRITE + description: 'Permission to grant on the secret scope. For secrets, only one permission is + allowed. Permission must be one of: "READ", "WRITE", "MANAGE".' + required: + - scope + - key + - permission + serving_endpoint: + type: object + properties: + name: + type: string + permission: + type: string + x-enum: + - CAN_MANAGE + - CAN_QUERY + - CAN_VIEW + description: 'Permission to grant on the serving endpoint. Supported permissions are: "CAN_MANAGE", + "CAN_QUERY", "CAN_VIEW".' + required: + - name + - permission + sql_warehouse: + type: object + properties: + id: + type: string + permission: + type: string + x-enum: + - CAN_MANAGE + - CAN_USE + - IS_OWNER + description: 'Permission to grant on the SQL warehouse. Supported permissions are: "CAN_MANAGE", + "CAN_USE", "IS_OWNER".' + required: + - id + - permission + uc_securable: + type: object + properties: + securable_full_name: + type: string + securable_type: + type: string + x-enum: + - CONNECTION + - FUNCTION + - TABLE + - VOLUME + description: |- + Create a collection of name/value pairs. + + Example enumeration: + + >>> class Color(Enum): + ... RED = 1 + ... BLUE = 2 + ... GREEN = 3 + + Access them by: + + - attribute access:: + + >>> Color.RED + + + - value lookup: + + >>> Color(1) + + + - name lookup: + + >>> Color['RED'] + + + Enumerations can be iterated over, and know how many members they have: + + >>> len(Color) + 3 + + >>> list(Color) + [, , ] + + Methods can be added to enumerations, and members can have their own + attributes -- see the documentation for details. + permission: + type: string + x-enum: + - EXECUTE + - READ_VOLUME + - SELECT + - USE_CONNECTION + - WRITE_VOLUME + description: |- + Create a collection of name/value pairs. + + Example enumeration: + + >>> class Color(Enum): + ... RED = 1 + ... BLUE = 2 + ... GREEN = 3 + + Access them by: + + - attribute access:: + + >>> Color.RED + + + - value lookup: + + >>> Color(1) + + + - name lookup: + + >>> Color['RED'] + + + Enumerations can be iterated over, and know how many members they have: + + >>> len(Color) + 3 + + >>> list(Color) + [, , ] + + Methods can be added to enumerations, and members can have their own + attributes -- see the documentation for details. + required: + - securable_full_name + - securable_type + - permission + required: + - name + description: Resources for the app. + service_principal_client_id: + type: string + service_principal_id: + type: integer + service_principal_name: + type: string + update_time: + type: string + description: The update time of the app. Formatted timestamp in ISO 6801. + updater: + type: string + description: The email of the user that last updated the app. + url: + type: string + description: The URL of the app once it is deployed. + usage_policy_id: + type: string + user_api_scopes: + type: array + items: + type: string + required: + - name description: ':returns: Long-running operation waiter for :class:`AppUpdate`. See :method:wait_get_update_app_succeeded for more details.' required: @@ -327,7 +1727,707 @@ paths: type: object properties: app: - type: string + type: object + properties: + name: + type: string + active_deployment: + type: object + properties: + command: + type: array + items: + type: string + create_time: + type: string + description: The creation time of the deployment. Formatted timestamp in ISO 6801. + creator: + type: string + description: The email of the user creates the deployment. + deployment_artifacts: + type: object + properties: + source_code_path: + type: string + description: The deployment artifacts for an app. + deployment_id: + type: string + description: The unique id of the deployment. + env_vars: + type: array + items: + type: object + properties: + name: + type: string + value: + type: string + description: The value for the environment variable. + value_from: + type: string + description: The name of an external Databricks resource that contains the value, such as + a secret or a database table. + description: The environment variables to set in the app runtime environment. This will override + the environment variables specified in the app.yaml file. + git_source: + type: object + properties: + branch: + type: string + description: Git branch to checkout. + commit: + type: string + description: Git commit SHA to checkout. + git_repository: + type: object + properties: + url: + type: string + description: URL of the Git repository. + provider: + type: string + description: 'Git provider. Case insensitive. Supported values: gitHub, gitHubEnterprise, + bitbucketCloud, bitbucketServer, azureDevOpsServices, gitLab, gitLabEnterpriseEdition, + awsCodeCommit.' + required: + - url + - provider + description: Git repository configuration. Populated from the app's git_repository configuration. + resolved_commit: + type: string + description: The resolved commit SHA that was actually used for the deployment. This is populated + by the system after resolving the reference (branch, tag, or commit). If commit is specified + directly, this will match commit. If a branch or tag is specified, this contains the commit + SHA that the branch or tag pointed to at deployment time. + source_code_path: + type: string + description: Relative path to the app source code within the Git repository. If not specified, + the root of the repository is used. + tag: + type: string + description: Git tag to checkout. + description: Git repository to use as the source for the app deployment. + mode: + type: string + x-enum: + - AUTO_SYNC + - SNAPSHOT + description: The mode of which the deployment will manage the source code. + source_code_path: + type: string + description: The workspace file system path of the source code used to create the app deployment. + This is different from `deployment_artifacts.source_code_path`, which is the path used by the + deployed app. The former refers to the original source code location of the app in the workspace + during deployment creation, whereas the latter provides a system generated stable snapshotted + source code path used by the deployment. + status: + type: object + properties: + message: + type: string + state: + type: string + x-enum: + - CANCELLED + - FAILED + - IN_PROGRESS + - SUCCEEDED + description: State of the deployment. + description: Status and status message of the deployment + update_time: + type: string + description: The update time of the deployment. Formatted timestamp in ISO 6801. + description: The active deployment of the app. A deployment is considered active when it has been deployed + to the app compute. + app_status: + type: object + properties: + message: + type: string + state: + type: string + x-enum: + - CRASHED + - DEPLOYING + - RUNNING + - UNAVAILABLE + description: State of the application. + budget_policy_id: + type: string + compute_size: + type: string + x-enum: + - LARGE + - MEDIUM + description: |- + Create a collection of name/value pairs. + + Example enumeration: + + >>> class Color(Enum): + ... RED = 1 + ... BLUE = 2 + ... GREEN = 3 + + Access them by: + + - attribute access:: + + >>> Color.RED + + + - value lookup: + + >>> Color(1) + + + - name lookup: + + >>> Color['RED'] + + + Enumerations can be iterated over, and know how many members they have: + + >>> len(Color) + 3 + + >>> list(Color) + [, , ] + + Methods can be added to enumerations, and members can have their own + attributes -- see the documentation for details. + compute_status: + type: object + properties: + active_instances: + type: integer + message: + type: string + description: Compute status message + state: + type: string + x-enum: + - ACTIVE + - DELETING + - ERROR + - STARTING + - STOPPED + - STOPPING + - UPDATING + description: State of the app compute. + create_time: + type: string + description: The creation time of the app. Formatted timestamp in ISO 6801. + creator: + type: string + description: The email of the user that created the app. + default_source_code_path: + type: string + description: The default workspace file system path of the source code from which app deployment are + created. This field tracks the workspace source code path of the last active deployment. + description: + type: string + description: The description of the app. + effective_budget_policy_id: + type: string + effective_usage_policy_id: + type: string + effective_user_api_scopes: + type: array + items: + type: string + description: The effective api scopes granted to the user access token. + git_repository: + type: object + properties: + url: + type: string + description: URL of the Git repository. + provider: + type: string + description: 'Git provider. Case insensitive. Supported values: gitHub, gitHubEnterprise, bitbucketCloud, + bitbucketServer, azureDevOpsServices, gitLab, gitLabEnterpriseEdition, awsCodeCommit.' + required: + - url + - provider + description: Git repository configuration for app deployments. When specified, deployments can reference + code from this repository by providing only the git reference (branch, tag, or commit). + id: + type: string + description: The unique identifier of the app. + oauth2_app_client_id: + type: string + oauth2_app_integration_id: + type: string + pending_deployment: + type: object + properties: + command: + type: array + items: + type: string + create_time: + type: string + description: The creation time of the deployment. Formatted timestamp in ISO 6801. + creator: + type: string + description: The email of the user creates the deployment. + deployment_artifacts: + type: object + properties: + source_code_path: + type: string + description: The deployment artifacts for an app. + deployment_id: + type: string + description: The unique id of the deployment. + env_vars: + type: array + items: + type: object + properties: + name: + type: string + value: + type: string + description: The value for the environment variable. + value_from: + type: string + description: The name of an external Databricks resource that contains the value, such as + a secret or a database table. + description: The environment variables to set in the app runtime environment. This will override + the environment variables specified in the app.yaml file. + git_source: + type: object + properties: + branch: + type: string + description: Git branch to checkout. + commit: + type: string + description: Git commit SHA to checkout. + git_repository: + type: object + properties: + url: + type: string + description: URL of the Git repository. + provider: + type: string + description: 'Git provider. Case insensitive. Supported values: gitHub, gitHubEnterprise, + bitbucketCloud, bitbucketServer, azureDevOpsServices, gitLab, gitLabEnterpriseEdition, + awsCodeCommit.' + required: + - url + - provider + description: Git repository configuration. Populated from the app's git_repository configuration. + resolved_commit: + type: string + description: The resolved commit SHA that was actually used for the deployment. This is populated + by the system after resolving the reference (branch, tag, or commit). If commit is specified + directly, this will match commit. If a branch or tag is specified, this contains the commit + SHA that the branch or tag pointed to at deployment time. + source_code_path: + type: string + description: Relative path to the app source code within the Git repository. If not specified, + the root of the repository is used. + tag: + type: string + description: Git tag to checkout. + description: Git repository to use as the source for the app deployment. + mode: + type: string + x-enum: + - AUTO_SYNC + - SNAPSHOT + description: The mode of which the deployment will manage the source code. + source_code_path: + type: string + description: The workspace file system path of the source code used to create the app deployment. + This is different from `deployment_artifacts.source_code_path`, which is the path used by the + deployed app. The former refers to the original source code location of the app in the workspace + during deployment creation, whereas the latter provides a system generated stable snapshotted + source code path used by the deployment. + status: + type: object + properties: + message: + type: string + state: + type: string + x-enum: + - CANCELLED + - FAILED + - IN_PROGRESS + - SUCCEEDED + description: State of the deployment. + description: Status and status message of the deployment + update_time: + type: string + description: The update time of the deployment. Formatted timestamp in ISO 6801. + description: The pending deployment of the app. A deployment is considered pending when it is being + prepared for deployment to the app compute. + resources: + type: array + items: + type: object + properties: + name: + type: string + database: + type: object + properties: + instance_name: + type: string + database_name: + type: string + permission: + type: string + x-enum: + - CAN_CONNECT_AND_CREATE + description: |- + Create a collection of name/value pairs. + + Example enumeration: + + >>> class Color(Enum): + ... RED = 1 + ... BLUE = 2 + ... GREEN = 3 + + Access them by: + + - attribute access:: + + >>> Color.RED + + + - value lookup: + + >>> Color(1) + + + - name lookup: + + >>> Color['RED'] + + + Enumerations can be iterated over, and know how many members they have: + + >>> len(Color) + 3 + + >>> list(Color) + [, , ] + + Methods can be added to enumerations, and members can have their own + attributes -- see the documentation for details. + required: + - instance_name + - database_name + - permission + description: + type: string + description: Description of the App Resource. + experiment: + type: object + properties: + experiment_id: + type: string + permission: + type: string + x-enum: + - CAN_EDIT + - CAN_MANAGE + - CAN_READ + description: |- + Create a collection of name/value pairs. + + Example enumeration: + + >>> class Color(Enum): + ... RED = 1 + ... BLUE = 2 + ... GREEN = 3 + + Access them by: + + - attribute access:: + + >>> Color.RED + + + - value lookup: + + >>> Color(1) + + + - name lookup: + + >>> Color['RED'] + + + Enumerations can be iterated over, and know how many members they have: + + >>> len(Color) + 3 + + >>> list(Color) + [, , ] + + Methods can be added to enumerations, and members can have their own + attributes -- see the documentation for details. + required: + - experiment_id + - permission + genie_space: + type: object + properties: + name: + type: string + space_id: + type: string + permission: + type: string + x-enum: + - CAN_EDIT + - CAN_MANAGE + - CAN_RUN + - CAN_VIEW + description: |- + Create a collection of name/value pairs. + + Example enumeration: + + >>> class Color(Enum): + ... RED = 1 + ... BLUE = 2 + ... GREEN = 3 + + Access them by: + + - attribute access:: + + >>> Color.RED + + + - value lookup: + + >>> Color(1) + + + - name lookup: + + >>> Color['RED'] + + + Enumerations can be iterated over, and know how many members they have: + + >>> len(Color) + 3 + + >>> list(Color) + [, , ] + + Methods can be added to enumerations, and members can have their own + attributes -- see the documentation for details. + required: + - name + - space_id + - permission + job: + type: object + properties: + id: + type: string + permission: + type: string + x-enum: + - CAN_MANAGE + - CAN_MANAGE_RUN + - CAN_VIEW + - IS_OWNER + description: 'Permissions to grant on the Job. Supported permissions are: "CAN_MANAGE", "IS_OWNER", + "CAN_MANAGE_RUN", "CAN_VIEW".' + required: + - id + - permission + secret: + type: object + properties: + scope: + type: string + key: + type: string + description: Key of the secret to grant permission on. + permission: + type: string + x-enum: + - MANAGE + - READ + - WRITE + description: 'Permission to grant on the secret scope. For secrets, only one permission is + allowed. Permission must be one of: "READ", "WRITE", "MANAGE".' + required: + - scope + - key + - permission + serving_endpoint: + type: object + properties: + name: + type: string + permission: + type: string + x-enum: + - CAN_MANAGE + - CAN_QUERY + - CAN_VIEW + description: 'Permission to grant on the serving endpoint. Supported permissions are: "CAN_MANAGE", + "CAN_QUERY", "CAN_VIEW".' + required: + - name + - permission + sql_warehouse: + type: object + properties: + id: + type: string + permission: + type: string + x-enum: + - CAN_MANAGE + - CAN_USE + - IS_OWNER + description: 'Permission to grant on the SQL warehouse. Supported permissions are: "CAN_MANAGE", + "CAN_USE", "IS_OWNER".' + required: + - id + - permission + uc_securable: + type: object + properties: + securable_full_name: + type: string + securable_type: + type: string + x-enum: + - CONNECTION + - FUNCTION + - TABLE + - VOLUME + description: |- + Create a collection of name/value pairs. + + Example enumeration: + + >>> class Color(Enum): + ... RED = 1 + ... BLUE = 2 + ... GREEN = 3 + + Access them by: + + - attribute access:: + + >>> Color.RED + + + - value lookup: + + >>> Color(1) + + + - name lookup: + + >>> Color['RED'] + + + Enumerations can be iterated over, and know how many members they have: + + >>> len(Color) + 3 + + >>> list(Color) + [, , ] + + Methods can be added to enumerations, and members can have their own + attributes -- see the documentation for details. + permission: + type: string + x-enum: + - EXECUTE + - READ_VOLUME + - SELECT + - USE_CONNECTION + - WRITE_VOLUME + description: |- + Create a collection of name/value pairs. + + Example enumeration: + + >>> class Color(Enum): + ... RED = 1 + ... BLUE = 2 + ... GREEN = 3 + + Access them by: + + - attribute access:: + + >>> Color.RED + + + - value lookup: + + >>> Color(1) + + + - name lookup: + + >>> Color['RED'] + + + Enumerations can be iterated over, and know how many members they have: + + >>> len(Color) + 3 + + >>> list(Color) + [, , ] + + Methods can be added to enumerations, and members can have their own + attributes -- see the documentation for details. + required: + - securable_full_name + - securable_type + - permission + required: + - name + description: Resources for the app. + service_principal_client_id: + type: string + service_principal_id: + type: integer + service_principal_name: + type: string + update_time: + type: string + description: The update time of the app. Formatted timestamp in ISO 6801. + updater: + type: string + description: The email of the user that last updated the app. + url: + type: string + description: The URL of the app once it is deployed. + usage_policy_id: + type: string + user_api_scopes: + type: array + items: + type: string + required: + - name description: ':returns: :class:`App`' required: - app @@ -381,7 +2481,110 @@ paths: type: object properties: app_deployment: - type: string + type: object + properties: + command: + type: array + items: + type: string + create_time: + type: string + description: The creation time of the deployment. Formatted timestamp in ISO 6801. + creator: + type: string + description: The email of the user creates the deployment. + deployment_artifacts: + type: object + properties: + source_code_path: + type: string + description: The deployment artifacts for an app. + deployment_id: + type: string + description: The unique id of the deployment. + env_vars: + type: array + items: + type: object + properties: + name: + type: string + value: + type: string + description: The value for the environment variable. + value_from: + type: string + description: The name of an external Databricks resource that contains the value, such as a secret + or a database table. + description: The environment variables to set in the app runtime environment. This will override the + environment variables specified in the app.yaml file. + git_source: + type: object + properties: + branch: + type: string + description: Git branch to checkout. + commit: + type: string + description: Git commit SHA to checkout. + git_repository: + type: object + properties: + url: + type: string + description: URL of the Git repository. + provider: + type: string + description: 'Git provider. Case insensitive. Supported values: gitHub, gitHubEnterprise, bitbucketCloud, + bitbucketServer, azureDevOpsServices, gitLab, gitLabEnterpriseEdition, awsCodeCommit.' + required: + - url + - provider + description: Git repository configuration. Populated from the app's git_repository configuration. + resolved_commit: + type: string + description: The resolved commit SHA that was actually used for the deployment. This is populated + by the system after resolving the reference (branch, tag, or commit). If commit is specified directly, + this will match commit. If a branch or tag is specified, this contains the commit SHA that the + branch or tag pointed to at deployment time. + source_code_path: + type: string + description: Relative path to the app source code within the Git repository. If not specified, the + root of the repository is used. + tag: + type: string + description: Git tag to checkout. + description: Git repository to use as the source for the app deployment. + mode: + type: string + x-enum: + - AUTO_SYNC + - SNAPSHOT + description: The mode of which the deployment will manage the source code. + source_code_path: + type: string + description: The workspace file system path of the source code used to create the app deployment. This + is different from `deployment_artifacts.source_code_path`, which is the path used by the deployed + app. The former refers to the original source code location of the app in the workspace during deployment + creation, whereas the latter provides a system generated stable snapshotted source code path used + by the deployment. + status: + type: object + properties: + message: + type: string + state: + type: string + x-enum: + - CANCELLED + - FAILED + - IN_PROGRESS + - SUCCEEDED + description: State of the deployment. + description: Status and status message of the deployment + update_time: + type: string + description: The update time of the deployment. Formatted timestamp in ISO 6801. description: The app deployment configuration. required: - app_deployment @@ -431,7 +2634,7 @@ paths: in: query required: false schema: - type: string + type: integer description: Upper bound for items returned. - name: page_token in: query @@ -611,7 +2814,24 @@ paths: type: object properties: access_control_list: - type: string + type: array + items: + type: object + properties: + group_name: + type: string + permission_level: + type: string + x-enum: + - CAN_MANAGE + - CAN_USE + description: Permission level + service_principal_name: + type: string + description: application ID of a service principal + user_name: + type: string + description: name of the user description: ':returns: :class:`AppPermissions`' responses: '200': @@ -659,7 +2879,24 @@ paths: type: object properties: access_control_list: - type: string + type: array + items: + type: object + properties: + group_name: + type: string + permission_level: + type: string + x-enum: + - CAN_MANAGE + - CAN_USE + description: Permission level + service_principal_name: + type: string + description: application ID of a service principal + user_name: + type: string + description: name of the user description: ':returns: :class:`AppPermissions`' responses: '200': @@ -782,7 +3019,365 @@ paths: type: object properties: template: - type: string + type: object + properties: + name: + type: string + git_repo: + type: string + description: The Git repository URL that the template resides in. + path: + type: string + description: The path to the template within the Git repository. + manifest: + type: object + properties: + version: + type: integer + description: The manifest schema version, for now only 1 is allowed + name: + type: string + description: Name of the app defined by manifest author / publisher + description: + type: string + description: Description of the app defined by manifest author / publisher + resource_specs: + type: array + items: + type: object + properties: + name: + type: string + description: Name of the App Resource. + description: + type: string + description: Description of the App Resource. + experiment_spec: + type: object + properties: + permission: + type: string + x-enum: + - CAN_EDIT + - CAN_MANAGE + - CAN_READ + description: |- + Create a collection of name/value pairs. + + Example enumeration: + + >>> class Color(Enum): + ... RED = 1 + ... BLUE = 2 + ... GREEN = 3 + + Access them by: + + - attribute access:: + + >>> Color.RED + + + - value lookup: + + >>> Color(1) + + + - name lookup: + + >>> Color['RED'] + + + Enumerations can be iterated over, and know how many members they have: + + >>> len(Color) + 3 + + >>> list(Color) + [, , ] + + Methods can be added to enumerations, and members can have their own + attributes -- see the documentation for details. + required: + - permission + job_spec: + type: object + properties: + permission: + type: string + x-enum: + - CAN_MANAGE + - CAN_MANAGE_RUN + - CAN_VIEW + - IS_OWNER + description: |- + Create a collection of name/value pairs. + + Example enumeration: + + >>> class Color(Enum): + ... RED = 1 + ... BLUE = 2 + ... GREEN = 3 + + Access them by: + + - attribute access:: + + >>> Color.RED + + + - value lookup: + + >>> Color(1) + + + - name lookup: + + >>> Color['RED'] + + + Enumerations can be iterated over, and know how many members they have: + + >>> len(Color) + 3 + + >>> list(Color) + [, , ] + + Methods can be added to enumerations, and members can have their own + attributes -- see the documentation for details. + required: + - permission + secret_spec: + type: object + properties: + permission: + type: string + x-enum: + - MANAGE + - READ + - WRITE + description: 'Permission to grant on the secret scope. Supported permissions are: "READ", + "WRITE", "MANAGE".' + required: + - permission + serving_endpoint_spec: + type: object + properties: + permission: + type: string + x-enum: + - CAN_MANAGE + - CAN_QUERY + - CAN_VIEW + description: |- + Create a collection of name/value pairs. + + Example enumeration: + + >>> class Color(Enum): + ... RED = 1 + ... BLUE = 2 + ... GREEN = 3 + + Access them by: + + - attribute access:: + + >>> Color.RED + + + - value lookup: + + >>> Color(1) + + + - name lookup: + + >>> Color['RED'] + + + Enumerations can be iterated over, and know how many members they have: + + >>> len(Color) + 3 + + >>> list(Color) + [, , ] + + Methods can be added to enumerations, and members can have their own + attributes -- see the documentation for details. + required: + - permission + sql_warehouse_spec: + type: object + properties: + permission: + type: string + x-enum: + - CAN_MANAGE + - CAN_USE + - IS_OWNER + description: |- + Create a collection of name/value pairs. + + Example enumeration: + + >>> class Color(Enum): + ... RED = 1 + ... BLUE = 2 + ... GREEN = 3 + + Access them by: + + - attribute access:: + + >>> Color.RED + + + - value lookup: + + >>> Color(1) + + + - name lookup: + + >>> Color['RED'] + + + Enumerations can be iterated over, and know how many members they have: + + >>> len(Color) + 3 + + >>> list(Color) + [, , ] + + Methods can be added to enumerations, and members can have their own + attributes -- see the documentation for details. + required: + - permission + uc_securable_spec: + type: object + properties: + securable_type: + type: string + x-enum: + - CONNECTION + - FUNCTION + - TABLE + - VOLUME + description: |- + Create a collection of name/value pairs. + + Example enumeration: + + >>> class Color(Enum): + ... RED = 1 + ... BLUE = 2 + ... GREEN = 3 + + Access them by: + + - attribute access:: + + >>> Color.RED + + + - value lookup: + + >>> Color(1) + + + - name lookup: + + >>> Color['RED'] + + + Enumerations can be iterated over, and know how many members they have: + + >>> len(Color) + 3 + + >>> list(Color) + [, , ] + + Methods can be added to enumerations, and members can have their own + attributes -- see the documentation for details. + permission: + type: string + x-enum: + - EXECUTE + - MANAGE + - READ_VOLUME + - SELECT + - USE_CONNECTION + - WRITE_VOLUME + description: |- + Create a collection of name/value pairs. + + Example enumeration: + + >>> class Color(Enum): + ... RED = 1 + ... BLUE = 2 + ... GREEN = 3 + + Access them by: + + - attribute access:: + + >>> Color.RED + + + - value lookup: + + >>> Color(1) + + + - name lookup: + + >>> Color['RED'] + + + Enumerations can be iterated over, and know how many members they have: + + >>> len(Color) + 3 + + >>> list(Color) + [, , ] + + Methods can be added to enumerations, and members can have their own + attributes -- see the documentation for details. + required: + - securable_type + - permission + required: + - name + description: |- + AppResource related fields are copied from app.proto but excludes resource identifiers (e.g. + name, id, key, scope, etc.) + required: + - version + - name + description: The manifest of the template. It defines fields and default values when installing the + template. + git_provider: + type: string + description: The Git provider of the template. + creator: + type: string + description: + type: string + description: The description of the template. + required: + - name + - git_repo + - path + - manifest + - git_provider description: ':returns: :class:`CustomTemplate`' required: - template @@ -825,7 +3420,7 @@ paths: in: query required: false schema: - type: string + type: integer description: Upper bound for items returned. - name: page_token in: query @@ -961,7 +3556,365 @@ paths: type: object properties: template: - type: string + type: object + properties: + name: + type: string + git_repo: + type: string + description: The Git repository URL that the template resides in. + path: + type: string + description: The path to the template within the Git repository. + manifest: + type: object + properties: + version: + type: integer + description: The manifest schema version, for now only 1 is allowed + name: + type: string + description: Name of the app defined by manifest author / publisher + description: + type: string + description: Description of the app defined by manifest author / publisher + resource_specs: + type: array + items: + type: object + properties: + name: + type: string + description: Name of the App Resource. + description: + type: string + description: Description of the App Resource. + experiment_spec: + type: object + properties: + permission: + type: string + x-enum: + - CAN_EDIT + - CAN_MANAGE + - CAN_READ + description: |- + Create a collection of name/value pairs. + + Example enumeration: + + >>> class Color(Enum): + ... RED = 1 + ... BLUE = 2 + ... GREEN = 3 + + Access them by: + + - attribute access:: + + >>> Color.RED + + + - value lookup: + + >>> Color(1) + + + - name lookup: + + >>> Color['RED'] + + + Enumerations can be iterated over, and know how many members they have: + + >>> len(Color) + 3 + + >>> list(Color) + [, , ] + + Methods can be added to enumerations, and members can have their own + attributes -- see the documentation for details. + required: + - permission + job_spec: + type: object + properties: + permission: + type: string + x-enum: + - CAN_MANAGE + - CAN_MANAGE_RUN + - CAN_VIEW + - IS_OWNER + description: |- + Create a collection of name/value pairs. + + Example enumeration: + + >>> class Color(Enum): + ... RED = 1 + ... BLUE = 2 + ... GREEN = 3 + + Access them by: + + - attribute access:: + + >>> Color.RED + + + - value lookup: + + >>> Color(1) + + + - name lookup: + + >>> Color['RED'] + + + Enumerations can be iterated over, and know how many members they have: + + >>> len(Color) + 3 + + >>> list(Color) + [, , ] + + Methods can be added to enumerations, and members can have their own + attributes -- see the documentation for details. + required: + - permission + secret_spec: + type: object + properties: + permission: + type: string + x-enum: + - MANAGE + - READ + - WRITE + description: 'Permission to grant on the secret scope. Supported permissions are: "READ", + "WRITE", "MANAGE".' + required: + - permission + serving_endpoint_spec: + type: object + properties: + permission: + type: string + x-enum: + - CAN_MANAGE + - CAN_QUERY + - CAN_VIEW + description: |- + Create a collection of name/value pairs. + + Example enumeration: + + >>> class Color(Enum): + ... RED = 1 + ... BLUE = 2 + ... GREEN = 3 + + Access them by: + + - attribute access:: + + >>> Color.RED + + + - value lookup: + + >>> Color(1) + + + - name lookup: + + >>> Color['RED'] + + + Enumerations can be iterated over, and know how many members they have: + + >>> len(Color) + 3 + + >>> list(Color) + [, , ] + + Methods can be added to enumerations, and members can have their own + attributes -- see the documentation for details. + required: + - permission + sql_warehouse_spec: + type: object + properties: + permission: + type: string + x-enum: + - CAN_MANAGE + - CAN_USE + - IS_OWNER + description: |- + Create a collection of name/value pairs. + + Example enumeration: + + >>> class Color(Enum): + ... RED = 1 + ... BLUE = 2 + ... GREEN = 3 + + Access them by: + + - attribute access:: + + >>> Color.RED + + + - value lookup: + + >>> Color(1) + + + - name lookup: + + >>> Color['RED'] + + + Enumerations can be iterated over, and know how many members they have: + + >>> len(Color) + 3 + + >>> list(Color) + [, , ] + + Methods can be added to enumerations, and members can have their own + attributes -- see the documentation for details. + required: + - permission + uc_securable_spec: + type: object + properties: + securable_type: + type: string + x-enum: + - CONNECTION + - FUNCTION + - TABLE + - VOLUME + description: |- + Create a collection of name/value pairs. + + Example enumeration: + + >>> class Color(Enum): + ... RED = 1 + ... BLUE = 2 + ... GREEN = 3 + + Access them by: + + - attribute access:: + + >>> Color.RED + + + - value lookup: + + >>> Color(1) + + + - name lookup: + + >>> Color['RED'] + + + Enumerations can be iterated over, and know how many members they have: + + >>> len(Color) + 3 + + >>> list(Color) + [, , ] + + Methods can be added to enumerations, and members can have their own + attributes -- see the documentation for details. + permission: + type: string + x-enum: + - EXECUTE + - MANAGE + - READ_VOLUME + - SELECT + - USE_CONNECTION + - WRITE_VOLUME + description: |- + Create a collection of name/value pairs. + + Example enumeration: + + >>> class Color(Enum): + ... RED = 1 + ... BLUE = 2 + ... GREEN = 3 + + Access them by: + + - attribute access:: + + >>> Color.RED + + + - value lookup: + + >>> Color(1) + + + - name lookup: + + >>> Color['RED'] + + + Enumerations can be iterated over, and know how many members they have: + + >>> len(Color) + 3 + + >>> list(Color) + [, , ] + + Methods can be added to enumerations, and members can have their own + attributes -- see the documentation for details. + required: + - securable_type + - permission + required: + - name + description: |- + AppResource related fields are copied from app.proto but excludes resource identifiers (e.g. + name, id, key, scope, etc.) + required: + - version + - name + description: The manifest of the template. It defines fields and default values when installing the + template. + git_provider: + type: string + description: The Git provider of the template. + creator: + type: string + description: + type: string + description: The description of the template. + required: + - name + - git_repo + - path + - manifest + - git_provider description: ':returns: :class:`CustomTemplate`' required: - template @@ -1584,20 +4537,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -1628,20 +4581,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -1671,20 +4624,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -1715,20 +4668,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -1765,20 +4718,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -1808,20 +4761,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -1854,20 +4807,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -1898,20 +4851,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -1945,20 +4898,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -1988,20 +4941,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -2032,20 +4985,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -2076,20 +5029,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -2126,20 +5079,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -2169,20 +5122,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -2214,20 +5167,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -2258,20 +5211,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -2302,20 +5255,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -2346,20 +5299,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -2388,20 +5341,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -2435,20 +5388,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -2804,6 +5757,10 @@ components: - name: pending_deployment_message type: string description: Human-readable status message for the pending deployment. + requiredParams: + - name: deployment_name + type: string + description: Workspace deployment name used to scope the query. views: select: predicate: sqlDialect == "sqlite3" @@ -2965,6 +5922,10 @@ components: - name: uc_securable_permission type: string description: Permission level granted to the app on the Unity Catalog securable (UC_SECURABLE type only). + requiredParams: + - name: deployment_name + type: string + description: Workspace deployment name used to scope the query. views: select: predicate: sqlDialect == "sqlite3" diff --git a/providers/src/databricks_workspace/v00.00.00000/services/catalog.yaml b/providers/src/databricks_workspace/v00.00.00000/services/catalog.yaml index d9321974..16a3d71c 100644 --- a/providers/src/databricks_workspace/v00.00.00000/services/catalog.yaml +++ b/providers/src/databricks_workspace/v00.00.00000/services/catalog.yaml @@ -6,7 +6,7 @@ info: APIs), generated from the Databricks Python SDK. version: 0.1.0 x-stackql-sdk-version: 0.86.0 - x-stackql-date-generated: '2026-02-19' + x-stackql-date-generated: '2026-02-24' x-stackql-sdk-namespace: databricks.sdk.service.catalog servers: - url: https://{deployment_name}.cloud.databricks.com @@ -45,7 +45,7 @@ paths: in: query required: true schema: - type: string + $ref: '#/components/schemas/ArtifactType' description: The artifact type of the allowlist. responses: '200': @@ -110,12 +110,29 @@ paths: properties: artifact_type: type: string + x-enum: + - INIT_SCRIPT + - LIBRARY_JAR + - LIBRARY_MAVEN description: The artifact type of the allowlist. artifact_matchers: - type: string + type: array + items: + type: object + properties: + artifact: + type: string + match_type: + type: string + x-enum: + - PREFIX_MATCH + description: The pattern matching type of the artifact + required: + - artifact + - match_type description: A list of allowed artifact match patterns. created_at: - type: string + type: integer description: >- Time at which this artifact allowlist was set, in epoch milliseconds. @@ -199,10 +216,10 @@ paths: type: string description: The name of the connection to an external data source. options: - type: string + type: object description: A map of key-value properties attached to the securable. properties: - type: string + type: object description: A map of key-value properties attached to the securable. provider_name: type: string @@ -297,7 +314,7 @@ paths: in: query required: false schema: - type: string + type: boolean description: >- Whether to include catalogs in the response for which the principal can only access selective metadata for @@ -305,7 +322,7 @@ paths: in: query required: false schema: - type: string + type: boolean description: >- Whether to include catalogs not bound to the workspace. Effective only if the user has permission to update the catalog–workspace @@ -314,7 +331,7 @@ paths: in: query required: false schema: - type: string + type: integer description: >- Maximum number of catalogs to return. - when set to 0, the page length is set to a server configured value (recommended); - when set @@ -382,7 +399,7 @@ paths: in: query required: false schema: - type: string + type: boolean description: Force deletion even if the catalog is not empty. responses: '200': @@ -433,7 +450,7 @@ paths: in: query required: false schema: - type: string + type: boolean description: >- Whether to include catalogs in the response for which the principal can only access selective metadata for @@ -509,11 +526,18 @@ paths: description: User-provided free-form text description. enable_predictive_optimization: type: string + x-enum: + - DISABLE + - ENABLE + - INHERIT description: >- Whether predictive optimization should be enabled for this object and objects under it. isolation_mode: type: string + x-enum: + - ISOLATED + - OPEN description: >- Whether the current securable is accessible from all workspaces or a specific set of workspaces. @@ -521,13 +545,13 @@ paths: type: string description: New name for the catalog. options: - type: string + type: object description: A map of key-value properties attached to the securable. owner: type: string description: Username of current owner of catalog. properties: - type: string + type: object description: A map of key-value properties attached to the securable. responses: '200': @@ -590,18 +614,39 @@ paths: description: Name of the connection. connection_type: type: string + x-enum: + - BIGQUERY + - DATABRICKS + - GA4_RAW_DATA + - GLUE + - HIVE_METASTORE + - HTTP + - MYSQL + - ORACLE + - POSTGRESQL + - POWER_BI + - REDSHIFT + - SALESFORCE + - SALESFORCE_DATA_CLOUD + - SERVICENOW + - SNOWFLAKE + - SQLDW + - SQLSERVER + - TERADATA + - UNKNOWN_CONNECTION_TYPE + - WORKDAY_RAAS description: The type of connection. options: - type: string + type: object description: A map of key-value properties attached to the securable. comment: type: string description: User-provided free-form text description. properties: - type: string + type: object description: A map of key-value properties attached to the securable. read_only: - type: string + type: boolean description: If the connection is read only. required: - name @@ -666,7 +711,7 @@ paths: in: query required: false schema: - type: string + type: integer description: >- Maximum number of connections to return. - If not set, all connections are returned (not recommended). - when set to a value @@ -805,7 +850,7 @@ paths: type: object properties: options: - type: string + type: object description: A map of key-value properties attached to the securable. new_name: type: string @@ -875,7 +920,29 @@ paths: type: object properties: tag_assignment: - type: string + type: object + properties: + entity_name: + type: string + description: >- + The fully qualified name of the entity to which the tag + is assigned + tag_key: + type: string + description: The key of the tag + entity_type: + type: string + description: >- + The type of the entity to which the tag is assigned. + Allowed values are: catalogs, schemas, tables, columns, + volumes. + tag_value: + type: string + description: The value of the tag + required: + - entity_name + - tag_key + - entity_type description: ':returns: :class:`EntityTagAssignment`' required: - tag_assignment @@ -1112,7 +1179,29 @@ paths: type: object properties: tag_assignment: - type: string + type: object + properties: + entity_name: + type: string + description: >- + The fully qualified name of the entity to which the tag + is assigned + tag_key: + type: string + description: The key of the tag + entity_type: + type: string + description: >- + The type of the entity to which the tag is assigned. + Allowed values are: catalogs, schemas, tables, columns, + volumes. + tag_value: + type: string + description: The value of the tag + required: + - entity_name + - tag_key + - entity_type description: >- :param update_mask: str The field mask must be a single string, with multiple fields separated by commas (no @@ -1197,7 +1286,7 @@ paths: in: query required: false schema: - type: string + type: integer description: >- Optional. Maximum number of tag assignments to return in a single page @@ -1254,7 +1343,82 @@ paths: type: object properties: external_lineage_relationship: - type: string + type: object + properties: + source: + type: object + properties: + external_metadata: + type: object + properties: + name: + type: string + model_version: + type: object + properties: + name: + type: string + version: + type: string + path: + type: object + properties: + url: + type: string + table: + type: object + properties: + name: + type: string + target: + type: object + properties: + external_metadata: + type: object + properties: + name: + type: string + model_version: + type: object + properties: + name: + type: string + version: + type: string + path: + type: object + properties: + url: + type: string + table: + type: object + properties: + name: + type: string + description: Target object of the external lineage relationship. + columns: + type: array + items: + type: object + properties: + source: + type: string + target: + type: string + description: >- + List of column relationships between source and target + objects. + id: + type: string + description: Unique identifier of the external lineage relationship. + properties: + type: object + description: >- + Key-value properties associated with the external + lineage relationship. + required: + - source + - target description: ':returns: :class:`ExternalLineageRelationship`' required: - external_lineage_relationship @@ -1299,7 +1463,7 @@ paths: in: query required: true schema: - type: string + $ref: '#/components/schemas/DeleteRequestExternalLineage' description: ':class:`DeleteRequestExternalLineage`' responses: '200': @@ -1349,7 +1513,7 @@ paths: in: query required: true schema: - type: string + $ref: '#/components/schemas/ExternalLineageObject' description: >- The object to query external lineage relationships for. Since this field is a query parameter, please flatten the nested fields. For @@ -1359,13 +1523,13 @@ paths: in: query required: true schema: - type: string + $ref: '#/components/schemas/LineageDirection' description: The lineage direction to filter on. - name: page_size in: query required: false schema: - type: string + type: integer description: >- Specifies the maximum number of external lineage relationships to return in a single response. The value must be less than or equal to @@ -1438,7 +1602,82 @@ paths: type: object properties: external_lineage_relationship: - type: string + type: object + properties: + source: + type: object + properties: + external_metadata: + type: object + properties: + name: + type: string + model_version: + type: object + properties: + name: + type: string + version: + type: string + path: + type: object + properties: + url: + type: string + table: + type: object + properties: + name: + type: string + target: + type: object + properties: + external_metadata: + type: object + properties: + name: + type: string + model_version: + type: object + properties: + name: + type: string + version: + type: string + path: + type: object + properties: + url: + type: string + table: + type: object + properties: + name: + type: string + description: Target object of the external lineage relationship. + columns: + type: array + items: + type: object + properties: + source: + type: string + target: + type: string + description: >- + List of column relationships between source and target + objects. + id: + type: string + description: Unique identifier of the external lineage relationship. + properties: + type: object + description: >- + Key-value properties associated with the external + lineage relationship. + required: + - source + - target description: >- :param update_mask: str The field mask must be a single string, with multiple fields separated by commas (no @@ -1537,30 +1776,148 @@ paths: type: string description: User-provided free-form text description. enable_file_events: - type: string + type: boolean description: >- Whether to enable file events on this external location. Default to `true`. Set to `false` to disable file events. encryption_details: - type: string + type: object + properties: + sse_encryption_details: + type: object + properties: + algorithm: + type: string + x-enum: + - AWS_SSE_KMS + - AWS_SSE_S3 + description: >- + Sets the value of the 'x-amz-server-side-encryption' + header in S3 request. + aws_kms_key_arn: + type: string + description: >- + Optional. The ARN of the SSE-KMS key used with the + S3 location, when algorithm = "SSE-KMS". Sets the + value of the + 'x-amz-server-side-encryption-aws-kms-key-id' + header. + description: >- + Server-Side Encryption properties for clients + communicating with AWS s3. description: >- :param fallback: bool (optional) Indicates whether fallback mode is enabled for this external location. When fallback mode is enabled, the access to the location falls back to cluster credentials if UC credentials are not sufficient. fallback: - type: string + type: boolean file_event_queue: - type: string + type: object + properties: + managed_aqs: + type: object + properties: + managed_resource_id: + type: string + queue_url: + type: string + description: >- + The AQS queue url in the format https://{storage + account}.queue.core.windows.net/{queue name} Only + required for provided_aqs. + resource_group: + type: string + description: >- + Optional resource group for the queue, event grid + subscription, and external location storage account. + Only required for locations with a service principal + storage credential + subscription_id: + type: string + description: >- + Optional subscription id for the queue, event grid + subscription, and external location storage account. + Required for locations with a service principal + storage credential + managed_pubsub: + type: object + properties: + managed_resource_id: + type: string + subscription_name: + type: string + description: >- + The Pub/Sub subscription name in the format + projects/{project}/subscriptions/{subscription + name}. Only required for provided_pubsub. + managed_sqs: + type: object + properties: + managed_resource_id: + type: string + queue_url: + type: string + description: >- + The AQS queue url in the format + https://sqs.{region}.amazonaws.com/{account + id}/{queue name}. Only required for provided_sqs. + provided_aqs: + type: object + properties: + managed_resource_id: + type: string + queue_url: + type: string + description: >- + The AQS queue url in the format https://{storage + account}.queue.core.windows.net/{queue name} Only + required for provided_aqs. + resource_group: + type: string + description: >- + Optional resource group for the queue, event grid + subscription, and external location storage account. + Only required for locations with a service principal + storage credential + subscription_id: + type: string + description: >- + Optional subscription id for the queue, event grid + subscription, and external location storage account. + Required for locations with a service principal + storage credential + provided_pubsub: + type: object + properties: + managed_resource_id: + type: string + subscription_name: + type: string + description: >- + The Pub/Sub subscription name in the format + projects/{project}/subscriptions/{subscription + name}. Only required for provided_pubsub. + provided_sqs: + type: object + properties: + managed_resource_id: + type: string + queue_url: + type: string + description: >- + The AQS queue url in the format + https://sqs.{region}.amazonaws.com/{account + id}/{queue name}. Only required for provided_sqs. description: >- File event queue settings. If `enable_file_events` is not `false`, must be defined and have exactly one of the documented properties. read_only: - type: string + type: boolean description: Indicates whether the external location is read-only. skip_validation: - type: string + type: boolean description: >- Skips validation of the storage credential associated with the external location. @@ -1642,7 +1999,7 @@ paths: in: query required: false schema: - type: string + type: boolean description: >- Whether to include external locations in the response for which the principal can only access selective metadata for @@ -1650,7 +2007,7 @@ paths: in: query required: false schema: - type: string + type: boolean description: >- Whether to include external locations not bound to the workspace. Effective only if the user has permission to update the @@ -1659,7 +2016,7 @@ paths: in: query required: false schema: - type: string + type: integer description: >- Maximum number of external locations to return. If not set, all the external locations are returned (not recommended). - when set to a @@ -1723,7 +2080,7 @@ paths: in: query required: false schema: - type: string + type: boolean description: >- Force deletion even if there are dependent external tables or mounts. @@ -1776,7 +2133,7 @@ paths: in: query required: false schema: - type: string + type: boolean description: >- Whether to include external locations in the response for which the principal can only access selective metadata for @@ -1871,32 +2228,153 @@ paths: type: string description: Name of the storage credential used with this location. enable_file_events: - type: string + type: boolean description: >- Whether to enable file events on this external location. Default to `true`. Set to `false` to disable file events. encryption_details: - type: string + type: object + properties: + sse_encryption_details: + type: object + properties: + algorithm: + type: string + x-enum: + - AWS_SSE_KMS + - AWS_SSE_S3 + description: >- + Sets the value of the 'x-amz-server-side-encryption' + header in S3 request. + aws_kms_key_arn: + type: string + description: >- + Optional. The ARN of the SSE-KMS key used with the + S3 location, when algorithm = "SSE-KMS". Sets the + value of the + 'x-amz-server-side-encryption-aws-kms-key-id' + header. + description: >- + Server-Side Encryption properties for clients + communicating with AWS s3. description: >- :param fallback: bool (optional) Indicates whether fallback mode is enabled for this external location. When fallback mode is enabled, the access to the location falls back to cluster credentials if UC credentials are not sufficient. fallback: - type: string + type: boolean file_event_queue: - type: string + type: object + properties: + managed_aqs: + type: object + properties: + managed_resource_id: + type: string + queue_url: + type: string + description: >- + The AQS queue url in the format https://{storage + account}.queue.core.windows.net/{queue name} Only + required for provided_aqs. + resource_group: + type: string + description: >- + Optional resource group for the queue, event grid + subscription, and external location storage account. + Only required for locations with a service principal + storage credential + subscription_id: + type: string + description: >- + Optional subscription id for the queue, event grid + subscription, and external location storage account. + Required for locations with a service principal + storage credential + managed_pubsub: + type: object + properties: + managed_resource_id: + type: string + subscription_name: + type: string + description: >- + The Pub/Sub subscription name in the format + projects/{project}/subscriptions/{subscription + name}. Only required for provided_pubsub. + managed_sqs: + type: object + properties: + managed_resource_id: + type: string + queue_url: + type: string + description: >- + The AQS queue url in the format + https://sqs.{region}.amazonaws.com/{account + id}/{queue name}. Only required for provided_sqs. + provided_aqs: + type: object + properties: + managed_resource_id: + type: string + queue_url: + type: string + description: >- + The AQS queue url in the format https://{storage + account}.queue.core.windows.net/{queue name} Only + required for provided_aqs. + resource_group: + type: string + description: >- + Optional resource group for the queue, event grid + subscription, and external location storage account. + Only required for locations with a service principal + storage credential + subscription_id: + type: string + description: >- + Optional subscription id for the queue, event grid + subscription, and external location storage account. + Required for locations with a service principal + storage credential + provided_pubsub: + type: object + properties: + managed_resource_id: + type: string + subscription_name: + type: string + description: >- + The Pub/Sub subscription name in the format + projects/{project}/subscriptions/{subscription + name}. Only required for provided_pubsub. + provided_sqs: + type: object + properties: + managed_resource_id: + type: string + queue_url: + type: string + description: >- + The AQS queue url in the format + https://sqs.{region}.amazonaws.com/{account + id}/{queue name}. Only required for provided_sqs. description: >- File event queue settings. If `enable_file_events` is not `false`, must be defined and have exactly one of the documented properties. force: - type: string + type: boolean description: >- Force update even if changing url invalidates dependent external tables or mounts. isolation_mode: type: string + x-enum: + - ISOLATION_MODE_ISOLATED + - ISOLATION_MODE_OPEN description: >- :param new_name: str (optional) New name for the external location. @@ -1906,10 +2384,10 @@ paths: type: string description: The owner of the external location. read_only: - type: string + type: boolean description: Indicates whether the external location is read-only. skip_validation: - type: string + type: boolean description: >- Skips validation of the storage credential associated with the external location. @@ -1965,7 +2443,87 @@ paths: type: object properties: external_metadata: - type: string + type: object + properties: + name: + type: string + system_type: + type: string + x-enum: + - AMAZON_REDSHIFT + - AZURE_SYNAPSE + - CONFLUENT + - DATABRICKS + - GOOGLE_BIGQUERY + - KAFKA + - LOOKER + - MICROSOFT_FABRIC + - MICROSOFT_SQL_SERVER + - MONGODB + - MYSQL + - ORACLE + - OTHER + - POSTGRESQL + - POWER_BI + - SALESFORCE + - SAP + - SERVICENOW + - SNOWFLAKE + - STREAM_NATIVE + - TABLEAU + - TERADATA + - WORKDAY + description: Type of external system. + entity_type: + type: string + description: Type of entity within the external system. + columns: + type: array + items: + type: string + description: >- + List of columns associated with the external metadata + object. + create_time: + type: string + description: Time at which this external metadata object was created. + created_by: + type: string + description: Username of external metadata object creator. + description: + type: string + description: User-provided free-form text description. + id: + type: string + description: Unique identifier of the external metadata object. + metastore_id: + type: string + description: Unique identifier of parent metastore. + owner: + type: string + description: Owner of the external metadata object. + properties: + type: object + description: >- + A map of key-value properties attached to the external + metadata object. + update_time: + type: string + description: >- + Time at which this external metadata object was last + modified. + updated_by: + type: string + description: >- + Username of user who last modified external metadata + object. + url: + type: string + description: URL associated with the external metadata object. + required: + - name + - system_type + - entity_type description: ':returns: :class:`ExternalMetadata`' required: - external_metadata @@ -2021,7 +2579,7 @@ paths: in: query required: false schema: - type: string + type: integer description: >- Specifies the maximum number of external metadata objects to return in a single response. The value must be less than or equal to 1000. @@ -2192,7 +2750,87 @@ paths: type: object properties: external_metadata: - type: string + type: object + properties: + name: + type: string + system_type: + type: string + x-enum: + - AMAZON_REDSHIFT + - AZURE_SYNAPSE + - CONFLUENT + - DATABRICKS + - GOOGLE_BIGQUERY + - KAFKA + - LOOKER + - MICROSOFT_FABRIC + - MICROSOFT_SQL_SERVER + - MONGODB + - MYSQL + - ORACLE + - OTHER + - POSTGRESQL + - POWER_BI + - SALESFORCE + - SAP + - SERVICENOW + - SNOWFLAKE + - STREAM_NATIVE + - TABLEAU + - TERADATA + - WORKDAY + description: Type of external system. + entity_type: + type: string + description: Type of entity within the external system. + columns: + type: array + items: + type: string + description: >- + List of columns associated with the external metadata + object. + create_time: + type: string + description: Time at which this external metadata object was created. + created_by: + type: string + description: Username of external metadata object creator. + description: + type: string + description: User-provided free-form text description. + id: + type: string + description: Unique identifier of the external metadata object. + metastore_id: + type: string + description: Unique identifier of parent metastore. + owner: + type: string + description: Owner of the external metadata object. + properties: + type: object + description: >- + A map of key-value properties attached to the external + metadata object. + update_time: + type: string + description: >- + Time at which this external metadata object was last + modified. + updated_by: + type: string + description: >- + Username of user who last modified external metadata + object. + url: + type: string + description: URL associated with the external metadata object. + required: + - name + - system_type + - entity_type description: >- :param update_mask: str The field mask must be a single string, with multiple fields separated by commas (no @@ -2261,7 +2899,352 @@ paths: type: object properties: function_info: - type: string + type: object + properties: + name: + type: string + catalog_name: + type: string + description: Name of parent Catalog. + schema_name: + type: string + description: Name of parent Schema relative to its parent Catalog. + input_params: + type: object + properties: + parameters: + type: array + items: + type: object + properties: + name: + type: string + type_text: + type: string + description: Full data type spec, SQL/catalogString text. + type_name: + type: string + x-enum: + - ARRAY + - BINARY + - BOOLEAN + - BYTE + - CHAR + - DATE + - DECIMAL + - DOUBLE + - FLOAT + - GEOGRAPHY + - GEOMETRY + - INT + - INTERVAL + - LONG + - MAP + - 'NULL' + - SHORT + - STRING + - STRUCT + - TABLE_TYPE + - TIMESTAMP + - TIMESTAMP_NTZ + - USER_DEFINED_TYPE + - VARIANT + description: Name of type (INT, STRUCT, MAP, etc.) + position: + type: integer + description: >- + Ordinal position of column (starting at + position 0). + comment: + type: string + description: User-provided free-form text description. + parameter_default: + type: string + description: Default value of the parameter. + parameter_mode: + type: string + x-enum: + - IN + description: Function parameter mode. + parameter_type: + type: string + x-enum: + - COLUMN + - PARAM + description: Function parameter type. + type_interval_type: + type: string + description: Format of IntervalType. + type_json: + type: string + description: Full data type spec, JSON-serialized. + type_precision: + type: integer + description: >- + Digits of precision; required on Create for + DecimalTypes. + type_scale: + type: integer + description: >- + Digits to right of decimal; Required on Create + for DecimalTypes. + required: + - name + - type_text + - type_name + - position + description: Function input parameters. + data_type: + type: string + x-enum: + - ARRAY + - BINARY + - BOOLEAN + - BYTE + - CHAR + - DATE + - DECIMAL + - DOUBLE + - FLOAT + - GEOGRAPHY + - GEOMETRY + - INT + - INTERVAL + - LONG + - MAP + - 'NULL' + - SHORT + - STRING + - STRUCT + - TABLE_TYPE + - TIMESTAMP + - TIMESTAMP_NTZ + - USER_DEFINED_TYPE + - VARIANT + description: Scalar function return data type. + full_data_type: + type: string + description: Pretty printed function data type. + routine_body: + type: string + x-enum: + - EXTERNAL + - SQL + description: >- + Function language. When **EXTERNAL** is used, the + language of the routine function should be specified in + the **external_language** field, and the + **return_params** of the function cannot be used (as + **TABLE** return type is not supported), and the + **sql_data_access** field must be **NO_SQL**. + routine_definition: + type: string + description: Function body. + parameter_style: + type: string + x-enum: + - S + description: Function parameter style. **S** is the value for SQL. + is_deterministic: + type: boolean + description: Whether the function is deterministic. + sql_data_access: + type: string + x-enum: + - CONTAINS_SQL + - NO_SQL + - READS_SQL_DATA + description: Function SQL data access. + is_null_call: + type: boolean + description: Function null call. + security_type: + type: string + x-enum: + - DEFINER + description: Function security type. + specific_name: + type: string + description: Specific name of the function; Reserved for future use. + comment: + type: string + description: User-provided free-form text description. + external_language: + type: string + description: External function language. + external_name: + type: string + description: External function name. + properties: + type: string + description: >- + JSON-serialized key-value pair map, encoded (escaped) as + a string. + return_params: + type: object + properties: + parameters: + type: array + items: + type: object + properties: + name: + type: string + type_text: + type: string + description: Full data type spec, SQL/catalogString text. + type_name: + type: string + x-enum: + - ARRAY + - BINARY + - BOOLEAN + - BYTE + - CHAR + - DATE + - DECIMAL + - DOUBLE + - FLOAT + - GEOGRAPHY + - GEOMETRY + - INT + - INTERVAL + - LONG + - MAP + - 'NULL' + - SHORT + - STRING + - STRUCT + - TABLE_TYPE + - TIMESTAMP + - TIMESTAMP_NTZ + - USER_DEFINED_TYPE + - VARIANT + description: Name of type (INT, STRUCT, MAP, etc.) + position: + type: integer + description: >- + Ordinal position of column (starting at + position 0). + comment: + type: string + description: User-provided free-form text description. + parameter_default: + type: string + description: Default value of the parameter. + parameter_mode: + type: string + x-enum: + - IN + description: Function parameter mode. + parameter_type: + type: string + x-enum: + - COLUMN + - PARAM + description: Function parameter type. + type_interval_type: + type: string + description: Format of IntervalType. + type_json: + type: string + description: Full data type spec, JSON-serialized. + type_precision: + type: integer + description: >- + Digits of precision; required on Create for + DecimalTypes. + type_scale: + type: integer + description: >- + Digits to right of decimal; Required on Create + for DecimalTypes. + required: + - name + - type_text + - type_name + - position + description: Table function return parameters. + routine_dependencies: + type: object + properties: + dependencies: + type: array + items: + type: object + properties: + connection: + type: object + properties: + connection_name: + type: string + description: >- + Full name of the dependent connection, in + the form of __connection_name__. + description: >- + A connection that is dependent on a SQL + object. + credential: + type: object + properties: + credential_name: + type: string + description: >- + Full name of the dependent credential, in + the form of __credential_name__. + description: >- + A credential that is dependent on a SQL + object. + function: + type: object + properties: + function_full_name: + type: string + description: >- + Full name of the dependent function, in + the form of + __catalog_name__.__schema_name__.__function_name__. + required: + - function_full_name + description: A function that is dependent on a SQL object. + table: + type: object + properties: + table_full_name: + type: string + description: >- + Full name of the dependent table, in the + form of + __catalog_name__.__schema_name__.__table_name__. + required: + - table_full_name + description: A table that is dependent on a SQL object. + description: >- + A dependency of a SQL object. One of the following + fields must be defined: __table__, + __function__, __connection__, or __credential__. + description: Array of dependencies. + description: function dependencies. + sql_path: + type: string + description: >- + List of schemes whose objects can be referenced without + qualification. + required: + - name + - catalog_name + - schema_name + - input_params + - data_type + - full_data_type + - routine_body + - routine_definition + - parameter_style + - is_deterministic + - sql_data_access + - is_null_call + - security_type + - specific_name description: >- Partial __FunctionInfo__ specifying the function to be created. @@ -2359,7 +3342,7 @@ paths: in: query required: false schema: - type: string + type: boolean description: >- Whether to include functions in the response for which the principal can only access selective metadata for @@ -2367,7 +3350,7 @@ paths: in: query required: false schema: - type: string + type: integer description: >- Maximum number of functions to return. If not set, all the functions are returned (not recommended). - when set to a value greater than @@ -2443,7 +3426,7 @@ paths: in: query required: false schema: - type: string + type: boolean description: Force deletion even if the function is notempty. responses: '200': @@ -2508,7 +3491,7 @@ paths: in: query required: false schema: - type: string + type: boolean description: >- Whether to include functions in the response for which the principal can only access selective metadata for @@ -2669,7 +3652,7 @@ paths: in: query required: false schema: - type: string + type: integer description: >- Specifies the maximum number of privileges to return (page length). Every PrivilegeAssignment present in a single page response is @@ -2752,7 +3735,249 @@ paths: type: object properties: changes: - type: string + type: array + items: + type: object + properties: + add: + type: array + items: + type: string + x-enum: + - ACCESS + - ALL_PRIVILEGES + - APPLY_TAG + - BROWSE + - CREATE + - CREATE_CATALOG + - CREATE_CLEAN_ROOM + - CREATE_CONNECTION + - CREATE_EXTERNAL_LOCATION + - CREATE_EXTERNAL_TABLE + - CREATE_EXTERNAL_VOLUME + - CREATE_FOREIGN_CATALOG + - CREATE_FOREIGN_SECURABLE + - CREATE_FUNCTION + - CREATE_MANAGED_STORAGE + - CREATE_MATERIALIZED_VIEW + - CREATE_MODEL + - CREATE_PROVIDER + - CREATE_RECIPIENT + - CREATE_SCHEMA + - CREATE_SERVICE_CREDENTIAL + - CREATE_SHARE + - CREATE_STORAGE_CREDENTIAL + - CREATE_TABLE + - CREATE_VIEW + - CREATE_VOLUME + - EXECUTE + - EXECUTE_CLEAN_ROOM_TASK + - EXTERNAL_USE_SCHEMA + - MANAGE + - MANAGE_ALLOWLIST + - MODIFY + - MODIFY_CLEAN_ROOM + - READ_FILES + - READ_PRIVATE_FILES + - READ_VOLUME + - REFRESH + - SELECT + - SET_SHARE_PERMISSION + - USAGE + - USE_CATALOG + - USE_CONNECTION + - USE_MARKETPLACE_ASSETS + - USE_PROVIDER + - USE_RECIPIENT + - USE_SCHEMA + - USE_SHARE + - WRITE_FILES + - WRITE_PRIVATE_FILES + - WRITE_VOLUME + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know how many + members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members + can have their own + + attributes -- see the documentation for details. + principal: + type: string + description: >- + The principal whose privileges we are changing. Only + one of principal or principal_id should be specified, + never both at the same time. + remove: + type: array + items: + type: string + x-enum: + - ACCESS + - ALL_PRIVILEGES + - APPLY_TAG + - BROWSE + - CREATE + - CREATE_CATALOG + - CREATE_CLEAN_ROOM + - CREATE_CONNECTION + - CREATE_EXTERNAL_LOCATION + - CREATE_EXTERNAL_TABLE + - CREATE_EXTERNAL_VOLUME + - CREATE_FOREIGN_CATALOG + - CREATE_FOREIGN_SECURABLE + - CREATE_FUNCTION + - CREATE_MANAGED_STORAGE + - CREATE_MATERIALIZED_VIEW + - CREATE_MODEL + - CREATE_PROVIDER + - CREATE_RECIPIENT + - CREATE_SCHEMA + - CREATE_SERVICE_CREDENTIAL + - CREATE_SHARE + - CREATE_STORAGE_CREDENTIAL + - CREATE_TABLE + - CREATE_VIEW + - CREATE_VOLUME + - EXECUTE + - EXECUTE_CLEAN_ROOM_TASK + - EXTERNAL_USE_SCHEMA + - MANAGE + - MANAGE_ALLOWLIST + - MODIFY + - MODIFY_CLEAN_ROOM + - READ_FILES + - READ_PRIVATE_FILES + - READ_VOLUME + - REFRESH + - SELECT + - SET_SHARE_PERMISSION + - USAGE + - USE_CATALOG + - USE_CONNECTION + - USE_MARKETPLACE_ASSETS + - USE_PROVIDER + - USE_RECIPIENT + - USE_SCHEMA + - USE_SHARE + - WRITE_FILES + - WRITE_PRIVATE_FILES + - WRITE_VOLUME + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know how many + members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members + can have their own + + attributes -- see the documentation for details. + description: The set of privileges to remove. description: Array of permissions change objects. responses: '200': @@ -2844,7 +4069,7 @@ paths: in: query required: false schema: - type: string + type: integer description: >- Specifies the maximum number of privileges to return (page length). Every EffectivePrivilegeAssignment present in a single page response @@ -3108,7 +4333,7 @@ paths: type: string description: The user-specified name of the metastore. external_access_enabled: - type: string + type: boolean description: >- Whether to allow non-DBR clients to directly access entities under the metastore. @@ -3190,7 +4415,7 @@ paths: in: query required: false schema: - type: string + type: integer description: >- Maximum number of metastores to return. - when set to a value greater than 0, the page length is the minimum of this value and a @@ -3283,7 +4508,7 @@ paths: in: query required: false schema: - type: string + type: boolean description: Force deletion even if the metastore is not empty. Default is false. responses: '200': @@ -3402,13 +4627,16 @@ paths: in Databricks-to-Databricks Delta Sharing as the official name. delta_sharing_recipient_token_lifetime_in_seconds: - type: string + type: integer description: The lifetime of delta sharing recipient token in seconds. delta_sharing_scope: type: string + x-enum: + - INTERNAL + - INTERNAL_AND_EXTERNAL description: The scope of Delta Sharing enabled for the metastore. external_access_enabled: - type: string + type: boolean description: >- Whether to allow non-DBR clients to directly access entities under the metastore. @@ -3589,7 +4817,7 @@ paths: in: query required: false schema: - type: string + type: boolean description: >- Whether to include aliases associated with the model version in the response @@ -3597,7 +4825,7 @@ paths: in: query required: false schema: - type: string + type: boolean description: >- Whether to include model versions in the response for which the principal can only access selective metadata for @@ -3706,7 +4934,33 @@ paths: type: object properties: aliases: - type: string + type: array + items: + type: object + properties: + alias_name: + type: string + catalog_name: + type: string + description: The name of the catalog containing the model version + id: + type: string + description: The unique identifier of the alias + model_name: + type: string + description: >- + The name of the parent registered model of the model + version, relative to parent schema + schema_name: + type: string + description: >- + The name of the schema containing the model version, + relative to parent catalog + version_num: + type: integer + description: >- + Integer version number of the model version to which + this alias points. description: List of aliases associated with the model version catalog_name: type: string @@ -3715,7 +4969,7 @@ paths: type: string description: The comment attached to the model version created_at: - type: string + type: integer description: >- :param created_by: str (optional) The identifier of the user who created the model version @@ -3735,7 +4989,60 @@ paths: The name of the parent registered model of the model version, relative to parent schema model_version_dependencies: - type: string + type: object + properties: + dependencies: + type: array + items: + type: object + properties: + connection: + type: object + properties: + connection_name: + type: string + description: >- + Full name of the dependent connection, in the + form of __connection_name__. + description: A connection that is dependent on a SQL object. + credential: + type: object + properties: + credential_name: + type: string + description: >- + Full name of the dependent credential, in the + form of __credential_name__. + description: A credential that is dependent on a SQL object. + function: + type: object + properties: + function_full_name: + type: string + description: >- + Full name of the dependent function, in the + form of + __catalog_name__.__schema_name__.__function_name__. + required: + - function_full_name + description: A function that is dependent on a SQL object. + table: + type: object + properties: + table_full_name: + type: string + description: >- + Full name of the dependent table, in the form + of + __catalog_name__.__schema_name__.__table_name__. + required: + - table_full_name + description: A table that is dependent on a SQL object. + description: >- + A dependency of a SQL object. One of the following + fields must be defined: __table__, + __function__, __connection__, or __credential__. + description: Array of dependencies. description: >- Model version dependencies, for feature-store packaged models @@ -3746,7 +5053,7 @@ paths: ``source`` was generated by an experiment run stored in an MLflow tracking server run_workspace_id: - type: string + type: integer description: >- ID of the Databricks workspace containing the MLflow run that generated this model version, if applicable @@ -3762,6 +5069,11 @@ paths: for the model version status: type: string + x-enum: + - FAILED_REGISTRATION + - MODEL_VERSION_STATUS_UNKNOWN + - PENDING_REGISTRATION + - READY description: >- Current status of the model version. Newly created model versions start in PENDING_REGISTRATION status, then move to @@ -3774,7 +5086,7 @@ paths: The storage location on the cloud under which model version data files are stored updated_at: - type: string + type: integer description: >- :param updated_by: str (optional) The identifier of the user who updated the model version last time @@ -3845,7 +5157,7 @@ paths: in: query required: false schema: - type: string + type: boolean description: >- Whether to include aliases associated with the model version in the response @@ -4066,7 +5378,7 @@ paths: in: query required: false schema: - type: string + type: boolean description: >- Whether to include model versions in the response for which the principal can only access selective metadata for @@ -4074,7 +5386,7 @@ paths: in: query required: false schema: - type: string + type: integer description: >- Maximum number of model versions to return. If not set, the page length is set to a server configured value (100, as of 1/3/2024). - @@ -4131,7 +5443,277 @@ paths: type: object properties: table: - type: string + type: object + properties: + name: + type: string + description: >- + Full three-part (catalog, schema, table) name of the + table. + spec: + type: object + properties: + perform_full_copy: + type: boolean + description: >- + Whether to create a full-copy pipeline -- a pipeline + that stops after creates a full copy of the source + table upon initialization and does not process any + change data feeds (CDFs) afterwards. The pipeline + can still be manually triggered afterwards, but it + always perform a full copy of the source table and + there are no incremental updates. This mode is + useful for syncing views or tables without CDFs to + online tables. Note that the full-copy pipeline only + supports "triggered" scheduling policy. + pipeline_id: + type: string + description: >- + ID of the associated pipeline. Generated by the + server - cannot be set by the caller. + primary_key_columns: + type: array + items: + type: string + description: >- + Primary Key columns to be used for data + insert/update in the destination. + run_continuously: + type: object + properties: {} + description: >- + Pipeline runs continuously after generating the + initial data. + run_triggered: + type: object + properties: {} + description: >- + Pipeline stops after generating the initial data and + can be triggered later (manually, through a cron job + or through data triggers) + source_table_full_name: + type: string + description: >- + Three-part (catalog, schema, table) name of the + source Delta table. + timeseries_key: + type: string + description: >- + Time series key to deduplicate (tie-break) rows with + the same primary key. + description: Specification of the online table. + status: + type: object + properties: + continuous_update_status: + type: object + properties: + initial_pipeline_sync_progress: + type: object + properties: + estimated_completion_time_seconds: + type: number + description: >- + The estimated time remaining to complete + this update in seconds. + latest_version_currently_processing: + type: integer + description: >- + The source table Delta version that was last + processed by the pipeline. The pipeline may + not have completely processed this version + yet. + sync_progress_completion: + type: number + description: >- + The completion ratio of this update. This is + a number between 0 and 1. + synced_row_count: + type: integer + description: >- + The number of rows that have been synced in + this update. + total_row_count: + type: integer + description: >- + The total number of rows that need to be + synced in this update. This number may be an + estimate. + description: Progress of the initial data synchronization. + last_processed_commit_version: + type: integer + description: >- + The last source table Delta version that was + synced to the online table. Note that this Delta + version may not be completely synced to the + online table yet. + timestamp: + type: string + description: >- + The timestamp of the last time any data was + synchronized from the source table to the online + table. + description: >- + Detailed status of an online table. Shown if the + online table is in the ONLINE_CONTINUOUS_UPDATE + or the ONLINE_UPDATING_PIPELINE_RESOURCES state. + detailed_state: + type: string + x-enum: + - OFFLINE + - OFFLINE_FAILED + - ONLINE + - ONLINE_CONTINUOUS_UPDATE + - ONLINE_NO_PENDING_UPDATE + - ONLINE_PIPELINE_FAILED + - ONLINE_TRIGGERED_UPDATE + - ONLINE_UPDATING_PIPELINE_RESOURCES + - PROVISIONING + - PROVISIONING_INITIAL_SNAPSHOT + - PROVISIONING_PIPELINE_RESOURCES + description: The state of the online table. + failed_status: + type: object + properties: + last_processed_commit_version: + type: integer + description: >- + The last source table Delta version that was + synced to the online table. Note that this Delta + version may only be partially synced to the + online table. Only populated if the table is + still online and available for serving. + timestamp: + type: string + description: >- + The timestamp of the last time any data was + synchronized from the source table to the online + table. Only populated if the table is still + online and available for serving. + description: >- + Detailed status of an online table. Shown if the + online table is in the OFFLINE_FAILED or the + ONLINE_PIPELINE_FAILED state. + message: + type: string + description: >- + A text description of the current state of the + online table. + provisioning_status: + type: object + properties: + initial_pipeline_sync_progress: + type: object + properties: + estimated_completion_time_seconds: + type: number + description: >- + The estimated time remaining to complete + this update in seconds. + latest_version_currently_processing: + type: integer + description: >- + The source table Delta version that was last + processed by the pipeline. The pipeline may + not have completely processed this version + yet. + sync_progress_completion: + type: number + description: >- + The completion ratio of this update. This is + a number between 0 and 1. + synced_row_count: + type: integer + description: >- + The number of rows that have been synced in + this update. + total_row_count: + type: integer + description: >- + The total number of rows that need to be + synced in this update. This number may be an + estimate. + description: >- + Details about initial data synchronization. Only + populated when in the + PROVISIONING_INITIAL_SNAPSHOT state. + description: >- + Detailed status of an online table. Shown if the + online table is in the + PROVISIONING_PIPELINE_RESOURCES or the PROVISIONING_INITIAL_SNAPSHOT state. + triggered_update_status: + type: object + properties: + last_processed_commit_version: + type: integer + description: >- + The last source table Delta version that was + synced to the online table. Note that this Delta + version may not be completely synced to the + online table yet. + timestamp: + type: string + description: >- + The timestamp of the last time any data was + synchronized from the source table to the online + table. + triggered_update_progress: + type: object + properties: + estimated_completion_time_seconds: + type: number + description: >- + The estimated time remaining to complete + this update in seconds. + latest_version_currently_processing: + type: integer + description: >- + The source table Delta version that was last + processed by the pipeline. The pipeline may + not have completely processed this version + yet. + sync_progress_completion: + type: number + description: >- + The completion ratio of this update. This is + a number between 0 and 1. + synced_row_count: + type: integer + description: >- + The number of rows that have been synced in + this update. + total_row_count: + type: integer + description: >- + The total number of rows that need to be + synced in this update. This number may be an + estimate. + description: >- + Progress of the active data synchronization + pipeline. + description: >- + Detailed status of an online table. Shown if the + online table is in the ONLINE_TRIGGERED_UPDATE + or the ONLINE_NO_PENDING_UPDATE state. + description: Online Table data synchronization status + table_serving_url: + type: string + description: Data serving REST API URL for this table + unity_catalog_provisioning_state: + type: string + x-enum: + - ACTIVE + - DEGRADED + - DELETING + - FAILED + - PROVISIONING + - UPDATING + description: >- + The provisioning state of the online table entity in + Unity Catalog. This is distinct from the state of the + data synchronization pipeline (i.e. the table may be in + "ACTIVE" but the pipeline may be in "PROVISIONING" as it + runs asynchronously). description: Specification of the online table to be created. required: - table @@ -4261,7 +5843,200 @@ paths: type: object properties: policy_info: - type: string + type: object + properties: + to_principals: + type: array + items: + type: string + for_securable_type: + type: string + x-enum: + - CATALOG + - CLEAN_ROOM + - CONNECTION + - CREDENTIAL + - EXTERNAL_LOCATION + - EXTERNAL_METADATA + - FUNCTION + - METASTORE + - PIPELINE + - PROVIDER + - RECIPIENT + - SCHEMA + - SHARE + - STAGING_TABLE + - STORAGE_CREDENTIAL + - TABLE + - VOLUME + description: >- + Type of securables that the policy should take effect + on. Only `TABLE` is supported at this moment. Required + on create and optional on update. + policy_type: + type: string + x-enum: + - POLICY_TYPE_COLUMN_MASK + - POLICY_TYPE_ROW_FILTER + description: Type of the policy. Required on create. + column_mask: + type: object + properties: + function_name: + type: string + on_column: + type: string + description: >- + The alias of the column to be masked. The alias must + refer to one of matched columns. The values of the + column is passed to the column mask function as the + first argument. Required on create and update. + using: + type: array + items: + type: object + properties: + alias: + type: string + constant: + type: string + description: A constant literal. + description: >- + Optional list of column aliases or constant literals + to be passed as additional arguments to the column + mask function. The type of each column should match + the positional argument of the column mask function. + required: + - function_name + - on_column + description: >- + Options for column mask policies. Valid only if + `policy_type` is `POLICY_TYPE_COLUMN_MASK`. Required on + create and optional on update. When specified on update, + the new options will replace the existing options as a + whole. + comment: + type: string + description: Optional description of the policy. + created_at: + type: integer + description: >- + Time at which the policy was created, in epoch + milliseconds. Output only. + created_by: + type: string + description: >- + Username of the user who created the policy. Output + only. + except_principals: + type: array + items: + type: string + description: >- + Optional list of user or group names that should be + excluded from the policy. + id: + type: string + description: >- + Unique identifier of the policy. This field is output + only and is generated by the system. + match_columns: + type: array + items: + type: object + properties: + alias: + type: string + condition: + type: string + description: >- + The condition expression used to match a table + column. + description: >- + Optional list of condition expressions used to match + table columns. Only valid when `for_securable_type` is + `TABLE`. When specified, the policy only applies to + tables whose columns satisfy all match conditions. + name: + type: string + description: >- + Name of the policy. Required on create and optional on + update. To rename the policy, set `name` to a different + value on update. + on_securable_fullname: + type: string + description: >- + Full name of the securable on which the policy is + defined. Required on create. + on_securable_type: + type: string + x-enum: + - CATALOG + - CLEAN_ROOM + - CONNECTION + - CREDENTIAL + - EXTERNAL_LOCATION + - EXTERNAL_METADATA + - FUNCTION + - METASTORE + - PIPELINE + - PROVIDER + - RECIPIENT + - SCHEMA + - SHARE + - STAGING_TABLE + - STORAGE_CREDENTIAL + - TABLE + - VOLUME + description: >- + Type of the securable on which the policy is defined. + Only `CATALOG`, `SCHEMA` and `TABLE` are supported at + this moment. Required on create. + row_filter: + type: object + properties: + function_name: + type: string + using: + type: array + items: + type: object + properties: + alias: + type: string + constant: + type: string + description: A constant literal. + description: >- + Optional list of column aliases or constant literals + to be passed as arguments to the row filter + function. The type of each column should match the + positional argument of the row filter function. + required: + - function_name + description: >- + Options for row filter policies. Valid only if + `policy_type` is `POLICY_TYPE_ROW_FILTER`. Required on + create and optional on update. When specified on update, + the new options will replace the existing options as a + whole. + updated_at: + type: integer + description: >- + Time at which the policy was last modified, in epoch + milliseconds. Output only. + updated_by: + type: string + description: >- + Username of the user who last modified the policy. + Output only. + when_condition: + type: string + description: Optional condition when the policy should take effect. + required: + - to_principals + - for_securable_type + - policy_type description: Required. The policy to create. required: - policy_info @@ -4462,7 +6237,200 @@ paths: type: object properties: policy_info: - type: string + type: object + properties: + to_principals: + type: array + items: + type: string + for_securable_type: + type: string + x-enum: + - CATALOG + - CLEAN_ROOM + - CONNECTION + - CREDENTIAL + - EXTERNAL_LOCATION + - EXTERNAL_METADATA + - FUNCTION + - METASTORE + - PIPELINE + - PROVIDER + - RECIPIENT + - SCHEMA + - SHARE + - STAGING_TABLE + - STORAGE_CREDENTIAL + - TABLE + - VOLUME + description: >- + Type of securables that the policy should take effect + on. Only `TABLE` is supported at this moment. Required + on create and optional on update. + policy_type: + type: string + x-enum: + - POLICY_TYPE_COLUMN_MASK + - POLICY_TYPE_ROW_FILTER + description: Type of the policy. Required on create. + column_mask: + type: object + properties: + function_name: + type: string + on_column: + type: string + description: >- + The alias of the column to be masked. The alias must + refer to one of matched columns. The values of the + column is passed to the column mask function as the + first argument. Required on create and update. + using: + type: array + items: + type: object + properties: + alias: + type: string + constant: + type: string + description: A constant literal. + description: >- + Optional list of column aliases or constant literals + to be passed as additional arguments to the column + mask function. The type of each column should match + the positional argument of the column mask function. + required: + - function_name + - on_column + description: >- + Options for column mask policies. Valid only if + `policy_type` is `POLICY_TYPE_COLUMN_MASK`. Required on + create and optional on update. When specified on update, + the new options will replace the existing options as a + whole. + comment: + type: string + description: Optional description of the policy. + created_at: + type: integer + description: >- + Time at which the policy was created, in epoch + milliseconds. Output only. + created_by: + type: string + description: >- + Username of the user who created the policy. Output + only. + except_principals: + type: array + items: + type: string + description: >- + Optional list of user or group names that should be + excluded from the policy. + id: + type: string + description: >- + Unique identifier of the policy. This field is output + only and is generated by the system. + match_columns: + type: array + items: + type: object + properties: + alias: + type: string + condition: + type: string + description: >- + The condition expression used to match a table + column. + description: >- + Optional list of condition expressions used to match + table columns. Only valid when `for_securable_type` is + `TABLE`. When specified, the policy only applies to + tables whose columns satisfy all match conditions. + name: + type: string + description: >- + Name of the policy. Required on create and optional on + update. To rename the policy, set `name` to a different + value on update. + on_securable_fullname: + type: string + description: >- + Full name of the securable on which the policy is + defined. Required on create. + on_securable_type: + type: string + x-enum: + - CATALOG + - CLEAN_ROOM + - CONNECTION + - CREDENTIAL + - EXTERNAL_LOCATION + - EXTERNAL_METADATA + - FUNCTION + - METASTORE + - PIPELINE + - PROVIDER + - RECIPIENT + - SCHEMA + - SHARE + - STAGING_TABLE + - STORAGE_CREDENTIAL + - TABLE + - VOLUME + description: >- + Type of the securable on which the policy is defined. + Only `CATALOG`, `SCHEMA` and `TABLE` are supported at + this moment. Required on create. + row_filter: + type: object + properties: + function_name: + type: string + using: + type: array + items: + type: object + properties: + alias: + type: string + constant: + type: string + description: A constant literal. + description: >- + Optional list of column aliases or constant literals + to be passed as arguments to the row filter + function. The type of each column should match the + positional argument of the row filter function. + required: + - function_name + description: >- + Options for row filter policies. Valid only if + `policy_type` is `POLICY_TYPE_ROW_FILTER`. Required on + create and optional on update. When specified on update, + the new options will replace the existing options as a + whole. + updated_at: + type: integer + description: >- + Time at which the policy was last modified, in epoch + milliseconds. Output only. + updated_by: + type: string + description: >- + Username of the user who last modified the policy. + Output only. + when_condition: + type: string + description: Optional condition when the policy should take effect. + required: + - to_principals + - for_securable_type + - policy_type description: >- Optional fields to update. This is the request body for updating a policy. Use `update_mask` field to specify which @@ -4554,7 +6522,7 @@ paths: in: query required: false schema: - type: string + type: boolean description: >- Optional. Whether to include policies defined on parent securables. By default, the inherited policies are not included. @@ -4562,7 +6530,7 @@ paths: in: query required: false schema: - type: string + type: integer description: >- Optional. Maximum number of policies to return on a single page (page length). - When not set or set to 0, the page length is set to @@ -4759,13 +6727,166 @@ paths: `table_name`. The baseline table and the monitored table shall have the same schema. custom_metrics: - type: string + type: array + items: + type: object + properties: + name: + type: string + description: Name of the metric in the output tables. + definition: + type: string + description: >- + Jinja template for a SQL expression that specifies how + to compute the metric. See [create metric definition]. + [create metric definition]: + https://docs.databricks.com/en/lakehouse-monitoring/custom-metrics.html#create-definition + input_columns: + type: array + items: + type: string + description: >- + A list of column names in the input table the metric + should be computed for. Can use ``":table"`` to + indicate that the metric needs information from + multiple columns. + output_data_type: + type: string + description: The output type of the custom metric. + type: + type: string + x-enum: + - CUSTOM_METRIC_TYPE_AGGREGATE + - CUSTOM_METRIC_TYPE_DERIVED + - CUSTOM_METRIC_TYPE_DRIFT + description: >- + Can only be one of ``"CUSTOM_METRIC_TYPE_AGGREGATE"``, + ``"CUSTOM_METRIC_TYPE_DERIVED"``, or + ``"CUSTOM_METRIC_TYPE_DRIFT"``. The + ``"CUSTOM_METRIC_TYPE_AGGREGATE"`` and + ``"CUSTOM_METRIC_TYPE_DERIVED"`` metrics are computed + on a single table, whereas the + ``"CUSTOM_METRIC_TYPE_DRIFT"`` compare metrics across + baseline and input table, or across the two + consecutive time windows. - + CUSTOM_METRIC_TYPE_AGGREGATE: only depend on the + existing columns in your table - + CUSTOM_METRIC_TYPE_DERIVED: depend on previously + computed aggregate metrics - CUSTOM_METRIC_TYPE_DRIFT: + depend on previously computed aggregate or derived + metrics + required: + - name + - definition + - input_columns + - output_data_type + - type + description: Custom metric definition. description: '[Create:OPT Update:OPT] Custom metrics.' data_classification_config: - type: string + type: object + properties: + enabled: + type: boolean + description: Whether to enable data classification. description: '[Create:OPT Update:OPT] Data classification related config.' inference_log: - type: string + type: object + properties: + problem_type: + type: string + x-enum: + - PROBLEM_TYPE_CLASSIFICATION + - PROBLEM_TYPE_REGRESSION + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know how many + members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members can + have their own + + attributes -- see the documentation for details. + timestamp_col: + type: string + description: Column for the timestamp. + granularities: + type: array + items: + type: string + description: >- + List of granularities to use when aggregating data into + time windows based on their timestamp. + prediction_col: + type: string + description: Column for the prediction. + model_id_col: + type: string + description: Column for the model identifier. + label_col: + type: string + description: Column for the label. + prediction_proba_col: + type: string + description: Column for prediction probabilities + required: + - problem_type + - timestamp_col + - granularities + - prediction_col + - model_id_col description: >- :param latest_monitor_failure_msg: str (optional) [Create:ERR Update:IGN] The latest error message for a @@ -4773,20 +6894,60 @@ paths: latest_monitor_failure_msg: type: string notifications: - type: string + type: object + properties: + on_failure: + type: object + properties: + email_addresses: + type: array + items: + type: string + on_new_classification_tag_detected: + type: object + properties: + email_addresses: + type: array + items: + type: string + description: >- + Destinations to send notifications on new classification + tag detected. description: >- [Create:OPT Update:OPT] Field for specifying notification settings. schedule: - type: string + type: object + properties: + quartz_cron_expression: + type: string + timezone_id: + type: string + description: >- + The timezone id (e.g., ``PST``) in which to evaluate the + quartz expression. + pause_status: + type: string + x-enum: + - PAUSED + - UNPAUSED + - UNSPECIFIED + description: >- + Read only field that indicates whether a schedule is + paused or not. + required: + - quartz_cron_expression + - timezone_id description: '[Create:OPT Update:OPT] The monitor schedule.' skip_builtin_dashboard: - type: string + type: boolean description: >- Whether to skip creating a default dashboard summarizing data quality metrics. slicing_exprs: - type: string + type: array + items: + type: string description: >- [Create:OPT Update:OPT] List of column expressions to slice data with for targeted analysis. The data is grouped by each @@ -4798,10 +6959,29 @@ paths: high-cardinality columns, only the top 100 unique values by frequency will generate slices. snapshot: - type: string + type: object + properties: {} description: Configuration for monitoring snapshot tables. time_series: - type: string + type: object + properties: + timestamp_col: + type: string + description: Column for the timestamp. + granularities: + type: array + items: + type: string + description: >- + Granularities for aggregating data into time windows + based on their timestamp. Currently the following static + granularities are supported: {``\"5 minutes\"``, ``\"30 + minutes\"``, ``\"1 hour\"``, ``\"1 day\"``, + ``\"\u003cn\u003e week(s)\"``, ``\"1 month\"``, ``\"1 + year\"``}. + required: + - timestamp_col + - granularities description: Configuration for monitoring time series tables. warehouse_id: type: string @@ -5073,7 +7253,61 @@ paths: `table_name`. The baseline table and the monitored table shall have the same schema. custom_metrics: - type: string + type: array + items: + type: object + properties: + name: + type: string + description: Name of the metric in the output tables. + definition: + type: string + description: >- + Jinja template for a SQL expression that specifies how + to compute the metric. See [create metric definition]. + [create metric definition]: + https://docs.databricks.com/en/lakehouse-monitoring/custom-metrics.html#create-definition + input_columns: + type: array + items: + type: string + description: >- + A list of column names in the input table the metric + should be computed for. Can use ``":table"`` to + indicate that the metric needs information from + multiple columns. + output_data_type: + type: string + description: The output type of the custom metric. + type: + type: string + x-enum: + - CUSTOM_METRIC_TYPE_AGGREGATE + - CUSTOM_METRIC_TYPE_DERIVED + - CUSTOM_METRIC_TYPE_DRIFT + description: >- + Can only be one of ``"CUSTOM_METRIC_TYPE_AGGREGATE"``, + ``"CUSTOM_METRIC_TYPE_DERIVED"``, or + ``"CUSTOM_METRIC_TYPE_DRIFT"``. The + ``"CUSTOM_METRIC_TYPE_AGGREGATE"`` and + ``"CUSTOM_METRIC_TYPE_DERIVED"`` metrics are computed + on a single table, whereas the + ``"CUSTOM_METRIC_TYPE_DRIFT"`` compare metrics across + baseline and input table, or across the two + consecutive time windows. - + CUSTOM_METRIC_TYPE_AGGREGATE: only depend on the + existing columns in your table - + CUSTOM_METRIC_TYPE_DERIVED: depend on previously + computed aggregate metrics - CUSTOM_METRIC_TYPE_DRIFT: + depend on previously computed aggregate or derived + metrics + required: + - name + - definition + - input_columns + - output_data_type + - type + description: Custom metric definition. description: '[Create:OPT Update:OPT] Custom metrics.' dashboard_id: type: string @@ -5082,10 +7316,109 @@ paths: computed metrics. This can be empty if the monitor is in PENDING state. data_classification_config: - type: string + type: object + properties: + enabled: + type: boolean + description: Whether to enable data classification. description: '[Create:OPT Update:OPT] Data classification related config.' inference_log: - type: string + type: object + properties: + problem_type: + type: string + x-enum: + - PROBLEM_TYPE_CLASSIFICATION + - PROBLEM_TYPE_REGRESSION + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know how many + members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members can + have their own + + attributes -- see the documentation for details. + timestamp_col: + type: string + description: Column for the timestamp. + granularities: + type: array + items: + type: string + description: >- + List of granularities to use when aggregating data into + time windows based on their timestamp. + prediction_col: + type: string + description: Column for the prediction. + model_id_col: + type: string + description: Column for the model identifier. + label_col: + type: string + description: Column for the label. + prediction_proba_col: + type: string + description: Column for prediction probabilities + required: + - problem_type + - timestamp_col + - granularities + - prediction_col + - model_id_col description: >- :param latest_monitor_failure_msg: str (optional) [Create:ERR Update:IGN] The latest error message for a @@ -5093,15 +7426,55 @@ paths: latest_monitor_failure_msg: type: string notifications: - type: string + type: object + properties: + on_failure: + type: object + properties: + email_addresses: + type: array + items: + type: string + on_new_classification_tag_detected: + type: object + properties: + email_addresses: + type: array + items: + type: string + description: >- + Destinations to send notifications on new classification + tag detected. description: >- [Create:OPT Update:OPT] Field for specifying notification settings. schedule: - type: string + type: object + properties: + quartz_cron_expression: + type: string + timezone_id: + type: string + description: >- + The timezone id (e.g., ``PST``) in which to evaluate the + quartz expression. + pause_status: + type: string + x-enum: + - PAUSED + - UNPAUSED + - UNSPECIFIED + description: >- + Read only field that indicates whether a schedule is + paused or not. + required: + - quartz_cron_expression + - timezone_id description: '[Create:OPT Update:OPT] The monitor schedule.' slicing_exprs: - type: string + type: array + items: + type: string description: >- [Create:OPT Update:OPT] List of column expressions to slice data with for targeted analysis. The data is grouped by each @@ -5113,10 +7486,29 @@ paths: high-cardinality columns, only the top 100 unique values by frequency will generate slices. snapshot: - type: string + type: object + properties: {} description: Configuration for monitoring snapshot tables. time_series: - type: string + type: object + properties: + timestamp_col: + type: string + description: Column for the timestamp. + granularities: + type: array + items: + type: string + description: >- + Granularities for aggregating data into time windows + based on their timestamp. Currently the following static + granularities are supported: {``\"5 minutes\"``, ``\"30 + minutes\"``, ``\"1 hour\"``, ``\"1 day\"``, + ``\"\u003cn\u003e week(s)\"``, ``\"1 month\"``, ``\"1 + year\"``}. + required: + - timestamp_col + - granularities description: Configuration for monitoring time series tables. required: - output_schema_name @@ -5492,10 +7884,36 @@ paths: type: object properties: aliases: - type: string + type: array + items: + type: object + properties: + alias_name: + type: string + catalog_name: + type: string + description: The name of the catalog containing the model version + id: + type: string + description: The unique identifier of the alias + model_name: + type: string + description: >- + The name of the parent registered model of the model + version, relative to parent schema + schema_name: + type: string + description: >- + The name of the schema containing the model version, + relative to parent catalog + version_num: + type: integer + description: >- + Integer version number of the model version to which + this alias points. description: List of aliases associated with the registered model browse_only: - type: string + type: boolean description: >- Indicates whether the principal is limited to retrieving metadata for the associated object through the BROWSE @@ -5509,7 +7927,7 @@ paths: type: string description: The comment attached to the registered model created_at: - type: string + type: integer description: >- Creation timestamp of the registered model in milliseconds since the Unix epoch @@ -5539,7 +7957,7 @@ paths: The storage location on the cloud under which model version data files are stored updated_at: - type: string + type: integer description: >- Last-update timestamp of the registered model in milliseconds since the Unix epoch @@ -5651,7 +8069,7 @@ paths: in: query required: false schema: - type: string + type: boolean description: >- Whether to include registered models in the response for which the principal can only access selective metadata for @@ -5659,7 +8077,7 @@ paths: in: query required: false schema: - type: string + type: integer description: >- Max number of registered models to return. If both catalog and schema are specified: - when max_results is not specified, the page @@ -5796,13 +8214,13 @@ paths: in: query required: false schema: - type: string + type: boolean description: Whether to include registered model aliases in the response - name: include_browse in: query required: false schema: - type: string + type: boolean description: >- Whether to include registered models in the response for which the principal can only access selective metadata for @@ -5895,10 +8313,36 @@ paths: type: object properties: aliases: - type: string + type: array + items: + type: object + properties: + alias_name: + type: string + catalog_name: + type: string + description: The name of the catalog containing the model version + id: + type: string + description: The unique identifier of the alias + model_name: + type: string + description: >- + The name of the parent registered model of the model + version, relative to parent schema + schema_name: + type: string + description: >- + The name of the schema containing the model version, + relative to parent catalog + version_num: + type: integer + description: >- + Integer version number of the model version to which + this alias points. description: List of aliases associated with the registered model browse_only: - type: string + type: boolean description: >- Indicates whether the principal is limited to retrieving metadata for the associated object through the BROWSE @@ -5912,7 +8356,7 @@ paths: type: string description: The comment attached to the registered model created_at: - type: string + type: integer description: >- Creation timestamp of the registered model in milliseconds since the Unix epoch @@ -5940,7 +8384,7 @@ paths: The storage location on the cloud under which model version data files are stored updated_at: - type: string + type: integer description: >- Last-update timestamp of the registered model in milliseconds since the Unix epoch @@ -6074,7 +8518,7 @@ paths: in: query required: false schema: - type: string + type: integer description: The number of quotas to return. - name: page_token in: query @@ -6142,7 +8586,146 @@ paths: type: object properties: requests: - type: string + type: array + items: + type: object + properties: + behalf_of: + type: object + properties: + id: + type: string + principal_type: + type: string + x-enum: + - GROUP_PRINCIPAL + - SERVICE_PRINCIPAL + - USER_PRINCIPAL + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know how + many members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members + can have their own + + attributes -- see the documentation for details. + comment: + type: string + description: >- + Optional. Comment associated with the request. At most + 200 characters, can only contain lowercase/uppercase + letters (a-z, A-Z), numbers (0-9), punctuation, and + spaces. + securable_permissions: + type: array + items: + type: object + properties: + permissions: + type: array + items: + type: string + securable: + type: object + properties: + full_name: + type: string + description: >- + Required. The full name of the + catalog/schema/table. Optional if + resource_name is present. + provider_share: + type: string + description: >- + Optional. The name of the Share object that + contains the securable when the securable is + getting shared in D2D Delta Sharing. + type: + type: string + x-enum: + - CATALOG + - CLEAN_ROOM + - CONNECTION + - CREDENTIAL + - EXTERNAL_LOCATION + - EXTERNAL_METADATA + - FUNCTION + - METASTORE + - PIPELINE + - PROVIDER + - RECIPIENT + - SCHEMA + - SHARE + - STAGING_TABLE + - STORAGE_CREDENTIAL + - TABLE + - VOLUME + description: >- + Required. The type of securable + (catalog/schema/table). Optional if + resource_name is present. + description: >- + The securable for which the access request + destinations are being requested. + description: >- + List of securables and their corresponding requested + UC privileges. At most 30 securables can be requested + for a principal per batched call. Each securable can + only be requested once per principal. description: >- A list of individual access requests, where each request corresponds to a set of permissions being requested on a @@ -6308,7 +8891,150 @@ paths: type: object properties: access_request_destinations: - type: string + type: object + properties: + securable: + type: object + properties: + full_name: + type: string + description: >- + Required. The full name of the catalog/schema/table. + Optional if resource_name is present. + provider_share: + type: string + description: >- + Optional. The name of the Share object that contains + the securable when the securable is getting shared + in D2D Delta Sharing. + type: + type: string + x-enum: + - CATALOG + - CLEAN_ROOM + - CONNECTION + - CREDENTIAL + - EXTERNAL_LOCATION + - EXTERNAL_METADATA + - FUNCTION + - METASTORE + - PIPELINE + - PROVIDER + - RECIPIENT + - SCHEMA + - SHARE + - STAGING_TABLE + - STORAGE_CREDENTIAL + - TABLE + - VOLUME + description: >- + Required. The type of securable + (catalog/schema/table). Optional if resource_name is + present. + description: >- + Generic definition of a securable, which is uniquely + defined in a metastore by its type and full + name. + are_any_destinations_hidden: + type: boolean + description: >- + Indicates whether any destinations are hidden from the + caller due to a lack of permissions. This value is true + if the caller does not have permission to see all + destinations. + destination_source_securable: + type: object + properties: + full_name: + type: string + description: >- + Required. The full name of the catalog/schema/table. + Optional if resource_name is present. + provider_share: + type: string + description: >- + Optional. The name of the Share object that contains + the securable when the securable is getting shared + in D2D Delta Sharing. + type: + type: string + x-enum: + - CATALOG + - CLEAN_ROOM + - CONNECTION + - CREDENTIAL + - EXTERNAL_LOCATION + - EXTERNAL_METADATA + - FUNCTION + - METASTORE + - PIPELINE + - PROVIDER + - RECIPIENT + - SCHEMA + - SHARE + - STAGING_TABLE + - STORAGE_CREDENTIAL + - TABLE + - VOLUME + description: >- + Required. The type of securable + (catalog/schema/table). Optional if resource_name is + present. + description: >- + The source securable from which the destinations are + inherited. Either the same value as securable (if + destination is set directly on the securable) or the + nearest parent securable with destinations set. + destinations: + type: array + items: + type: object + properties: + destination_id: + type: string + destination_type: + type: string + x-enum: + - EMAIL + - GENERIC_WEBHOOK + - MICROSOFT_TEAMS + - SLACK + - URL + description: The type of the destination. + special_destination: + type: string + x-enum: + - SPECIAL_DESTINATION_CATALOG_OWNER + - SPECIAL_DESTINATION_CONNECTION_OWNER + - SPECIAL_DESTINATION_CREDENTIAL_OWNER + - SPECIAL_DESTINATION_EXTERNAL_LOCATION_OWNER + - SPECIAL_DESTINATION_METASTORE_OWNER + description: >- + This field is used to denote whether the + destination is the email of the owner of the + securable object. The special destination cannot + be assigned to a securable and only represents the + default destination of the securable. The + securable types that support default special + destinations are: "catalog", "external_location", + "connection", "credential", and "metastore". The + **destination_type** of a **special_destination** + is always EMAIL. + description: The access request destinations for the securable. + full_name: + type: string + description: >- + The full name of the securable. Redundant with the name + in the securable object, but necessary for Terraform + integration + securable_type: + type: string + description: >- + The type of the securable. Redundant with the type in + the securable object, but necessary for Terraform + integration + required: + - securable description: >- The access request destinations to assign to the securable. For each destination, a **destination_id** and @@ -6378,7 +9104,7 @@ paths: type: string description: User-provided free-form text description. properties: - type: string + type: object description: A map of key-value properties attached to the securable. storage_root: type: string @@ -6468,7 +9194,7 @@ paths: in: query required: false schema: - type: string + type: boolean description: >- Whether to include schemas in the response for which the principal can only access selective metadata for @@ -6476,7 +9202,7 @@ paths: in: query required: false schema: - type: string + type: integer description: >- Maximum number of schemas to return. If not set, all the schemas are returned (not recommended). - when set to a value greater than 0, @@ -6540,7 +9266,7 @@ paths: in: query required: false schema: - type: string + type: boolean description: Force deletion even if the schema is not empty. responses: '200': @@ -6590,7 +9316,7 @@ paths: in: query required: false schema: - type: string + type: boolean description: >- Whether to include schemas in the response for which the principal can only access selective metadata for @@ -6667,6 +9393,10 @@ paths: description: User-provided free-form text description. enable_predictive_optimization: type: string + x-enum: + - DISABLE + - ENABLE + - INHERIT description: >- Whether predictive optimization should be enabled for this object and objects under it. @@ -6677,7 +9407,7 @@ paths: type: string description: Username of current owner of schema. properties: - type: string + type: object description: A map of key-value properties attached to the securable. responses: '200': @@ -6752,30 +9482,92 @@ paths: The credential name. The name must be unique among storage and service credentials within the metastore. aws_iam_role: - type: string + type: object + properties: + role_arn: + type: string + description: >- + The Amazon Resource Name (ARN) of the AWS IAM role used + to vend temporary credentials. + required: + - role_arn description: The AWS IAM role configuration. azure_managed_identity: - type: string + type: object + properties: + access_connector_id: + type: string + description: >- + The Azure resource ID of the Azure Databricks Access + Connector. Use the format + `/subscriptions/{guid}/resourceGroups/{rg-name}/providers/Microsoft.Databricks/accessConnectors/{connector-name}`. + managed_identity_id: + type: string + description: >- + The Azure resource ID of the managed identity. Use the + format, + `/subscriptions/{guid}/resourceGroups/{rg-name}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identity-name}` + This is only available for user-assgined identities. For + system-assigned identities, the access_connector_id is + used to identify the identity. If this field is not + provided, then we assume the AzureManagedIdentity is + using the system-assigned identity. + required: + - access_connector_id description: The Azure managed identity configuration. azure_service_principal: - type: string + type: object + properties: + directory_id: + type: string + description: >- + The directory ID corresponding to the Azure Active + Directory (AAD) tenant of the application. + application_id: + type: string + description: >- + The application ID of the application registration + within the referenced AAD tenant. + client_secret: + type: string + description: The client secret generated for the above app ID in AAD. + required: + - directory_id + - application_id + - client_secret description: The Azure service principal configuration. cloudflare_api_token: - type: string + type: object + properties: + access_key_id: + type: string + description: The access key ID associated with the API token. + secret_access_key: + type: string + description: >- + The secret access token generated for the above access + key ID. + account_id: + type: string + description: The ID of the account associated with the API token. + required: + - access_key_id + - secret_access_key description: The Cloudflare API token configuration. comment: type: string description: Comment associated with the credential. databricks_gcp_service_account: - type: string + type: object + properties: {} description: The Databricks managed GCP service account configuration. read_only: - type: string + type: boolean description: >- Whether the credential is usable only for read operations. Only applicable when purpose is **STORAGE**. skip_validation: - type: string + type: boolean description: >- Supplying true to this argument skips validation of the created credential. @@ -6855,7 +9647,7 @@ paths: in: query required: false schema: - type: string + type: boolean description: >- Whether to include credentials not bound to the workspace. Effective only if the user has permission to update the credential–workspace @@ -6864,7 +9656,7 @@ paths: in: query required: false schema: - type: string + type: integer description: >- Maximum number of storage credentials to return. If not set, all the storage credentials are returned (not recommended). - when set to a @@ -6929,7 +9721,7 @@ paths: in: query required: false schema: - type: string + type: boolean description: >- Force an update even if there are dependent external locations or external tables (when purpose is **STORAGE**) or dependent services @@ -7056,30 +9848,100 @@ paths: type: object properties: aws_iam_role: - type: string + type: object + properties: + role_arn: + type: string + description: >- + The Amazon Resource Name (ARN) of the AWS IAM role used + to vend temporary credentials. + required: + - role_arn description: The AWS IAM role configuration. azure_managed_identity: - type: string + type: object + properties: + access_connector_id: + type: string + description: >- + The Azure resource ID of the Azure Databricks Access + Connector. Use the format + `/subscriptions/{guid}/resourceGroups/{rg-name}/providers/Microsoft.Databricks/accessConnectors/{connector-name}`. + credential_id: + type: string + description: >- + The Databricks internal ID that represents this managed + identity. + managed_identity_id: + type: string + description: >- + The Azure resource ID of the managed identity. Use the + format, + `/subscriptions/{guid}/resourceGroups/{rg-name}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identity-name}` + This is only available for user-assgined identities. For + system-assigned identities, the access_connector_id is + used to identify the identity. If this field is not + provided, then we assume the AzureManagedIdentity is + using the system-assigned identity. + required: + - access_connector_id description: The Azure managed identity configuration. azure_service_principal: - type: string + type: object + properties: + directory_id: + type: string + description: >- + The directory ID corresponding to the Azure Active + Directory (AAD) tenant of the application. + application_id: + type: string + description: >- + The application ID of the application registration + within the referenced AAD tenant. + client_secret: + type: string + description: The client secret generated for the above app ID in AAD. + required: + - directory_id + - application_id + - client_secret description: The Azure service principal configuration. cloudflare_api_token: - type: string + type: object + properties: + access_key_id: + type: string + description: The access key ID associated with the API token. + secret_access_key: + type: string + description: >- + The secret access token generated for the above access + key ID. + account_id: + type: string + description: The ID of the account associated with the API token. + required: + - access_key_id + - secret_access_key description: The Cloudflare API token configuration. comment: type: string description: Comment associated with the credential. databricks_gcp_service_account: - type: string + type: object + properties: {} description: The Databricks managed GCP service account configuration. force: - type: string + type: boolean description: >- Force update even if there are dependent external locations or external tables. isolation_mode: type: string + x-enum: + - ISOLATION_MODE_ISOLATED + - ISOLATION_MODE_OPEN description: >- Whether the current securable is accessible from all workspaces or a specific set of workspaces. @@ -7090,12 +9952,12 @@ paths: type: string description: Username of current owner of credential. read_only: - type: string + type: boolean description: >- Whether the credential is usable only for read operations. Only applicable when purpose is **STORAGE**. skip_validation: - type: string + type: boolean description: >- Supplying true to this argument skips validation of the updated credential. @@ -7181,25 +10043,87 @@ paths: type: object properties: aws_iam_role: - type: string + type: object + properties: + role_arn: + type: string + description: >- + The Amazon Resource Name (ARN) of the AWS IAM role used + to vend temporary credentials. + required: + - role_arn description: The AWS IAM role configuration. azure_managed_identity: - type: string + type: object + properties: + access_connector_id: + type: string + description: >- + The Azure resource ID of the Azure Databricks Access + Connector. Use the format + `/subscriptions/{guid}/resourceGroups/{rg-name}/providers/Microsoft.Databricks/accessConnectors/{connector-name}`. + managed_identity_id: + type: string + description: >- + The Azure resource ID of the managed identity. Use the + format, + `/subscriptions/{guid}/resourceGroups/{rg-name}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identity-name}` + This is only available for user-assgined identities. For + system-assigned identities, the access_connector_id is + used to identify the identity. If this field is not + provided, then we assume the AzureManagedIdentity is + using the system-assigned identity. + required: + - access_connector_id description: The Azure managed identity configuration. azure_service_principal: - type: string + type: object + properties: + directory_id: + type: string + description: >- + The directory ID corresponding to the Azure Active + Directory (AAD) tenant of the application. + application_id: + type: string + description: >- + The application ID of the application registration + within the referenced AAD tenant. + client_secret: + type: string + description: The client secret generated for the above app ID in AAD. + required: + - directory_id + - application_id + - client_secret description: The Azure service principal configuration. cloudflare_api_token: - type: string + type: object + properties: + access_key_id: + type: string + description: The access key ID associated with the API token. + secret_access_key: + type: string + description: >- + The secret access token generated for the above access + key ID. + account_id: + type: string + description: The ID of the account associated with the API token. + required: + - access_key_id + - secret_access_key description: The Cloudflare API token configuration. databricks_gcp_service_account: - type: string + type: object + properties: {} description: The Databricks created GCP service account configuration. external_location_name: type: string description: The name of an existing external location to validate. read_only: - type: string + type: boolean description: >- Whether the storage credential is only usable for read operations. @@ -7390,7 +10314,7 @@ paths: in: query required: false schema: - type: string + type: integer description: >- Maximum number of schemas to return. - When set to 0, the page length is set to a server configured value (recommended); - When set @@ -7468,7 +10392,66 @@ paths: type: string description: The full name of the table referenced by the constraint. constraint: - type: string + type: object + properties: + foreign_key_constraint: + type: object + properties: + name: + type: string + child_columns: + type: array + items: + type: string + description: Column names for this constraint. + parent_table: + type: string + description: The full name of the parent constraint. + parent_columns: + type: array + items: + type: string + description: Column names for this constraint. + rely: + type: boolean + description: >- + True if the constraint is RELY, false or unset if + NORELY. + required: + - name + - child_columns + - parent_table + - parent_columns + named_table_constraint: + type: object + properties: + name: + type: string + required: + - name + primary_key_constraint: + type: object + properties: + name: + type: string + child_columns: + type: array + items: + type: string + description: Column names for this constraint. + rely: + type: boolean + description: >- + True if the constraint is RELY, false or unset if + NORELY. + timeseries_columns: + type: array + items: + type: string + description: Column names that represent a timeseries. + required: + - name + - child_columns description: ':returns: :class:`TableConstraint`' required: - full_name_arg @@ -7654,21 +10637,201 @@ paths: description: Name of parent schema relative to its parent catalog. table_type: type: string + x-enum: + - EXTERNAL + - EXTERNAL_SHALLOW_CLONE + - FOREIGN + - MANAGED + - MANAGED_SHALLOW_CLONE + - MATERIALIZED_VIEW + - METRIC_VIEW + - STREAMING_TABLE + - VIEW description: ':param data_source_format: :class:`DataSourceFormat`' data_source_format: type: string + x-enum: + - AVRO + - BIGQUERY_FORMAT + - CSV + - DATABRICKS_FORMAT + - DATABRICKS_ROW_STORE_FORMAT + - DELTA + - DELTASHARING + - DELTA_UNIFORM_HUDI + - DELTA_UNIFORM_ICEBERG + - HIVE + - ICEBERG + - JSON + - MONGODB_FORMAT + - MYSQL_FORMAT + - NETSUITE_FORMAT + - ORACLE_FORMAT + - ORC + - PARQUET + - POSTGRESQL_FORMAT + - REDSHIFT_FORMAT + - SALESFORCE_DATA_CLOUD_FORMAT + - SALESFORCE_FORMAT + - SNOWFLAKE_FORMAT + - SQLDW_FORMAT + - SQLSERVER_FORMAT + - TERADATA_FORMAT + - TEXT + - UNITY_CATALOG + - VECTOR_INDEX_FORMAT + - WORKDAY_RAAS_FORMAT + description: Data source format storage_location: type: string description: >- Storage root URL for table (for **MANAGED**, **EXTERNAL** tables). columns: - type: string + type: array + items: + type: object + properties: + comment: + type: string + mask: + type: object + properties: + function_name: + type: string + using_column_names: + type: array + items: + type: string + description: >- + The list of additional table columns to be passed + as input to the column mask function. The first + arg of the mask function should be of the type of + the column being masked and the types of the rest + of the args should match the types of columns in + 'using_column_names'. + name: + type: string + description: Name of Column. + nullable: + type: boolean + description: 'Whether field may be Null (default: true).' + partition_index: + type: integer + description: Partition index for column. + position: + type: integer + description: Ordinal position of column (starting at position 0). + type_interval_type: + type: string + description: Format of IntervalType. + type_json: + type: string + description: Full data type specification, JSON-serialized. + type_name: + type: string + x-enum: + - ARRAY + - BINARY + - BOOLEAN + - BYTE + - CHAR + - DATE + - DECIMAL + - DOUBLE + - FLOAT + - GEOGRAPHY + - GEOMETRY + - INT + - INTERVAL + - LONG + - MAP + - 'NULL' + - SHORT + - STRING + - STRUCT + - TABLE_TYPE + - TIMESTAMP + - TIMESTAMP_NTZ + - USER_DEFINED_TYPE + - VARIANT + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know how many + members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members can + have their own + + attributes -- see the documentation for details. + type_precision: + type: integer + description: Digits of precision; required for DecimalTypes. + type_scale: + type: integer + description: Digits to right of decimal; Required for DecimalTypes. + type_text: + type: string + description: >- + Full data type specification as SQL/catalogString + text. description: >- The array of __ColumnInfo__ definitions of the table's columns. properties: - type: string + type: object description: A map of key-value properties attached to the securable. required: - name @@ -7782,7 +10945,7 @@ paths: in: query required: false schema: - type: string + type: boolean description: >- Whether to include tables in the response for which the principal can only access selective metadata for. @@ -7790,7 +10953,7 @@ paths: in: query required: false schema: - type: string + type: boolean description: >- Whether to include a manifest containing table capabilities in the response. @@ -7798,7 +10961,7 @@ paths: in: query required: false schema: - type: string + type: integer description: >- Maximum number of tables to return. If not set, all the tables are returned (not recommended). - when set to a value greater than 0, @@ -7810,13 +10973,13 @@ paths: in: query required: false schema: - type: string + type: boolean description: Whether to omit the columns of the table from the response or not. - name: omit_properties in: query required: false schema: - type: string + type: boolean description: >- Whether to omit the properties of the table from the response or not. @@ -7824,7 +10987,7 @@ paths: in: query required: false schema: - type: string + type: boolean description: >- Whether to omit the username of the table (e.g. owner, updated_by, created_by) from the response or not. @@ -7946,7 +11109,7 @@ paths: in: query required: false schema: - type: string + type: boolean description: >- Whether to include tables in the response for which the principal can only access selective metadata for. @@ -7954,13 +11117,13 @@ paths: in: query required: false schema: - type: string + type: boolean description: Whether delta metadata should be included in the response. - name: include_manifest_capabilities in: query required: false schema: - type: string + type: boolean description: >- Whether to include a manifest containing table capabilities in the response. @@ -8171,7 +11334,7 @@ paths: in: query required: false schema: - type: string + type: boolean description: >- Whether to include a manifest containing table capabilities in the response. @@ -8179,7 +11342,7 @@ paths: in: query required: false schema: - type: string + type: integer description: >- Maximum number of summaries for tables to return. If not set, the page length is set to a server configured value (10000, as of @@ -8284,9 +11447,13 @@ paths: description: URL for path-based access. operation: type: string + x-enum: + - PATH_CREATE_TABLE + - PATH_READ + - PATH_READ_WRITE description: The operation being performed on the path. dry_run: - type: string + type: boolean description: >- Optional. When set to true, the service will not validate that the generated credentials can perform write operations, @@ -8351,6 +11518,9 @@ paths: properties: operation: type: string + x-enum: + - READ + - READ_WRITE description: >- The operation performed against the table data, either READ or READ_WRITE. If READ_WRITE is specified, the credentials @@ -8458,6 +11628,9 @@ paths: description: The name of the volume volume_type: type: string + x-enum: + - EXTERNAL + - MANAGED description: >- The type of the volume. An external volume is located in the specified external location. A managed volume is located in @@ -8577,7 +11750,7 @@ paths: in: query required: false schema: - type: string + type: boolean description: >- Whether to include volumes in the response for which the principal can only access selective metadata for @@ -8585,7 +11758,7 @@ paths: in: query required: false schema: - type: string + type: integer description: >- Maximum number of volumes to return (page length). If not set, the page length is set to a server configured value (10000, as of @@ -8706,7 +11879,7 @@ paths: in: query required: false schema: - type: string + type: boolean description: >- Whether to include volumes in the response for which the principal can only access selective metadata for @@ -8889,10 +12062,14 @@ paths: type: object properties: assign_workspaces: - type: string + type: array + items: + type: integer description: A list of workspace IDs. unassign_workspaces: - type: string + type: array + items: + type: integer description: A list of workspace IDs. responses: '200': @@ -8978,7 +12155,7 @@ paths: in: query required: false schema: - type: string + type: integer description: >- Maximum number of workspace bindings to return. - When set to 0, the page length is set to a server configured value (recommended); - @@ -9061,14 +12238,40 @@ paths: type: object properties: add: - type: string + type: array + items: + type: object + properties: + workspace_id: + type: integer + binding_type: + type: string + x-enum: + - BINDING_TYPE_READ_ONLY + - BINDING_TYPE_READ_WRITE + description: One of READ_WRITE/READ_ONLY. Default is READ_WRITE. + required: + - workspace_id description: >- List of workspace bindings to add. If a binding for the workspace already exists with a different binding_type, adding it again with a new binding_type will update the existing binding (e.g., from READ_WRITE to READ_ONLY). remove: - type: string + type: array + items: + type: object + properties: + workspace_id: + type: integer + binding_type: + type: string + x-enum: + - BINDING_TYPE_READ_ONLY + - BINDING_TYPE_READ_WRITE + description: One of READ_WRITE/READ_ONLY. Default is READ_WRITE. + required: + - workspace_id description: List of workspace bindings to remove. responses: '200': @@ -12818,20 +16021,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -12892,20 +16095,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -12957,20 +16160,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -12999,20 +16202,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -13040,20 +16243,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -13083,20 +16286,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -13125,20 +16328,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -13220,20 +16423,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -13265,20 +16468,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -13307,20 +16510,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -13350,20 +16553,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -13391,20 +16594,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -13433,20 +16636,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -13474,20 +16677,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -13517,20 +16720,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -13558,20 +16761,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -13600,20 +16803,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -13642,20 +16845,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -13684,20 +16887,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -13733,20 +16936,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -13787,20 +16990,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -13832,20 +17035,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -13912,20 +17115,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -14008,20 +17211,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -14050,20 +17253,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -14093,20 +17296,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -14183,20 +17386,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -14229,20 +17432,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -14362,20 +17565,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -14404,20 +17607,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -14467,20 +17670,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -14509,20 +17712,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -14558,20 +17761,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -14627,20 +17830,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: diff --git a/providers/src/databricks_workspace/v00.00.00000/services/cleanrooms.yaml b/providers/src/databricks_workspace/v00.00.00000/services/cleanrooms.yaml index 5d82ac6b..aea0a912 100644 --- a/providers/src/databricks_workspace/v00.00.00000/services/cleanrooms.yaml +++ b/providers/src/databricks_workspace/v00.00.00000/services/cleanrooms.yaml @@ -6,7 +6,7 @@ info: APIs), generated from the Databricks Python SDK. version: 0.1.0 x-stackql-sdk-version: 0.86.0 - x-stackql-date-generated: '2026-02-19' + x-stackql-date-generated: '2026-02-24' x-stackql-sdk-namespace: databricks.sdk.service.cleanrooms servers: - url: https://{deployment_name}.cloud.databricks.com @@ -65,7 +65,7 @@ paths: in: query required: true schema: - type: string + $ref: '#/components/schemas/CleanRoomAssetAssetType' description: Asset type. Only NOTEBOOK_FILE is supported. responses: '200': @@ -130,13 +130,13 @@ paths: in: query required: true schema: - type: string + $ref: '#/components/schemas/CleanRoomAssetAssetType' description: Asset type. Only NOTEBOOK_FILE is supported. - name: page_size in: query required: false schema: - type: string + type: integer description: Maximum number of asset revisions to return. Defaults to 10. - name: page_token in: query @@ -212,7 +212,184 @@ paths: type: object properties: asset: - type: string + type: object + properties: + name: + type: string + description: >- + A fully qualified name that uniquely identifies the + asset within the clean room. This is also the name + displayed in the clean room UI. For UC securable assets + (tables, volumes, etc.), the format is + *shared_catalog*.*shared_schema*.*asset_name* For + notebooks, the name is the notebook file name. For jar + analyses, the name is the jar analysis name. + asset_type: + type: string + x-enum: + - FOREIGN_TABLE + - NOTEBOOK_FILE + - TABLE + - VIEW + - VOLUME + description: The type of the asset. + added_at: + type: integer + description: >- + When the asset is added to the clean room, in epoch + milliseconds. + clean_room_name: + type: string + description: >- + The name of the clean room this asset belongs to. This + field is required for create operations and populated by + the server for responses. + foreign_table: + type: object + properties: + columns: + type: string + description: >- + Foreign table details available to all collaborators of + the clean room. Present if and only if **asset_type** is + **FOREIGN_TABLE** + foreign_table_local_details: + type: object + properties: + local_name: + type: string + required: + - local_name + description: >- + Local details for a foreign that are only available to + its owner. Present if and only if **asset_type** is + **FOREIGN_TABLE** + notebook: + type: object + properties: + notebook_content: + type: string + etag: + type: string + description: >- + Server generated etag that represents the notebook + version. + review_state: + type: string + x-enum: + - APPROVED + - PENDING + - REJECTED + description: Top-level status derived from all reviews + reviews: + type: array + items: + type: object + properties: + comment: + type: string + created_at_millis: + type: integer + description: >- + When the review was submitted, in epoch + milliseconds + review_state: + type: string + x-enum: + - APPROVED + - PENDING + - REJECTED + description: Review outcome + review_sub_reason: + type: string + x-enum: + - AUTO_APPROVED + - BACKFILLED + description: >- + Specified when the review was not explicitly + made by a user + reviewer_collaborator_alias: + type: string + description: Collaborator alias of the reviewer + description: All existing approvals or rejections + runner_collaborator_aliases: + type: array + items: + type: string + description: Aliases of collaborators that can run the notebook. + required: + - notebook_content + description: >- + Notebook details available to all collaborators of the + clean room. Present if and only if **asset_type** is + **NOTEBOOK_FILE** + owner_collaborator_alias: + type: string + description: The alias of the collaborator who owns this asset + status: + type: string + x-enum: + - ACTIVE + - PENDING + - PERMISSION_DENIED + description: Status of the asset + table: + type: object + properties: + columns: + type: string + description: >- + Table details available to all collaborators of the + clean room. Present if and only if **asset_type** is + **TABLE** + table_local_details: + type: object + properties: + local_name: + type: string + partitions: + type: string + description: >- + Partition filtering specification for a shared + table. + required: + - local_name + description: >- + Local details for a table that are only available to its + owner. Present if and only if **asset_type** is + **TABLE** + view: + type: object + properties: + columns: + type: string + description: >- + View details available to all collaborators of the clean + room. Present if and only if **asset_type** is **VIEW** + view_local_details: + type: object + properties: + local_name: + type: string + required: + - local_name + description: >- + Local details for a view that are only available to its + owner. Present if and only if **asset_type** is **VIEW** + volume_local_details: + type: object + properties: + local_name: + type: string + required: + - local_name + description: >- + Local details for a volume that are only available to + its owner. Present if and only if **asset_type** is + **VOLUME** + required: + - name + - asset_type description: ':returns: :class:`CleanRoomAsset`' required: - asset @@ -327,9 +504,31 @@ paths: properties: asset_type: type: string + x-enum: + - FOREIGN_TABLE + - NOTEBOOK_FILE + - TABLE + - VIEW + - VOLUME description: Asset type. Can either be NOTEBOOK_FILE or JAR_ANALYSIS. notebook_review: - type: string + type: object + properties: + etag: + type: string + review_state: + type: string + x-enum: + - APPROVED + - PENDING + - REJECTED + description: Review outcome + comment: + type: string + description: Review comment + required: + - etag + - review_state description: ':returns: :class:`CreateCleanRoomAssetReviewResponse`' required: - asset_type @@ -392,7 +591,7 @@ paths: in: query required: true schema: - type: string + $ref: '#/components/schemas/CleanRoomAssetAssetType' description: The type of the asset. responses: '200': @@ -450,7 +649,7 @@ paths: in: query required: true schema: - type: string + $ref: '#/components/schemas/CleanRoomAssetAssetType' description: The type of the asset. responses: '200': @@ -536,9 +735,192 @@ paths: properties: asset_type: type: string + x-enum: + - FOREIGN_TABLE + - NOTEBOOK_FILE + - TABLE + - VIEW + - VOLUME description: The type of the asset. asset: - type: string + type: object + properties: + name: + type: string + description: >- + A fully qualified name that uniquely identifies the + asset within the clean room. This is also the name + displayed in the clean room UI. For UC securable assets + (tables, volumes, etc.), the format is + *shared_catalog*.*shared_schema*.*asset_name* For + notebooks, the name is the notebook file name. For jar + analyses, the name is the jar analysis name. + asset_type: + type: string + x-enum: + - FOREIGN_TABLE + - NOTEBOOK_FILE + - TABLE + - VIEW + - VOLUME + description: The type of the asset. + added_at: + type: integer + description: >- + When the asset is added to the clean room, in epoch + milliseconds. + clean_room_name: + type: string + description: >- + The name of the clean room this asset belongs to. This + field is required for create operations and populated by + the server for responses. + foreign_table: + type: object + properties: + columns: + type: string + description: >- + Foreign table details available to all collaborators of + the clean room. Present if and only if **asset_type** is + **FOREIGN_TABLE** + foreign_table_local_details: + type: object + properties: + local_name: + type: string + required: + - local_name + description: >- + Local details for a foreign that are only available to + its owner. Present if and only if **asset_type** is + **FOREIGN_TABLE** + notebook: + type: object + properties: + notebook_content: + type: string + etag: + type: string + description: >- + Server generated etag that represents the notebook + version. + review_state: + type: string + x-enum: + - APPROVED + - PENDING + - REJECTED + description: Top-level status derived from all reviews + reviews: + type: array + items: + type: object + properties: + comment: + type: string + created_at_millis: + type: integer + description: >- + When the review was submitted, in epoch + milliseconds + review_state: + type: string + x-enum: + - APPROVED + - PENDING + - REJECTED + description: Review outcome + review_sub_reason: + type: string + x-enum: + - AUTO_APPROVED + - BACKFILLED + description: >- + Specified when the review was not explicitly + made by a user + reviewer_collaborator_alias: + type: string + description: Collaborator alias of the reviewer + description: All existing approvals or rejections + runner_collaborator_aliases: + type: array + items: + type: string + description: Aliases of collaborators that can run the notebook. + required: + - notebook_content + description: >- + Notebook details available to all collaborators of the + clean room. Present if and only if **asset_type** is + **NOTEBOOK_FILE** + owner_collaborator_alias: + type: string + description: The alias of the collaborator who owns this asset + status: + type: string + x-enum: + - ACTIVE + - PENDING + - PERMISSION_DENIED + description: Status of the asset + table: + type: object + properties: + columns: + type: string + description: >- + Table details available to all collaborators of the + clean room. Present if and only if **asset_type** is + **TABLE** + table_local_details: + type: object + properties: + local_name: + type: string + partitions: + type: string + description: >- + Partition filtering specification for a shared + table. + required: + - local_name + description: >- + Local details for a table that are only available to its + owner. Present if and only if **asset_type** is + **TABLE** + view: + type: object + properties: + columns: + type: string + description: >- + View details available to all collaborators of the clean + room. Present if and only if **asset_type** is **VIEW** + view_local_details: + type: object + properties: + local_name: + type: string + required: + - local_name + description: >- + Local details for a view that are only available to its + owner. Present if and only if **asset_type** is **VIEW** + volume_local_details: + type: object + properties: + local_name: + type: string + required: + - local_name + description: >- + Local details for a volume that are only available to + its owner. Present if and only if **asset_type** is + **VOLUME** + required: + - name + - asset_type description: >- The asset to update. The asset's `name` and `asset_type` fields are used to identify the asset to update. @@ -593,7 +975,37 @@ paths: type: object properties: auto_approval_rule: - type: string + type: object + properties: + author_collaborator_alias: + type: string + author_scope: + type: string + x-enum: + - ANY_AUTHOR + description: >- + Scope of authors covered by the rule. Only one of + `author_collaborator_alias` and `author_scope` can be + set. + clean_room_name: + type: string + description: >- + The name of the clean room this auto-approval rule + belongs to. + created_at: + type: integer + description: >- + Timestamp of when the rule was created, in epoch + milliseconds. + rule_id: + type: string + description: A generated UUID identifying the rule. + rule_owner_collaborator_alias: + type: string + description: The owner of the rule to whom the rule applies. + runner_collaborator_alias: + type: string + description: Collaborator alias of the runner covered by the rule. description: ':returns: :class:`CleanRoomAutoApprovalRule`' required: - auto_approval_rule @@ -645,7 +1057,7 @@ paths: in: query required: false schema: - type: string + type: integer - name: page_token in: query required: false @@ -791,7 +1203,37 @@ paths: type: object properties: auto_approval_rule: - type: string + type: object + properties: + author_collaborator_alias: + type: string + author_scope: + type: string + x-enum: + - ANY_AUTHOR + description: >- + Scope of authors covered by the rule. Only one of + `author_collaborator_alias` and `author_scope` can be + set. + clean_room_name: + type: string + description: >- + The name of the clean room this auto-approval rule + belongs to. + created_at: + type: integer + description: >- + Timestamp of when the rule was created, in epoch + milliseconds. + rule_id: + type: string + description: A generated UUID identifying the rule. + rule_owner_collaborator_alias: + type: string + description: The owner of the rule to whom the rule applies. + runner_collaborator_alias: + type: string + description: Collaborator alias of the runner covered by the rule. description: >- The auto-approval rule to update. The rule_id field is used to identify the rule to update. @@ -853,7 +1295,7 @@ paths: in: query required: false schema: - type: string + type: integer description: >- The maximum number of task runs to return. Currently ignored - all runs will be returned. @@ -924,7 +1366,346 @@ paths: type: object properties: clean_room: - type: string + type: object + properties: + access_restricted: + type: string + x-enum: + - CSP_MISMATCH + - NO_RESTRICTION + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know how many + members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members can + have their own + + attributes -- see the documentation for details. + comment: + type: string + created_at: + type: integer + description: When the clean room was created, in epoch milliseconds. + local_collaborator_alias: + type: string + description: >- + The alias of the collaborator tied to the local clean + room. + name: + type: string + description: >- + The name of the clean room. It should follow [UC + securable naming requirements]. [UC securable naming + requirements]: + https://docs.databricks.com/en/data-governance/unity-catalog/index.html#securable-object-naming-requirements + output_catalog: + type: object + properties: + catalog_name: + type: string + status: + type: string + x-enum: + - CREATED + - NOT_CREATED + - NOT_ELIGIBLE + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know how many + members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members + can have their own + + attributes -- see the documentation for details. + description: >- + Output catalog of the clean room. It is an output only + field. Output catalog is manipulated using the separate + CreateCleanRoomOutputCatalog API. + owner: + type: string + description: >- + This is the Databricks username of the owner of the + local clean room securable for permission management. + remote_detailed_info: + type: object + properties: + central_clean_room_id: + type: string + description: Central clean room ID. + cloud_vendor: + type: string + description: >- + Cloud vendor (aws,azure,gcp) of the central clean + room. + collaborators: + type: array + items: + type: object + properties: + collaborator_alias: + type: string + description: >- + Collaborator alias specified by the clean room + creator. It is unique across all collaborators + of this clean room, and used to derive + multiple values internally such as catalog + alias and clean room name for single metastore + clean rooms. It should follow [UC securable + naming requirements]. [UC securable naming + requirements]: + https://docs.databricks.com/en/data-governance/unity-catalog/index.html#securable-object-naming-requirements + display_name: + type: string + description: >- + Generated display name for the collaborator. + In the case of a single metastore clean room, + it is the clean room name. For x-metastore + clean rooms, it is the organization name of + the metastore. It is not restricted to these + values and could change in the future + global_metastore_id: + type: string + description: >- + The global Unity Catalog metastore ID of the + collaborator. The identifier is of format + cloud:region:metastore-uuid. + invite_recipient_email: + type: string + description: >- + Email of the user who is receiving the clean + room "invitation". It should be empty for the + creator of the clean room, and non-empty for + the invitees of the clean room. It is only + returned in the output when clean room creator + calls GET + invite_recipient_workspace_id: + type: integer + description: >- + Workspace ID of the user who is receiving the + clean room "invitation". Must be specified if + invite_recipient_email is specified. It should + be empty when the collaborator is the creator + of the clean room. + organization_name: + type: string + description: >- + [Organization + name](:method:metastores/list#metastores-delta_sharing_organization_name) + configured in the metastore + required: + - collaborator_alias + description: Publicly visible clean room collaborator. + description: >- + Collaborators in the central clean room. There + should one and only one collaborator in the list + that satisfies the owner condition: 1. It has the + creator's global_metastore_id (determined by caller + of CreateCleanRoom). 2. Its invite_recipient_email + is empty. + compliance_security_profile: + type: object + properties: + compliance_standards: + type: string + description: >- + The list of compliance standards that the + compliance security profile is configured to + enforce. + is_enabled: + type: boolean + description: >- + Whether the compliance security profile is + enabled. + description: >- + The compliance security profile used to process + regulated data following compliance standards. + creator: + type: object + properties: + collaborator_alias: + type: string + description: >- + Collaborator alias specified by the clean room + creator. It is unique across all collaborators + of this clean room, and used to derive multiple + values internally such as catalog alias and + clean room name for single metastore clean + rooms. It should follow [UC securable naming + requirements]. [UC securable naming + requirements]: + https://docs.databricks.com/en/data-governance/unity-catalog/index.html#securable-object-naming-requirements + display_name: + type: string + description: >- + Generated display name for the collaborator. In + the case of a single metastore clean room, it is + the clean room name. For x-metastore clean + rooms, it is the organization name of the + metastore. It is not restricted to these values + and could change in the future + global_metastore_id: + type: string + description: >- + The global Unity Catalog metastore ID of the + collaborator. The identifier is of format + cloud:region:metastore-uuid. + invite_recipient_email: + type: string + description: >- + Email of the user who is receiving the clean + room "invitation". It should be empty for the + creator of the clean room, and non-empty for the + invitees of the clean room. It is only returned + in the output when clean room creator calls GET + invite_recipient_workspace_id: + type: integer + description: >- + Workspace ID of the user who is receiving the + clean room "invitation". Must be specified if + invite_recipient_email is specified. It should + be empty when the collaborator is the creator of + the clean room. + organization_name: + type: string + description: >- + [Organization + name](:method:metastores/list#metastores-delta_sharing_organization_name) + configured in the metastore + required: + - collaborator_alias + description: Collaborator who creates the clean room. + egress_network_policy: + type: string + description: >- + Egress network policy to apply to the central clean + room workspace. + region: + type: string + description: Region of the central clean room. + description: >- + Central clean room details. During creation, users need + to specify cloud_vendor, region, and + collaborators.global_metastore_id. This field will not + be filled in the ListCleanRooms call. + status: + type: string + x-enum: + - ACTIVE + - DELETED + - FAILED + - PROVISIONING + description: Clean room status. + updated_at: + type: integer + description: >- + When the clean room was last updated, in epoch + milliseconds. description: >- :returns: Long-running operation waiter for :class:`CleanRoom`. See :method:wait_get_clean_room_active @@ -976,7 +1757,7 @@ paths: in: query required: false schema: - type: string + type: integer description: >- Maximum number of clean rooms to return (i.e., the page length). Defaults to 100. @@ -1034,7 +1815,77 @@ paths: type: object properties: output_catalog: - type: string + type: object + properties: + catalog_name: + type: string + status: + type: string + x-enum: + - CREATED + - NOT_CREATED + - NOT_ELIGIBLE + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know how many + members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members can + have their own + + attributes -- see the documentation for details. description: ':returns: :class:`CreateCleanRoomOutputCatalogResponse`' required: - output_catalog @@ -1178,7 +2029,346 @@ paths: type: object properties: clean_room: - type: string + type: object + properties: + access_restricted: + type: string + x-enum: + - CSP_MISMATCH + - NO_RESTRICTION + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know how many + members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members can + have their own + + attributes -- see the documentation for details. + comment: + type: string + created_at: + type: integer + description: When the clean room was created, in epoch milliseconds. + local_collaborator_alias: + type: string + description: >- + The alias of the collaborator tied to the local clean + room. + name: + type: string + description: >- + The name of the clean room. It should follow [UC + securable naming requirements]. [UC securable naming + requirements]: + https://docs.databricks.com/en/data-governance/unity-catalog/index.html#securable-object-naming-requirements + output_catalog: + type: object + properties: + catalog_name: + type: string + status: + type: string + x-enum: + - CREATED + - NOT_CREATED + - NOT_ELIGIBLE + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know how many + members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members + can have their own + + attributes -- see the documentation for details. + description: >- + Output catalog of the clean room. It is an output only + field. Output catalog is manipulated using the separate + CreateCleanRoomOutputCatalog API. + owner: + type: string + description: >- + This is the Databricks username of the owner of the + local clean room securable for permission management. + remote_detailed_info: + type: object + properties: + central_clean_room_id: + type: string + description: Central clean room ID. + cloud_vendor: + type: string + description: >- + Cloud vendor (aws,azure,gcp) of the central clean + room. + collaborators: + type: array + items: + type: object + properties: + collaborator_alias: + type: string + description: >- + Collaborator alias specified by the clean room + creator. It is unique across all collaborators + of this clean room, and used to derive + multiple values internally such as catalog + alias and clean room name for single metastore + clean rooms. It should follow [UC securable + naming requirements]. [UC securable naming + requirements]: + https://docs.databricks.com/en/data-governance/unity-catalog/index.html#securable-object-naming-requirements + display_name: + type: string + description: >- + Generated display name for the collaborator. + In the case of a single metastore clean room, + it is the clean room name. For x-metastore + clean rooms, it is the organization name of + the metastore. It is not restricted to these + values and could change in the future + global_metastore_id: + type: string + description: >- + The global Unity Catalog metastore ID of the + collaborator. The identifier is of format + cloud:region:metastore-uuid. + invite_recipient_email: + type: string + description: >- + Email of the user who is receiving the clean + room "invitation". It should be empty for the + creator of the clean room, and non-empty for + the invitees of the clean room. It is only + returned in the output when clean room creator + calls GET + invite_recipient_workspace_id: + type: integer + description: >- + Workspace ID of the user who is receiving the + clean room "invitation". Must be specified if + invite_recipient_email is specified. It should + be empty when the collaborator is the creator + of the clean room. + organization_name: + type: string + description: >- + [Organization + name](:method:metastores/list#metastores-delta_sharing_organization_name) + configured in the metastore + required: + - collaborator_alias + description: Publicly visible clean room collaborator. + description: >- + Collaborators in the central clean room. There + should one and only one collaborator in the list + that satisfies the owner condition: 1. It has the + creator's global_metastore_id (determined by caller + of CreateCleanRoom). 2. Its invite_recipient_email + is empty. + compliance_security_profile: + type: object + properties: + compliance_standards: + type: string + description: >- + The list of compliance standards that the + compliance security profile is configured to + enforce. + is_enabled: + type: boolean + description: >- + Whether the compliance security profile is + enabled. + description: >- + The compliance security profile used to process + regulated data following compliance standards. + creator: + type: object + properties: + collaborator_alias: + type: string + description: >- + Collaborator alias specified by the clean room + creator. It is unique across all collaborators + of this clean room, and used to derive multiple + values internally such as catalog alias and + clean room name for single metastore clean + rooms. It should follow [UC securable naming + requirements]. [UC securable naming + requirements]: + https://docs.databricks.com/en/data-governance/unity-catalog/index.html#securable-object-naming-requirements + display_name: + type: string + description: >- + Generated display name for the collaborator. In + the case of a single metastore clean room, it is + the clean room name. For x-metastore clean + rooms, it is the organization name of the + metastore. It is not restricted to these values + and could change in the future + global_metastore_id: + type: string + description: >- + The global Unity Catalog metastore ID of the + collaborator. The identifier is of format + cloud:region:metastore-uuid. + invite_recipient_email: + type: string + description: >- + Email of the user who is receiving the clean + room "invitation". It should be empty for the + creator of the clean room, and non-empty for the + invitees of the clean room. It is only returned + in the output when clean room creator calls GET + invite_recipient_workspace_id: + type: integer + description: >- + Workspace ID of the user who is receiving the + clean room "invitation". Must be specified if + invite_recipient_email is specified. It should + be empty when the collaborator is the creator of + the clean room. + organization_name: + type: string + description: >- + [Organization + name](:method:metastores/list#metastores-delta_sharing_organization_name) + configured in the metastore + required: + - collaborator_alias + description: Collaborator who creates the clean room. + egress_network_policy: + type: string + description: >- + Egress network policy to apply to the central clean + room workspace. + region: + type: string + description: Region of the central clean room. + description: >- + Central clean room details. During creation, users need + to specify cloud_vendor, region, and + collaborators.global_metastore_id. This field will not + be filled in the ListCleanRooms call. + status: + type: string + x-enum: + - ACTIVE + - DELETED + - FAILED + - PROVISIONING + description: Clean room status. + updated_at: + type: integer + description: >- + When the clean room was last updated, in epoch + milliseconds. description: ':returns: :class:`CleanRoom`' responses: '200': @@ -1692,20 +2882,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -1737,20 +2927,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -1780,20 +2970,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -1821,20 +3011,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -1864,20 +3054,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -1906,20 +3096,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -1949,20 +3139,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -1993,20 +3183,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: diff --git a/providers/src/databricks_workspace/v00.00.00000/services/compute.yaml b/providers/src/databricks_workspace/v00.00.00000/services/compute.yaml index ca249d65..b4ca49cb 100644 --- a/providers/src/databricks_workspace/v00.00.00000/services/compute.yaml +++ b/providers/src/databricks_workspace/v00.00.00000/services/compute.yaml @@ -6,7 +6,7 @@ info: APIs), generated from the Databricks Python SDK. version: 0.1.0 x-stackql-sdk-version: 0.86.0 - x-stackql-date-generated: '2026-02-19' + x-stackql-date-generated: '2026-02-24' x-stackql-sdk-namespace: databricks.sdk.service.compute servers: - url: https://{deployment_name}.cloud.databricks.com @@ -73,13 +73,107 @@ paths: type: string description: Additional human-readable description of the cluster policy. libraries: - type: string + type: array + items: + type: object + properties: + cran: + type: object + properties: + package: + type: string + repo: + type: string + description: >- + The repository where the package can be found. If + not specified, the default CRAN repo is used. + required: + - package + egg: + type: string + description: >- + Deprecated. URI of the egg library to install. + Installing Python egg files is deprecated and is not + supported in Databricks Runtime 14.0 and above. + jar: + type: string + description: >- + URI of the JAR library to install. Supported URIs + include Workspace paths, Unity Catalog Volumes paths, + and S3 URIs. For example: `{ "jar": + "/Workspace/path/to/library.jar" }`, `{ "jar" : + "/Volumes/path/to/library.jar" }` or `{ "jar": + "s3://my-bucket/library.jar" }`. If S3 is used, please + make sure the cluster has read access on the library. + You may need to launch the cluster with an IAM role to + access the S3 URI. + maven: + type: object + properties: + coordinates: + type: string + exclusions: + type: array + items: + type: string + description: >- + List of dependences to exclude. For example: + `["slf4j:slf4j", "*:hadoop-client"]`. Maven + dependency exclusions: + https://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html. + repo: + type: string + description: >- + Maven repo to install the Maven package from. If + omitted, both Maven Central Repository and Spark + Packages are searched. + required: + - coordinates + description: >- + Specification of a maven library to be installed. For + example: `{ "coordinates": "org.jsoup:jsoup:1.7.2" }` + pypi: + type: object + properties: + package: + type: string + repo: + type: string + description: >- + The repository where the package can be found. If + not specified, the default pip index is used. + required: + - package + description: >- + Specification of a PyPi library to be installed. For + example: `{ "package": "simplejson" }` + requirements: + type: string + description: >- + URI of the requirements.txt file to install. Only + Workspace paths and Unity Catalog Volumes paths are + supported. For example: `{ "requirements": + "/Workspace/path/to/requirements.txt" }` or `{ + "requirements" : "/Volumes/path/to/requirements.txt" + }` + whl: + type: string + description: >- + URI of the wheel library to install. Supported URIs + include Workspace paths, Unity Catalog Volumes paths, + and S3 URIs. For example: `{ "whl": + "/Workspace/path/to/library.whl" }`, `{ "whl" : + "/Volumes/path/to/library.whl" }` or `{ "whl": + "s3://my-bucket/library.whl" }`. If S3 is used, please + make sure the cluster has read access on the library. + You may need to launch the cluster with an IAM role to + access the S3 URI. description: >- A list of libraries to be installed on the next cluster restart that uses this policy. The maximum number of libraries is 500. max_clusters_per_user: - type: string + type: integer description: >- Max number of clusters per user that can be active using this policy. If not present, there is no max limit. @@ -235,13 +329,107 @@ paths: type: string description: Additional human-readable description of the cluster policy. libraries: - type: string + type: array + items: + type: object + properties: + cran: + type: object + properties: + package: + type: string + repo: + type: string + description: >- + The repository where the package can be found. If + not specified, the default CRAN repo is used. + required: + - package + egg: + type: string + description: >- + Deprecated. URI of the egg library to install. + Installing Python egg files is deprecated and is not + supported in Databricks Runtime 14.0 and above. + jar: + type: string + description: >- + URI of the JAR library to install. Supported URIs + include Workspace paths, Unity Catalog Volumes paths, + and S3 URIs. For example: `{ "jar": + "/Workspace/path/to/library.jar" }`, `{ "jar" : + "/Volumes/path/to/library.jar" }` or `{ "jar": + "s3://my-bucket/library.jar" }`. If S3 is used, please + make sure the cluster has read access on the library. + You may need to launch the cluster with an IAM role to + access the S3 URI. + maven: + type: object + properties: + coordinates: + type: string + exclusions: + type: array + items: + type: string + description: >- + List of dependences to exclude. For example: + `["slf4j:slf4j", "*:hadoop-client"]`. Maven + dependency exclusions: + https://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html. + repo: + type: string + description: >- + Maven repo to install the Maven package from. If + omitted, both Maven Central Repository and Spark + Packages are searched. + required: + - coordinates + description: >- + Specification of a maven library to be installed. For + example: `{ "coordinates": "org.jsoup:jsoup:1.7.2" }` + pypi: + type: object + properties: + package: + type: string + repo: + type: string + description: >- + The repository where the package can be found. If + not specified, the default pip index is used. + required: + - package + description: >- + Specification of a PyPi library to be installed. For + example: `{ "package": "simplejson" }` + requirements: + type: string + description: >- + URI of the requirements.txt file to install. Only + Workspace paths and Unity Catalog Volumes paths are + supported. For example: `{ "requirements": + "/Workspace/path/to/requirements.txt" }` or `{ + "requirements" : "/Volumes/path/to/requirements.txt" + }` + whl: + type: string + description: >- + URI of the wheel library to install. Supported URIs + include Workspace paths, Unity Catalog Volumes paths, + and S3 URIs. For example: `{ "whl": + "/Workspace/path/to/library.whl" }`, `{ "whl" : + "/Volumes/path/to/library.whl" }` or `{ "whl": + "s3://my-bucket/library.whl" }`. If S3 is used, please + make sure the cluster has read access on the library. + You may need to launch the cluster with an IAM role to + access the S3 URI. description: >- A list of libraries to be installed on the next cluster restart that uses this policy. The maximum number of libraries is 500. max_clusters_per_user: - type: string + type: integer description: >- Max number of clusters per user that can be active using this policy. If not present, there is no max limit. @@ -453,7 +641,23 @@ paths: type: object properties: access_control_list: - type: string + type: array + items: + type: object + properties: + group_name: + type: string + permission_level: + type: string + x-enum: + - CAN_USE + description: Permission level + service_principal_name: + type: string + description: application ID of a service principal + user_name: + type: string + description: name of the user description: ':returns: :class:`ClusterPolicyPermissions`' responses: '200': @@ -510,7 +714,23 @@ paths: type: object properties: access_control_list: - type: string + type: array + items: + type: object + properties: + group_name: + type: string + permission_level: + type: string + x-enum: + - CAN_USE + description: Permission level + service_principal_name: + type: string + description: application ID of a service principal + user_name: + type: string + description: name of the user description: ':returns: :class:`ClusterPolicyPermissions`' responses: '200': @@ -554,7 +774,7 @@ paths: in: query required: false schema: - type: string + $ref: '#/components/schemas/ListSortColumn' description: >- The cluster policy attribute to sort by. * `POLICY_CREATION_TIME` - Sort result list by policy creation time. * `POLICY_NAME` - Sort @@ -563,7 +783,7 @@ paths: in: query required: false schema: - type: string + $ref: '#/components/schemas/ListSortOrder' description: >- The order in which the policies get listed. * `DESC` - Sort result list in descending order. * `ASC` - Sort result list in ascending @@ -840,19 +1060,28 @@ paths: list of available Spark versions can be retrieved by using the :method:clusters/sparkVersions API call. apply_policy_default_values: - type: string + type: boolean description: >- When set to true, fixed and default values from the policy will be used for fields that are omitted. When set to false, only fixed values from the policy will be applied. autoscale: - type: string + type: object + properties: + max_workers: + type: integer + min_workers: + type: integer + description: >- + The minimum number of workers to which the cluster can + scale down when underutilized. It is also the initial + number of workers the cluster will have after creation. description: >- Parameters needed in order to automatically scale clusters up and down based on load. Note: autoscaling works best with DB runtime versions 3.0 or later. autotermination_minutes: - type: string + type: integer description: >- Automatically terminates the cluster after it is inactive for this time in minutes. If not set, this cluster will not @@ -860,24 +1089,286 @@ paths: must be between 10 and 10000 minutes. Users can also set this value to 0 to explicitly disable automatic termination. aws_attributes: - type: string + type: object + properties: + availability: + type: string + x-enum: + - ON_DEMAND + - SPOT + - SPOT_WITH_FALLBACK + description: >- + Availability type used for all subsequent nodes past the + `first_on_demand` ones. + + + Note: If `first_on_demand` is zero, this availability + type will be used for the entire cluster. + ebs_volume_count: + type: integer + description: >- + The number of volumes launched for each instance. Users + can choose up to 10 volumes. This feature is only + enabled for supported node types. Legacy node types + cannot specify custom EBS volumes. For node types with + no instance store, at least one EBS volume needs to be + specified; otherwise, cluster creation will fail. These + EBS volumes will be mounted at `/ebs0`, `/ebs1`, and + etc. Instance store volumes will be mounted at + `/local_disk0`, `/local_disk1`, and etc. If EBS volumes + are attached, Databricks will configure Spark to use + only the EBS volumes for scratch storage because + heterogenously sized scratch devices can lead to + inefficient disk utilization. If no EBS volumes are + attached, Databricks will configure Spark to use + instance store volumes. Please note that if EBS volumes + are specified, then the Spark configuration + `spark.local.dir` will be overridden. + ebs_volume_iops: + type: integer + description: >- + If using gp3 volumes, what IOPS to use for the disk. If + this is not set, the maximum performance of a gp2 volume + with the same volume size will be used. + ebs_volume_size: + type: integer + description: >- + The size of each EBS volume (in GiB) launched for each + instance. For general purpose SSD, this value must be + within the range 100 - 4096. For throughput optimized + HDD, this value must be within the range 500 - 4096. + ebs_volume_throughput: + type: integer + description: >- + If using gp3 volumes, what throughput to use for the + disk. If this is not set, the maximum performance of a + gp2 volume with the same volume size will be used. + ebs_volume_type: + type: string + x-enum: + - GENERAL_PURPOSE_SSD + - THROUGHPUT_OPTIMIZED_HDD + description: >- + The type of EBS volumes that will be launched with this + cluster. + first_on_demand: + type: integer + description: >- + The first `first_on_demand` nodes of the cluster will be + placed on on-demand instances. If this value is greater + than 0, the cluster driver node in particular will be + placed on an on-demand instance. If this value is + greater than or equal to the current cluster size, all + nodes will be placed on on-demand instances. If this + value is less than the current cluster size, + `first_on_demand` nodes will be placed on on-demand + instances and the remainder will be placed on + `availability` instances. Note that this value does not + affect cluster size and cannot currently be mutated over + the lifetime of a cluster. + instance_profile_arn: + type: string + description: >- + Nodes for this cluster will only be placed on AWS + instances with this instance profile. If ommitted, nodes + will be placed on instances without an IAM instance + profile. The instance profile must have previously been + added to the Databricks environment by an account + administrator. This feature may only be available to + certain customer plans. + spot_bid_price_percent: + type: integer + description: >- + The bid price for AWS spot instances, as a percentage of + the corresponding instance type's on-demand price. For + example, if this field is set to 50, and the cluster + needs a new `r3.xlarge` spot instance, then the bid + price is half of the price of on-demand `r3.xlarge` + instances. Similarly, if this field is set to 200, the + bid price is twice the price of on-demand `r3.xlarge` + instances. If not specified, the default value is 100. + When spot instances are requested for this cluster, only + spot instances whose bid price percentage matches this + field will be considered. Note that, for safety, we + enforce this field to be no more than 10000. + zone_id: + type: string + description: >- + Identifier for the availability zone/datacenter in which + the cluster resides. This string will be of a form like + "us-west-2a". The provided availability zone must be in + the same region as the Databricks deployment. For + example, "us-west-2a" is not a valid zone id if the + Databricks deployment resides in the "us-east-1" region. + This is an optional field at cluster creation, and if + not specified, the zone "auto" will be used. If the zone + specified is "auto", will try to place cluster in a zone + with high availability, and will retry placement in a + different AZ if there is not enough capacity. The list + of available zones as well as the default value can be + found by using the `List Zones` method. description: >- Attributes related to clusters running on Amazon Web Services. If not specified at cluster creation, a set of default values will be used. azure_attributes: - type: string + type: object + properties: + availability: + type: string + x-enum: + - ON_DEMAND_AZURE + - SPOT_AZURE + - SPOT_WITH_FALLBACK_AZURE + description: >- + Availability type used for all subsequent nodes past the + `first_on_demand` ones. Note: If `first_on_demand` is + zero, this availability type will be used for the entire + cluster. + first_on_demand: + type: integer + description: >- + The first `first_on_demand` nodes of the cluster will be + placed on on-demand instances. This value should be + greater than 0, to make sure the cluster driver node is + placed on an on-demand instance. If this value is + greater than or equal to the current cluster size, all + nodes will be placed on on-demand instances. If this + value is less than the current cluster size, + `first_on_demand` nodes will be placed on on-demand + instances and the remainder will be placed on + `availability` instances. Note that this value does not + affect cluster size and cannot currently be mutated over + the lifetime of a cluster. + log_analytics_info: + type: object + properties: + log_analytics_primary_key: + type: string + log_analytics_workspace_id: + type: string + description: >- + Defines values necessary to configure and run Azure Log + Analytics agent + spot_bid_max_price: + type: number + description: >- + The max bid price to be used for Azure spot instances. + The Max price for the bid cannot be higher than the + on-demand price of the instance. If not specified, the + default value is -1, which specifies that the instance + cannot be evicted on the basis of price, and only on the + basis of availability. Further, the value should > 0 or + -1. description: >- Attributes related to clusters running on Microsoft Azure. If not specified at cluster creation, a set of default values will be used. clone_from: - type: string + type: object + properties: + source_cluster_id: + type: string + required: + - source_cluster_id description: >- When specified, this clones libraries from a source cluster during the creation of a new cluster. cluster_log_conf: - type: string + type: object + properties: + dbfs: + type: object + properties: + destination: + type: string + description: dbfs destination, e.g. `dbfs:/my/path` + required: + - destination + description: >- + destination needs to be provided. e.g. `{ "dbfs" : { + "destination" : "dbfs:/home/cluster_log" } }` + s3: + type: object + properties: + destination: + type: string + description: >- + S3 destination, e.g. `s3://my-bucket/some-prefix` + Note that logs will be delivered using cluster iam + role, please make sure you set cluster iam role and + the role has write access to the destination. Please + also note that you cannot use AWS keys to deliver + logs. + canned_acl: + type: string + description: >- + (Optional) Set canned access control list for the + logs, e.g. `bucket-owner-full-control`. If + `canned_cal` is set, please make sure the cluster + iam role has `s3:PutObjectAcl` permission on the + destination bucket and prefix. The full list of + possible canned acl can be found at + http://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl. + Please also note that by default only the object + owner gets full controls. If you are using cross + account role for writing data, you may want to set + `bucket-owner-full-control` to make bucket owner + able to read the logs. + enable_encryption: + type: boolean + description: >- + (Optional) Flag to enable server side encryption, + `false` by default. + encryption_type: + type: string + description: >- + (Optional) The encryption type, it could be `sse-s3` + or `sse-kms`. It will be used only when encryption + is enabled and the default type is `sse-s3`. + endpoint: + type: string + description: >- + S3 endpoint, e.g. + `https://s3-us-west-2.amazonaws.com`. Either region + or endpoint needs to be set. If both are set, + endpoint will be used. + kms_key: + type: string + description: >- + (Optional) Kms key which will be used if encryption + is enabled and encryption type is set to `sse-kms`. + region: + type: string + description: >- + S3 region, e.g. `us-west-2`. Either region or + endpoint needs to be set. If both are set, endpoint + will be used. + required: + - destination + description: >- + destination and either the region or endpoint need to be + provided. e.g. `{ "s3": { "destination" : + "s3://cluster_log_bucket/prefix", "region" : "us-west-2" + } }` Cluster iam role is used to access s3, please make + sure the cluster iam role in `instance_profile_arn` has + permission to write data to the s3 destination. + volumes: + type: object + properties: + destination: + type: string + description: >- + UC Volumes destination, e.g. + `/Volumes/catalog/schema/vol1/init-scripts/setup-datadog.sh` + or + `dbfs:/Volumes/catalog/schema/vol1/init-scripts/setup-datadog.sh` + required: + - destination + description: >- + destination needs to be provided, e.g. `{ "volumes": { + "destination": + "/Volumes/catalog/schema/volume/cluster_log" } }` description: >- The configuration for delivering spark logs to a long-term storage destination. Three kinds of destinations (DBFS, S3 @@ -895,7 +1386,7 @@ paths: be an empty string. For job clusters, the cluster name is automatically set based on the job and job run IDs. custom_tags: - type: string + type: object description: >- Additional tags for cluster resources. Databricks will tag all cluster resources (e.g., AWS instances and EBS volumes) @@ -905,11 +1396,34 @@ paths: tags are a subset of the cluster tags data_security_mode: type: string + x-enum: + - DATA_SECURITY_MODE_AUTO + - DATA_SECURITY_MODE_DEDICATED + - DATA_SECURITY_MODE_STANDARD + - LEGACY_PASSTHROUGH + - LEGACY_SINGLE_USER + - LEGACY_SINGLE_USER_STANDARD + - LEGACY_TABLE_ACL + - NONE + - SINGLE_USER + - USER_ISOLATION description: >- :param docker_image: :class:`DockerImage` (optional) Custom docker image BYOC docker_image: - type: string + type: object + properties: + basic_auth: + type: object + properties: + password: + type: string + username: + type: string + description: Name of the user + url: + type: string + description: URL of the docker image. driver_instance_pool_id: type: string description: >- @@ -918,7 +1432,15 @@ paths: with id (instance_pool_id) if the driver pool is not assigned. driver_node_type_flexibility: - type: string + type: object + properties: + alternate_node_type_ids: + type: array + items: + type: string + description: >- + A list of node type IDs to use as fallbacks when the + primary node type is unavailable. description: Flexible node type configuration for the driver node. driver_node_type_id: type: string @@ -931,22 +1453,237 @@ paths: node_type_id, and virtual_cluster_size are specified, driver_node_type_id and node_type_id take precedence. enable_elastic_disk: - type: string + type: boolean description: >- Autoscaling Local Storage: when enabled, this cluster will dynamically acquire additional disk space when its Spark workers are running low on disk space. enable_local_disk_encryption: - type: string + type: boolean description: Whether to enable LUKS on cluster VMs' local disks gcp_attributes: - type: string + type: object + properties: + availability: + type: string + x-enum: + - ON_DEMAND_GCP + - PREEMPTIBLE_GCP + - PREEMPTIBLE_WITH_FALLBACK_GCP + description: >- + This field determines whether the spark executors will + be scheduled to run on preemptible VMs, on-demand VMs, + or preemptible VMs with a fallback to on-demand VMs if + the former is unavailable. + boot_disk_size: + type: integer + description: Boot disk size in GB + first_on_demand: + type: integer + description: >- + The first `first_on_demand` nodes of the cluster will be + placed on on-demand instances. This value should be + greater than 0, to make sure the cluster driver node is + placed on an on-demand instance. If this value is + greater than or equal to the current cluster size, all + nodes will be placed on on-demand instances. If this + value is less than the current cluster size, + `first_on_demand` nodes will be placed on on-demand + instances and the remainder will be placed on + `availability` instances. Note that this value does not + affect cluster size and cannot currently be mutated over + the lifetime of a cluster. + google_service_account: + type: string + description: >- + If provided, the cluster will impersonate the google + service account when accessing gcloud services (like + GCS). The google service account must have previously + been added to the Databricks environment by an account + administrator. + local_ssd_count: + type: integer + description: >- + If provided, each node (workers and driver) in the + cluster will have this number of local SSDs attached. + Each local SSD is 375GB in size. Refer to [GCP + documentation] for the supported number of local SSDs + for each instance type. [GCP documentation]: + https://cloud.google.com/compute/docs/disks/local-ssd#choose_number_local_ssds + use_preemptible_executors: + type: boolean + description: >- + This field determines whether the spark executors will + be scheduled to run on preemptible VMs (when set to + true) versus standard compute engine VMs (when set to + false; default). Note: Soon to be deprecated, use the + 'availability' field instead. + zone_id: + type: string + description: >- + Identifier for the availability zone in which the + cluster resides. This can be one of the following: - + "HA" => High availability, spread nodes across + availability zones for a Databricks deployment region + [default]. - "AUTO" => Databricks picks an availability + zone to schedule the cluster on. - A GCP availability + zone => Pick One of the available zones for (machine + type + region) from + https://cloud.google.com/compute/docs/regions-zones. description: >- Attributes related to clusters running on Google Cloud Platform. If not specified at cluster creation, a set of default values will be used. init_scripts: - type: string + type: array + items: + type: object + properties: + abfss: + type: object + properties: + destination: + type: string + description: >- + abfss destination, e.g. + `abfss://@.dfs.core.windows.net/`. + required: + - destination + description: >- + destination needs to be provided, e.g. + `abfss://@.dfs.core.windows.net/` + dbfs: + type: object + properties: + destination: + type: string + description: dbfs destination, e.g. `dbfs:/my/path` + required: + - destination + description: >- + destination needs to be provided. e.g. `{ "dbfs": { + "destination" : "dbfs:/home/cluster_log" } }` + file: + type: object + properties: + destination: + type: string + required: + - destination + description: >- + destination needs to be provided, e.g. `{ "file": { + "destination": "file:/my/local/file.sh" } }` + gcs: + type: object + properties: + destination: + type: string + description: >- + GCS destination/URI, e.g. + `gs://my-bucket/some-prefix` + required: + - destination + description: >- + destination needs to be provided, e.g. `{ "gcs": { + "destination": "gs://my-bucket/file.sh" } }` + s3: + type: object + properties: + destination: + type: string + description: >- + S3 destination, e.g. `s3://my-bucket/some-prefix` + Note that logs will be delivered using cluster iam + role, please make sure you set cluster iam role + and the role has write access to the destination. + Please also note that you cannot use AWS keys to + deliver logs. + canned_acl: + type: string + description: >- + (Optional) Set canned access control list for the + logs, e.g. `bucket-owner-full-control`. If + `canned_cal` is set, please make sure the cluster + iam role has `s3:PutObjectAcl` permission on the + destination bucket and prefix. The full list of + possible canned acl can be found at + http://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl. + Please also note that by default only the object + owner gets full controls. If you are using cross + account role for writing data, you may want to set + `bucket-owner-full-control` to make bucket owner + able to read the logs. + enable_encryption: + type: boolean + description: >- + (Optional) Flag to enable server side encryption, + `false` by default. + encryption_type: + type: string + description: >- + (Optional) The encryption type, it could be + `sse-s3` or `sse-kms`. It will be used only when + encryption is enabled and the default type is + `sse-s3`. + endpoint: + type: string + description: >- + S3 endpoint, e.g. + `https://s3-us-west-2.amazonaws.com`. Either + region or endpoint needs to be set. If both are + set, endpoint will be used. + kms_key: + type: string + description: >- + (Optional) Kms key which will be used if + encryption is enabled and encryption type is set + to `sse-kms`. + region: + type: string + description: >- + S3 region, e.g. `us-west-2`. Either region or + endpoint needs to be set. If both are set, + endpoint will be used. + required: + - destination + description: >- + destination and either the region or endpoint need to + be provided. e.g. `{ \"s3\": { \"destination\": + \"s3://cluster_log_bucket/prefix\", \"region\": + \"us-west-2\" } }` Cluster iam role is used to access + s3, please make sure the cluster iam role in + `instance_profile_arn` has permission to write data to + the s3 destination. + volumes: + type: object + properties: + destination: + type: string + description: >- + UC Volumes destination, e.g. + `/Volumes/catalog/schema/vol1/init-scripts/setup-datadog.sh` + or + `dbfs:/Volumes/catalog/schema/vol1/init-scripts/setup-datadog.sh` + required: + - destination + description: >- + destination needs to be provided. e.g. `{ \"volumes\" + : { \"destination\" : \"/Volumes/my-init.sh\" } }` + workspace: + type: object + properties: + destination: + type: string + description: >- + wsfs destination, e.g. + `workspace:/cluster-init-scripts/setup-datadog.sh` + required: + - destination + description: >- + destination needs to be provided, e.g. `{ "workspace": + { "destination": + "/cluster-init-scripts/setup-datadog.sh" } }` + description: 'Config for an individual init script Next ID: 11' description: >- The configuration for storing init scripts. Any number of destinations can be specified. The scripts are executed @@ -959,13 +1696,15 @@ paths: The optional ID of the instance pool to which the cluster belongs. is_single_node: - type: string + type: boolean description: >- This field can only be used when `kind = CLASSIC_PREVIEW`. When set to true, Databricks will automatically set single node related `custom_tags`, `spark_conf`, and `num_workers` kind: type: string + x-enum: + - CLASSIC_PREVIEW description: >- :param node_type_id: str (optional) This field encodes, through a single value, the resources available to each of @@ -977,7 +1716,7 @@ paths: node_type_id: type: string num_workers: - type: string + type: integer description: >- Number of worker nodes that this cluster should have. A cluster has one Spark Driver and `num_workers` Executors for @@ -995,13 +1734,17 @@ paths: The ID of the cluster policy used to create the cluster if applicable. remote_disk_throughput: - type: string + type: integer description: >- If set, what the configurable throughput (in Mb/s) for the remote disk is. Currently only supported for GCP HYPERDISK_BALANCED disks. runtime_engine: type: string + x-enum: + - 'NULL' + - PHOTON + - STANDARD description: >- Determines the cluster's runtime engine, either standard or Photon. This field is not compatible with legacy @@ -1014,7 +1757,7 @@ paths: type: string description: Single user name if data_security_mode is `SINGLE_USER` spark_conf: - type: string + type: object description: >- An object containing a set of optional, user-specified Spark configuration key-value pairs. Users can also pass in a @@ -1022,7 +1765,7 @@ paths: via `spark.driver.extraJavaOptions` and `spark.executor.extraJavaOptions` respectively. spark_env_vars: - type: string + type: object description: >- An object containing a set of optional, user-specified environment variable key-value pairs. Please note that @@ -1038,30 +1781,56 @@ paths: `{"SPARK_DAEMON_JAVA_OPTS": "$SPARK_DAEMON_JAVA_OPTS -Dspark.shuffle.service.enabled=true"}` ssh_public_keys: - type: string + type: array + items: + type: string description: >- SSH public key contents that will be added to each Spark node in this cluster. The corresponding private keys can be used to login with the user name `ubuntu` on port `2200`. Up to 10 keys can be specified. total_initial_remote_disk_size: - type: string + type: integer description: >- If set, what the total initial volume size (in GB) of the remote disks should be. Currently only supported for GCP HYPERDISK_BALANCED disks. use_ml_runtime: - type: string + type: boolean description: >- This field can only be used when `kind = CLASSIC_PREVIEW`. `effective_spark_version` is determined by `spark_version` (DBR release), this field `use_ml_runtime`, and whether `node_type_id` is gpu node or not. worker_node_type_flexibility: - type: string + type: object + properties: + alternate_node_type_ids: + type: array + items: + type: string + description: >- + A list of node type IDs to use as fallbacks when the + primary node type is unavailable. description: Flexible node type configuration for worker nodes. workload_type: - type: string + type: object + properties: + clients: + type: object + properties: + jobs: + type: boolean + notebooks: + type: boolean + description: >- + With notebooks set, this cluster can be used for + notebooks + description: >- + defined what type of clients can use the cluster. E.g. + Notebooks, Jobs + required: + - clients description: >- :returns: Long-running operation waiter for :class:`ClusterDetails`. See @@ -1335,19 +2104,28 @@ paths: list of available Spark versions can be retrieved by using the :method:clusters/sparkVersions API call. apply_policy_default_values: - type: string + type: boolean description: >- When set to true, fixed and default values from the policy will be used for fields that are omitted. When set to false, only fixed values from the policy will be applied. autoscale: - type: string + type: object + properties: + max_workers: + type: integer + min_workers: + type: integer + description: >- + The minimum number of workers to which the cluster can + scale down when underutilized. It is also the initial + number of workers the cluster will have after creation. description: >- Parameters needed in order to automatically scale clusters up and down based on load. Note: autoscaling works best with DB runtime versions 3.0 or later. autotermination_minutes: - type: string + type: integer description: >- Automatically terminates the cluster after it is inactive for this time in minutes. If not set, this cluster will not @@ -1355,19 +2133,276 @@ paths: must be between 10 and 10000 minutes. Users can also set this value to 0 to explicitly disable automatic termination. aws_attributes: - type: string + type: object + properties: + availability: + type: string + x-enum: + - ON_DEMAND + - SPOT + - SPOT_WITH_FALLBACK + description: >- + Availability type used for all subsequent nodes past the + `first_on_demand` ones. + + + Note: If `first_on_demand` is zero, this availability + type will be used for the entire cluster. + ebs_volume_count: + type: integer + description: >- + The number of volumes launched for each instance. Users + can choose up to 10 volumes. This feature is only + enabled for supported node types. Legacy node types + cannot specify custom EBS volumes. For node types with + no instance store, at least one EBS volume needs to be + specified; otherwise, cluster creation will fail. These + EBS volumes will be mounted at `/ebs0`, `/ebs1`, and + etc. Instance store volumes will be mounted at + `/local_disk0`, `/local_disk1`, and etc. If EBS volumes + are attached, Databricks will configure Spark to use + only the EBS volumes for scratch storage because + heterogenously sized scratch devices can lead to + inefficient disk utilization. If no EBS volumes are + attached, Databricks will configure Spark to use + instance store volumes. Please note that if EBS volumes + are specified, then the Spark configuration + `spark.local.dir` will be overridden. + ebs_volume_iops: + type: integer + description: >- + If using gp3 volumes, what IOPS to use for the disk. If + this is not set, the maximum performance of a gp2 volume + with the same volume size will be used. + ebs_volume_size: + type: integer + description: >- + The size of each EBS volume (in GiB) launched for each + instance. For general purpose SSD, this value must be + within the range 100 - 4096. For throughput optimized + HDD, this value must be within the range 500 - 4096. + ebs_volume_throughput: + type: integer + description: >- + If using gp3 volumes, what throughput to use for the + disk. If this is not set, the maximum performance of a + gp2 volume with the same volume size will be used. + ebs_volume_type: + type: string + x-enum: + - GENERAL_PURPOSE_SSD + - THROUGHPUT_OPTIMIZED_HDD + description: >- + The type of EBS volumes that will be launched with this + cluster. + first_on_demand: + type: integer + description: >- + The first `first_on_demand` nodes of the cluster will be + placed on on-demand instances. If this value is greater + than 0, the cluster driver node in particular will be + placed on an on-demand instance. If this value is + greater than or equal to the current cluster size, all + nodes will be placed on on-demand instances. If this + value is less than the current cluster size, + `first_on_demand` nodes will be placed on on-demand + instances and the remainder will be placed on + `availability` instances. Note that this value does not + affect cluster size and cannot currently be mutated over + the lifetime of a cluster. + instance_profile_arn: + type: string + description: >- + Nodes for this cluster will only be placed on AWS + instances with this instance profile. If ommitted, nodes + will be placed on instances without an IAM instance + profile. The instance profile must have previously been + added to the Databricks environment by an account + administrator. This feature may only be available to + certain customer plans. + spot_bid_price_percent: + type: integer + description: >- + The bid price for AWS spot instances, as a percentage of + the corresponding instance type's on-demand price. For + example, if this field is set to 50, and the cluster + needs a new `r3.xlarge` spot instance, then the bid + price is half of the price of on-demand `r3.xlarge` + instances. Similarly, if this field is set to 200, the + bid price is twice the price of on-demand `r3.xlarge` + instances. If not specified, the default value is 100. + When spot instances are requested for this cluster, only + spot instances whose bid price percentage matches this + field will be considered. Note that, for safety, we + enforce this field to be no more than 10000. + zone_id: + type: string + description: >- + Identifier for the availability zone/datacenter in which + the cluster resides. This string will be of a form like + "us-west-2a". The provided availability zone must be in + the same region as the Databricks deployment. For + example, "us-west-2a" is not a valid zone id if the + Databricks deployment resides in the "us-east-1" region. + This is an optional field at cluster creation, and if + not specified, the zone "auto" will be used. If the zone + specified is "auto", will try to place cluster in a zone + with high availability, and will retry placement in a + different AZ if there is not enough capacity. The list + of available zones as well as the default value can be + found by using the `List Zones` method. description: >- Attributes related to clusters running on Amazon Web Services. If not specified at cluster creation, a set of default values will be used. azure_attributes: - type: string + type: object + properties: + availability: + type: string + x-enum: + - ON_DEMAND_AZURE + - SPOT_AZURE + - SPOT_WITH_FALLBACK_AZURE + description: >- + Availability type used for all subsequent nodes past the + `first_on_demand` ones. Note: If `first_on_demand` is + zero, this availability type will be used for the entire + cluster. + first_on_demand: + type: integer + description: >- + The first `first_on_demand` nodes of the cluster will be + placed on on-demand instances. This value should be + greater than 0, to make sure the cluster driver node is + placed on an on-demand instance. If this value is + greater than or equal to the current cluster size, all + nodes will be placed on on-demand instances. If this + value is less than the current cluster size, + `first_on_demand` nodes will be placed on on-demand + instances and the remainder will be placed on + `availability` instances. Note that this value does not + affect cluster size and cannot currently be mutated over + the lifetime of a cluster. + log_analytics_info: + type: object + properties: + log_analytics_primary_key: + type: string + log_analytics_workspace_id: + type: string + description: >- + Defines values necessary to configure and run Azure Log + Analytics agent + spot_bid_max_price: + type: number + description: >- + The max bid price to be used for Azure spot instances. + The Max price for the bid cannot be higher than the + on-demand price of the instance. If not specified, the + default value is -1, which specifies that the instance + cannot be evicted on the basis of price, and only on the + basis of availability. Further, the value should > 0 or + -1. description: >- Attributes related to clusters running on Microsoft Azure. If not specified at cluster creation, a set of default values will be used. cluster_log_conf: - type: string + type: object + properties: + dbfs: + type: object + properties: + destination: + type: string + description: dbfs destination, e.g. `dbfs:/my/path` + required: + - destination + description: >- + destination needs to be provided. e.g. `{ "dbfs" : { + "destination" : "dbfs:/home/cluster_log" } }` + s3: + type: object + properties: + destination: + type: string + description: >- + S3 destination, e.g. `s3://my-bucket/some-prefix` + Note that logs will be delivered using cluster iam + role, please make sure you set cluster iam role and + the role has write access to the destination. Please + also note that you cannot use AWS keys to deliver + logs. + canned_acl: + type: string + description: >- + (Optional) Set canned access control list for the + logs, e.g. `bucket-owner-full-control`. If + `canned_cal` is set, please make sure the cluster + iam role has `s3:PutObjectAcl` permission on the + destination bucket and prefix. The full list of + possible canned acl can be found at + http://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl. + Please also note that by default only the object + owner gets full controls. If you are using cross + account role for writing data, you may want to set + `bucket-owner-full-control` to make bucket owner + able to read the logs. + enable_encryption: + type: boolean + description: >- + (Optional) Flag to enable server side encryption, + `false` by default. + encryption_type: + type: string + description: >- + (Optional) The encryption type, it could be `sse-s3` + or `sse-kms`. It will be used only when encryption + is enabled and the default type is `sse-s3`. + endpoint: + type: string + description: >- + S3 endpoint, e.g. + `https://s3-us-west-2.amazonaws.com`. Either region + or endpoint needs to be set. If both are set, + endpoint will be used. + kms_key: + type: string + description: >- + (Optional) Kms key which will be used if encryption + is enabled and encryption type is set to `sse-kms`. + region: + type: string + description: >- + S3 region, e.g. `us-west-2`. Either region or + endpoint needs to be set. If both are set, endpoint + will be used. + required: + - destination + description: >- + destination and either the region or endpoint need to be + provided. e.g. `{ "s3": { "destination" : + "s3://cluster_log_bucket/prefix", "region" : "us-west-2" + } }` Cluster iam role is used to access s3, please make + sure the cluster iam role in `instance_profile_arn` has + permission to write data to the s3 destination. + volumes: + type: object + properties: + destination: + type: string + description: >- + UC Volumes destination, e.g. + `/Volumes/catalog/schema/vol1/init-scripts/setup-datadog.sh` + or + `dbfs:/Volumes/catalog/schema/vol1/init-scripts/setup-datadog.sh` + required: + - destination + description: >- + destination needs to be provided, e.g. `{ "volumes": { + "destination": + "/Volumes/catalog/schema/volume/cluster_log" } }` description: >- The configuration for delivering spark logs to a long-term storage destination. Three kinds of destinations (DBFS, S3 @@ -1385,7 +2420,7 @@ paths: be an empty string. For job clusters, the cluster name is automatically set based on the job and job run IDs. custom_tags: - type: string + type: object description: >- Additional tags for cluster resources. Databricks will tag all cluster resources (e.g., AWS instances and EBS volumes) @@ -1395,11 +2430,34 @@ paths: tags are a subset of the cluster tags data_security_mode: type: string + x-enum: + - DATA_SECURITY_MODE_AUTO + - DATA_SECURITY_MODE_DEDICATED + - DATA_SECURITY_MODE_STANDARD + - LEGACY_PASSTHROUGH + - LEGACY_SINGLE_USER + - LEGACY_SINGLE_USER_STANDARD + - LEGACY_TABLE_ACL + - NONE + - SINGLE_USER + - USER_ISOLATION description: >- :param docker_image: :class:`DockerImage` (optional) Custom docker image BYOC docker_image: - type: string + type: object + properties: + basic_auth: + type: object + properties: + password: + type: string + username: + type: string + description: Name of the user + url: + type: string + description: URL of the docker image. driver_instance_pool_id: type: string description: >- @@ -1408,7 +2466,15 @@ paths: with id (instance_pool_id) if the driver pool is not assigned. driver_node_type_flexibility: - type: string + type: object + properties: + alternate_node_type_ids: + type: array + items: + type: string + description: >- + A list of node type IDs to use as fallbacks when the + primary node type is unavailable. description: Flexible node type configuration for the driver node. driver_node_type_id: type: string @@ -1421,22 +2487,237 @@ paths: node_type_id, and virtual_cluster_size are specified, driver_node_type_id and node_type_id take precedence. enable_elastic_disk: - type: string + type: boolean description: >- Autoscaling Local Storage: when enabled, this cluster will dynamically acquire additional disk space when its Spark workers are running low on disk space. enable_local_disk_encryption: - type: string + type: boolean description: Whether to enable LUKS on cluster VMs' local disks gcp_attributes: - type: string + type: object + properties: + availability: + type: string + x-enum: + - ON_DEMAND_GCP + - PREEMPTIBLE_GCP + - PREEMPTIBLE_WITH_FALLBACK_GCP + description: >- + This field determines whether the spark executors will + be scheduled to run on preemptible VMs, on-demand VMs, + or preemptible VMs with a fallback to on-demand VMs if + the former is unavailable. + boot_disk_size: + type: integer + description: Boot disk size in GB + first_on_demand: + type: integer + description: >- + The first `first_on_demand` nodes of the cluster will be + placed on on-demand instances. This value should be + greater than 0, to make sure the cluster driver node is + placed on an on-demand instance. If this value is + greater than or equal to the current cluster size, all + nodes will be placed on on-demand instances. If this + value is less than the current cluster size, + `first_on_demand` nodes will be placed on on-demand + instances and the remainder will be placed on + `availability` instances. Note that this value does not + affect cluster size and cannot currently be mutated over + the lifetime of a cluster. + google_service_account: + type: string + description: >- + If provided, the cluster will impersonate the google + service account when accessing gcloud services (like + GCS). The google service account must have previously + been added to the Databricks environment by an account + administrator. + local_ssd_count: + type: integer + description: >- + If provided, each node (workers and driver) in the + cluster will have this number of local SSDs attached. + Each local SSD is 375GB in size. Refer to [GCP + documentation] for the supported number of local SSDs + for each instance type. [GCP documentation]: + https://cloud.google.com/compute/docs/disks/local-ssd#choose_number_local_ssds + use_preemptible_executors: + type: boolean + description: >- + This field determines whether the spark executors will + be scheduled to run on preemptible VMs (when set to + true) versus standard compute engine VMs (when set to + false; default). Note: Soon to be deprecated, use the + 'availability' field instead. + zone_id: + type: string + description: >- + Identifier for the availability zone in which the + cluster resides. This can be one of the following: - + "HA" => High availability, spread nodes across + availability zones for a Databricks deployment region + [default]. - "AUTO" => Databricks picks an availability + zone to schedule the cluster on. - A GCP availability + zone => Pick One of the available zones for (machine + type + region) from + https://cloud.google.com/compute/docs/regions-zones. description: >- Attributes related to clusters running on Google Cloud Platform. If not specified at cluster creation, a set of default values will be used. init_scripts: - type: string + type: array + items: + type: object + properties: + abfss: + type: object + properties: + destination: + type: string + description: >- + abfss destination, e.g. + `abfss://@.dfs.core.windows.net/`. + required: + - destination + description: >- + destination needs to be provided, e.g. + `abfss://@.dfs.core.windows.net/` + dbfs: + type: object + properties: + destination: + type: string + description: dbfs destination, e.g. `dbfs:/my/path` + required: + - destination + description: >- + destination needs to be provided. e.g. `{ "dbfs": { + "destination" : "dbfs:/home/cluster_log" } }` + file: + type: object + properties: + destination: + type: string + required: + - destination + description: >- + destination needs to be provided, e.g. `{ "file": { + "destination": "file:/my/local/file.sh" } }` + gcs: + type: object + properties: + destination: + type: string + description: >- + GCS destination/URI, e.g. + `gs://my-bucket/some-prefix` + required: + - destination + description: >- + destination needs to be provided, e.g. `{ "gcs": { + "destination": "gs://my-bucket/file.sh" } }` + s3: + type: object + properties: + destination: + type: string + description: >- + S3 destination, e.g. `s3://my-bucket/some-prefix` + Note that logs will be delivered using cluster iam + role, please make sure you set cluster iam role + and the role has write access to the destination. + Please also note that you cannot use AWS keys to + deliver logs. + canned_acl: + type: string + description: >- + (Optional) Set canned access control list for the + logs, e.g. `bucket-owner-full-control`. If + `canned_cal` is set, please make sure the cluster + iam role has `s3:PutObjectAcl` permission on the + destination bucket and prefix. The full list of + possible canned acl can be found at + http://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl. + Please also note that by default only the object + owner gets full controls. If you are using cross + account role for writing data, you may want to set + `bucket-owner-full-control` to make bucket owner + able to read the logs. + enable_encryption: + type: boolean + description: >- + (Optional) Flag to enable server side encryption, + `false` by default. + encryption_type: + type: string + description: >- + (Optional) The encryption type, it could be + `sse-s3` or `sse-kms`. It will be used only when + encryption is enabled and the default type is + `sse-s3`. + endpoint: + type: string + description: >- + S3 endpoint, e.g. + `https://s3-us-west-2.amazonaws.com`. Either + region or endpoint needs to be set. If both are + set, endpoint will be used. + kms_key: + type: string + description: >- + (Optional) Kms key which will be used if + encryption is enabled and encryption type is set + to `sse-kms`. + region: + type: string + description: >- + S3 region, e.g. `us-west-2`. Either region or + endpoint needs to be set. If both are set, + endpoint will be used. + required: + - destination + description: >- + destination and either the region or endpoint need to + be provided. e.g. `{ \"s3\": { \"destination\": + \"s3://cluster_log_bucket/prefix\", \"region\": + \"us-west-2\" } }` Cluster iam role is used to access + s3, please make sure the cluster iam role in + `instance_profile_arn` has permission to write data to + the s3 destination. + volumes: + type: object + properties: + destination: + type: string + description: >- + UC Volumes destination, e.g. + `/Volumes/catalog/schema/vol1/init-scripts/setup-datadog.sh` + or + `dbfs:/Volumes/catalog/schema/vol1/init-scripts/setup-datadog.sh` + required: + - destination + description: >- + destination needs to be provided. e.g. `{ \"volumes\" + : { \"destination\" : \"/Volumes/my-init.sh\" } }` + workspace: + type: object + properties: + destination: + type: string + description: >- + wsfs destination, e.g. + `workspace:/cluster-init-scripts/setup-datadog.sh` + required: + - destination + description: >- + destination needs to be provided, e.g. `{ "workspace": + { "destination": + "/cluster-init-scripts/setup-datadog.sh" } }` + description: 'Config for an individual init script Next ID: 11' description: >- The configuration for storing init scripts. Any number of destinations can be specified. The scripts are executed @@ -1449,13 +2730,15 @@ paths: The optional ID of the instance pool to which the cluster belongs. is_single_node: - type: string + type: boolean description: >- This field can only be used when `kind = CLASSIC_PREVIEW`. When set to true, Databricks will automatically set single node related `custom_tags`, `spark_conf`, and `num_workers` kind: type: string + x-enum: + - CLASSIC_PREVIEW description: >- :param node_type_id: str (optional) This field encodes, through a single value, the resources available to each of @@ -1467,7 +2750,7 @@ paths: node_type_id: type: string num_workers: - type: string + type: integer description: >- Number of worker nodes that this cluster should have. A cluster has one Spark Driver and `num_workers` Executors for @@ -1485,13 +2768,17 @@ paths: The ID of the cluster policy used to create the cluster if applicable. remote_disk_throughput: - type: string + type: integer description: >- If set, what the configurable throughput (in Mb/s) for the remote disk is. Currently only supported for GCP HYPERDISK_BALANCED disks. runtime_engine: type: string + x-enum: + - 'NULL' + - PHOTON + - STANDARD description: >- Determines the cluster's runtime engine, either standard or Photon. This field is not compatible with legacy @@ -1504,7 +2791,7 @@ paths: type: string description: Single user name if data_security_mode is `SINGLE_USER` spark_conf: - type: string + type: object description: >- An object containing a set of optional, user-specified Spark configuration key-value pairs. Users can also pass in a @@ -1512,7 +2799,7 @@ paths: via `spark.driver.extraJavaOptions` and `spark.executor.extraJavaOptions` respectively. spark_env_vars: - type: string + type: object description: >- An object containing a set of optional, user-specified environment variable key-value pairs. Please note that @@ -1528,30 +2815,56 @@ paths: `{"SPARK_DAEMON_JAVA_OPTS": "$SPARK_DAEMON_JAVA_OPTS -Dspark.shuffle.service.enabled=true"}` ssh_public_keys: - type: string + type: array + items: + type: string description: >- SSH public key contents that will be added to each Spark node in this cluster. The corresponding private keys can be used to login with the user name `ubuntu` on port `2200`. Up to 10 keys can be specified. total_initial_remote_disk_size: - type: string + type: integer description: >- If set, what the total initial volume size (in GB) of the remote disks should be. Currently only supported for GCP HYPERDISK_BALANCED disks. use_ml_runtime: - type: string + type: boolean description: >- This field can only be used when `kind = CLASSIC_PREVIEW`. `effective_spark_version` is determined by `spark_version` (DBR release), this field `use_ml_runtime`, and whether `node_type_id` is gpu node or not. worker_node_type_flexibility: - type: string + type: object + properties: + alternate_node_type_ids: + type: array + items: + type: string + description: >- + A list of node type IDs to use as fallbacks when the + primary node type is unavailable. description: Flexible node type configuration for worker nodes. workload_type: - type: string + type: object + properties: + clients: + type: object + properties: + jobs: + type: boolean + notebooks: + type: boolean + description: >- + With notebooks set, this cluster can be used for + notebooks + description: >- + defined what type of clients can use the cluster. E.g. + Notebooks, Jobs + required: + - clients description: >- :returns: Long-running operation waiter for :class:`ClusterDetails`. See @@ -1635,23 +2948,120 @@ paths: type: string description: The ID of the cluster to retrieve events about. end_time: - type: string + type: integer description: >- The end time in epoch milliseconds. If empty, returns events up to the current time. event_types: - type: string + type: array + items: + type: string + x-enum: + - ADD_NODES_FAILED + - AUTOMATIC_CLUSTER_UPDATE + - AUTOSCALING_BACKOFF + - AUTOSCALING_FAILED + - AUTOSCALING_STATS_REPORT + - CLUSTER_MIGRATED + - CREATING + - DBFS_DOWN + - DECOMMISSION_ENDED + - DECOMMISSION_STARTED + - DID_NOT_EXPAND_DISK + - DRIVER_HEALTHY + - DRIVER_NOT_RESPONDING + - DRIVER_UNAVAILABLE + - EDITED + - EXPANDED_DISK + - FAILED_TO_EXPAND_DISK + - INIT_SCRIPTS_FINISHED + - INIT_SCRIPTS_STARTED + - METASTORE_DOWN + - NODES_LOST + - NODE_BLACKLISTED + - NODE_EXCLUDED_DECOMMISSIONED + - PINNED + - RESIZING + - RESTARTING + - RUNNING + - SPARK_EXCEPTION + - STARTING + - TERMINATING + - UC_VOLUME_MISCONFIGURED + - UNPINNED + - UPSIZE_COMPLETED + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know how many + members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members can have + their own + + attributes -- see the documentation for details. description: >- An optional set of event types to filter on. If empty, all event types are returned. limit: - type: string + type: integer description: >- Deprecated: use page_token in combination with page_size instead. The maximum number of events to include in a page of events. Defaults to 50, and maximum allowed value is 500. offset: - type: string + type: integer description: >- Deprecated: use page_token in combination with page_size instead. The offset in the result set. Defaults to 0 (no @@ -1660,11 +3070,14 @@ paths: required. order: type: string + x-enum: + - ASC + - DESC description: >- The order to list events in; either "ASC" or "DESC". Defaults to "DESC". page_size: - type: string + type: integer description: >- The maximum number of events to include in a page of events. The server may further constrain the maximum number of @@ -1680,7 +3093,7 @@ paths: respectively. If page_token is empty, the first page is returned. start_time: - type: string + type: integer description: >- The start time in epoch milliseconds. If empty, returns events starting from the beginning of time. @@ -1872,7 +3285,25 @@ paths: type: object properties: access_control_list: - type: string + type: array + items: + type: object + properties: + group_name: + type: string + permission_level: + type: string + x-enum: + - CAN_ATTACH_TO + - CAN_MANAGE + - CAN_RESTART + description: Permission level + service_principal_name: + type: string + description: application ID of a service principal + user_name: + type: string + description: name of the user description: ':returns: :class:`ClusterPermissions`' responses: '200': @@ -1927,7 +3358,25 @@ paths: type: object properties: access_control_list: - type: string + type: array + items: + type: object + properties: + group_name: + type: string + permission_level: + type: string + x-enum: + - CAN_ATTACH_TO + - CAN_MANAGE + - CAN_RESTART + description: Permission level + service_principal_name: + type: string + description: application ID of a service principal + user_name: + type: string + description: name of the user description: ':returns: :class:`ClusterPermissions`' responses: '200': @@ -1981,13 +3430,13 @@ paths: in: query required: false schema: - type: string + $ref: '#/components/schemas/ListClustersFilterBy' description: Filters to apply to the list of clusters. - name: page_size in: query required: false schema: - type: string + type: integer description: >- Use this field to specify the maximum number of results to be returned by the server. The server may further constrain the maximum @@ -2004,7 +3453,7 @@ paths: in: query required: false schema: - type: string + $ref: '#/components/schemas/ListClustersSortBy' description: Sort the list of clusters by a specific criteria. responses: '200': @@ -2235,13 +3684,22 @@ paths: type: string description: The cluster to be resized. autoscale: - type: string + type: object + properties: + max_workers: + type: integer + min_workers: + type: integer + description: >- + The minimum number of workers to which the cluster can + scale down when underutilized. It is also the initial + number of workers the cluster will have after creation. description: >- Parameters needed in order to automatically scale clusters up and down based on load. Note: autoscaling works best with DB runtime versions 3.0 or later. num_workers: - type: string + type: integer description: >- Number of worker nodes that this cluster should have. A cluster has one Spark Driver and `num_workers` Executors for @@ -2557,7 +4015,883 @@ paths: wildcards, as it can lead to unintended results if the API changes in the future. cluster: - type: string + type: object + properties: + autoscale: + type: object + properties: + max_workers: + type: integer + min_workers: + type: integer + description: >- + The minimum number of workers to which the cluster + can scale down when underutilized. It is also the + initial number of workers the cluster will have + after creation. + autotermination_minutes: + type: integer + description: >- + Automatically terminates the cluster after it is + inactive for this time in minutes. If not set, this + cluster will not be automatically terminated. If + specified, the threshold must be between 10 and 10000 + minutes. Users can also set this value to 0 to + explicitly disable automatic termination. + aws_attributes: + type: object + properties: + availability: + type: string + x-enum: + - ON_DEMAND + - SPOT + - SPOT_WITH_FALLBACK + description: >- + Availability type used for all subsequent nodes past + the `first_on_demand` ones. + + + Note: If `first_on_demand` is zero, this + availability type will be used for the entire + cluster. + ebs_volume_count: + type: integer + description: >- + The number of volumes launched for each instance. + Users can choose up to 10 volumes. This feature is + only enabled for supported node types. Legacy node + types cannot specify custom EBS volumes. For node + types with no instance store, at least one EBS + volume needs to be specified; otherwise, cluster + creation will fail. These EBS volumes will be + mounted at `/ebs0`, `/ebs1`, and etc. Instance store + volumes will be mounted at `/local_disk0`, + `/local_disk1`, and etc. If EBS volumes are + attached, Databricks will configure Spark to use + only the EBS volumes for scratch storage because + heterogenously sized scratch devices can lead to + inefficient disk utilization. If no EBS volumes are + attached, Databricks will configure Spark to use + instance store volumes. Please note that if EBS + volumes are specified, then the Spark configuration + `spark.local.dir` will be overridden. + ebs_volume_iops: + type: integer + description: >- + If using gp3 volumes, what IOPS to use for the disk. + If this is not set, the maximum performance of a gp2 + volume with the same volume size will be used. + ebs_volume_size: + type: integer + description: >- + The size of each EBS volume (in GiB) launched for + each instance. For general purpose SSD, this value + must be within the range 100 - 4096. For throughput + optimized HDD, this value must be within the range + 500 - 4096. + ebs_volume_throughput: + type: integer + description: >- + If using gp3 volumes, what throughput to use for the + disk. If this is not set, the maximum performance of + a gp2 volume with the same volume size will be used. + ebs_volume_type: + type: string + x-enum: + - GENERAL_PURPOSE_SSD + - THROUGHPUT_OPTIMIZED_HDD + description: >- + The type of EBS volumes that will be launched with + this cluster. + first_on_demand: + type: integer + description: >- + The first `first_on_demand` nodes of the cluster + will be placed on on-demand instances. If this value + is greater than 0, the cluster driver node in + particular will be placed on an on-demand instance. + If this value is greater than or equal to the + current cluster size, all nodes will be placed on + on-demand instances. If this value is less than the + current cluster size, `first_on_demand` nodes will + be placed on on-demand instances and the remainder + will be placed on `availability` instances. Note + that this value does not affect cluster size and + cannot currently be mutated over the lifetime of a + cluster. + instance_profile_arn: + type: string + description: >- + Nodes for this cluster will only be placed on AWS + instances with this instance profile. If ommitted, + nodes will be placed on instances without an IAM + instance profile. The instance profile must have + previously been added to the Databricks environment + by an account administrator. This feature may only + be available to certain customer plans. + spot_bid_price_percent: + type: integer + description: >- + The bid price for AWS spot instances, as a + percentage of the corresponding instance type's + on-demand price. For example, if this field is set + to 50, and the cluster needs a new `r3.xlarge` spot + instance, then the bid price is half of the price of + on-demand `r3.xlarge` instances. Similarly, if this + field is set to 200, the bid price is twice the + price of on-demand `r3.xlarge` instances. If not + specified, the default value is 100. When spot + instances are requested for this cluster, only spot + instances whose bid price percentage matches this + field will be considered. Note that, for safety, we + enforce this field to be no more than 10000. + zone_id: + type: string + description: >- + Identifier for the availability zone/datacenter in + which the cluster resides. This string will be of a + form like "us-west-2a". The provided availability + zone must be in the same region as the Databricks + deployment. For example, "us-west-2a" is not a valid + zone id if the Databricks deployment resides in the + "us-east-1" region. This is an optional field at + cluster creation, and if not specified, the zone + "auto" will be used. If the zone specified is + "auto", will try to place cluster in a zone with + high availability, and will retry placement in a + different AZ if there is not enough capacity. The + list of available zones as well as the default value + can be found by using the `List Zones` method. + description: >- + Attributes related to clusters running on Amazon Web + Services. If not specified at cluster creation, a set of + default values will be used. + azure_attributes: + type: object + properties: + availability: + type: string + x-enum: + - ON_DEMAND_AZURE + - SPOT_AZURE + - SPOT_WITH_FALLBACK_AZURE + description: >- + Availability type used for all subsequent nodes past + the `first_on_demand` ones. Note: If + `first_on_demand` is zero, this availability type + will be used for the entire cluster. + first_on_demand: + type: integer + description: >- + The first `first_on_demand` nodes of the cluster + will be placed on on-demand instances. This value + should be greater than 0, to make sure the cluster + driver node is placed on an on-demand instance. If + this value is greater than or equal to the current + cluster size, all nodes will be placed on on-demand + instances. If this value is less than the current + cluster size, `first_on_demand` nodes will be placed + on on-demand instances and the remainder will be + placed on `availability` instances. Note that this + value does not affect cluster size and cannot + currently be mutated over the lifetime of a cluster. + log_analytics_info: + type: object + properties: + log_analytics_primary_key: + type: string + log_analytics_workspace_id: + type: string + description: >- + Defines values necessary to configure and run Azure + Log Analytics agent + spot_bid_max_price: + type: number + description: >- + The max bid price to be used for Azure spot + instances. The Max price for the bid cannot be + higher than the on-demand price of the instance. If + not specified, the default value is -1, which + specifies that the instance cannot be evicted on the + basis of price, and only on the basis of + availability. Further, the value should > 0 or -1. + description: >- + Attributes related to clusters running on Microsoft + Azure. If not specified at cluster creation, a set of + default values will be used. + cluster_log_conf: + type: object + properties: + dbfs: + type: object + properties: + destination: + type: string + description: dbfs destination, e.g. `dbfs:/my/path` + required: + - destination + description: >- + destination needs to be provided. e.g. `{ "dbfs" : { + "destination" : "dbfs:/home/cluster_log" } }` + s3: + type: object + properties: + destination: + type: string + description: >- + S3 destination, e.g. + `s3://my-bucket/some-prefix` Note that logs will + be delivered using cluster iam role, please make + sure you set cluster iam role and the role has + write access to the destination. Please also + note that you cannot use AWS keys to deliver + logs. + canned_acl: + type: string + description: >- + (Optional) Set canned access control list for + the logs, e.g. `bucket-owner-full-control`. If + `canned_cal` is set, please make sure the + cluster iam role has `s3:PutObjectAcl` + permission on the destination bucket and prefix. + The full list of possible canned acl can be + found at + http://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl. + Please also note that by default only the object + owner gets full controls. If you are using cross + account role for writing data, you may want to + set `bucket-owner-full-control` to make bucket + owner able to read the logs. + enable_encryption: + type: boolean + description: >- + (Optional) Flag to enable server side + encryption, `false` by default. + encryption_type: + type: string + description: >- + (Optional) The encryption type, it could be + `sse-s3` or `sse-kms`. It will be used only when + encryption is enabled and the default type is + `sse-s3`. + endpoint: + type: string + description: >- + S3 endpoint, e.g. + `https://s3-us-west-2.amazonaws.com`. Either + region or endpoint needs to be set. If both are + set, endpoint will be used. + kms_key: + type: string + description: >- + (Optional) Kms key which will be used if + encryption is enabled and encryption type is set + to `sse-kms`. + region: + type: string + description: >- + S3 region, e.g. `us-west-2`. Either region or + endpoint needs to be set. If both are set, + endpoint will be used. + required: + - destination + description: >- + destination and either the region or endpoint need + to be provided. e.g. `{ "s3": { "destination" : + "s3://cluster_log_bucket/prefix", "region" : + "us-west-2" } }` Cluster iam role is used to access + s3, please make sure the cluster iam role in + `instance_profile_arn` has permission to write data + to the s3 destination. + volumes: + type: object + properties: + destination: + type: string + description: >- + UC Volumes destination, e.g. + `/Volumes/catalog/schema/vol1/init-scripts/setup-datadog.sh` + or + `dbfs:/Volumes/catalog/schema/vol1/init-scripts/setup-datadog.sh` + required: + - destination + description: >- + destination needs to be provided, e.g. `{ "volumes": + { "destination": + "/Volumes/catalog/schema/volume/cluster_log" } }` + description: >- + The configuration for delivering spark logs to a + long-term storage destination. Three kinds of + destinations (DBFS, S3 and Unity Catalog volumes) are + supported. Only one destination can be specified for one + cluster. If the conf is given, the logs will be + delivered to the destination every `5 mins`. The + destination of driver logs is + `$destination/$clusterId/driver`, while the destination + of executor logs is `$destination/$clusterId/executor`. + cluster_name: + type: string + description: >- + Cluster name requested by the user. This doesn't have to + be unique. If not specified at creation, the cluster + name will be an empty string. For job clusters, the + cluster name is automatically set based on the job and + job run IDs. + custom_tags: + type: object + description: >- + Additional tags for cluster resources. Databricks will + tag all cluster resources (e.g., AWS instances and EBS + volumes) with these tags in addition to `default_tags`. + Notes: - Currently, Databricks allows at most 45 custom + tags - Clusters can only reuse cloud resources if the + resources' tags are a subset of the cluster tags + data_security_mode: + type: string + x-enum: + - DATA_SECURITY_MODE_AUTO + - DATA_SECURITY_MODE_DEDICATED + - DATA_SECURITY_MODE_STANDARD + - LEGACY_PASSTHROUGH + - LEGACY_SINGLE_USER + - LEGACY_SINGLE_USER_STANDARD + - LEGACY_TABLE_ACL + - NONE + - SINGLE_USER + - USER_ISOLATION + description: >- + Data security mode decides what data governance model to + use when accessing data from a cluster. + + + The following modes can only be used when `kind = + CLASSIC_PREVIEW`. * `DATA_SECURITY_MODE_AUTO`: + + Databricks will choose the most appropriate access mode + depending on your compute configuration. + + * `DATA_SECURITY_MODE_STANDARD`: Alias for + `USER_ISOLATION`. * `DATA_SECURITY_MODE_DEDICATED`: + + Alias for `SINGLE_USER`. + + + The following modes can be used regardless of `kind`. * + `NONE`: No security isolation for + + multiple users sharing the cluster. Data governance + features are not available in this mode. * + + `SINGLE_USER`: A secure cluster that can only be + exclusively used by a single user specified in + + `single_user_name`. Most programming languages, cluster + features and data governance features + + are available in this mode. * `USER_ISOLATION`: A secure + cluster that can be shared by multiple + + users. Cluster users are fully isolated so that they + cannot see each other's data and + + credentials. Most data governance features are supported + in this mode. But programming languages + + and cluster features might be limited. + + + The following modes are deprecated starting with + Databricks Runtime 15.0 and will be removed for + + future Databricks Runtime versions: + + + * `LEGACY_TABLE_ACL`: This mode is for users migrating + from legacy Table ACL clusters. * + + `LEGACY_PASSTHROUGH`: This mode is for users migrating + from legacy Passthrough on high + + concurrency clusters. * `LEGACY_SINGLE_USER`: This mode + is for users migrating from legacy + + Passthrough on standard clusters. * + `LEGACY_SINGLE_USER_STANDARD`: This mode provides a way + that + + doesn’t have UC nor passthrough enabled. + docker_image: + type: object + properties: + basic_auth: + type: object + properties: + password: + type: string + username: + type: string + description: Name of the user + url: + type: string + description: URL of the docker image. + description: Custom docker image BYOC + driver_instance_pool_id: + type: string + description: >- + The optional ID of the instance pool for the driver of + the cluster belongs. The pool cluster uses the instance + pool with id (instance_pool_id) if the driver pool is + not assigned. + driver_node_type_flexibility: + type: object + properties: + alternate_node_type_ids: + type: array + items: + type: string + description: >- + A list of node type IDs to use as fallbacks when the + primary node type is unavailable. + description: Flexible node type configuration for the driver node. + driver_node_type_id: + type: string + description: >- + The node type of the Spark driver. Note that this field + is optional; if unset, the driver node type will be set + as the same value as `node_type_id` defined above. This + field, along with node_type_id, should not be set if + virtual_cluster_size is set. If both + driver_node_type_id, node_type_id, and + virtual_cluster_size are specified, driver_node_type_id + and node_type_id take precedence. + enable_elastic_disk: + type: boolean + description: >- + Autoscaling Local Storage: when enabled, this cluster + will dynamically acquire additional disk space when its + Spark workers are running low on disk space. + enable_local_disk_encryption: + type: boolean + description: Whether to enable LUKS on cluster VMs' local disks + gcp_attributes: + type: object + properties: + availability: + type: string + x-enum: + - ON_DEMAND_GCP + - PREEMPTIBLE_GCP + - PREEMPTIBLE_WITH_FALLBACK_GCP + description: >- + This field determines whether the spark executors + will be scheduled to run on preemptible VMs, + on-demand VMs, or preemptible VMs with a fallback to + on-demand VMs if the former is unavailable. + boot_disk_size: + type: integer + description: Boot disk size in GB + first_on_demand: + type: integer + description: >- + The first `first_on_demand` nodes of the cluster + will be placed on on-demand instances. This value + should be greater than 0, to make sure the cluster + driver node is placed on an on-demand instance. If + this value is greater than or equal to the current + cluster size, all nodes will be placed on on-demand + instances. If this value is less than the current + cluster size, `first_on_demand` nodes will be placed + on on-demand instances and the remainder will be + placed on `availability` instances. Note that this + value does not affect cluster size and cannot + currently be mutated over the lifetime of a cluster. + google_service_account: + type: string + description: >- + If provided, the cluster will impersonate the google + service account when accessing gcloud services (like + GCS). The google service account must have + previously been added to the Databricks environment + by an account administrator. + local_ssd_count: + type: integer + description: >- + If provided, each node (workers and driver) in the + cluster will have this number of local SSDs + attached. Each local SSD is 375GB in size. Refer to + [GCP documentation] for the supported number of + local SSDs for each instance type. [GCP + documentation]: + https://cloud.google.com/compute/docs/disks/local-ssd#choose_number_local_ssds + use_preemptible_executors: + type: boolean + description: >- + This field determines whether the spark executors + will be scheduled to run on preemptible VMs (when + set to true) versus standard compute engine VMs + (when set to false; default). Note: Soon to be + deprecated, use the 'availability' field instead. + zone_id: + type: string + description: >- + Identifier for the availability zone in which the + cluster resides. This can be one of the following: - + "HA" => High availability, spread nodes across + availability zones for a Databricks deployment + region [default]. - "AUTO" => Databricks picks an + availability zone to schedule the cluster on. - A + GCP availability zone => Pick One of the available + zones for (machine type + region) from + https://cloud.google.com/compute/docs/regions-zones. + description: >- + Attributes related to clusters running on Google Cloud + Platform. If not specified at cluster creation, a set of + default values will be used. + init_scripts: + type: array + items: + type: object + properties: + abfss: + type: object + properties: + destination: + type: string + description: >- + abfss destination, e.g. + `abfss://@.dfs.core.windows.net/`. + required: + - destination + description: >- + destination needs to be provided, e.g. + `abfss://@.dfs.core.windows.net/` + dbfs: + type: object + properties: + destination: + type: string + description: dbfs destination, e.g. `dbfs:/my/path` + required: + - destination + description: >- + destination needs to be provided. e.g. `{ "dbfs": + { "destination" : "dbfs:/home/cluster_log" } }` + file: + type: object + properties: + destination: + type: string + required: + - destination + description: >- + destination needs to be provided, e.g. `{ "file": + { "destination": "file:/my/local/file.sh" } }` + gcs: + type: object + properties: + destination: + type: string + description: >- + GCS destination/URI, e.g. + `gs://my-bucket/some-prefix` + required: + - destination + description: >- + destination needs to be provided, e.g. `{ "gcs": { + "destination": "gs://my-bucket/file.sh" } }` + s3: + type: object + properties: + destination: + type: string + description: >- + S3 destination, e.g. + `s3://my-bucket/some-prefix` Note that logs + will be delivered using cluster iam role, + please make sure you set cluster iam role and + the role has write access to the destination. + Please also note that you cannot use AWS keys + to deliver logs. + canned_acl: + type: string + description: >- + (Optional) Set canned access control list for + the logs, e.g. `bucket-owner-full-control`. If + `canned_cal` is set, please make sure the + cluster iam role has `s3:PutObjectAcl` + permission on the destination bucket and + prefix. The full list of possible canned acl + can be found at + http://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl. + Please also note that by default only the + object owner gets full controls. If you are + using cross account role for writing data, you + may want to set `bucket-owner-full-control` to + make bucket owner able to read the logs. + enable_encryption: + type: boolean + description: >- + (Optional) Flag to enable server side + encryption, `false` by default. + encryption_type: + type: string + description: >- + (Optional) The encryption type, it could be + `sse-s3` or `sse-kms`. It will be used only + when encryption is enabled and the default + type is `sse-s3`. + endpoint: + type: string + description: >- + S3 endpoint, e.g. + `https://s3-us-west-2.amazonaws.com`. Either + region or endpoint needs to be set. If both + are set, endpoint will be used. + kms_key: + type: string + description: >- + (Optional) Kms key which will be used if + encryption is enabled and encryption type is + set to `sse-kms`. + region: + type: string + description: >- + S3 region, e.g. `us-west-2`. Either region or + endpoint needs to be set. If both are set, + endpoint will be used. + required: + - destination + description: >- + destination and either the region or endpoint need + to be provided. e.g. `{ \"s3\": { \"destination\": + \"s3://cluster_log_bucket/prefix\", \"region\": + \"us-west-2\" } }` Cluster iam role is used to + access s3, please make sure the cluster iam role + in `instance_profile_arn` has permission to write + data to the s3 destination. + volumes: + type: object + properties: + destination: + type: string + description: >- + UC Volumes destination, e.g. + `/Volumes/catalog/schema/vol1/init-scripts/setup-datadog.sh` + or + `dbfs:/Volumes/catalog/schema/vol1/init-scripts/setup-datadog.sh` + required: + - destination + description: >- + destination needs to be provided. e.g. `{ + \"volumes\" : { \"destination\" : + \"/Volumes/my-init.sh\" } }` + workspace: + type: object + properties: + destination: + type: string + description: >- + wsfs destination, e.g. + `workspace:/cluster-init-scripts/setup-datadog.sh` + required: + - destination + description: >- + destination needs to be provided, e.g. `{ + "workspace": { "destination": + "/cluster-init-scripts/setup-datadog.sh" } }` + description: 'Config for an individual init script Next ID: 11' + description: >- + The configuration for storing init scripts. Any number + of destinations can be specified. The scripts are + executed sequentially in the order provided. If + `cluster_log_conf` is specified, init script logs are + sent to `//init_scripts`. + instance_pool_id: + type: string + description: >- + The optional ID of the instance pool to which the + cluster belongs. + is_single_node: + type: boolean + description: >- + This field can only be used when `kind = + CLASSIC_PREVIEW`. When set to true, Databricks will + automatically set single node related `custom_tags`, + `spark_conf`, and `num_workers` + kind: + type: string + x-enum: + - CLASSIC_PREVIEW + description: >- + The kind of compute described by this compute + specification. + + + Depending on `kind`, different validations and default + values will be applied. + + + Clusters with `kind = CLASSIC_PREVIEW` support the + following fields, whereas clusters with no + + specified `kind` do not. * + [is_single_node](/api/workspace/clusters/create#is_single_node) + * + + [use_ml_runtime](/api/workspace/clusters/create#use_ml_runtime) + * + + [data_security_mode](/api/workspace/clusters/create#data_security_mode) + set to + + `DATA_SECURITY_MODE_AUTO`, + `DATA_SECURITY_MODE_DEDICATED`, or + `DATA_SECURITY_MODE_STANDARD` + + + By using the [simple form], your clusters are + automatically using `kind = CLASSIC_PREVIEW`. + + + [simple form]: + https://docs.databricks.com/compute/simple-form.html + node_type_id: + type: string + description: >- + This field encodes, through a single value, the + resources available to each of the Spark nodes in this + cluster. For example, the Spark nodes can be provisioned + and optimized for memory or compute intensive workloads. + A list of available node types can be retrieved by using + the :method:clusters/listNodeTypes API call. + num_workers: + type: integer + description: >- + Number of worker nodes that this cluster should have. A + cluster has one Spark Driver and `num_workers` Executors + for a total of `num_workers` + 1 Spark nodes. Note: When + reading the properties of a cluster, this field reflects + the desired number of workers rather than the actual + current number of workers. For instance, if a cluster is + resized from 5 to 10 workers, this field will + immediately be updated to reflect the target size of 10 + workers, whereas the workers listed in `spark_info` will + gradually increase from 5 to 10 as the new nodes are + provisioned. + policy_id: + type: string + description: >- + The ID of the cluster policy used to create the cluster + if applicable. + remote_disk_throughput: + type: integer + description: >- + If set, what the configurable throughput (in Mb/s) for + the remote disk is. Currently only supported for GCP + HYPERDISK_BALANCED disks. + runtime_engine: + type: string + x-enum: + - 'NULL' + - PHOTON + - STANDARD + description: >- + Determines the cluster's runtime engine, either standard + or Photon. This field is not compatible with legacy + `spark_version` values that contain `-photon-`. Remove + `-photon-` from the `spark_version` and set + `runtime_engine` to `PHOTON`. If left unspecified, the + runtime engine defaults to standard unless the + spark_version contains -photon-, in which case Photon + will be used. + single_user_name: + type: string + description: Single user name if data_security_mode is `SINGLE_USER` + spark_conf: + type: object + description: >- + An object containing a set of optional, user-specified + Spark configuration key-value pairs. Users can also pass + in a string of extra JVM options to the driver and the + executors via `spark.driver.extraJavaOptions` and + `spark.executor.extraJavaOptions` respectively. + spark_env_vars: + type: object + description: >- + An object containing a set of optional, user-specified + environment variable key-value pairs. Please note that + key-value pair of the form (X,Y) will be exported as is + (i.e., `export X='Y'`) while launching the driver and + workers. In order to specify an additional set of + `SPARK_DAEMON_JAVA_OPTS`, we recommend appending them to + `$SPARK_DAEMON_JAVA_OPTS` as shown in the example below. + This ensures that all default databricks managed + environmental variables are included as well. Example + Spark environment variables: `{"SPARK_WORKER_MEMORY": + "28000m", "SPARK_LOCAL_DIRS": "/local_disk0"}` or + `{"SPARK_DAEMON_JAVA_OPTS": "$SPARK_DAEMON_JAVA_OPTS + -Dspark.shuffle.service.enabled=true"}` + spark_version: + type: string + description: >- + The Spark version of the cluster, e.g. + `3.3.x-scala2.11`. A list of available Spark versions + can be retrieved by using the + :method:clusters/sparkVersions API call. + ssh_public_keys: + type: array + items: + type: string + description: >- + SSH public key contents that will be added to each Spark + node in this cluster. The corresponding private keys can + be used to login with the user name `ubuntu` on port + `2200`. Up to 10 keys can be specified. + total_initial_remote_disk_size: + type: integer + description: >- + If set, what the total initial volume size (in GB) of + the remote disks should be. Currently only supported for + GCP HYPERDISK_BALANCED disks. + use_ml_runtime: + type: boolean + description: >- + This field can only be used when `kind = + CLASSIC_PREVIEW`. `effective_spark_version` is + determined by `spark_version` (DBR release), this field + `use_ml_runtime`, and whether `node_type_id` is gpu node + or not. + worker_node_type_flexibility: + type: object + properties: + alternate_node_type_ids: + type: array + items: + type: string + description: >- + A list of node type IDs to use as fallbacks when the + primary node type is unavailable. + description: Flexible node type configuration for worker nodes. + workload_type: + type: object + properties: + clients: + type: object + properties: + jobs: + type: boolean + notebooks: + type: boolean + description: >- + With notebooks set, this cluster can be used for + notebooks + description: >- + defined what type of clients can use the cluster. + E.g. Notebooks, Jobs + required: + - clients + description: Cluster Attributes showing for clusters workload types. description: The cluster to be updated. required: - cluster_id @@ -2774,6 +5108,11 @@ paths: description: Running cluster id language: type: string + x-enum: + - python + - r + - scala + - sql description: >- :returns: Long-running operation waiter for :class:`ContextStatusResponse`. See @@ -2886,6 +5225,11 @@ paths: description: Running context id language: type: string + x-enum: + - python + - r + - scala + - sql description: >- :returns: Long-running operation waiter for :class:`CommandStatusResponse`. See @@ -2951,12 +5295,12 @@ paths: type: string description: The Base64-encoded content of the script. enabled: - type: string + type: boolean description: >- Specifies whether the script is enabled. The script runs only if enabled. position: - type: string + type: integer description: >- The position of a global init script, where 0 represents the first script to run, 1 is the second script to run, in @@ -3157,12 +5501,12 @@ paths: type: string description: The Base64-encoded content of the script. enabled: - type: string + type: boolean description: >- Specifies whether the script is enabled. The script runs only if enabled. position: - type: string + type: integer description: >- The position of a script, where 0 represents the first script to run, 1 is the second script to run, in ascending @@ -3280,31 +5624,156 @@ paths: available node types can be retrieved by using the :method:clusters/listNodeTypes API call. aws_attributes: - type: string + type: object + properties: + availability: + type: string + x-enum: + - ON_DEMAND + - SPOT + description: Availability type used for the spot nodes. + instance_profile_arn: + type: string + description: >- + All AWS instances belonging to the instance pool will + have this instance profile. If omitted, instances will + initially be launched with the workspace's default + instance profile. If defined, clusters that use the pool + will inherit the instance profile, and must not specify + their own instance profile on cluster creation or + update. If the pool does not specify an instance + profile, clusters using the pool may specify any + instance profile. The instance profile must have + previously been added to the Databricks environment by + an account administrator. This feature may only be + available to certain customer plans. + spot_bid_price_percent: + type: integer + description: >- + Calculates the bid price for AWS spot instances, as a + percentage of the corresponding instance type's + on-demand price. For example, if this field is set to + 50, and the cluster needs a new `r3.xlarge` spot + instance, then the bid price is half of the price of + on-demand `r3.xlarge` instances. Similarly, if this + field is set to 200, the bid price is twice the price of + on-demand `r3.xlarge` instances. If not specified, the + default value is 100. When spot instances are requested + for this cluster, only spot instances whose bid price + percentage matches this field will be considered. Note + that, for safety, we enforce this field to be no more + than 10000. + zone_id: + type: string + description: >- + Identifier for the availability zone/datacenter in which + the cluster resides. This string will be of a form like + "us-west-2a". The provided availability zone must be in + the same region as the Databricks deployment. For + example, "us-west-2a" is not a valid zone id if the + Databricks deployment resides in the "us-east-1" region. + This is an optional field at cluster creation, and if + not specified, a default zone will be used. The list of + available zones as well as the default value can be + found by using the `List Zones` method. description: >- Attributes related to instance pools running on Amazon Web Services. If not specified at pool creation, a set of default values will be used. azure_attributes: - type: string + type: object + properties: + availability: + type: string + x-enum: + - ON_DEMAND_AZURE + - SPOT_AZURE + description: Availability type used for the spot nodes. + spot_bid_max_price: + type: number + description: >- + With variable pricing, you have option to set a max + price, in US dollars (USD) For example, the value 2 + would be a max price of $2.00 USD per hour. If you set + the max price to be -1, the VM won't be evicted based on + price. The price for the VM will be the current price + for spot or the price for a standard VM, which ever is + less, as long as there is capacity and quota available. description: >- Attributes related to instance pools running on Azure. If not specified at pool creation, a set of default values will be used. custom_tags: - type: string + type: object description: >- Additional tags for pool resources. Databricks will tag all pool resources (e.g., AWS instances and EBS volumes) with these tags in addition to `default_tags`. Notes: - Currently, Databricks allows at most 45 custom tags disk_spec: - type: string + type: object + properties: + disk_count: + type: integer + description: >- + The number of disks launched for each instance: - This + feature is only enabled for supported node types. - + Users can choose up to the limit of the disks supported + by the node type. - For node types with no OS disk, at + least one disk must be specified; otherwise, cluster + creation will fail. If disks are attached, Databricks + will configure Spark to use only the disks for scratch + storage, because heterogenously sized scratch devices + can lead to inefficient disk utilization. If no disks + are attached, Databricks will configure Spark to use + instance store disks. Note: If disks are specified, then + the Spark configuration `spark.local.dir` will be + overridden. Disks will be mounted at: - For AWS: + `/ebs0`, `/ebs1`, and etc. - For Azure: + `/remote_volume0`, `/remote_volume1`, and etc. + disk_iops: + type: integer + disk_size: + type: integer + description: >- + The size of each disk (in GiB) launched for each + instance. Values must fall into the supported range for + a particular instance type. For AWS: - General Purpose + SSD: 100 - 4096 GiB - Throughput Optimized HDD: 500 - + 4096 GiB For Azure: - Premium LRS (SSD): 1 - 1023 GiB - + Standard LRS (HDD): 1- 1023 GiB + disk_throughput: + type: integer + disk_type: + type: object + properties: + azure_disk_volume_type: + type: string + x-enum: + - PREMIUM_LRS + - STANDARD_LRS + description: >- + All Azure Disk types that Databricks supports. See + + https://docs.microsoft.com/en-us/azure/storage/storage-about-disks-and-vhds-linux#types-of-disks + ebs_volume_type: + type: string + x-enum: + - GENERAL_PURPOSE_SSD + - THROUGHPUT_OPTIMIZED_HDD + description: >- + All EBS volume types that Databricks supports. See + https://aws.amazon.com/ebs/details/ for + + details. + description: >- + The type of disks that will be launched with this + cluster. description: >- Defines the specification of the disks that will be attached to all spark containers. enable_elastic_disk: - type: string + type: boolean description: >- Autoscaling Local Storage: when enabled, this instances in this pool will dynamically acquire additional disk space @@ -3313,13 +5782,54 @@ paths: function correctly - refer to the User Guide for more details. gcp_attributes: - type: string + type: object + properties: + gcp_availability: + type: string + x-enum: + - ON_DEMAND_GCP + - PREEMPTIBLE_GCP + - PREEMPTIBLE_WITH_FALLBACK_GCP + description: >- + This field determines whether the instance pool will + contain preemptible VMs, on-demand VMs, or + + preemptible VMs with a fallback to on-demand VMs if the + former is unavailable. + local_ssd_count: + type: integer + description: >- + If provided, each node in the instance pool will have + this number of local SSDs attached. Each local SSD is + 375GB in size. Refer to [GCP documentation] for the + supported number of local SSDs for each instance type. + [GCP documentation]: + https://cloud.google.com/compute/docs/disks/local-ssd#choose_number_local_ssds + zone_id: + type: string + description: >- + Identifier for the availability zone/datacenter in which + the cluster resides. This string will be of a form like + "us-west1-a". The provided availability zone must be in + the same region as the Databricks workspace. For + example, "us-west1-a" is not a valid zone id if the + Databricks workspace resides in the "us-east1" region. + This is an optional field at instance pool creation, and + if not specified, a default zone will be used. This + field can be one of the following: - "HA" => High + availability, spread nodes across availability zones for + a Databricks deployment region - A GCP availability zone + => Pick One of the available zones for (machine type + + region) from + https://cloud.google.com/compute/docs/regions-zones + (e.g. "us-west1-a"). If empty, Databricks picks an + availability zone to schedule the cluster on. description: >- Attributes related to instance pools running on Google Cloud Platform. If not specified at pool creation, a set of default values will be used. idle_instance_autotermination_minutes: - type: string + type: integer description: >- Automatically terminates the extra instances in the pool cache after they are inactive for this time in minutes if @@ -3330,25 +5840,49 @@ paths: to 0 to instantly remove idle instances from the cache if min cache size could still hold. max_capacity: - type: string + type: integer description: >- Maximum number of outstanding instances to keep in the pool, including both instances used by clusters and idle instances. Clusters that require further instance provisioning will fail during upsize requests. min_idle_instances: - type: string + type: integer description: >- Minimum number of idle instances to keep in the instance pool node_type_flexibility: - type: string + type: object + properties: + alternate_node_type_ids: + type: array + items: + type: string + description: >- + A list of node type IDs to use as fallbacks when the + primary node type is unavailable. description: Flexible node type configuration for the pool. preloaded_docker_images: - type: string + type: array + items: + type: object + properties: + basic_auth: + type: object + properties: + password: + type: string + username: + type: string + description: Name of the user + url: + type: string + description: URL of the docker image. description: Custom Docker Image BYOC preloaded_spark_versions: - type: string + type: array + items: + type: string description: >- A list containing at most one preloaded Spark image version for the pool. Pool-backed clusters started with the @@ -3356,13 +5890,13 @@ paths: available Spark versions can be retrieved by using the :method:clusters/sparkVersions API call. remote_disk_throughput: - type: string + type: integer description: >- If set, what the configurable throughput (in Mb/s) for the remote disk is. Currently only supported for GCP HYPERDISK_BALANCED types. total_initial_remote_disk_size: - type: string + type: integer description: >- If set, what the total initial volume size (in GB) of the remote disks should be. Currently only supported for GCP @@ -3500,14 +6034,14 @@ paths: available node types can be retrieved by using the :method:clusters/listNodeTypes API call. custom_tags: - type: string + type: object description: >- Additional tags for pool resources. Databricks will tag all pool resources (e.g., AWS instances and EBS volumes) with these tags in addition to `default_tags`. Notes: - Currently, Databricks allows at most 45 custom tags idle_instance_autotermination_minutes: - type: string + type: integer description: >- Automatically terminates the extra instances in the pool cache after they are inactive for this time in minutes if @@ -3518,28 +6052,36 @@ paths: to 0 to instantly remove idle instances from the cache if min cache size could still hold. max_capacity: - type: string + type: integer description: >- Maximum number of outstanding instances to keep in the pool, including both instances used by clusters and idle instances. Clusters that require further instance provisioning will fail during upsize requests. min_idle_instances: - type: string + type: integer description: >- Minimum number of idle instances to keep in the instance pool node_type_flexibility: - type: string + type: object + properties: + alternate_node_type_ids: + type: array + items: + type: string + description: >- + A list of node type IDs to use as fallbacks when the + primary node type is unavailable. description: Flexible node type configuration for the pool. remote_disk_throughput: - type: string + type: integer description: >- If set, what the configurable throughput (in Mb/s) for the remote disk is. Currently only supported for GCP HYPERDISK_BALANCED types. total_initial_remote_disk_size: - type: string + type: integer description: >- If set, what the total initial volume size (in GB) of the remote disks should be. Currently only supported for GCP @@ -3726,7 +6268,24 @@ paths: type: object properties: access_control_list: - type: string + type: array + items: + type: object + properties: + group_name: + type: string + permission_level: + type: string + x-enum: + - CAN_ATTACH_TO + - CAN_MANAGE + description: Permission level + service_principal_name: + type: string + description: application ID of a service principal + user_name: + type: string + description: name of the user description: ':returns: :class:`InstancePoolPermissions`' responses: '200': @@ -3783,7 +6342,24 @@ paths: type: object properties: access_control_list: - type: string + type: array + items: + type: object + properties: + group_name: + type: string + permission_level: + type: string + x-enum: + - CAN_ATTACH_TO + - CAN_MANAGE + description: Permission level + service_principal_name: + type: string + description: application ID of a service principal + user_name: + type: string + description: name of the user description: ':returns: :class:`InstancePoolPermissions`' responses: '200': @@ -3897,7 +6473,7 @@ paths: Serverless]: https://docs.databricks.com/sql/admin/serverless.html is_meta_instance_profile: - type: string + type: boolean description: >- Boolean flag indicating whether the instance profile should only be used in credential passthrough scenarios. If true, @@ -3906,7 +6482,7 @@ paths: should always be used with authorization. This field is optional, the default value is `false`. skip_validation: - type: string + type: boolean description: >- By default, Databricks validates that it has sufficient permissions to launch instances with the instance profile. @@ -4008,7 +6584,7 @@ paths: Serverless]: https://docs.databricks.com/sql/admin/serverless.html is_meta_instance_profile: - type: string + type: boolean description: >- Boolean flag indicating whether the instance profile should only be used in credential passthrough scenarios. If true, @@ -4244,7 +6820,101 @@ paths: Unique identifier for the cluster on which to install these libraries. libraries: - type: string + type: array + items: + type: object + properties: + cran: + type: object + properties: + package: + type: string + repo: + type: string + description: >- + The repository where the package can be found. If + not specified, the default CRAN repo is used. + required: + - package + egg: + type: string + description: >- + Deprecated. URI of the egg library to install. + Installing Python egg files is deprecated and is not + supported in Databricks Runtime 14.0 and above. + jar: + type: string + description: >- + URI of the JAR library to install. Supported URIs + include Workspace paths, Unity Catalog Volumes paths, + and S3 URIs. For example: `{ "jar": + "/Workspace/path/to/library.jar" }`, `{ "jar" : + "/Volumes/path/to/library.jar" }` or `{ "jar": + "s3://my-bucket/library.jar" }`. If S3 is used, please + make sure the cluster has read access on the library. + You may need to launch the cluster with an IAM role to + access the S3 URI. + maven: + type: object + properties: + coordinates: + type: string + exclusions: + type: array + items: + type: string + description: >- + List of dependences to exclude. For example: + `["slf4j:slf4j", "*:hadoop-client"]`. Maven + dependency exclusions: + https://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html. + repo: + type: string + description: >- + Maven repo to install the Maven package from. If + omitted, both Maven Central Repository and Spark + Packages are searched. + required: + - coordinates + description: >- + Specification of a maven library to be installed. For + example: `{ "coordinates": "org.jsoup:jsoup:1.7.2" }` + pypi: + type: object + properties: + package: + type: string + repo: + type: string + description: >- + The repository where the package can be found. If + not specified, the default pip index is used. + required: + - package + description: >- + Specification of a PyPi library to be installed. For + example: `{ "package": "simplejson" }` + requirements: + type: string + description: >- + URI of the requirements.txt file to install. Only + Workspace paths and Unity Catalog Volumes paths are + supported. For example: `{ "requirements": + "/Workspace/path/to/requirements.txt" }` or `{ + "requirements" : "/Volumes/path/to/requirements.txt" + }` + whl: + type: string + description: >- + URI of the wheel library to install. Supported URIs + include Workspace paths, Unity Catalog Volumes paths, + and S3 URIs. For example: `{ "whl": + "/Workspace/path/to/library.whl" }`, `{ "whl" : + "/Volumes/path/to/library.whl" }` or `{ "whl": + "s3://my-bucket/library.whl" }`. If S3 is used, please + make sure the cluster has read access on the library. + You may need to launch the cluster with an IAM role to + access the S3 URI. description: The libraries to install. required: - cluster_id @@ -4297,7 +6967,101 @@ paths: Unique identifier for the cluster on which to uninstall these libraries. libraries: - type: string + type: array + items: + type: object + properties: + cran: + type: object + properties: + package: + type: string + repo: + type: string + description: >- + The repository where the package can be found. If + not specified, the default CRAN repo is used. + required: + - package + egg: + type: string + description: >- + Deprecated. URI of the egg library to install. + Installing Python egg files is deprecated and is not + supported in Databricks Runtime 14.0 and above. + jar: + type: string + description: >- + URI of the JAR library to install. Supported URIs + include Workspace paths, Unity Catalog Volumes paths, + and S3 URIs. For example: `{ "jar": + "/Workspace/path/to/library.jar" }`, `{ "jar" : + "/Volumes/path/to/library.jar" }` or `{ "jar": + "s3://my-bucket/library.jar" }`. If S3 is used, please + make sure the cluster has read access on the library. + You may need to launch the cluster with an IAM role to + access the S3 URI. + maven: + type: object + properties: + coordinates: + type: string + exclusions: + type: array + items: + type: string + description: >- + List of dependences to exclude. For example: + `["slf4j:slf4j", "*:hadoop-client"]`. Maven + dependency exclusions: + https://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html. + repo: + type: string + description: >- + Maven repo to install the Maven package from. If + omitted, both Maven Central Repository and Spark + Packages are searched. + required: + - coordinates + description: >- + Specification of a maven library to be installed. For + example: `{ "coordinates": "org.jsoup:jsoup:1.7.2" }` + pypi: + type: object + properties: + package: + type: string + repo: + type: string + description: >- + The repository where the package can be found. If + not specified, the default pip index is used. + required: + - package + description: >- + Specification of a PyPi library to be installed. For + example: `{ "package": "simplejson" }` + requirements: + type: string + description: >- + URI of the requirements.txt file to install. Only + Workspace paths and Unity Catalog Volumes paths are + supported. For example: `{ "requirements": + "/Workspace/path/to/requirements.txt" }` or `{ + "requirements" : "/Volumes/path/to/requirements.txt" + }` + whl: + type: string + description: >- + URI of the wheel library to install. Supported URIs + include Workspace paths, Unity Catalog Volumes paths, + and S3 URIs. For example: `{ "whl": + "/Workspace/path/to/library.whl" }`, `{ "whl" : + "/Volumes/path/to/library.whl" }` or `{ "whl": + "s3://my-bucket/library.whl" }`. If S3 is used, please + make sure the cluster has read access on the library. + You may need to launch the cluster with an IAM role to + access the S3 URI. description: The libraries to uninstall. required: - cluster_id @@ -4371,7 +7135,7 @@ paths: The ID of the cluster you want to enforce policy compliance on. validate_only: - type: string + type: boolean description: >- If set, previews the changes that would be made to a cluster to enforce compliance but does not update the cluster. @@ -4480,7 +7244,7 @@ paths: in: query required: false schema: - type: string + type: integer description: >- Use this field to specify the maximum number of results to be returned by the server. The server may further constrain the maximum @@ -4543,7 +7307,7 @@ paths: in: query required: false schema: - type: string + type: integer description: >- The version number for the family to fetch. Defaults to the latest version. @@ -4593,7 +7357,7 @@ paths: in: query required: false schema: - type: string + type: integer description: Maximum number of policy families to return. - name: page_token in: query @@ -7845,20 +10609,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -7919,20 +10683,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -7962,20 +10726,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -8004,20 +10768,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -8188,20 +10952,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -8242,20 +11006,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -8379,20 +11143,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -8433,20 +11197,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -8475,20 +11239,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -8517,20 +11281,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -8559,20 +11323,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -8604,20 +11368,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -8647,20 +11411,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: diff --git a/providers/src/databricks_workspace/v00.00.00000/services/dashboards.yaml b/providers/src/databricks_workspace/v00.00.00000/services/dashboards.yaml index fa817ac2..80855593 100644 --- a/providers/src/databricks_workspace/v00.00.00000/services/dashboards.yaml +++ b/providers/src/databricks_workspace/v00.00.00000/services/dashboards.yaml @@ -6,7 +6,7 @@ info: APIs), generated from the Databricks Python SDK. version: 0.1.0 x-stackql-sdk-version: 0.86.0 - x-stackql-date-generated: '2026-02-19' + x-stackql-date-generated: '2026-02-24' x-stackql-sdk-namespace: databricks.sdk.service.dashboards servers: - url: https://{deployment_name}.cloud.databricks.com @@ -124,7 +124,7 @@ paths: in: query required: false schema: - type: string + type: integer description: Maximum number of messages to return per page - name: page_token in: query @@ -245,7 +245,7 @@ paths: in: query required: false schema: - type: string + type: integer description: Maximum number of spaces to return per page - name: page_token in: query @@ -1028,7 +1028,7 @@ paths: in: query required: false schema: - type: string + type: boolean description: >- Whether to include the serialized space export in the response. Requires at least CAN EDIT permission on the space. @@ -1190,7 +1190,7 @@ paths: in: query required: false schema: - type: string + type: boolean description: >- Include all conversations in the space across all users. Requires at least CAN MANAGE permission on the space. @@ -1198,7 +1198,7 @@ paths: in: query required: false schema: - type: string + type: integer description: Maximum number of conversations to return per page - name: page_token in: query @@ -1270,6 +1270,10 @@ paths: properties: rating: type: string + x-enum: + - NEGATIVE + - NONE + - POSITIVE description: The rating (POSITIVE, NEGATIVE, or NONE). required: - rating @@ -1389,7 +1393,64 @@ paths: type: object properties: dashboard: - type: string + type: object + properties: + create_time: + type: string + dashboard_id: + type: string + description: UUID identifying the dashboard. + display_name: + type: string + description: The display name of the dashboard. + etag: + type: string + description: >- + The etag for the dashboard. Can be optionally provided + on updates to ensure that the dashboard has not been + modified since the last read. This field is excluded in + List Dashboards responses. + lifecycle_state: + type: string + x-enum: + - ACTIVE + - TRASHED + description: >- + The state of the dashboard resource. Used for tracking + trashed status. + parent_path: + type: string + description: >- + The workspace path of the folder containing the + dashboard. Includes leading slash and no trailing slash. + This field is excluded in List Dashboards responses. + path: + type: string + description: >- + The workspace path of the dashboard asset, including the + file name. Exported dashboards always have the file + extension `.lvdash.json`. This field is excluded in List + Dashboards responses. + serialized_dashboard: + type: string + description: >- + The contents of the dashboard in serialized string form. + This field is excluded in List Dashboards responses. Use + the [get dashboard API] to retrieve an example response, + which includes the `serialized_dashboard` field. This + field provides the structure of the JSON string that + represents the dashboard's layout and components. [get + dashboard API]: + https://docs.databricks.com/api/workspace/lakeview/get + update_time: + type: string + description: >- + The timestamp of when the dashboard was last updated by + the user. This field is excluded in List Dashboards + responses. + warehouse_id: + type: string + description: The warehouse ID used to run the dashboard. description: >- :param dataset_catalog: str (optional) Sets the default catalog for all datasets in this dashboard. Does not impact @@ -1443,7 +1504,7 @@ paths: in: query required: false schema: - type: string + type: integer description: The number of dashboards to return per page. - name: page_token in: query @@ -1457,7 +1518,7 @@ paths: in: query required: false schema: - type: string + type: boolean description: >- The flag to include dashboards located in the trash. If unspecified, only active dashboards will be returned. @@ -1465,7 +1526,7 @@ paths: in: query required: false schema: - type: string + $ref: '#/components/schemas/DashboardView' description: >- `DASHBOARD_VIEW_BASIC`only includes summary metadata from the dashboard. @@ -1518,7 +1579,64 @@ paths: type: object properties: schedule: - type: string + type: object + properties: + cron_schedule: + type: object + properties: + quartz_cron_expression: + type: string + timezone_id: + type: string + description: >- + A Java timezone id. The schedule will be resolved + with respect to this timezone. See [Java TimeZone] + for details. [Java TimeZone]: + https://docs.oracle.com/javase/7/docs/api/java/util/TimeZone.html + required: + - quartz_cron_expression + - timezone_id + create_time: + type: string + description: A timestamp indicating when the schedule was created. + dashboard_id: + type: string + description: >- + UUID identifying the dashboard to which the schedule + belongs. + display_name: + type: string + description: The display name for schedule. + etag: + type: string + description: >- + The etag for the schedule. Must be left empty on create, + must be provided on updates to ensure that the schedule + has not been modified since the last read, and can be + optionally provided on delete. + pause_status: + type: string + x-enum: + - PAUSED + - UNPAUSED + description: >- + The status indicates whether this schedule is paused or + not. + schedule_id: + type: string + description: UUID identifying the schedule. + update_time: + type: string + description: >- + A timestamp indicating when the schedule was last + updated. + warehouse_id: + type: string + description: >- + The warehouse id to run the dashboard with for the + schedule. + required: + - cron_schedule description: >- The schedule to create. A dashboard is limited to 10 schedules. @@ -1572,7 +1690,7 @@ paths: in: query required: false schema: - type: string + type: integer description: The number of schedules to return per page. - name: page_token in: query @@ -1639,7 +1757,66 @@ paths: type: object properties: subscription: - type: string + type: object + properties: + subscriber: + type: object + properties: + destination_subscriber: + type: object + properties: + destination_id: + type: string + required: + - destination_id + user_subscriber: + type: object + properties: + user_id: + type: integer + required: + - user_id + description: >- + The user to receive the subscription email. This + parameter is mutually exclusive with + `destination_subscriber`. + create_time: + type: string + description: >- + A timestamp indicating when the subscription was + created. + created_by_user_id: + type: integer + description: >- + UserId of the user who adds subscribers (users or + notification destinations) to the dashboard's schedule. + dashboard_id: + type: string + description: >- + UUID identifying the dashboard to which the subscription + belongs. + etag: + type: string + description: >- + The etag for the subscription. Must be left empty on + create, can be optionally provided on delete to ensure + that the subscription has not been deleted since the + last read. + schedule_id: + type: string + description: >- + UUID identifying the schedule to which the subscription + belongs. + subscription_id: + type: string + description: UUID identifying the subscription. + update_time: + type: string + description: >- + A timestamp indicating when the subscription was last + updated. + required: + - subscriber description: >- The subscription to create. A schedule is limited to 100 subscriptions. @@ -1701,7 +1878,7 @@ paths: in: query required: false schema: - type: string + type: integer description: The number of subscriptions to return per page. - name: page_token in: query @@ -1867,7 +2044,64 @@ paths: type: object properties: schedule: - type: string + type: object + properties: + cron_schedule: + type: object + properties: + quartz_cron_expression: + type: string + timezone_id: + type: string + description: >- + A Java timezone id. The schedule will be resolved + with respect to this timezone. See [Java TimeZone] + for details. [Java TimeZone]: + https://docs.oracle.com/javase/7/docs/api/java/util/TimeZone.html + required: + - quartz_cron_expression + - timezone_id + create_time: + type: string + description: A timestamp indicating when the schedule was created. + dashboard_id: + type: string + description: >- + UUID identifying the dashboard to which the schedule + belongs. + display_name: + type: string + description: The display name for schedule. + etag: + type: string + description: >- + The etag for the schedule. Must be left empty on create, + must be provided on updates to ensure that the schedule + has not been modified since the last read, and can be + optionally provided on delete. + pause_status: + type: string + x-enum: + - PAUSED + - UNPAUSED + description: >- + The status indicates whether this schedule is paused or + not. + schedule_id: + type: string + description: UUID identifying the schedule. + update_time: + type: string + description: >- + A timestamp indicating when the schedule was last + updated. + warehouse_id: + type: string + description: >- + The warehouse id to run the dashboard with for the + schedule. + required: + - cron_schedule description: The schedule to update. required: - schedule @@ -2130,7 +2364,64 @@ paths: type: object properties: dashboard: - type: string + type: object + properties: + create_time: + type: string + dashboard_id: + type: string + description: UUID identifying the dashboard. + display_name: + type: string + description: The display name of the dashboard. + etag: + type: string + description: >- + The etag for the dashboard. Can be optionally provided + on updates to ensure that the dashboard has not been + modified since the last read. This field is excluded in + List Dashboards responses. + lifecycle_state: + type: string + x-enum: + - ACTIVE + - TRASHED + description: >- + The state of the dashboard resource. Used for tracking + trashed status. + parent_path: + type: string + description: >- + The workspace path of the folder containing the + dashboard. Includes leading slash and no trailing slash. + This field is excluded in List Dashboards responses. + path: + type: string + description: >- + The workspace path of the dashboard asset, including the + file name. Exported dashboards always have the file + extension `.lvdash.json`. This field is excluded in List + Dashboards responses. + serialized_dashboard: + type: string + description: >- + The contents of the dashboard in serialized string form. + This field is excluded in List Dashboards responses. Use + the [get dashboard API] to retrieve an example response, + which includes the `serialized_dashboard` field. This + field provides the structure of the JSON string that + represents the dashboard's layout and components. [get + dashboard API]: + https://docs.databricks.com/api/workspace/lakeview/get + update_time: + type: string + description: >- + The timestamp of when the dashboard was last updated by + the user. This field is excluded in List Dashboards + responses. + warehouse_id: + type: string + description: The warehouse ID used to run the dashboard. description: >- :param dataset_catalog: str (optional) Sets the default catalog for all datasets in this dashboard. Does not impact @@ -2230,7 +2521,7 @@ paths: type: object properties: embed_credentials: - type: string + type: boolean description: >- Flag to indicate if the publisher's credentials should be embedded in the published dashboard. These embedded @@ -2332,7 +2623,7 @@ paths: The workspace path of the folder to contain the migrated Lakeview dashboard. update_parameter_syntax: - type: string + type: boolean description: >- Flag to indicate if mustache parameter syntax ({{ param }}) should be auto-updated to named syntax (:param) when @@ -2987,20 +3278,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -3036,20 +3327,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -3136,20 +3427,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -3230,20 +3521,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: diff --git a/providers/src/databricks_workspace/v00.00.00000/services/database.yaml b/providers/src/databricks_workspace/v00.00.00000/services/database.yaml index 21247f56..f057cedf 100644 --- a/providers/src/databricks_workspace/v00.00.00000/services/database.yaml +++ b/providers/src/databricks_workspace/v00.00.00000/services/database.yaml @@ -6,7 +6,7 @@ info: APIs), generated from the Databricks Python SDK. version: 0.1.0 x-stackql-sdk-version: 0.86.0 - x-stackql-date-generated: '2026-02-19' + x-stackql-date-generated: '2026-02-24' x-stackql-sdk-namespace: databricks.sdk.service.database servers: - url: https://{deployment_name}.cloud.databricks.com @@ -34,7 +34,26 @@ paths: type: object properties: catalog: - type: string + type: object + properties: + name: + type: string + database_instance_name: + type: string + description: The name of the DatabaseInstance housing the database. + database_name: + type: string + description: >- + The name of the database (in a instance) associated with + the catalog. + create_database_if_not_exists: + type: boolean + uid: + type: string + required: + - name + - database_instance_name + - database_name description: ':returns: :class:`DatabaseCatalog`' required: - catalog @@ -79,7 +98,269 @@ paths: type: object properties: database_instance: - type: string + type: object + properties: + name: + type: string + description: >- + The name of the instance. This is the unique identifier + for the instance. + capacity: + type: string + description: >- + The sku of the instance. Valid values are "CU_1", + "CU_2", "CU_4", "CU_8". + child_instance_refs: + type: array + items: + type: object + properties: + branch_time: + type: string + description: >- + Branch time of the ref database instance. For a + parent ref instance, this is the point in time on + the parent instance from which the instance was + created. For a child ref instance, this is the + point in time on the instance from which the child + instance was created. Input: For specifying the + point in time to create a child instance. + Optional. Output: Only populated if provided as + input to create a child instance. + effective_lsn: + type: string + description: >- + For a parent ref instance, this is the LSN on the + parent instance from which the instance was + created. For a child ref instance, this is the LSN + on the instance from which the child instance was + created. This is an output only field that + contains the value computed from the input field + combined with server side defaults. Use the field + without the effective_ prefix to set the value. + lsn: + type: string + description: >- + User-specified WAL LSN of the ref database + instance. Input: For specifying the WAL LSN to + create a child instance. Optional. Output: Only + populated if provided as input to create a child + instance. + name: + type: string + description: Name of the ref database instance. + uid: + type: string + description: Id of the ref database instance. + description: >- + DatabaseInstanceRef is a reference to a database + instance. It is used in the DatabaseInstance + object to refer to the parent instance of an instance and to refer the child instances of an + instance. To specify as a parent instance during creation of an instance, the lsn and + branch_time fields are optional. If not specified, the child instance will be created from the + latest lsn of the parent. If both lsn and branch_time are specified, the lsn will be used to + create the child instance. + description: >- + The refs of the child instances. This is only available + if the instance is parent instance. + creation_time: + type: string + description: The timestamp when the instance was created. + creator: + type: string + description: The email of the creator of the instance. + custom_tags: + type: array + items: + type: object + properties: + key: + type: string + value: + type: string + description: The value of the custom tag. + description: >- + Custom tags associated with the instance. This field is + only included on create and update responses. + effective_capacity: + type: string + description: >- + Deprecated. The sku of the instance; this field will + always match the value of capacity. This is an output + only field that contains the value computed from the + input field combined with server side defaults. Use the + field without the effective_ prefix to set the value. + effective_custom_tags: + type: array + items: + type: object + properties: + key: + type: string + value: + type: string + description: The value of the custom tag. + description: >- + The recorded custom tags associated with the instance. + This is an output only field that contains the value + computed from the input field combined with server side + defaults. Use the field without the effective_ prefix to + set the value. + effective_enable_pg_native_login: + type: boolean + description: >- + Whether the instance has PG native password login + enabled. This is an output only field that contains the + value computed from the input field combined with server + side defaults. Use the field without the effective_ + prefix to set the value. + effective_enable_readable_secondaries: + type: boolean + description: >- + Whether secondaries serving read-only traffic are + enabled. Defaults to false. This is an output only field + that contains the value computed from the input field + combined with server side defaults. Use the field + without the effective_ prefix to set the value. + effective_node_count: + type: integer + description: >- + The number of nodes in the instance, composed of 1 + primary and 0 or more secondaries. Defaults to 1 primary + and 0 secondaries. This is an output only field that + contains the value computed from the input field + combined with server side defaults. Use the field + without the effective_ prefix to set the value. + effective_retention_window_in_days: + type: integer + description: >- + The retention window for the instance. This is the time + window in days for which the historical data is + retained. This is an output only field that contains the + value computed from the input field combined with server + side defaults. Use the field without the effective_ + prefix to set the value. + effective_stopped: + type: boolean + description: >- + Whether the instance is stopped. This is an output only + field that contains the value computed from the input + field combined with server side defaults. Use the field + without the effective_ prefix to set the value. + effective_usage_policy_id: + type: string + description: >- + The policy that is applied to the instance. This is an + output only field that contains the value computed from + the input field combined with server side defaults. Use + the field without the effective_ prefix to set the + value. + enable_pg_native_login: + type: boolean + description: >- + Whether to enable PG native password login on the + instance. Defaults to false. + enable_readable_secondaries: + type: boolean + description: >- + Whether to enable secondaries to serve read-only + traffic. Defaults to false. + node_count: + type: integer + description: >- + The number of nodes in the instance, composed of 1 + primary and 0 or more secondaries. Defaults to 1 primary + and 0 secondaries. This field is input only, see + effective_node_count for the output. + parent_instance_ref: + type: object + properties: + branch_time: + type: string + description: >- + Branch time of the ref database instance. For a + parent ref instance, this is the point in time on + the parent instance from which the instance was + created. For a child ref instance, this is the point + in time on the instance from which the child + instance was created. Input: For specifying the + point in time to create a child instance. Optional. + Output: Only populated if provided as input to + create a child instance. + effective_lsn: + type: string + description: >- + For a parent ref instance, this is the LSN on the + parent instance from which the instance was created. + For a child ref instance, this is the LSN on the + instance from which the child instance was created. + This is an output only field that contains the value + computed from the input field combined with server + side defaults. Use the field without the effective_ + prefix to set the value. + lsn: + type: string + description: >- + User-specified WAL LSN of the ref database instance. + Input: For specifying the WAL LSN to create a child + instance. Optional. Output: Only populated if + provided as input to create a child instance. + name: + type: string + description: Name of the ref database instance. + uid: + type: string + description: Id of the ref database instance. + description: >- + The ref of the parent instance. This is only available + if the instance is child instance. Input: For specifying + the parent instance to create a child instance. + Optional. Output: Only populated if provided as input to + create a child instance. + pg_version: + type: string + description: The version of Postgres running on the instance. + read_only_dns: + type: string + description: >- + The DNS endpoint to connect to the instance for read + only access. This is only available if + enable_readable_secondaries is true. + read_write_dns: + type: string + description: >- + The DNS endpoint to connect to the instance for + read+write access. + retention_window_in_days: + type: integer + description: >- + The retention window for the instance. This is the time + window in days for which the historical data is + retained. The default value is 7 days. Valid values are + 2 to 35 days. + state: + type: string + x-enum: + - AVAILABLE + - DELETING + - FAILING_OVER + - STARTING + - STOPPED + - UPDATING + description: The current state of the instance. + stopped: + type: boolean + description: >- + Whether to stop the instance. An input only param, see + effective_stopped for the output. + uid: + type: string + description: An immutable UUID identifier for the instance. + usage_policy_id: + type: string + description: The desired usage policy to associate with the instance. + required: + - name description: Instance to create. required: - database_instance @@ -121,7 +402,7 @@ paths: in: query required: false schema: - type: string + type: integer description: Upper bound for items returned. - name: page_token in: query @@ -184,7 +465,62 @@ paths: type: object properties: database_instance_role: - type: string + type: object + properties: + name: + type: string + description: >- + The name of the role. This is the unique identifier for + the role in an instance. + attributes: + type: object + properties: + bypassrls: + type: boolean + createdb: + type: boolean + createrole: + type: boolean + description: >- + The desired API-exposed Postgres role attribute to + associate with the role. Optional. + effective_attributes: + type: object + properties: + bypassrls: + type: boolean + createdb: + type: boolean + createrole: + type: boolean + description: >- + The attributes that are applied to the role. This is an + output only field that contains the value computed from + the input field combined with server side defaults. Use + the field without the effective_ prefix to set the + value. + identity_type: + type: string + x-enum: + - GROUP + - PG_ONLY + - SERVICE_PRINCIPAL + - USER + description: The type of the role. + instance_name: + type: string + membership_role: + type: string + x-enum: + - DATABRICKS_SUPERUSER + description: >- + An enum value for a standard role that this role is a + member of. + required: + - name + description: >- + A DatabaseInstanceRole represents a Postgres role in a + database instance. required: - database_instance_role responses: @@ -243,7 +579,7 @@ paths: in: query required: false schema: - type: string + type: integer - name: page_token in: query required: false @@ -298,7 +634,35 @@ paths: type: object properties: table: - type: string + type: object + properties: + name: + type: string + description: >- + Full three-part (catalog, schema, table) name of the + table. + database_instance_name: + type: string + description: >- + Name of the target database instance. This is required + when creating database tables in standard catalogs. This + is optional when creating database tables in registered + catalogs. If this field is specified when creating + database tables in registered catalogs, the database + instance name MUST match that of the registered catalog + (or the request will be rejected). + logical_database_name: + type: string + description: >- + Target Postgres database object (logical database) name + for this table. When creating a table in a standard + catalog, this field is required. In this scenario, + specifying this field will allow targeting an arbitrary + postgres database. Registration of database tables via + /database/tables is currently only supported in standard + catalogs. + required: + - name description: ':returns: :class:`DatabaseTable`' required: - table @@ -340,7 +704,423 @@ paths: type: object properties: synced_table: - type: string + type: object + properties: + name: + type: string + description: >- + Full three-part (catalog, schema, table) name of the + table. + data_synchronization_status: + type: object + properties: + continuous_update_status: + type: object + properties: + initial_pipeline_sync_progress: + type: object + properties: + estimated_completion_time_seconds: + type: number + description: >- + The estimated time remaining to complete + this update in seconds. + latest_version_currently_processing: + type: integer + description: >- + The source table Delta version that was last + processed by the pipeline. The pipeline may + not have completely processed this version + yet. + provisioning_phase: + type: string + x-enum: + - PROVISIONING_PHASE_INDEX_SCAN + - PROVISIONING_PHASE_INDEX_SORT + - PROVISIONING_PHASE_MAIN + description: >- + The current phase of the data + synchronization pipeline. + sync_progress_completion: + type: number + description: >- + The completion ratio of this update. This is + a number between 0 and 1. + synced_row_count: + type: integer + description: >- + The number of rows that have been synced in + this update. + total_row_count: + type: integer + description: >- + The total number of rows that need to be + synced in this update. This number may be an + estimate. + description: Progress of the initial data synchronization. + last_processed_commit_version: + type: integer + description: >- + The last source table Delta version that was + successfully synced to the synced table. + timestamp: + type: string + description: >- + The end timestamp of the last time any data was + synchronized from the source table to the synced + table. This is when the data is available in the + synced table. + description: >- + Detailed status of a synced table. Shown if the + synced table is in the SYNCED_CONTINUOUS_UPDATE + or the SYNCED_UPDATING_PIPELINE_RESOURCES state. + detailed_state: + type: string + x-enum: + - SYNCED_TABLED_OFFLINE + - SYNCED_TABLE_OFFLINE_FAILED + - SYNCED_TABLE_ONLINE + - SYNCED_TABLE_ONLINE_CONTINUOUS_UPDATE + - SYNCED_TABLE_ONLINE_NO_PENDING_UPDATE + - SYNCED_TABLE_ONLINE_PIPELINE_FAILED + - SYNCED_TABLE_ONLINE_TRIGGERED_UPDATE + - SYNCED_TABLE_ONLINE_UPDATING_PIPELINE_RESOURCES + - SYNCED_TABLE_PROVISIONING + - SYNCED_TABLE_PROVISIONING_INITIAL_SNAPSHOT + - SYNCED_TABLE_PROVISIONING_PIPELINE_RESOURCES + description: The state of the synced table. + failed_status: + type: object + properties: + last_processed_commit_version: + type: integer + description: >- + The last source table Delta version that was + successfully synced to the synced table. The + last source table Delta version that was synced + to the synced table. Only populated if the table + is still synced and available for serving. + timestamp: + type: string + description: >- + The end timestamp of the last time any data was + synchronized from the source table to the synced + table. Only populated if the table is still + synced and available for serving. + description: >- + Detailed status of a synced table. Shown if the + synced table is in the OFFLINE_FAILED or the + SYNCED_PIPELINE_FAILED state. + last_sync: + type: object + properties: + delta_table_sync_info: + type: object + properties: + delta_commit_timestamp: + type: string + delta_commit_version: + type: integer + description: >- + The Delta Lake commit version that was last + successfully synced. + sync_end_timestamp: + type: string + description: >- + The end timestamp of the most recent successful + synchronization. This is the time when the data + is available in the synced table. + sync_start_timestamp: + type: string + description: >- + The starting timestamp of the most recent + successful synchronization from the source table + to the destination (synced) table. Note this is + the starting timestamp of the sync operation, + not the end time. E.g., for a batch, this is the + time when the sync operation started. + description: >- + Summary of the last successful synchronization from + source to destination. Will always be present if + there has been a successful sync. Even if the most + recent syncs have failed. Limitation: The only + exception is if the synced table is doing a FULL + REFRESH, then the last sync information will not be + available until the full refresh is complete. This + limitation will be addressed in a future version. + This top-level field is a convenience for consumers + who want easy access to last sync information + without having to traverse detailed_status. + message: + type: string + description: >- + A text description of the current state of the + synced table. + pipeline_id: + type: string + description: >- + ID of the associated pipeline. The pipeline ID may + have been provided by the client (in the case of bin + packing), or generated by the server (when creating + a new pipeline). + provisioning_status: + type: object + properties: + initial_pipeline_sync_progress: + type: object + properties: + estimated_completion_time_seconds: + type: number + description: >- + The estimated time remaining to complete + this update in seconds. + latest_version_currently_processing: + type: integer + description: >- + The source table Delta version that was last + processed by the pipeline. The pipeline may + not have completely processed this version + yet. + provisioning_phase: + type: string + x-enum: + - PROVISIONING_PHASE_INDEX_SCAN + - PROVISIONING_PHASE_INDEX_SORT + - PROVISIONING_PHASE_MAIN + description: >- + The current phase of the data + synchronization pipeline. + sync_progress_completion: + type: number + description: >- + The completion ratio of this update. This is + a number between 0 and 1. + synced_row_count: + type: integer + description: >- + The number of rows that have been synced in + this update. + total_row_count: + type: integer + description: >- + The total number of rows that need to be + synced in this update. This number may be an + estimate. + description: >- + Details about initial data synchronization. Only + populated when in the + PROVISIONING_INITIAL_SNAPSHOT state. + description: >- + Detailed status of a synced table. Shown if the + synced table is in the + PROVISIONING_PIPELINE_RESOURCES or the PROVISIONING_INITIAL_SNAPSHOT state. + triggered_update_status: + type: object + properties: + last_processed_commit_version: + type: integer + description: >- + The last source table Delta version that was + successfully synced to the synced table. + timestamp: + type: string + description: >- + The end timestamp of the last time any data was + synchronized from the source table to the synced + table. This is when the data is available in the + synced table. + triggered_update_progress: + type: object + properties: + estimated_completion_time_seconds: + type: number + description: >- + The estimated time remaining to complete + this update in seconds. + latest_version_currently_processing: + type: integer + description: >- + The source table Delta version that was last + processed by the pipeline. The pipeline may + not have completely processed this version + yet. + provisioning_phase: + type: string + x-enum: + - PROVISIONING_PHASE_INDEX_SCAN + - PROVISIONING_PHASE_INDEX_SORT + - PROVISIONING_PHASE_MAIN + description: >- + The current phase of the data + synchronization pipeline. + sync_progress_completion: + type: number + description: >- + The completion ratio of this update. This is + a number between 0 and 1. + synced_row_count: + type: integer + description: >- + The number of rows that have been synced in + this update. + total_row_count: + type: integer + description: >- + The total number of rows that need to be + synced in this update. This number may be an + estimate. + description: >- + Progress of the active data synchronization + pipeline. + description: >- + Detailed status of a synced table. Shown if the + synced table is in the SYNCED_TRIGGERED_UPDATE + or the SYNCED_NO_PENDING_UPDATE state. + description: Synced Table data synchronization status + database_instance_name: + type: string + description: >- + Name of the target database instance. This is required + when creating synced database tables in standard + catalogs. This is optional when creating synced database + tables in registered catalogs. If this field is + specified when creating synced database tables in + registered catalogs, the database instance name MUST + match that of the registered catalog (or the request + will be rejected). + effective_database_instance_name: + type: string + description: >- + The name of the database instance that this table is + registered to. This field is always returned, and for + tables inside database catalogs is inferred database + instance associated with the catalog. This is an output + only field that contains the value computed from the + input field combined with server side defaults. Use the + field without the effective_ prefix to set the value. + effective_logical_database_name: + type: string + description: >- + The name of the logical database that this table is + registered to. This is an output only field that + contains the value computed from the input field + combined with server side defaults. Use the field + without the effective_ prefix to set the value. + logical_database_name: + type: string + description: >- + Target Postgres database object (logical database) name + for this table. When creating a synced table in a + registered Postgres catalog, the target Postgres + database name is inferred to be that of the registered + catalog. If this field is specified in this scenario, + the Postgres database name MUST match that of the + registered catalog (or the request will be rejected). + When creating a synced table in a standard catalog, this + field is required. In this scenario, specifying this + field will allow targeting an arbitrary postgres + database. Note that this has implications for the + `create_database_objects_is_missing` field in `spec`. + spec: + type: object + properties: + create_database_objects_if_missing: + type: boolean + description: >- + If true, the synced table's logical database and + schema resources in PG will be created if they do + not already exist. + existing_pipeline_id: + type: string + description: >- + At most one of existing_pipeline_id and + new_pipeline_spec should be defined. If + existing_pipeline_id is defined, the synced table + will be bin packed into the existing pipeline + referenced. This avoids creating a new pipeline and + allows sharing existing compute. In this case, the + scheduling_policy of this synced table must match + the scheduling policy of the existing pipeline. + new_pipeline_spec: + type: object + properties: + budget_policy_id: + type: string + description: >- + Budget policy to set on the newly created + pipeline. + storage_catalog: + type: string + description: >- + This field needs to be specified if the + destination catalog is a managed postgres + catalog. UC catalog for the pipeline to store + intermediate files (checkpoints, event logs + etc). This needs to be a standard catalog where + the user has permissions to create Delta tables. + storage_schema: + type: string + description: >- + This field needs to be specified if the + destination catalog is a managed postgres + catalog. UC schema for the pipeline to store + intermediate files (checkpoints, event logs + etc). This needs to be in the standard catalog + where the user has permissions to create Delta + tables. + description: >- + At most one of existing_pipeline_id and + new_pipeline_spec should be defined. If + new_pipeline_spec is defined, a new pipeline is + created for this synced table. The location pointed + to is used to store intermediate files (checkpoints, + event logs etc). The caller must have write + permissions to create Delta tables in the specified + catalog and schema. Again, note this requires write + permissions, whereas the source table only requires + read permissions. + primary_key_columns: + type: array + items: + type: string + description: >- + Primary Key columns to be used for data + insert/update in the destination. + scheduling_policy: + type: string + x-enum: + - CONTINUOUS + - SNAPSHOT + - TRIGGERED + description: Scheduling policy of the underlying pipeline. + source_table_full_name: + type: string + description: >- + Three-part (catalog, schema, table) name of the + source Delta table. + timeseries_key: + type: string + description: >- + Time series key to deduplicate (tie-break) rows with + the same primary key. + description: Specification of a synced database table. + unity_catalog_provisioning_state: + type: string + x-enum: + - ACTIVE + - DEGRADED + - DELETING + - FAILED + - PROVISIONING + - UPDATING + description: >- + The provisioning state of the synced table entity in + Unity Catalog. This is distinct from the state of the + data synchronization pipeline (i.e. the table may be in + "ACTIVE" but the pipeline may be in "PROVISIONING" as it + runs asynchronously). + required: + - name description: ':returns: :class:`SyncedDatabaseTable`' required: - synced_table @@ -470,7 +1250,26 @@ paths: type: object properties: database_catalog: - type: string + type: object + properties: + name: + type: string + database_instance_name: + type: string + description: The name of the DatabaseInstance housing the database. + database_name: + type: string + description: >- + The name of the database (in a instance) associated with + the catalog. + create_database_if_not_exists: + type: boolean + uid: + type: string + required: + - name + - database_instance_name + - database_name description: Note that updating a database catalog is not yet supported. required: - database_catalog @@ -521,7 +1320,7 @@ paths: in: query required: false schema: - type: string + type: boolean description: >- By default, a instance cannot be deleted if it has descendant instances created via PITR. If this flag is specified as true, all @@ -530,7 +1329,7 @@ paths: in: query required: false schema: - type: string + type: boolean description: >- Deprecated. Omitting the field or setting it to true will result in the field being hard deleted. Setting a value of false will throw a @@ -625,7 +1424,269 @@ paths: type: object properties: database_instance: - type: string + type: object + properties: + name: + type: string + description: >- + The name of the instance. This is the unique identifier + for the instance. + capacity: + type: string + description: >- + The sku of the instance. Valid values are "CU_1", + "CU_2", "CU_4", "CU_8". + child_instance_refs: + type: array + items: + type: object + properties: + branch_time: + type: string + description: >- + Branch time of the ref database instance. For a + parent ref instance, this is the point in time on + the parent instance from which the instance was + created. For a child ref instance, this is the + point in time on the instance from which the child + instance was created. Input: For specifying the + point in time to create a child instance. + Optional. Output: Only populated if provided as + input to create a child instance. + effective_lsn: + type: string + description: >- + For a parent ref instance, this is the LSN on the + parent instance from which the instance was + created. For a child ref instance, this is the LSN + on the instance from which the child instance was + created. This is an output only field that + contains the value computed from the input field + combined with server side defaults. Use the field + without the effective_ prefix to set the value. + lsn: + type: string + description: >- + User-specified WAL LSN of the ref database + instance. Input: For specifying the WAL LSN to + create a child instance. Optional. Output: Only + populated if provided as input to create a child + instance. + name: + type: string + description: Name of the ref database instance. + uid: + type: string + description: Id of the ref database instance. + description: >- + DatabaseInstanceRef is a reference to a database + instance. It is used in the DatabaseInstance + object to refer to the parent instance of an instance and to refer the child instances of an + instance. To specify as a parent instance during creation of an instance, the lsn and + branch_time fields are optional. If not specified, the child instance will be created from the + latest lsn of the parent. If both lsn and branch_time are specified, the lsn will be used to + create the child instance. + description: >- + The refs of the child instances. This is only available + if the instance is parent instance. + creation_time: + type: string + description: The timestamp when the instance was created. + creator: + type: string + description: The email of the creator of the instance. + custom_tags: + type: array + items: + type: object + properties: + key: + type: string + value: + type: string + description: The value of the custom tag. + description: >- + Custom tags associated with the instance. This field is + only included on create and update responses. + effective_capacity: + type: string + description: >- + Deprecated. The sku of the instance; this field will + always match the value of capacity. This is an output + only field that contains the value computed from the + input field combined with server side defaults. Use the + field without the effective_ prefix to set the value. + effective_custom_tags: + type: array + items: + type: object + properties: + key: + type: string + value: + type: string + description: The value of the custom tag. + description: >- + The recorded custom tags associated with the instance. + This is an output only field that contains the value + computed from the input field combined with server side + defaults. Use the field without the effective_ prefix to + set the value. + effective_enable_pg_native_login: + type: boolean + description: >- + Whether the instance has PG native password login + enabled. This is an output only field that contains the + value computed from the input field combined with server + side defaults. Use the field without the effective_ + prefix to set the value. + effective_enable_readable_secondaries: + type: boolean + description: >- + Whether secondaries serving read-only traffic are + enabled. Defaults to false. This is an output only field + that contains the value computed from the input field + combined with server side defaults. Use the field + without the effective_ prefix to set the value. + effective_node_count: + type: integer + description: >- + The number of nodes in the instance, composed of 1 + primary and 0 or more secondaries. Defaults to 1 primary + and 0 secondaries. This is an output only field that + contains the value computed from the input field + combined with server side defaults. Use the field + without the effective_ prefix to set the value. + effective_retention_window_in_days: + type: integer + description: >- + The retention window for the instance. This is the time + window in days for which the historical data is + retained. This is an output only field that contains the + value computed from the input field combined with server + side defaults. Use the field without the effective_ + prefix to set the value. + effective_stopped: + type: boolean + description: >- + Whether the instance is stopped. This is an output only + field that contains the value computed from the input + field combined with server side defaults. Use the field + without the effective_ prefix to set the value. + effective_usage_policy_id: + type: string + description: >- + The policy that is applied to the instance. This is an + output only field that contains the value computed from + the input field combined with server side defaults. Use + the field without the effective_ prefix to set the + value. + enable_pg_native_login: + type: boolean + description: >- + Whether to enable PG native password login on the + instance. Defaults to false. + enable_readable_secondaries: + type: boolean + description: >- + Whether to enable secondaries to serve read-only + traffic. Defaults to false. + node_count: + type: integer + description: >- + The number of nodes in the instance, composed of 1 + primary and 0 or more secondaries. Defaults to 1 primary + and 0 secondaries. This field is input only, see + effective_node_count for the output. + parent_instance_ref: + type: object + properties: + branch_time: + type: string + description: >- + Branch time of the ref database instance. For a + parent ref instance, this is the point in time on + the parent instance from which the instance was + created. For a child ref instance, this is the point + in time on the instance from which the child + instance was created. Input: For specifying the + point in time to create a child instance. Optional. + Output: Only populated if provided as input to + create a child instance. + effective_lsn: + type: string + description: >- + For a parent ref instance, this is the LSN on the + parent instance from which the instance was created. + For a child ref instance, this is the LSN on the + instance from which the child instance was created. + This is an output only field that contains the value + computed from the input field combined with server + side defaults. Use the field without the effective_ + prefix to set the value. + lsn: + type: string + description: >- + User-specified WAL LSN of the ref database instance. + Input: For specifying the WAL LSN to create a child + instance. Optional. Output: Only populated if + provided as input to create a child instance. + name: + type: string + description: Name of the ref database instance. + uid: + type: string + description: Id of the ref database instance. + description: >- + The ref of the parent instance. This is only available + if the instance is child instance. Input: For specifying + the parent instance to create a child instance. + Optional. Output: Only populated if provided as input to + create a child instance. + pg_version: + type: string + description: The version of Postgres running on the instance. + read_only_dns: + type: string + description: >- + The DNS endpoint to connect to the instance for read + only access. This is only available if + enable_readable_secondaries is true. + read_write_dns: + type: string + description: >- + The DNS endpoint to connect to the instance for + read+write access. + retention_window_in_days: + type: integer + description: >- + The retention window for the instance. This is the time + window in days for which the historical data is + retained. The default value is 7 days. Valid values are + 2 to 35 days. + state: + type: string + x-enum: + - AVAILABLE + - DELETING + - FAILING_OVER + - STARTING + - STOPPED + - UPDATING + description: The current state of the instance. + stopped: + type: boolean + description: >- + Whether to stop the instance. An input only param, see + effective_stopped for the output. + uid: + type: string + description: An immutable UUID identifier for the instance. + usage_policy_id: + type: string + description: The desired usage policy to associate with the instance. + required: + - name description: >- :param update_mask: str The list of fields to update. If unspecified, all fields will be updated when possible. To @@ -682,7 +1743,7 @@ paths: in: query required: false schema: - type: string + type: boolean description: >- This is the AIP standard name for the equivalent of Postgres' `IF EXISTS` option @@ -844,7 +1905,7 @@ paths: in: query required: false schema: - type: string + type: boolean responses: '200': description: Success @@ -935,7 +1996,423 @@ paths: type: object properties: synced_table: - type: string + type: object + properties: + name: + type: string + description: >- + Full three-part (catalog, schema, table) name of the + table. + data_synchronization_status: + type: object + properties: + continuous_update_status: + type: object + properties: + initial_pipeline_sync_progress: + type: object + properties: + estimated_completion_time_seconds: + type: number + description: >- + The estimated time remaining to complete + this update in seconds. + latest_version_currently_processing: + type: integer + description: >- + The source table Delta version that was last + processed by the pipeline. The pipeline may + not have completely processed this version + yet. + provisioning_phase: + type: string + x-enum: + - PROVISIONING_PHASE_INDEX_SCAN + - PROVISIONING_PHASE_INDEX_SORT + - PROVISIONING_PHASE_MAIN + description: >- + The current phase of the data + synchronization pipeline. + sync_progress_completion: + type: number + description: >- + The completion ratio of this update. This is + a number between 0 and 1. + synced_row_count: + type: integer + description: >- + The number of rows that have been synced in + this update. + total_row_count: + type: integer + description: >- + The total number of rows that need to be + synced in this update. This number may be an + estimate. + description: Progress of the initial data synchronization. + last_processed_commit_version: + type: integer + description: >- + The last source table Delta version that was + successfully synced to the synced table. + timestamp: + type: string + description: >- + The end timestamp of the last time any data was + synchronized from the source table to the synced + table. This is when the data is available in the + synced table. + description: >- + Detailed status of a synced table. Shown if the + synced table is in the SYNCED_CONTINUOUS_UPDATE + or the SYNCED_UPDATING_PIPELINE_RESOURCES state. + detailed_state: + type: string + x-enum: + - SYNCED_TABLED_OFFLINE + - SYNCED_TABLE_OFFLINE_FAILED + - SYNCED_TABLE_ONLINE + - SYNCED_TABLE_ONLINE_CONTINUOUS_UPDATE + - SYNCED_TABLE_ONLINE_NO_PENDING_UPDATE + - SYNCED_TABLE_ONLINE_PIPELINE_FAILED + - SYNCED_TABLE_ONLINE_TRIGGERED_UPDATE + - SYNCED_TABLE_ONLINE_UPDATING_PIPELINE_RESOURCES + - SYNCED_TABLE_PROVISIONING + - SYNCED_TABLE_PROVISIONING_INITIAL_SNAPSHOT + - SYNCED_TABLE_PROVISIONING_PIPELINE_RESOURCES + description: The state of the synced table. + failed_status: + type: object + properties: + last_processed_commit_version: + type: integer + description: >- + The last source table Delta version that was + successfully synced to the synced table. The + last source table Delta version that was synced + to the synced table. Only populated if the table + is still synced and available for serving. + timestamp: + type: string + description: >- + The end timestamp of the last time any data was + synchronized from the source table to the synced + table. Only populated if the table is still + synced and available for serving. + description: >- + Detailed status of a synced table. Shown if the + synced table is in the OFFLINE_FAILED or the + SYNCED_PIPELINE_FAILED state. + last_sync: + type: object + properties: + delta_table_sync_info: + type: object + properties: + delta_commit_timestamp: + type: string + delta_commit_version: + type: integer + description: >- + The Delta Lake commit version that was last + successfully synced. + sync_end_timestamp: + type: string + description: >- + The end timestamp of the most recent successful + synchronization. This is the time when the data + is available in the synced table. + sync_start_timestamp: + type: string + description: >- + The starting timestamp of the most recent + successful synchronization from the source table + to the destination (synced) table. Note this is + the starting timestamp of the sync operation, + not the end time. E.g., for a batch, this is the + time when the sync operation started. + description: >- + Summary of the last successful synchronization from + source to destination. Will always be present if + there has been a successful sync. Even if the most + recent syncs have failed. Limitation: The only + exception is if the synced table is doing a FULL + REFRESH, then the last sync information will not be + available until the full refresh is complete. This + limitation will be addressed in a future version. + This top-level field is a convenience for consumers + who want easy access to last sync information + without having to traverse detailed_status. + message: + type: string + description: >- + A text description of the current state of the + synced table. + pipeline_id: + type: string + description: >- + ID of the associated pipeline. The pipeline ID may + have been provided by the client (in the case of bin + packing), or generated by the server (when creating + a new pipeline). + provisioning_status: + type: object + properties: + initial_pipeline_sync_progress: + type: object + properties: + estimated_completion_time_seconds: + type: number + description: >- + The estimated time remaining to complete + this update in seconds. + latest_version_currently_processing: + type: integer + description: >- + The source table Delta version that was last + processed by the pipeline. The pipeline may + not have completely processed this version + yet. + provisioning_phase: + type: string + x-enum: + - PROVISIONING_PHASE_INDEX_SCAN + - PROVISIONING_PHASE_INDEX_SORT + - PROVISIONING_PHASE_MAIN + description: >- + The current phase of the data + synchronization pipeline. + sync_progress_completion: + type: number + description: >- + The completion ratio of this update. This is + a number between 0 and 1. + synced_row_count: + type: integer + description: >- + The number of rows that have been synced in + this update. + total_row_count: + type: integer + description: >- + The total number of rows that need to be + synced in this update. This number may be an + estimate. + description: >- + Details about initial data synchronization. Only + populated when in the + PROVISIONING_INITIAL_SNAPSHOT state. + description: >- + Detailed status of a synced table. Shown if the + synced table is in the + PROVISIONING_PIPELINE_RESOURCES or the PROVISIONING_INITIAL_SNAPSHOT state. + triggered_update_status: + type: object + properties: + last_processed_commit_version: + type: integer + description: >- + The last source table Delta version that was + successfully synced to the synced table. + timestamp: + type: string + description: >- + The end timestamp of the last time any data was + synchronized from the source table to the synced + table. This is when the data is available in the + synced table. + triggered_update_progress: + type: object + properties: + estimated_completion_time_seconds: + type: number + description: >- + The estimated time remaining to complete + this update in seconds. + latest_version_currently_processing: + type: integer + description: >- + The source table Delta version that was last + processed by the pipeline. The pipeline may + not have completely processed this version + yet. + provisioning_phase: + type: string + x-enum: + - PROVISIONING_PHASE_INDEX_SCAN + - PROVISIONING_PHASE_INDEX_SORT + - PROVISIONING_PHASE_MAIN + description: >- + The current phase of the data + synchronization pipeline. + sync_progress_completion: + type: number + description: >- + The completion ratio of this update. This is + a number between 0 and 1. + synced_row_count: + type: integer + description: >- + The number of rows that have been synced in + this update. + total_row_count: + type: integer + description: >- + The total number of rows that need to be + synced in this update. This number may be an + estimate. + description: >- + Progress of the active data synchronization + pipeline. + description: >- + Detailed status of a synced table. Shown if the + synced table is in the SYNCED_TRIGGERED_UPDATE + or the SYNCED_NO_PENDING_UPDATE state. + description: Synced Table data synchronization status + database_instance_name: + type: string + description: >- + Name of the target database instance. This is required + when creating synced database tables in standard + catalogs. This is optional when creating synced database + tables in registered catalogs. If this field is + specified when creating synced database tables in + registered catalogs, the database instance name MUST + match that of the registered catalog (or the request + will be rejected). + effective_database_instance_name: + type: string + description: >- + The name of the database instance that this table is + registered to. This field is always returned, and for + tables inside database catalogs is inferred database + instance associated with the catalog. This is an output + only field that contains the value computed from the + input field combined with server side defaults. Use the + field without the effective_ prefix to set the value. + effective_logical_database_name: + type: string + description: >- + The name of the logical database that this table is + registered to. This is an output only field that + contains the value computed from the input field + combined with server side defaults. Use the field + without the effective_ prefix to set the value. + logical_database_name: + type: string + description: >- + Target Postgres database object (logical database) name + for this table. When creating a synced table in a + registered Postgres catalog, the target Postgres + database name is inferred to be that of the registered + catalog. If this field is specified in this scenario, + the Postgres database name MUST match that of the + registered catalog (or the request will be rejected). + When creating a synced table in a standard catalog, this + field is required. In this scenario, specifying this + field will allow targeting an arbitrary postgres + database. Note that this has implications for the + `create_database_objects_is_missing` field in `spec`. + spec: + type: object + properties: + create_database_objects_if_missing: + type: boolean + description: >- + If true, the synced table's logical database and + schema resources in PG will be created if they do + not already exist. + existing_pipeline_id: + type: string + description: >- + At most one of existing_pipeline_id and + new_pipeline_spec should be defined. If + existing_pipeline_id is defined, the synced table + will be bin packed into the existing pipeline + referenced. This avoids creating a new pipeline and + allows sharing existing compute. In this case, the + scheduling_policy of this synced table must match + the scheduling policy of the existing pipeline. + new_pipeline_spec: + type: object + properties: + budget_policy_id: + type: string + description: >- + Budget policy to set on the newly created + pipeline. + storage_catalog: + type: string + description: >- + This field needs to be specified if the + destination catalog is a managed postgres + catalog. UC catalog for the pipeline to store + intermediate files (checkpoints, event logs + etc). This needs to be a standard catalog where + the user has permissions to create Delta tables. + storage_schema: + type: string + description: >- + This field needs to be specified if the + destination catalog is a managed postgres + catalog. UC schema for the pipeline to store + intermediate files (checkpoints, event logs + etc). This needs to be in the standard catalog + where the user has permissions to create Delta + tables. + description: >- + At most one of existing_pipeline_id and + new_pipeline_spec should be defined. If + new_pipeline_spec is defined, a new pipeline is + created for this synced table. The location pointed + to is used to store intermediate files (checkpoints, + event logs etc). The caller must have write + permissions to create Delta tables in the specified + catalog and schema. Again, note this requires write + permissions, whereas the source table only requires + read permissions. + primary_key_columns: + type: array + items: + type: string + description: >- + Primary Key columns to be used for data + insert/update in the destination. + scheduling_policy: + type: string + x-enum: + - CONTINUOUS + - SNAPSHOT + - TRIGGERED + description: Scheduling policy of the underlying pipeline. + source_table_full_name: + type: string + description: >- + Three-part (catalog, schema, table) name of the + source Delta table. + timeseries_key: + type: string + description: >- + Time series key to deduplicate (tie-break) rows with + the same primary key. + description: Specification of a synced database table. + unity_catalog_provisioning_state: + type: string + x-enum: + - ACTIVE + - DEGRADED + - DELETING + - FAILED + - PROVISIONING + - UPDATING + description: >- + The provisioning state of the synced table entity in + Unity Catalog. This is distinct from the state of the + data synchronization pipeline (i.e. the table may be in + "ACTIVE" but the pipeline may be in "PROVISIONING" as it + runs asynchronously). + required: + - name description: >- Note that updating a synced database table is not yet supported. @@ -1023,13 +2500,32 @@ paths: type: object properties: claims: - type: string + type: array + items: + type: object + properties: + permission_set: + type: string + x-enum: + - READ_ONLY + description: Might add WRITE in the future + resources: + type: array + items: + type: object + properties: + table_name: + type: string + unspecified_resource_name: + type: string description: >- The returned token will be scoped to the union of instance_names and instances containing the specified UC tables, so instance_names is allowed to be empty. instance_names: - type: string + type: array + items: + type: string description: Instances to which the token will be scoped. request_id: type: string @@ -1081,7 +2577,7 @@ paths: in: query required: false schema: - type: string + type: integer description: Upper bound for items returned. - name: page_token in: query @@ -1138,7 +2634,7 @@ paths: in: query required: false schema: - type: string + type: integer description: Upper bound for items returned. - name: page_token in: query @@ -1845,20 +3341,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -1896,20 +3392,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -1942,20 +3438,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -1985,20 +3481,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -2033,20 +3529,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: diff --git a/providers/src/databricks_workspace/v00.00.00000/services/dataquality.yaml b/providers/src/databricks_workspace/v00.00.00000/services/dataquality.yaml index 339e86c0..6a53b0ef 100644 --- a/providers/src/databricks_workspace/v00.00.00000/services/dataquality.yaml +++ b/providers/src/databricks_workspace/v00.00.00000/services/dataquality.yaml @@ -6,7 +6,7 @@ info: (workspace-level APIs), generated from the Databricks Python SDK. version: 0.1.0 x-stackql-sdk-version: 0.86.0 - x-stackql-date-generated: '2026-02-19' + x-stackql-date-generated: '2026-02-24' x-stackql-sdk-namespace: databricks.sdk.service.dataquality servers: - url: https://{deployment_name}.cloud.databricks.com @@ -173,7 +173,324 @@ paths: type: object properties: monitor: - type: string + type: object + properties: + object_type: + type: string + description: >- + The type of the monitored object. Can be one of the + following: `schema` or `table`. + object_id: + type: string + description: >- + The UUID of the request object. It is `schema_id` for + `schema`, and `table_id` for `table`. Find the + `schema_id` from either: 1. The [schema_id] of the + `Schemas` resource. 2. In [Catalog Explorer] > select + the `schema` > go to the `Details` tab > the `Schema ID` + field. Find the `table_id` from either: 1. The + [table_id] of the `Tables` resource. 2. In [Catalog + Explorer] > select the `table` > go to the `Details` tab + > the `Table ID` field. [Catalog Explorer]: + https://docs.databricks.com/aws/en/catalog-explorer/ + [schema_id]: + https://docs.databricks.com/api/workspace/schemas/get#schema_id + [table_id]: + https://docs.databricks.com/api/workspace/tables/get#table_id + anomaly_detection_config: + type: object + properties: + excluded_table_full_names: + type: array + items: + type: string + description: >- + List of fully qualified table names to exclude from + anomaly detection. + description: >- + Anomaly Detection Configuration, applicable to `schema` + object types. + data_profiling_config: + type: object + properties: + output_schema_id: + type: string + description: ID of the schema where output tables are created. + assets_dir: + type: string + description: >- + Field for specifying the absolute path to a custom + directory to store data-monitoring assets. Normally + prepopulated to a default user location via UI and + Python APIs. + baseline_table_name: + type: string + description: >- + Baseline table name. Baseline data is used to + compute drift from the data in the monitored + `table_name`. The baseline table and the monitored + table shall have the same schema. + custom_metrics: + type: array + items: + type: object + properties: + name: + type: string + description: Name of the metric in the output tables. + definition: + type: string + description: >- + Jinja template for a SQL expression that + specifies how to compute the metric. See + [create metric definition]. [create metric + definition]: + https://docs.databricks.com/en/lakehouse-monitoring/custom-metrics.html#create-definition + input_columns: + type: array + items: + type: string + description: >- + A list of column names in the input table the + metric should be computed for. Can use + ``":table"`` to indicate that the metric needs + information from multiple columns. + output_data_type: + type: string + description: The output type of the custom metric. + type: + type: string + x-enum: + - DATA_PROFILING_CUSTOM_METRIC_TYPE_AGGREGATE + - DATA_PROFILING_CUSTOM_METRIC_TYPE_DERIVED + - DATA_PROFILING_CUSTOM_METRIC_TYPE_DRIFT + description: The type of the custom metric. + required: + - name + - definition + - input_columns + - output_data_type + - type + description: Custom metric definition. + description: Custom metrics. + dashboard_id: + type: string + description: >- + Id of dashboard that visualizes the computed + metrics. This can be empty if the monitor is in + PENDING state. + drift_metrics_table_name: + type: string + description: >- + Table that stores drift metrics data. Format: + `catalog.schema.table_name`. + effective_warehouse_id: + type: string + description: The warehouse for dashboard creation + inference_log: + type: object + properties: + problem_type: + type: string + x-enum: + - INFERENCE_PROBLEM_TYPE_CLASSIFICATION + - INFERENCE_PROBLEM_TYPE_REGRESSION + description: Problem type the model aims to solve. + timestamp_column: + type: string + description: Column for the timestamp. + granularities: + type: array + items: + type: string + x-enum: + - AGGREGATION_GRANULARITY_1_DAY + - AGGREGATION_GRANULARITY_1_HOUR + - AGGREGATION_GRANULARITY_1_MONTH + - AGGREGATION_GRANULARITY_1_WEEK + - AGGREGATION_GRANULARITY_1_YEAR + - AGGREGATION_GRANULARITY_2_WEEKS + - AGGREGATION_GRANULARITY_30_MINUTES + - AGGREGATION_GRANULARITY_3_WEEKS + - AGGREGATION_GRANULARITY_4_WEEKS + - AGGREGATION_GRANULARITY_5_MINUTES + description: >- + The granularity for aggregating data into time + windows based on their timestamp. + description: >- + List of granularities to use when aggregating + data into time windows based on their timestamp. + prediction_column: + type: string + description: Column for the prediction. + model_id_column: + type: string + description: Column for the model identifier. + label_column: + type: string + description: Column for the label. + required: + - problem_type + - timestamp_column + - granularities + - prediction_column + - model_id_column + description: >- + `Analysis Configuration` for monitoring inference + log tables. + latest_monitor_failure_message: + type: string + description: The latest error message for a monitor failure. + monitor_version: + type: integer + description: >- + Represents the current monitor configuration version + in use. The version will be represented in a numeric + fashion (1,2,3...). The field has flexibility to + take on negative values, which can indicate + corrupted monitor_version numbers. + monitored_table_name: + type: string + description: >- + Unity Catalog table to monitor. Format: + `catalog.schema.table_name` + notification_settings: + type: object + properties: + on_failure: + type: object + properties: + email_addresses: + type: array + items: + type: string + description: >- + The list of email addresses to send the + notification to. A maximum of 5 email + addresses is supported. + description: >- + Destinations to send notifications on + failure/timeout. + description: Field for specifying notification settings. + profile_metrics_table_name: + type: string + description: >- + Table that stores profile metrics data. Format: + `catalog.schema.table_name`. + schedule: + type: object + properties: + quartz_cron_expression: + type: string + description: >- + The expression that determines when to run the + monitor. See [examples]. [examples]: + https://www.quartz-scheduler.org/documentation/quartz-2.3.0/tutorials/crontrigger.html + timezone_id: + type: string + description: >- + A Java timezone id. The schedule for a job will + be resolved with respect to this timezone. See + `Java TimeZone + `_ + for details. The timezone id (e.g., + ``America/Los_Angeles``) in which to evaluate + the quartz expression. + pause_status: + type: string + x-enum: + - CRON_SCHEDULE_PAUSE_STATUS_PAUSED + - CRON_SCHEDULE_PAUSE_STATUS_UNPAUSED + description: >- + Read only field that indicates whether the + schedule is paused or not. + required: + - quartz_cron_expression + - timezone_id + description: The cron schedule. + skip_builtin_dashboard: + type: boolean + description: >- + Whether to skip creating a default dashboard + summarizing data quality metrics. + slicing_exprs: + type: array + items: + type: string + description: >- + List of column expressions to slice data with for + targeted analysis. The data is grouped by each + expression independently, resulting in a separate + slice for each predicate and its complements. For + example `slicing_exprs=[“col_1”, “col_2 > 10”]` will + generate the following slices: two slices for `col_2 + > 10` (True and False), and one slice per unique + value in `col1`. For high-cardinality columns, only + the top 100 unique values by frequency will generate + slices. + snapshot: + type: object + properties: {} + description: >- + `Analysis Configuration` for monitoring snapshot + tables. + status: + type: string + x-enum: + - DATA_PROFILING_STATUS_ACTIVE + - DATA_PROFILING_STATUS_DELETE_PENDING + - DATA_PROFILING_STATUS_ERROR + - DATA_PROFILING_STATUS_FAILED + - DATA_PROFILING_STATUS_PENDING + description: The data profiling monitor status. + time_series: + type: object + properties: + timestamp_column: + type: string + description: Column for the timestamp. + granularities: + type: array + items: + type: string + x-enum: + - AGGREGATION_GRANULARITY_1_DAY + - AGGREGATION_GRANULARITY_1_HOUR + - AGGREGATION_GRANULARITY_1_MONTH + - AGGREGATION_GRANULARITY_1_WEEK + - AGGREGATION_GRANULARITY_1_YEAR + - AGGREGATION_GRANULARITY_2_WEEKS + - AGGREGATION_GRANULARITY_30_MINUTES + - AGGREGATION_GRANULARITY_3_WEEKS + - AGGREGATION_GRANULARITY_4_WEEKS + - AGGREGATION_GRANULARITY_5_MINUTES + description: >- + The granularity for aggregating data into time + windows based on their timestamp. + description: >- + List of granularities to use when aggregating + data into time windows based on their timestamp. + required: + - timestamp_column + - granularities + description: >- + `Analysis Configuration` for monitoring time series + tables. + warehouse_id: + type: string + description: >- + Optional argument to specify the warehouse for + dashboard creation. If not specified, the first + running warehouse will be used. + required: + - output_schema_id + description: >- + Data Profiling Configuration, applicable to `table` + object types. Exactly one `Analysis Configuration` must + be present. + required: + - object_type + - object_id description: The monitor to create. required: - monitor @@ -214,7 +531,7 @@ paths: in: query required: false schema: - type: string + type: integer description: ':param page_token: str (optional)' - name: page_token in: query @@ -320,7 +637,69 @@ paths: type: object properties: refresh: - type: string + type: object + properties: + object_type: + type: string + description: >- + The type of the monitored object. Can be one of the + following: `schema`or `table`. + object_id: + type: string + description: >- + The UUID of the request object. It is `schema_id` for + `schema`, and `table_id` for `table`. Find the + `schema_id` from either: 1. The [schema_id] of the + `Schemas` resource. 2. In [Catalog Explorer] > select + the `schema` > go to the `Details` tab > the `Schema ID` + field. Find the `table_id` from either: 1. The + [table_id] of the `Tables` resource. 2. In [Catalog + Explorer] > select the `table` > go to the `Details` tab + > the `Table ID` field. [Catalog Explorer]: + https://docs.databricks.com/aws/en/catalog-explorer/ + [schema_id]: + https://docs.databricks.com/api/workspace/schemas/get#schema_id + [table_id]: + https://docs.databricks.com/api/workspace/tables/get#table_id + end_time_ms: + type: integer + description: >- + Time when the refresh ended (milliseconds since 1/1/1970 + UTC). + message: + type: string + description: >- + An optional message to give insight into the current + state of the refresh (e.g. FAILURE messages). + refresh_id: + type: integer + description: Unique id of the refresh operation. + start_time_ms: + type: integer + description: >- + Time when the refresh started (milliseconds since + 1/1/1970 UTC). + state: + type: string + x-enum: + - MONITOR_REFRESH_STATE_CANCELED + - MONITOR_REFRESH_STATE_FAILED + - MONITOR_REFRESH_STATE_PENDING + - MONITOR_REFRESH_STATE_RUNNING + - MONITOR_REFRESH_STATE_SUCCESS + - MONITOR_REFRESH_STATE_UNKNOWN + description: The current state of the refresh. + trigger: + type: string + x-enum: + - MONITOR_REFRESH_TRIGGER_DATA_CHANGE + - MONITOR_REFRESH_TRIGGER_MANUAL + - MONITOR_REFRESH_TRIGGER_SCHEDULE + - MONITOR_REFRESH_TRIGGER_UNKNOWN + description: What triggered the refresh. + required: + - object_type + - object_id description: The refresh to create required: - refresh @@ -430,7 +809,7 @@ paths: in: query required: false schema: - type: string + type: integer description: ':param page_token: str (optional)' - name: page_token in: query @@ -748,7 +1127,324 @@ paths: type: object properties: monitor: - type: string + type: object + properties: + object_type: + type: string + description: >- + The type of the monitored object. Can be one of the + following: `schema` or `table`. + object_id: + type: string + description: >- + The UUID of the request object. It is `schema_id` for + `schema`, and `table_id` for `table`. Find the + `schema_id` from either: 1. The [schema_id] of the + `Schemas` resource. 2. In [Catalog Explorer] > select + the `schema` > go to the `Details` tab > the `Schema ID` + field. Find the `table_id` from either: 1. The + [table_id] of the `Tables` resource. 2. In [Catalog + Explorer] > select the `table` > go to the `Details` tab + > the `Table ID` field. [Catalog Explorer]: + https://docs.databricks.com/aws/en/catalog-explorer/ + [schema_id]: + https://docs.databricks.com/api/workspace/schemas/get#schema_id + [table_id]: + https://docs.databricks.com/api/workspace/tables/get#table_id + anomaly_detection_config: + type: object + properties: + excluded_table_full_names: + type: array + items: + type: string + description: >- + List of fully qualified table names to exclude from + anomaly detection. + description: >- + Anomaly Detection Configuration, applicable to `schema` + object types. + data_profiling_config: + type: object + properties: + output_schema_id: + type: string + description: ID of the schema where output tables are created. + assets_dir: + type: string + description: >- + Field for specifying the absolute path to a custom + directory to store data-monitoring assets. Normally + prepopulated to a default user location via UI and + Python APIs. + baseline_table_name: + type: string + description: >- + Baseline table name. Baseline data is used to + compute drift from the data in the monitored + `table_name`. The baseline table and the monitored + table shall have the same schema. + custom_metrics: + type: array + items: + type: object + properties: + name: + type: string + description: Name of the metric in the output tables. + definition: + type: string + description: >- + Jinja template for a SQL expression that + specifies how to compute the metric. See + [create metric definition]. [create metric + definition]: + https://docs.databricks.com/en/lakehouse-monitoring/custom-metrics.html#create-definition + input_columns: + type: array + items: + type: string + description: >- + A list of column names in the input table the + metric should be computed for. Can use + ``":table"`` to indicate that the metric needs + information from multiple columns. + output_data_type: + type: string + description: The output type of the custom metric. + type: + type: string + x-enum: + - DATA_PROFILING_CUSTOM_METRIC_TYPE_AGGREGATE + - DATA_PROFILING_CUSTOM_METRIC_TYPE_DERIVED + - DATA_PROFILING_CUSTOM_METRIC_TYPE_DRIFT + description: The type of the custom metric. + required: + - name + - definition + - input_columns + - output_data_type + - type + description: Custom metric definition. + description: Custom metrics. + dashboard_id: + type: string + description: >- + Id of dashboard that visualizes the computed + metrics. This can be empty if the monitor is in + PENDING state. + drift_metrics_table_name: + type: string + description: >- + Table that stores drift metrics data. Format: + `catalog.schema.table_name`. + effective_warehouse_id: + type: string + description: The warehouse for dashboard creation + inference_log: + type: object + properties: + problem_type: + type: string + x-enum: + - INFERENCE_PROBLEM_TYPE_CLASSIFICATION + - INFERENCE_PROBLEM_TYPE_REGRESSION + description: Problem type the model aims to solve. + timestamp_column: + type: string + description: Column for the timestamp. + granularities: + type: array + items: + type: string + x-enum: + - AGGREGATION_GRANULARITY_1_DAY + - AGGREGATION_GRANULARITY_1_HOUR + - AGGREGATION_GRANULARITY_1_MONTH + - AGGREGATION_GRANULARITY_1_WEEK + - AGGREGATION_GRANULARITY_1_YEAR + - AGGREGATION_GRANULARITY_2_WEEKS + - AGGREGATION_GRANULARITY_30_MINUTES + - AGGREGATION_GRANULARITY_3_WEEKS + - AGGREGATION_GRANULARITY_4_WEEKS + - AGGREGATION_GRANULARITY_5_MINUTES + description: >- + The granularity for aggregating data into time + windows based on their timestamp. + description: >- + List of granularities to use when aggregating + data into time windows based on their timestamp. + prediction_column: + type: string + description: Column for the prediction. + model_id_column: + type: string + description: Column for the model identifier. + label_column: + type: string + description: Column for the label. + required: + - problem_type + - timestamp_column + - granularities + - prediction_column + - model_id_column + description: >- + `Analysis Configuration` for monitoring inference + log tables. + latest_monitor_failure_message: + type: string + description: The latest error message for a monitor failure. + monitor_version: + type: integer + description: >- + Represents the current monitor configuration version + in use. The version will be represented in a numeric + fashion (1,2,3...). The field has flexibility to + take on negative values, which can indicate + corrupted monitor_version numbers. + monitored_table_name: + type: string + description: >- + Unity Catalog table to monitor. Format: + `catalog.schema.table_name` + notification_settings: + type: object + properties: + on_failure: + type: object + properties: + email_addresses: + type: array + items: + type: string + description: >- + The list of email addresses to send the + notification to. A maximum of 5 email + addresses is supported. + description: >- + Destinations to send notifications on + failure/timeout. + description: Field for specifying notification settings. + profile_metrics_table_name: + type: string + description: >- + Table that stores profile metrics data. Format: + `catalog.schema.table_name`. + schedule: + type: object + properties: + quartz_cron_expression: + type: string + description: >- + The expression that determines when to run the + monitor. See [examples]. [examples]: + https://www.quartz-scheduler.org/documentation/quartz-2.3.0/tutorials/crontrigger.html + timezone_id: + type: string + description: >- + A Java timezone id. The schedule for a job will + be resolved with respect to this timezone. See + `Java TimeZone + `_ + for details. The timezone id (e.g., + ``America/Los_Angeles``) in which to evaluate + the quartz expression. + pause_status: + type: string + x-enum: + - CRON_SCHEDULE_PAUSE_STATUS_PAUSED + - CRON_SCHEDULE_PAUSE_STATUS_UNPAUSED + description: >- + Read only field that indicates whether the + schedule is paused or not. + required: + - quartz_cron_expression + - timezone_id + description: The cron schedule. + skip_builtin_dashboard: + type: boolean + description: >- + Whether to skip creating a default dashboard + summarizing data quality metrics. + slicing_exprs: + type: array + items: + type: string + description: >- + List of column expressions to slice data with for + targeted analysis. The data is grouped by each + expression independently, resulting in a separate + slice for each predicate and its complements. For + example `slicing_exprs=[“col_1”, “col_2 > 10”]` will + generate the following slices: two slices for `col_2 + > 10` (True and False), and one slice per unique + value in `col1`. For high-cardinality columns, only + the top 100 unique values by frequency will generate + slices. + snapshot: + type: object + properties: {} + description: >- + `Analysis Configuration` for monitoring snapshot + tables. + status: + type: string + x-enum: + - DATA_PROFILING_STATUS_ACTIVE + - DATA_PROFILING_STATUS_DELETE_PENDING + - DATA_PROFILING_STATUS_ERROR + - DATA_PROFILING_STATUS_FAILED + - DATA_PROFILING_STATUS_PENDING + description: The data profiling monitor status. + time_series: + type: object + properties: + timestamp_column: + type: string + description: Column for the timestamp. + granularities: + type: array + items: + type: string + x-enum: + - AGGREGATION_GRANULARITY_1_DAY + - AGGREGATION_GRANULARITY_1_HOUR + - AGGREGATION_GRANULARITY_1_MONTH + - AGGREGATION_GRANULARITY_1_WEEK + - AGGREGATION_GRANULARITY_1_YEAR + - AGGREGATION_GRANULARITY_2_WEEKS + - AGGREGATION_GRANULARITY_30_MINUTES + - AGGREGATION_GRANULARITY_3_WEEKS + - AGGREGATION_GRANULARITY_4_WEEKS + - AGGREGATION_GRANULARITY_5_MINUTES + description: >- + The granularity for aggregating data into time + windows based on their timestamp. + description: >- + List of granularities to use when aggregating + data into time windows based on their timestamp. + required: + - timestamp_column + - granularities + description: >- + `Analysis Configuration` for monitoring time series + tables. + warehouse_id: + type: string + description: >- + Optional argument to specify the warehouse for + dashboard creation. If not specified, the first + running warehouse will be used. + required: + - output_schema_id + description: >- + Data Profiling Configuration, applicable to `table` + object types. Exactly one `Analysis Configuration` must + be present. + required: + - object_type + - object_id description: The monitor to update. required: - monitor @@ -1026,7 +1722,69 @@ paths: type: object properties: refresh: - type: string + type: object + properties: + object_type: + type: string + description: >- + The type of the monitored object. Can be one of the + following: `schema`or `table`. + object_id: + type: string + description: >- + The UUID of the request object. It is `schema_id` for + `schema`, and `table_id` for `table`. Find the + `schema_id` from either: 1. The [schema_id] of the + `Schemas` resource. 2. In [Catalog Explorer] > select + the `schema` > go to the `Details` tab > the `Schema ID` + field. Find the `table_id` from either: 1. The + [table_id] of the `Tables` resource. 2. In [Catalog + Explorer] > select the `table` > go to the `Details` tab + > the `Table ID` field. [Catalog Explorer]: + https://docs.databricks.com/aws/en/catalog-explorer/ + [schema_id]: + https://docs.databricks.com/api/workspace/schemas/get#schema_id + [table_id]: + https://docs.databricks.com/api/workspace/tables/get#table_id + end_time_ms: + type: integer + description: >- + Time when the refresh ended (milliseconds since 1/1/1970 + UTC). + message: + type: string + description: >- + An optional message to give insight into the current + state of the refresh (e.g. FAILURE messages). + refresh_id: + type: integer + description: Unique id of the refresh operation. + start_time_ms: + type: integer + description: >- + Time when the refresh started (milliseconds since + 1/1/1970 UTC). + state: + type: string + x-enum: + - MONITOR_REFRESH_STATE_CANCELED + - MONITOR_REFRESH_STATE_FAILED + - MONITOR_REFRESH_STATE_PENDING + - MONITOR_REFRESH_STATE_RUNNING + - MONITOR_REFRESH_STATE_SUCCESS + - MONITOR_REFRESH_STATE_UNKNOWN + description: The current state of the refresh. + trigger: + type: string + x-enum: + - MONITOR_REFRESH_TRIGGER_DATA_CHANGE + - MONITOR_REFRESH_TRIGGER_MANUAL + - MONITOR_REFRESH_TRIGGER_SCHEDULE + - MONITOR_REFRESH_TRIGGER_UNKNOWN + description: What triggered the refresh. + required: + - object_type + - object_id description: The refresh to update. required: - refresh diff --git a/providers/src/databricks_workspace/v00.00.00000/services/files.yaml b/providers/src/databricks_workspace/v00.00.00000/services/files.yaml index 706b399b..e82da74f 100644 --- a/providers/src/databricks_workspace/v00.00.00000/services/files.yaml +++ b/providers/src/databricks_workspace/v00.00.00000/services/files.yaml @@ -6,7 +6,7 @@ info: APIs), generated from the Databricks Python SDK. version: 0.1.0 x-stackql-sdk-version: 0.86.0 - x-stackql-date-generated: '2026-02-19' + x-stackql-date-generated: '2026-02-24' x-stackql-sdk-namespace: databricks.sdk.service.files servers: - url: https://{deployment_name}.cloud.databricks.com @@ -162,7 +162,7 @@ paths: The path of the new file. The path should be the absolute DBFS path. overwrite: - type: string + type: boolean description: >- The flag that specifies whether to overwrite existing file/files. @@ -251,7 +251,7 @@ paths: The path of the file or directory to delete. The path should be the absolute DBFS path. recursive: - type: string + type: boolean description: >- Whether or not to recursively delete the directory's contents. Deleting empty directories can be done without @@ -554,7 +554,7 @@ paths: This parameter might be absent, and instead a posted file will be used. overwrite: - type: string + type: boolean description: >- The flag that specifies whether to overwrite existing file/files. @@ -625,7 +625,7 @@ paths: in: query required: false schema: - type: string + type: integer description: >- The number of bytes to read starting from the offset. This has a limit of 1 MB, and a default value of 0.5 MB. @@ -633,7 +633,7 @@ paths: in: query required: false schema: - type: string + type: integer description: The offset to read from in bytes. responses: '200': @@ -831,7 +831,7 @@ paths: in: query required: false schema: - type: string + type: integer description: >- The maximum number of directory entries to return. The response may contain fewer entries. If the response contains a `next_page_token`, @@ -1032,7 +1032,7 @@ paths: in: query required: false schema: - type: string + type: boolean requestBody: content: application/json: @@ -1041,6 +1041,7 @@ paths: properties: contents: type: string + format: binary description: >- :param overwrite: bool (optional) If true or unspecified, an existing file will be overwritten. If false, an error will diff --git a/providers/src/databricks_workspace/v00.00.00000/services/iam.yaml b/providers/src/databricks_workspace/v00.00.00000/services/iam.yaml index 8cfb2ebc..46546729 100644 --- a/providers/src/databricks_workspace/v00.00.00000/services/iam.yaml +++ b/providers/src/databricks_workspace/v00.00.00000/services/iam.yaml @@ -5,7 +5,7 @@ info: Python SDK. version: 0.1.0 x-stackql-sdk-version: 0.86.0 - x-stackql-date-generated: '2026-02-19' + x-stackql-date-generated: '2026-02-24' x-stackql-sdk-namespace: databricks.sdk.service.iam servers: - url: https://{deployment_name}.cloud.databricks.com @@ -39,7 +39,7 @@ paths: in: query required: true schema: - type: string + $ref: '#/components/schemas/Actor' description: ':param permission: str' - name: permission in: query @@ -57,18 +57,18 @@ paths: in: query required: true schema: - type: string + $ref: '#/components/schemas/ConsistencyToken' description: ':param authz_identity: :class:`RequestAuthzIdentity`' - name: authz_identity in: query required: true schema: - type: string + $ref: '#/components/schemas/RequestAuthzIdentity' - name: resource_info in: query required: false schema: - type: string + $ref: '#/components/schemas/ResourceInfo' description: ':returns: :class:`CheckPolicyResponse`' responses: '200': @@ -240,7 +240,37 @@ paths: type: string description: Name of the rule set. rule_set: - type: string + type: object + properties: + name: + type: string + etag: + type: string + description: Identifies the version of the rule set returned. Etag used for versioning. The response + is at least as fresh as the eTag provided. Etag is used for optimistic concurrency control as a way + to help prevent simultaneous updates of a rule set from overwriting each other. It is strongly suggested + that systems make use of the etag in the read -> modify -> write pattern to perform rule set updates + in order to avoid race conditions that is get an etag from a GET rule set request, and pass it with + the PUT update request to identify the rule set version you are updating. + grant_rules: + type: array + items: + type: object + properties: + role: + type: string + principals: + type: array + items: + type: string + description: 'Principals this grant rule applies to. A principal can be a user (for end users), + a service principal (for applications and compute workloads), or an account group. Each principal + has its own identifier format: * users/ * groups/ * servicePrincipals/' + required: + - role + required: + - name + - etag description: ':returns: :class:`RuleSetResponse`' required: - name @@ -335,28 +365,124 @@ paths: type: string description: String that represents a human-readable group name entitlements: - type: string + type: array + items: + type: object + properties: + display: + type: string + primary: + type: boolean + $ref: + type: string + type: + type: string + value: + type: string description: 'Entitlements assigned to the group. See [assigning entitlements] for a full list of supported values. [assigning entitlements]: https://docs.databricks.com/administration-guide/users-groups/index.html#assigning-entitlements' external_id: type: string description: ':param groups: List[:class:`ComplexValue`] (optional)' groups: - type: string + type: array + items: + type: object + properties: + display: + type: string + primary: + type: boolean + $ref: + type: string + type: + type: string + value: + type: string id: type: string description: Databricks group ID members: - type: string + type: array + items: + type: object + properties: + display: + type: string + primary: + type: boolean + $ref: + type: string + type: + type: string + value: + type: string description: ':param meta: :class:`ResourceMeta` (optional) Container for the group identifier. Workspace local versus account.' meta: - type: string + type: object + properties: + resourceType: + type: string roles: - type: string + type: array + items: + type: object + properties: + display: + type: string + primary: + type: boolean + $ref: + type: string + type: + type: string + value: + type: string description: Corresponds to AWS instance profile/arn role. schemas: - type: string + type: array + items: + type: string + x-enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + description: |- + Create a collection of name/value pairs. + + Example enumeration: + + >>> class Color(Enum): + ... RED = 1 + ... BLUE = 2 + ... GREEN = 3 + + Access them by: + + - attribute access:: + + >>> Color.RED + + + - value lookup: + + >>> Color(1) + + + - name lookup: + + >>> Color['RED'] + + + Enumerations can be iterated over, and know how many members they have: + + >>> len(Color) + 3 + + >>> list(Color) + [, , ] + + Methods can be added to enumerations, and members can have their own + attributes -- see the documentation for details. description: The schema of the group. responses: '200': @@ -418,7 +544,7 @@ paths: in: query required: false schema: - type: string + type: integer description: Desired number of results per page. - name: excluded_attributes in: query @@ -444,13 +570,13 @@ paths: in: query required: false schema: - type: string + $ref: '#/components/schemas/ListSortOrder' description: The order to sort the results. - name: start_index in: query required: false schema: - type: string + type: integer description: Specifies the index of the first result. First item is number 1. responses: '200': @@ -572,11 +698,68 @@ paths: type: object properties: operations: - type: string + type: array + items: + type: object + properties: + op: + type: string + x-enum: + - add + - remove + - replace + description: Type of patch operation. + path: + type: string + description: Selection of patch operation + value: + type: object + description: Value to modify description: ':param schemas: List[:class:`PatchSchema`] (optional) The schema of the patch request. Must be ["urn:ietf:params:scim:api:messages:2.0:PatchOp"].' schemas: - type: string + type: array + items: + type: string + x-enum: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + description: |- + Create a collection of name/value pairs. + + Example enumeration: + + >>> class Color(Enum): + ... RED = 1 + ... BLUE = 2 + ... GREEN = 3 + + Access them by: + + - attribute access:: + + >>> Color.RED + + + - value lookup: + + >>> Color(1) + + + - name lookup: + + >>> Color['RED'] + + + Enumerations can be iterated over, and know how many members they have: + + >>> len(Color) + 3 + + >>> list(Color) + [, , ] + + Methods can be added to enumerations, and members can have their own + attributes -- see the documentation for details. responses: '200': description: Success @@ -636,25 +819,121 @@ paths: type: string description: String that represents a human-readable group name entitlements: - type: string + type: array + items: + type: object + properties: + display: + type: string + primary: + type: boolean + $ref: + type: string + type: + type: string + value: + type: string description: 'Entitlements assigned to the group. See [assigning entitlements] for a full list of supported values. [assigning entitlements]: https://docs.databricks.com/administration-guide/users-groups/index.html#assigning-entitlements' external_id: type: string description: ':param groups: List[:class:`ComplexValue`] (optional)' groups: - type: string + type: array + items: + type: object + properties: + display: + type: string + primary: + type: boolean + $ref: + type: string + type: + type: string + value: + type: string members: - type: string + type: array + items: + type: object + properties: + display: + type: string + primary: + type: boolean + $ref: + type: string + type: + type: string + value: + type: string description: ':param meta: :class:`ResourceMeta` (optional) Container for the group identifier. Workspace local versus account.' meta: - type: string + type: object + properties: + resourceType: + type: string roles: - type: string + type: array + items: + type: object + properties: + display: + type: string + primary: + type: boolean + $ref: + type: string + type: + type: string + value: + type: string description: Corresponds to AWS instance profile/arn role. schemas: - type: string + type: array + items: + type: string + x-enum: + - urn:ietf:params:scim:schemas:core:2.0:Group + description: |- + Create a collection of name/value pairs. + + Example enumeration: + + >>> class Color(Enum): + ... RED = 1 + ... BLUE = 2 + ... GREEN = 3 + + Access them by: + + - attribute access:: + + >>> Color.RED + + + - value lookup: + + >>> Color(1) + + + - name lookup: + + >>> Color['RED'] + + + Enumerations can be iterated over, and know how many members they have: + + >>> len(Color) + 3 + + >>> list(Color) + [, , ] + + Methods can be added to enumerations, and members can have their own + attributes -- see the documentation for details. description: The schema of the group. responses: '200': @@ -707,7 +986,7 @@ paths: type: string description: The name of the account group that permissions will be migrated to. size: - type: string + type: integer description: The maximum number of permissions that will be migrated. required: - workspace_id @@ -829,7 +1108,41 @@ paths: type: object properties: access_control_list: - type: string + type: array + items: + type: object + properties: + group_name: + type: string + permission_level: + type: string + x-enum: + - CAN_ATTACH_TO + - CAN_BIND + - CAN_CREATE + - CAN_EDIT + - CAN_EDIT_METADATA + - CAN_MANAGE + - CAN_MANAGE_PRODUCTION_VERSIONS + - CAN_MANAGE_RUN + - CAN_MANAGE_STAGING_VERSIONS + - CAN_MONITOR + - CAN_MONITOR_ONLY + - CAN_QUERY + - CAN_READ + - CAN_RESTART + - CAN_RUN + - CAN_USE + - CAN_VIEW + - CAN_VIEW_METADATA + - IS_OWNER + description: Permission level + service_principal_name: + type: string + description: application ID of a service principal + user_name: + type: string + description: name of the user description: ':returns: :class:`ObjectPermissions`' responses: '200': @@ -892,7 +1205,41 @@ paths: type: object properties: access_control_list: - type: string + type: array + items: + type: object + properties: + group_name: + type: string + permission_level: + type: string + x-enum: + - CAN_ATTACH_TO + - CAN_BIND + - CAN_CREATE + - CAN_EDIT + - CAN_EDIT_METADATA + - CAN_MANAGE + - CAN_MANAGE_PRODUCTION_VERSIONS + - CAN_MANAGE_RUN + - CAN_MANAGE_STAGING_VERSIONS + - CAN_MONITOR + - CAN_MONITOR_ONLY + - CAN_QUERY + - CAN_READ + - CAN_RESTART + - CAN_RUN + - CAN_USE + - CAN_VIEW + - CAN_VIEW_METADATA + - IS_OWNER + description: Permission level + service_principal_name: + type: string + description: application ID of a service principal + user_name: + type: string + description: name of the user description: ':returns: :class:`ObjectPermissions`' responses: '200': @@ -1003,7 +1350,7 @@ paths: type: object properties: active: - type: string + type: boolean description: If this user is active application_id: type: string @@ -1012,22 +1359,102 @@ paths: type: string description: String that represents a concatenation of given and family names. entitlements: - type: string + type: array + items: + type: object + properties: + display: + type: string + primary: + type: boolean + $ref: + type: string + type: + type: string + value: + type: string description: 'Entitlements assigned to the service principal. See [assigning entitlements] for a full list of supported values. [assigning entitlements]: https://docs.databricks.com/administration-guide/users-groups/index.html#assigning-entitlements' external_id: type: string description: ':param groups: List[:class:`ComplexValue`] (optional)' groups: - type: string + type: array + items: + type: object + properties: + display: + type: string + primary: + type: boolean + $ref: + type: string + type: + type: string + value: + type: string id: type: string description: Databricks service principal ID. roles: - type: string + type: array + items: + type: object + properties: + display: + type: string + primary: + type: boolean + $ref: + type: string + type: + type: string + value: + type: string description: Corresponds to AWS instance profile/arn role. schemas: - type: string + type: array + items: + type: string + x-enum: + - urn:ietf:params:scim:schemas:core:2.0:ServicePrincipal + description: |- + Create a collection of name/value pairs. + + Example enumeration: + + >>> class Color(Enum): + ... RED = 1 + ... BLUE = 2 + ... GREEN = 3 + + Access them by: + + - attribute access:: + + >>> Color.RED + + + - value lookup: + + >>> Color(1) + + + - name lookup: + + >>> Color['RED'] + + + Enumerations can be iterated over, and know how many members they have: + + >>> len(Color) + 3 + + >>> list(Color) + [, , ] + + Methods can be added to enumerations, and members can have their own + attributes -- see the documentation for details. description: The schema of the List response. responses: '200': @@ -1089,7 +1516,7 @@ paths: in: query required: false schema: - type: string + type: integer description: Desired number of results per page. - name: excluded_attributes in: query @@ -1115,13 +1542,13 @@ paths: in: query required: false schema: - type: string + $ref: '#/components/schemas/ListSortOrder' description: The order to sort the results. - name: start_index in: query required: false schema: - type: string + type: integer description: Specifies the index of the first result. First item is number 1. responses: '200': @@ -1243,11 +1670,68 @@ paths: type: object properties: operations: - type: string + type: array + items: + type: object + properties: + op: + type: string + x-enum: + - add + - remove + - replace + description: Type of patch operation. + path: + type: string + description: Selection of patch operation + value: + type: object + description: Value to modify description: ':param schemas: List[:class:`PatchSchema`] (optional) The schema of the patch request. Must be ["urn:ietf:params:scim:api:messages:2.0:PatchOp"].' schemas: - type: string + type: array + items: + type: string + x-enum: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + description: |- + Create a collection of name/value pairs. + + Example enumeration: + + >>> class Color(Enum): + ... RED = 1 + ... BLUE = 2 + ... GREEN = 3 + + Access them by: + + - attribute access:: + + >>> Color.RED + + + - value lookup: + + >>> Color(1) + + + - name lookup: + + >>> Color['RED'] + + + Enumerations can be iterated over, and know how many members they have: + + >>> len(Color) + 3 + + >>> list(Color) + [, , ] + + Methods can be added to enumerations, and members can have their own + attributes -- see the documentation for details. responses: '200': description: Success @@ -1307,7 +1791,7 @@ paths: type: object properties: active: - type: string + type: boolean description: If this user is active application_id: type: string @@ -1316,19 +1800,99 @@ paths: type: string description: String that represents a concatenation of given and family names. entitlements: - type: string + type: array + items: + type: object + properties: + display: + type: string + primary: + type: boolean + $ref: + type: string + type: + type: string + value: + type: string description: 'Entitlements assigned to the service principal. See [assigning entitlements] for a full list of supported values. [assigning entitlements]: https://docs.databricks.com/administration-guide/users-groups/index.html#assigning-entitlements' external_id: type: string description: ':param groups: List[:class:`ComplexValue`] (optional)' groups: - type: string + type: array + items: + type: object + properties: + display: + type: string + primary: + type: boolean + $ref: + type: string + type: + type: string + value: + type: string roles: - type: string + type: array + items: + type: object + properties: + display: + type: string + primary: + type: boolean + $ref: + type: string + type: + type: string + value: + type: string description: Corresponds to AWS instance profile/arn role. schemas: - type: string + type: array + items: + type: string + x-enum: + - urn:ietf:params:scim:schemas:core:2.0:ServicePrincipal + description: |- + Create a collection of name/value pairs. + + Example enumeration: + + >>> class Color(Enum): + ... RED = 1 + ... BLUE = 2 + ... GREEN = 3 + + Access them by: + + - attribute access:: + + >>> Color.RED + + + - value lookup: + + >>> Color(1) + + + - name lookup: + + >>> Color['RED'] + + + Enumerations can be iterated over, and know how many members they have: + + >>> len(Color) + 3 + + >>> list(Color) + [, , ] + + Methods can be added to enumerations, and members can have their own + attributes -- see the documentation for details. description: The schema of the List response. responses: '200': @@ -1391,7 +1955,7 @@ paths: type: object properties: active: - type: string + type: boolean description: If this user is active display_name: type: string @@ -1399,28 +1963,128 @@ paths: This field cannot be updated through the Workspace SCIM APIs when [identity federation is enabled]. Use Account SCIM APIs to update `displayName`. [identity federation is enabled]: https://docs.databricks.com/administration-guide/users-groups/best-practices.html#enable-identity-federation' emails: - type: string + type: array + items: + type: object + properties: + display: + type: string + primary: + type: boolean + $ref: + type: string + type: + type: string + value: + type: string description: All the emails associated with the Databricks user. entitlements: - type: string + type: array + items: + type: object + properties: + display: + type: string + primary: + type: boolean + $ref: + type: string + type: + type: string + value: + type: string description: 'Entitlements assigned to the user. See [assigning entitlements] for a full list of supported values. [assigning entitlements]: https://docs.databricks.com/administration-guide/users-groups/index.html#assigning-entitlements' external_id: type: string description: External ID is not currently supported. It is reserved for future use. groups: - type: string + type: array + items: + type: object + properties: + display: + type: string + primary: + type: boolean + $ref: + type: string + type: + type: string + value: + type: string description: ':param id: str (optional) Databricks user ID.' id: type: string name: - type: string + type: object + properties: + familyName: + type: string + givenName: + type: string + description: Given name of the Databricks user. description: ':param roles: List[:class:`ComplexValue`] (optional) Corresponds to AWS instance profile/arn role.' roles: - type: string + type: array + items: + type: object + properties: + display: + type: string + primary: + type: boolean + $ref: + type: string + type: + type: string + value: + type: string schemas: - type: string + type: array + items: + type: string + x-enum: + - urn:ietf:params:scim:schemas:core:2.0:User + - urn:ietf:params:scim:schemas:extension:workspace:2.0:User + description: |- + Create a collection of name/value pairs. + + Example enumeration: + + >>> class Color(Enum): + ... RED = 1 + ... BLUE = 2 + ... GREEN = 3 + + Access them by: + + - attribute access:: + + >>> Color.RED + + + - value lookup: + + >>> Color(1) + + + - name lookup: + + >>> Color['RED'] + + + Enumerations can be iterated over, and know how many members they have: + + >>> len(Color) + 3 + + >>> list(Color) + [, , ] + + Methods can be added to enumerations, and members can have their own + attributes -- see the documentation for details. description: The schema of the user. user_name: type: string @@ -1486,7 +2150,7 @@ paths: in: query required: false schema: - type: string + type: integer description: Desired number of results per page. - name: excluded_attributes in: query @@ -1513,13 +2177,13 @@ paths: in: query required: false schema: - type: string + $ref: '#/components/schemas/ListSortOrder' description: The order to sort the results. - name: start_index in: query required: false schema: - type: string + type: integer description: Specifies the index of the first result. First item is number 1. responses: '200': @@ -1625,7 +2289,7 @@ paths: in: query required: false schema: - type: string + type: integer description: Desired number of results per page. - name: excluded_attributes in: query @@ -1652,13 +2316,13 @@ paths: in: query required: false schema: - type: string + $ref: '#/components/schemas/GetSortOrder' description: The order to sort the results. - name: start_index in: query required: false schema: - type: string + type: integer description: Specifies the index of the first result. First item is number 1. responses: '200': @@ -1707,11 +2371,68 @@ paths: type: object properties: operations: - type: string + type: array + items: + type: object + properties: + op: + type: string + x-enum: + - add + - remove + - replace + description: Type of patch operation. + path: + type: string + description: Selection of patch operation + value: + type: object + description: Value to modify description: ':param schemas: List[:class:`PatchSchema`] (optional) The schema of the patch request. Must be ["urn:ietf:params:scim:api:messages:2.0:PatchOp"].' schemas: - type: string + type: array + items: + type: string + x-enum: + - urn:ietf:params:scim:api:messages:2.0:PatchOp + description: |- + Create a collection of name/value pairs. + + Example enumeration: + + >>> class Color(Enum): + ... RED = 1 + ... BLUE = 2 + ... GREEN = 3 + + Access them by: + + - attribute access:: + + >>> Color.RED + + + - value lookup: + + >>> Color(1) + + + - name lookup: + + >>> Color['RED'] + + + Enumerations can be iterated over, and know how many members they have: + + >>> len(Color) + 3 + + >>> list(Color) + [, , ] + + Methods can be added to enumerations, and members can have their own + attributes -- see the documentation for details. responses: '200': description: Success @@ -1776,7 +2497,7 @@ paths: type: object properties: active: - type: string + type: boolean description: If this user is active display_name: type: string @@ -1784,25 +2505,125 @@ paths: This field cannot be updated through the Workspace SCIM APIs when [identity federation is enabled]. Use Account SCIM APIs to update `displayName`. [identity federation is enabled]: https://docs.databricks.com/administration-guide/users-groups/best-practices.html#enable-identity-federation' emails: - type: string + type: array + items: + type: object + properties: + display: + type: string + primary: + type: boolean + $ref: + type: string + type: + type: string + value: + type: string description: All the emails associated with the Databricks user. entitlements: - type: string + type: array + items: + type: object + properties: + display: + type: string + primary: + type: boolean + $ref: + type: string + type: + type: string + value: + type: string description: 'Entitlements assigned to the user. See [assigning entitlements] for a full list of supported values. [assigning entitlements]: https://docs.databricks.com/administration-guide/users-groups/index.html#assigning-entitlements' external_id: type: string description: External ID is not currently supported. It is reserved for future use. groups: - type: string + type: array + items: + type: object + properties: + display: + type: string + primary: + type: boolean + $ref: + type: string + type: + type: string + value: + type: string description: ':param name: :class:`Name` (optional)' name: - type: string + type: object + properties: + familyName: + type: string + givenName: + type: string + description: Given name of the Databricks user. roles: - type: string + type: array + items: + type: object + properties: + display: + type: string + primary: + type: boolean + $ref: + type: string + type: + type: string + value: + type: string description: Corresponds to AWS instance profile/arn role. schemas: - type: string + type: array + items: + type: string + x-enum: + - urn:ietf:params:scim:schemas:core:2.0:User + - urn:ietf:params:scim:schemas:extension:workspace:2.0:User + description: |- + Create a collection of name/value pairs. + + Example enumeration: + + >>> class Color(Enum): + ... RED = 1 + ... BLUE = 2 + ... GREEN = 3 + + Access them by: + + - attribute access:: + + >>> Color.RED + + + - value lookup: + + >>> Color(1) + + + - name lookup: + + >>> Color['RED'] + + + Enumerations can be iterated over, and know how many members they have: + + >>> len(Color) + 3 + + >>> list(Color) + [, , ] + + Methods can be added to enumerations, and members can have their own + attributes -- see the documentation for details. description: The schema of the user. user_name: type: string @@ -1904,7 +2725,23 @@ paths: type: object properties: access_control_list: - type: string + type: array + items: + type: object + properties: + group_name: + type: string + permission_level: + type: string + x-enum: + - CAN_USE + description: Permission level + service_principal_name: + type: string + description: application ID of a service principal + user_name: + type: string + description: name of the user description: ':returns: :class:`PasswordPermissions`' responses: '200': @@ -1944,7 +2781,23 @@ paths: type: object properties: access_control_list: - type: string + type: array + items: + type: object + properties: + group_name: + type: string + permission_level: + type: string + x-enum: + - CAN_USE + description: Permission level + service_principal_name: + type: string + description: application ID of a service principal + user_name: + type: string + description: name of the user description: ':returns: :class:`PasswordPermissions`' responses: '200': @@ -2643,20 +3496,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -2684,20 +3537,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -2725,20 +3578,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -2767,20 +3620,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -2820,20 +3673,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -2892,20 +3745,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -2934,20 +3787,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -2977,20 +3830,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -3446,6 +4299,10 @@ components: - name: is_primary type: boolean description: Whether this email address is the user's primary email. + requiredParams: + - name: deployment_name + type: string + description: Workspace deployment name used to scope the query. views: select: predicate: sqlDialect == "sqlite3" @@ -3504,6 +4361,10 @@ components: - name: role type: string description: Role assigned to the user (one row per role assignment). + requiredParams: + - name: deployment_name + type: string + description: Workspace deployment name used to scope the query. views: select: predicate: sqlDialect == "sqlite3" @@ -3551,6 +4412,10 @@ components: type: string description: Entitlement granted to the user (one row per entitlement, e.g. workspace-access, databricks-sql-access, allow-cluster-create). + requiredParams: + - name: deployment_name + type: string + description: Workspace deployment name used to scope the query. views: select: predicate: sqlDialect == "sqlite3" @@ -3606,6 +4471,10 @@ components: - name: group_type type: string description: Type of the group resource (typically Group). + requiredParams: + - name: deployment_name + type: string + description: Workspace deployment name used to scope the query. views: select: predicate: sqlDialect == "sqlite3" @@ -3664,6 +4533,10 @@ components: - name: member_type type: string description: Type of the member resource (e.g. User, Group, ServicePrincipal). + requiredParams: + - name: deployment_name + type: string + description: Workspace deployment name used to scope the query. views: select: predicate: sqlDialect == "sqlite3" @@ -3712,6 +4585,10 @@ components: type: string description: Entitlement granted to the group (one row per entitlement, e.g. workspace-access, databricks-sql-access, allow-cluster-create). + requiredParams: + - name: deployment_name + type: string + description: Workspace deployment name used to scope the query. views: select: predicate: sqlDialect == "sqlite3" @@ -3753,6 +4630,10 @@ components: - name: role type: string description: Role assigned to the group (one row per role assignment). + requiredParams: + - name: deployment_name + type: string + description: Workspace deployment name used to scope the query. views: select: predicate: sqlDialect == "sqlite3" @@ -3801,6 +4682,10 @@ components: type: string description: Entitlement granted to the service principal (one row per entitlement, e.g. workspace-access, databricks-sql-access, allow-cluster-create). + requiredParams: + - name: deployment_name + type: string + description: Workspace deployment name used to scope the query. views: select: predicate: sqlDialect == "sqlite3" @@ -3852,6 +4737,10 @@ components: - name: role type: string description: Role assigned to the service principal (one row per role assignment). + requiredParams: + - name: deployment_name + type: string + description: Workspace deployment name used to scope the query. views: select: predicate: sqlDialect == "sqlite3" @@ -3922,6 +4811,16 @@ components: - name: inherited_from_object type: array description: List of parent object paths from which this permission is inherited. + requiredParams: + - name: deployment_name + type: string + description: Workspace deployment name used to scope the query. + - name: request_object_type + type: string + description: Object type used to scope the permissions query (e.g. clusters, jobs, notebooks, directories). + - name: request_object_id + type: string + description: Object ID used to scope the permissions query. views: select: predicate: sqlDialect == "sqlite3" @@ -3988,6 +4887,16 @@ components: - name: principal type: string description: Principal granted the role (e.g. users/alice@example.com, groups/analysts). + requiredParams: + - name: deployment_name + type: string + description: Workspace deployment name used to scope the query. + - name: name + type: string + description: Fully qualified name of the rule set (e.g. accounts/accountId/servicePrincipals/spId/ruleSets/default). + - name: etag + type: string + description: ETag of the rule set for optimistic concurrency control. views: select: predicate: sqlDialect == "sqlite3" diff --git a/providers/src/databricks_workspace/v00.00.00000/services/iamv2.yaml b/providers/src/databricks_workspace/v00.00.00000/services/iamv2.yaml index 1f3bfdb9..13b21a0b 100644 --- a/providers/src/databricks_workspace/v00.00.00000/services/iamv2.yaml +++ b/providers/src/databricks_workspace/v00.00.00000/services/iamv2.yaml @@ -5,7 +5,7 @@ info: Python SDK. version: 0.1.0 x-stackql-sdk-version: 0.86.0 - x-stackql-date-generated: '2026-02-19' + x-stackql-date-generated: '2026-02-24' x-stackql-sdk-namespace: databricks.sdk.service.iamv2 servers: - url: https://{deployment_name}.cloud.databricks.com @@ -46,7 +46,7 @@ paths: in: query required: false schema: - type: string + $ref: '#/components/schemas/WorkspaceAccessDetailView' description: Controls what fields are returned. responses: '200': @@ -420,6 +420,13 @@ components: - name: permission type: string description: Permission level granted to the principal on the workspace (one row per permission, e.g. USER, ADMIN). + requiredParams: + - name: deployment_name + type: string + description: Workspace deployment name used to scope the query. + - name: principal_id + type: string + description: Unique identifier of the principal whose workspace access is being queried. views: select: predicate: sqlDialect == "sqlite3" diff --git a/providers/src/databricks_workspace/v00.00.00000/services/jobs.yaml b/providers/src/databricks_workspace/v00.00.00000/services/jobs.yaml index 025b2806..f5647a0d 100644 --- a/providers/src/databricks_workspace/v00.00.00000/services/jobs.yaml +++ b/providers/src/databricks_workspace/v00.00.00000/services/jobs.yaml @@ -6,7 +6,7 @@ info: APIs), generated from the Databricks Python SDK. version: 0.1.0 x-stackql-sdk-version: 0.86.0 - x-stackql-date-generated: '2026-02-19' + x-stackql-date-generated: '2026-02-24' x-stackql-sdk-namespace: databricks.sdk.service.jobs servers: - url: https://{deployment_name}.cloud.databricks.com @@ -42,13 +42,13 @@ paths: type: object properties: all_queued_runs: - type: string + type: boolean description: >- Optional boolean parameter to cancel all queued runs. If no job_id is provided, all queued runs in the workspace are canceled. job_id: - type: string + type: integer description: The canonical identifier of the job to cancel all runs of. responses: '200': @@ -236,7 +236,26 @@ paths: type: object properties: access_control_list: - type: string + type: array + items: + type: object + properties: + group_name: + type: string + permission_level: + type: string + x-enum: + - CAN_MANAGE + - CAN_MANAGE_RUN + - CAN_VIEW + - IS_OWNER + description: Permission level + service_principal_name: + type: string + description: application ID of a service principal + user_name: + type: string + description: name of the user description: List of permissions to set on the job. budget_policy_id: type: string @@ -247,13 +266,104 @@ paths: `effective_budget_policy_id` for the budget policy used by this workload. continuous: - type: string + type: object + properties: + pause_status: + type: string + x-enum: + - PAUSED + - UNPAUSED + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know how many + members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members can + have their own + + attributes -- see the documentation for details. + task_retry_mode: + type: string + x-enum: + - NEVER + - ON_FAILURE + description: >- + Indicate whether the continuous job is applying task + level retries or not. Defaults to NEVER. description: >- An optional continuous property for this job. The continuous property will ensure that there is always one run executing. Only one of `schedule` and `continuous` can be used. deployment: - type: string + type: object + properties: + kind: + type: string + x-enum: + - BUNDLE + - SYSTEM_MANAGED + description: >- + * `BUNDLE`: The job is managed by Databricks Asset + Bundle. * `SYSTEM_MANAGED`: The job is + + managed by Databricks and is read-only. + metadata_file_path: + type: string + description: Path of the file that contains deployment metadata. + required: + - kind description: Deployment information for jobs managed by external sources. description: type: string @@ -262,18 +372,90 @@ paths: 27700 characters in UTF-8 encoding. edit_mode: type: string + x-enum: + - EDITABLE + - UI_LOCKED description: >- Edit mode of the job. * `UI_LOCKED`: The job is in a locked UI state and cannot be modified. * `EDITABLE`: The job is in an editable state and can be modified. email_notifications: - type: string + type: object + properties: + no_alert_for_skipped_runs: + type: boolean + on_duration_warning_threshold_exceeded: + type: array + items: + type: string + description: >- + A list of email addresses to be notified when the + duration of a run exceeds the threshold specified for + the `RUN_DURATION_SECONDS` metric in the `health` field. + If no rule for the `RUN_DURATION_SECONDS` metric is + specified in the `health` field for the job, + notifications are not sent. + on_failure: + type: array + items: + type: string + description: >- + A list of email addresses to be notified when a run + unsuccessfully completes. A run is considered to have + completed unsuccessfully if it ends with an + `INTERNAL_ERROR` `life_cycle_state` or a `FAILED`, or + `TIMED_OUT` result_state. If this is not specified on + job creation, reset, or update the list is empty, and + notifications are not sent. + on_start: + type: array + items: + type: string + description: >- + A list of email addresses to be notified when a run + begins. If not specified on job creation, reset, or + update, the list is empty, and notifications are not + sent. + on_streaming_backlog_exceeded: + type: array + items: + type: string + description: >- + A list of email addresses to notify when any streaming + backlog thresholds are exceeded for any stream. + Streaming backlog thresholds can be set in the `health` + field using the following metrics: + `STREAMING_BACKLOG_BYTES`, `STREAMING_BACKLOG_RECORDS`, + `STREAMING_BACKLOG_SECONDS`, or + `STREAMING_BACKLOG_FILES`. Alerting is based on the + 10-minute average of these metrics. If the issue + persists, notifications are resent every 30 minutes. + on_success: + type: array + items: + type: string + description: >- + A list of email addresses to be notified when a run + successfully completes. A run is considered to have + completed successfully if it ends with a `TERMINATED` + `life_cycle_state` and a `SUCCESS` result_state. If not + specified on job creation, reset, or update, the list is + empty, and notifications are not sent. description: >- An optional set of email addresses that is notified when runs of this job begin or complete as well as when this job is deleted. environments: - type: string + type: array + items: + type: object + properties: + environment_key: + type: string + spec: + type: string + required: + - environment_key description: >- A list of task execution environment specifications that can be referenced by serverless tasks of this job. For @@ -285,12 +467,102 @@ paths: environment_key in the task settings. format: type: string + x-enum: + - MULTI_TASK + - SINGLE_TASK description: >- Used to tell what is the format of the job. This field is ignored in Create/Update/Reset calls. When using the Jobs API 2.1 this value is always set to `"MULTI_TASK"`. git_source: - type: string + type: object + properties: + git_url: + type: string + description: URL of the repository to be cloned by this job. + git_provider: + type: string + x-enum: + - awsCodeCommit + - azureDevOpsServices + - bitbucketCloud + - bitbucketServer + - gitHub + - gitHubEnterprise + - gitLab + - gitLabEnterpriseEdition + description: >- + Unique identifier of the service used to host the Git + repository. The value is case insensitive. + git_branch: + type: string + description: >- + Name of the branch to be checked out and used by this + job. This field cannot be specified in conjunction with + git_tag or git_commit. + git_commit: + type: string + description: >- + Commit to be checked out and used by this job. This + field cannot be specified in conjunction with git_branch + or git_tag. + git_snapshot: + type: object + properties: + used_commit: + type: string + description: >- + Commit that was used to execute the run. If + git_branch was specified, this points to the HEAD of + the branch at the time of the run; if git_tag was + specified, this points to the commit the tag points + to. + description: >- + Read-only state of the remote repository at the time the + job was run. This field is only + included on job runs. + git_tag: + type: string + description: >- + Name of the tag to be checked out and used by this job. + This field cannot be specified in conjunction with + git_branch or git_commit. + job_source: + type: object + properties: + job_config_path: + type: string + description: >- + Path of the job YAML file that contains the job + specification. + import_from_git_branch: + type: string + description: Name of the branch which the job is imported from. + dirty_state: + type: string + x-enum: + - DISCONNECTED + - NOT_SYNCED + description: >- + Dirty state indicates the job is not fully synced + with the job specification in the remote repository. + Possible values are: * `NOT_SYNCED`: The job is not + yet synced with the remote job specification. Import + the remote job specification from UI to make the job + fully synced. * `DISCONNECTED`: The job is temporary + disconnected from the remote job specification and + is allowed for live edit. Import the remote job + specification again from UI to make the job fully + synced. + required: + - job_config_path + - import_from_git_branch + description: >- + The source of the job specification in the remote + repository when the job is source controlled. + required: + - git_url + - git_provider description: >- An optional specification for a remote Git repository containing the source code used by tasks. Version-controlled @@ -302,7 +574,63 @@ paths: support only version-controlled sources. If dbt or SQL File tasks are used, `git_source` must be defined on the job. health: - type: string + type: object + properties: + rules: + type: array + items: + type: object + properties: + metric: + type: string + x-enum: + - RUN_DURATION_SECONDS + - STREAMING_BACKLOG_BYTES + - STREAMING_BACKLOG_FILES + - STREAMING_BACKLOG_RECORDS + - STREAMING_BACKLOG_SECONDS + description: >- + Specifies the health metric that is being + evaluated for a particular health rule. + + + * `RUN_DURATION_SECONDS`: Expected total time for + a run in seconds. * `STREAMING_BACKLOG_BYTES`: + + An estimate of the maximum bytes of data waiting + to be consumed across all streams. This metric + + is in Public Preview. * + `STREAMING_BACKLOG_RECORDS`: An estimate of the + maximum offset lag + + across all streams. This metric is in Public + Preview. * `STREAMING_BACKLOG_SECONDS`: An + estimate + + of the maximum consumer delay across all streams. + This metric is in Public Preview. * + + `STREAMING_BACKLOG_FILES`: An estimate of the + maximum number of outstanding files across all + + streams. This metric is in Public Preview. + op: + type: string + x-enum: + - GREATER_THAN + description: >- + Specifies the operator used to compare the health + metric value with the specified threshold. + value: + type: integer + description: >- + Specifies the threshold value that the health + metric should obey to satisfy the health rule. + required: + - metric + - op + - value description: >- :param job_clusters: List[:class:`JobCluster`] (optional) A list of job cluster specifications that can be shared and @@ -310,9 +638,22 @@ paths: a shared job cluster. You must declare dependent libraries in task settings. job_clusters: - type: string + type: array + items: + type: object + properties: + job_cluster_key: + type: string + new_cluster: + type: string + description: >- + If new_cluster, a description of a cluster that is + created for each task. + required: + - job_cluster_key + - new_cluster max_concurrent_runs: - type: string + type: integer description: >- An optional maximum allowed number of concurrent runs of the job. Set this value if you want to be able to execute @@ -333,16 +674,38 @@ paths: An optional name for the job. The maximum length is 4096 bytes in UTF-8 encoding. notification_settings: - type: string + type: object + properties: + no_alert_for_canceled_runs: + type: boolean + no_alert_for_skipped_runs: + type: boolean + description: >- + If true, do not send notifications to recipients + specified in `on_failure` if the run is skipped. description: >- Optional notification settings that are used when sending notifications to each of the `email_notifications` and `webhook_notifications` for this job. parameters: - type: string + type: array + items: + type: object + properties: + name: + type: string + default: + type: string + description: Default value of the parameter. + required: + - name + - default description: Job-level parameter definitions performance_target: type: string + x-enum: + - PERFORMANCE_OPTIMIZED + - STANDARD description: >- The performance mode on a serverless job. This field determines the level of compute performance or @@ -353,31 +716,1332 @@ paths: startup and execution times through rapid scaling and optimized cluster performance. queue: - type: string + type: object + properties: + enabled: + type: boolean + required: + - enabled description: The queue settings of the job. run_as: - type: string + type: object + properties: + group_name: + type: string + description: >- + Group name of an account group assigned to the + workspace. Setting this field requires being a member of + the group. + service_principal_name: + type: string + description: >- + Application ID of an active service principal. Setting + this field requires the `servicePrincipal/user` role. + user_name: + type: string + description: >- + The email of an active workspace user. Non-admin users + can only set this field to their own email. description: >- The user or service principal that the job runs as, if specified in the request. This field indicates the explicit configuration of `run_as` for the job. To find the value in all cases, explicit or implicit, use `run_as_user_name`. schedule: - type: string + type: object + properties: + quartz_cron_expression: + type: string + timezone_id: + type: string + description: >- + A Java timezone ID. The schedule for a job is resolved + with respect to this timezone. See [Java TimeZone] for + details. This field is required. [Java TimeZone]: + https://docs.oracle.com/javase/7/docs/api/java/util/TimeZone.html + pause_status: + type: string + x-enum: + - PAUSED + - UNPAUSED + description: Indicate whether this schedule is paused or not. + required: + - quartz_cron_expression + - timezone_id description: >- An optional periodic schedule for this job. The default behavior is that the job only runs when triggered by clicking “Run Now” in the Jobs UI or sending an API request to `runNow`. tags: - type: string + type: object description: >- A map of tags associated with the job. These are forwarded to the cluster as cluster tags for jobs clusters, and are subject to the same limitations as cluster tags. A maximum of 25 tags can be added to the job. tasks: - type: string + type: array + items: + type: object + properties: + task_key: + type: string + clean_rooms_notebook_task: + type: object + properties: + clean_room_name: + type: string + description: The clean room that the notebook belongs to. + notebook_name: + type: string + description: Name of the notebook being run. + etag: + type: string + description: >- + Checksum to validate the freshness of the notebook + resource (i.e. the notebook being run is the + latest version). It can be fetched by calling the + :method:cleanroomassets/get API. + notebook_base_parameters: + type: object + description: >- + Base parameters to be used for the clean room + notebook job. + required: + - clean_room_name + - notebook_name + description: >- + The task runs a [clean rooms] notebook when the + `clean_rooms_notebook_task` field is present. [clean + rooms]: + https://docs.databricks.com/clean-rooms/index.html + compute: + type: object + properties: + hardware_accelerator: + type: string + description: Task level compute configuration. + condition_task: + type: object + properties: + op: + type: string + x-enum: + - EQUAL_TO + - GREATER_THAN + - GREATER_THAN_OR_EQUAL + - LESS_THAN + - LESS_THAN_OR_EQUAL + - NOT_EQUAL + description: >- + * `EQUAL_TO`, `NOT_EQUAL` operators perform string + comparison of their operands. This means that + + `“12.0” == “12”` will evaluate to `false`. * + `GREATER_THAN`, `GREATER_THAN_OR_EQUAL`, + + `LESS_THAN`, `LESS_THAN_OR_EQUAL` operators + perform numeric comparison of their operands. + + `“12.0” >= “12”` will evaluate to `true`, `“10.0” + >= “12”` will evaluate to + + `false`. + + + The boolean comparison to task values can be + implemented with operators `EQUAL_TO`, + `NOT_EQUAL`. + + If a task value was set to a boolean value, it + will be serialized to `“true”` or + + `“false”` for the comparison. + left: + type: string + description: >- + The left operand of the condition task. Can be + either a string value or a job state or parameter + reference. + right: + type: string + description: >- + The right operand of the condition task. Can be + either a string value or a job state or parameter + reference. + required: + - op + - left + - right + description: >- + The task evaluates a condition that can be used to + control the execution of other tasks when the + `condition_task` field is present. The condition task + does not require a cluster to execute and does not + support retries or notifications. + dashboard_task: + type: object + properties: + dashboard_id: + type: string + description: The identifier of the dashboard to refresh. + filters: + type: object + description: >- + Dashboard task parameters. Used to apply dashboard + filter values during dashboard task execution. + Parameter values get applied to any dashboard + filters that have a matching URL identifier as the + parameter key. The parameter value format is + dependent on the filter type: - For text and + single-select filters, provide a single value + (e.g. `"value"`) - For date and datetime filters, + provide the value in ISO 8601 format (e.g. + `"2000-01-01T00:00:00"`) - For multi-select + filters, provide a JSON array of values (e.g. + `"[\"value1\",\"value2\"]"`) - For range and date + range filters, provide a JSON object with `start` + and `end` (e.g. + `"{\"start\":\"1\",\"end\":\"10\"}"`) + subscription: + type: object + properties: + custom_subject: + type: string + paused: + type: boolean + description: >- + When true, the subscription will not send + emails. + subscribers: + type: array + items: + type: object + properties: + destination_id: + type: string + user_name: + type: string + description: >- + A snapshot of the dashboard will be sent + to the user's email when the `user_name` + field is present. + description: >- + The list of subscribers to send the snapshot + of the dashboard to. + description: >- + Optional: subscription configuration for sending + the dashboard snapshot. + warehouse_id: + type: string + description: >- + Optional: The warehouse id to execute the + dashboard with for the schedule. If not specified, + the default warehouse of the dashboard will be + used. + description: >- + The task refreshes a dashboard and sends a snapshot to + subscribers. + dbt_cloud_task: + type: object + properties: + connection_resource_name: + type: string + description: >- + The resource name of the UC connection that + authenticates the dbt Cloud for this task + dbt_cloud_job_id: + type: integer + description: Id of the dbt Cloud job to be triggered + description: >- + Task type for dbt cloud, deprecated in favor of the + new name dbt_platform_task + dbt_platform_task: + type: object + properties: + connection_resource_name: + type: string + dbt_platform_job_id: + type: string + description: >- + Id of the dbt platform job to be triggered. + Specified as a string for maximum compatibility + with clients. + dbt_task: + type: object + properties: + commands: + type: array + items: + type: string + catalog: + type: string + description: >- + Optional name of the catalog to use. The value is + the top level in the 3-level namespace of Unity + Catalog (catalog / schema / relation). The catalog + value can only be specified if a warehouse_id is + specified. Requires dbt-databricks >= 1.1.1. + profiles_directory: + type: string + description: >- + Optional (relative) path to the profiles + directory. Can only be specified if no + warehouse_id is specified. If no warehouse_id is + specified and this folder is unset, the root + directory is used. + project_directory: + type: string + description: >- + Path to the project directory. Optional for Git + sourced tasks, in which case if no value is + provided, the root of the Git repository is used. + schema: + type: string + description: >- + Optional schema to write to. This parameter is + only used when a warehouse_id is also provided. If + not provided, the `default` schema is used. + source: + type: string + x-enum: + - GIT + - WORKSPACE + description: >- + Optional location type of the project directory. + When set to `WORKSPACE`, the project will be + retrieved from the local Databricks workspace. + When set to `GIT`, the project will be retrieved + from a Git repository defined in `git_source`. If + the value is empty, the task will use `GIT` if + `git_source` is defined and `WORKSPACE` otherwise. + * `WORKSPACE`: Project is located in Databricks + workspace. * `GIT`: Project is located in cloud + Git provider. + warehouse_id: + type: string + description: >- + ID of the SQL warehouse to connect to. If + provided, we automatically generate and provide + the profile and connection details to dbt. It can + be overridden on a per-command basis by using the + `--profiles-dir` command line argument. + required: + - commands + description: >- + The task runs one or more dbt commands when the + `dbt_task` field is present. The dbt task requires + both Databricks SQL and the ability to use a + serverless or a pro SQL warehouse. + depends_on: + type: array + items: + type: object + properties: + task_key: + type: string + outcome: + type: string + description: >- + Can only be specified on condition task + dependencies. The outcome of the dependent task + that must be met for this task to run. + required: + - task_key + description: >- + An optional array of objects specifying the dependency + graph of the task. All tasks specified in this field + must complete before executing this task. The task + will run only if the `run_if` condition is true. The + key is `task_key`, and the value is the name assigned + to the dependent task. + description: + type: string + description: An optional description for this task. + disable_auto_optimization: + type: boolean + description: An option to disable auto optimization in serverless + disabled: + type: boolean + description: >- + An optional flag to disable the task. If set to true, + the task will not run even if it is part of a job. + email_notifications: + type: object + properties: + no_alert_for_skipped_runs: + type: boolean + on_duration_warning_threshold_exceeded: + type: array + items: + type: string + description: >- + A list of email addresses to be notified when the + duration of a run exceeds the threshold specified + for the `RUN_DURATION_SECONDS` metric in the + `health` field. If no rule for the + `RUN_DURATION_SECONDS` metric is specified in the + `health` field for the job, notifications are not + sent. + on_failure: + type: array + items: + type: string + description: >- + A list of email addresses to be notified when a + run unsuccessfully completes. A run is considered + to have completed unsuccessfully if it ends with + an `INTERNAL_ERROR` `life_cycle_state` or a + `FAILED`, or `TIMED_OUT` result_state. If this is + not specified on job creation, reset, or update + the list is empty, and notifications are not sent. + on_start: + type: array + items: + type: string + description: >- + A list of email addresses to be notified when a + run begins. If not specified on job creation, + reset, or update, the list is empty, and + notifications are not sent. + on_streaming_backlog_exceeded: + type: array + items: + type: string + description: >- + A list of email addresses to notify when any + streaming backlog thresholds are exceeded for any + stream. Streaming backlog thresholds can be set in + the `health` field using the following metrics: + `STREAMING_BACKLOG_BYTES`, + `STREAMING_BACKLOG_RECORDS`, + `STREAMING_BACKLOG_SECONDS`, or + `STREAMING_BACKLOG_FILES`. Alerting is based on + the 10-minute average of these metrics. If the + issue persists, notifications are resent every 30 + minutes. + on_success: + type: array + items: + type: string + description: >- + A list of email addresses to be notified when a + run successfully completes. A run is considered to + have completed successfully if it ends with a + `TERMINATED` `life_cycle_state` and a `SUCCESS` + result_state. If not specified on job creation, + reset, or update, the list is empty, and + notifications are not sent. + description: >- + An optional set of email addresses that is notified + when runs of this task begin or complete as well as + when this task is deleted. The default behavior is to + not send any emails. + environment_key: + type: string + description: >- + The key that references an environment spec in a job. + This field is required for Python script, Python wheel + and dbt tasks when using serverless compute. + existing_cluster_id: + type: string + description: >- + If existing_cluster_id, the ID of an existing cluster + that is used for all runs. When running jobs or tasks + on an existing cluster, you may need to manually + restart the cluster if it stops responding. We suggest + running jobs and tasks on new clusters for greater + reliability + for_each_task: + type: object + properties: + inputs: + type: string + task: + $ref: '#/components/schemas/Task' + description: >- + Configuration for the task that will be run for + each element in the array + concurrency: + type: integer + description: >- + An optional maximum allowed number of concurrent + runs of the task. Set this value if you want to be + able to execute multiple runs of the task + concurrently. + required: + - inputs + - task + description: >- + The task executes a nested task for every input + provided when the `for_each_task` field is present. + gen_ai_compute_task: + type: object + properties: + dl_runtime_image: + type: string + command: + type: string + description: >- + Command launcher to run the actual script, e.g. + bash, python etc. + compute: + type: object + properties: + num_gpus: + type: integer + gpu_node_pool_id: + type: string + description: IDof the GPU pool to use. + gpu_type: + type: string + description: GPU type. + required: + - num_gpus + mlflow_experiment_name: + type: string + description: >- + Optional string containing the name of the MLflow + experiment to log the run to. If name is not + found, backend will create the mlflow experiment + using the name. + source: + type: string + x-enum: + - GIT + - WORKSPACE + description: >- + Optional location type of the training script. + When set to `WORKSPACE`, the script will be + retrieved from the local Databricks workspace. + When set to `GIT`, the script will be retrieved + from a Git repository defined in `git_source`. If + the value is empty, the task will use `GIT` if + `git_source` is defined and `WORKSPACE` otherwise. + * `WORKSPACE`: Script is located in Databricks + workspace. * `GIT`: Script is located in cloud Git + provider. + training_script_path: + type: string + description: >- + The training script file path to be executed. + Cloud file URIs (such as dbfs:/, s3:/, adls:/, + gcs:/) and workspace paths are supported. For + python files stored in the Databricks workspace, + the path must be absolute and begin with `/`. For + files stored in a remote repository, the path must + be relative. This field is required. + yaml_parameters: + type: string + description: >- + Optional string containing model parameters passed + to the training script in yaml format. If present, + then the content in yaml_parameters_file_path will + be ignored. + yaml_parameters_file_path: + type: string + description: >- + Optional path to a YAML file containing model + parameters passed to the training script. + required: + - dl_runtime_image + health: + type: object + properties: + rules: + type: array + items: + type: object + properties: + metric: + type: string + x-enum: + - RUN_DURATION_SECONDS + - STREAMING_BACKLOG_BYTES + - STREAMING_BACKLOG_FILES + - STREAMING_BACKLOG_RECORDS + - STREAMING_BACKLOG_SECONDS + description: >- + Specifies the health metric that is being + evaluated for a particular health rule. + + + * `RUN_DURATION_SECONDS`: Expected total + time for a run in seconds. * + `STREAMING_BACKLOG_BYTES`: + + An estimate of the maximum bytes of data + waiting to be consumed across all streams. + This metric + + is in Public Preview. * + `STREAMING_BACKLOG_RECORDS`: An estimate of + the maximum offset lag + + across all streams. This metric is in Public + Preview. * `STREAMING_BACKLOG_SECONDS`: An + estimate + + of the maximum consumer delay across all + streams. This metric is in Public Preview. * + + `STREAMING_BACKLOG_FILES`: An estimate of + the maximum number of outstanding files + across all + + streams. This metric is in Public Preview. + op: + type: string + x-enum: + - GREATER_THAN + description: >- + Specifies the operator used to compare the + health metric value with the specified + threshold. + value: + type: integer + description: >- + Specifies the threshold value that the + health metric should obey to satisfy the + health rule. + required: + - metric + - op + - value + description: >- + An optional set of health rules that can be defined + for this job. + job_cluster_key: + type: string + description: >- + If job_cluster_key, this task is executed reusing the + cluster specified in `job.settings.job_clusters`. + libraries: + type: string + description: >- + An optional list of libraries to be installed on the + cluster. The default value is an empty list. + max_retries: + type: integer + description: >- + An optional maximum number of times to retry an + unsuccessful run. A run is considered to be + unsuccessful if it completes with the `FAILED` + result_state or `INTERNAL_ERROR` `life_cycle_state`. + The value `-1` means to retry indefinitely and the + value `0` means to never retry. + min_retry_interval_millis: + type: integer + description: >- + An optional minimal interval in milliseconds between + the start of the failed run and the subsequent retry + run. The default behavior is that unsuccessful runs + are immediately retried. + new_cluster: + type: string + description: >- + If new_cluster, a description of a new cluster that is + created for each run. + notebook_task: + type: object + properties: + notebook_path: + type: string + base_parameters: + type: object + description: >- + Base parameters to be used for each run of this + job. If the run is initiated by a call to + :method:jobs/run Now with parameters specified, + the two parameters maps are merged. If the same + key is specified in `base_parameters` and in + `run-now`, the value from `run-now` is used. Use + [Task parameter variables] to set parameters + containing information about job runs. If the + notebook takes a parameter that is not specified + in the job’s `base_parameters` or the `run-now` + override parameters, the default value from the + notebook is used. Retrieve these parameters in a + notebook using [dbutils.widgets.get]. The JSON + representation of this field cannot exceed 1MB. + [Task parameter variables]: + https://docs.databricks.com/jobs.html#parameter-variables + [dbutils.widgets.get]: + https://docs.databricks.com/dev-tools/databricks-utils.html#dbutils-widgets + source: + type: string + x-enum: + - GIT + - WORKSPACE + description: >- + Optional location type of the notebook. When set + to `WORKSPACE`, the notebook will be retrieved + from the local Databricks workspace. When set to + `GIT`, the notebook will be retrieved from a Git + repository defined in `git_source`. If the value + is empty, the task will use `GIT` if `git_source` + is defined and `WORKSPACE` otherwise. * + `WORKSPACE`: Notebook is located in Databricks + workspace. * `GIT`: Notebook is located in cloud + Git provider. + warehouse_id: + type: string + description: >- + Optional `warehouse_id` to run the notebook on a + SQL warehouse. Classic SQL warehouses are NOT + supported, please use serverless or pro SQL + warehouses. Note that SQL warehouses only support + SQL cells; if the notebook contains non-SQL cells, + the run will fail. + required: + - notebook_path + description: >- + The task runs a notebook when the `notebook_task` + field is present. + notification_settings: + type: object + properties: + alert_on_last_attempt: + type: boolean + no_alert_for_canceled_runs: + type: boolean + description: >- + If true, do not send notifications to recipients + specified in `on_failure` if the run is canceled. + no_alert_for_skipped_runs: + type: boolean + description: >- + If true, do not send notifications to recipients + specified in `on_failure` if the run is skipped. + description: >- + Optional notification settings that are used when + sending notifications to each of the + `email_notifications` and `webhook_notifications` for + this task. + pipeline_task: + type: object + properties: + pipeline_id: + type: string + full_refresh: + type: boolean + description: >- + If true, triggers a full refresh on the delta live + table. + required: + - pipeline_id + description: >- + The task triggers a pipeline update when the + `pipeline_task` field is present. Only pipelines + configured to use triggered more are supported. + power_bi_task: + type: object + properties: + connection_resource_name: + type: string + power_bi_model: + type: object + properties: + authentication_method: + type: string + x-enum: + - OAUTH + - PAT + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know + how many members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , + ] + + + Methods can be added to enumerations, and + members can have their own + + attributes -- see the documentation for + details. + model_name: + type: string + description: The name of the Power BI model + overwrite_existing: + type: boolean + description: Whether to overwrite existing Power BI models + storage_mode: + type: string + x-enum: + - DIRECT_QUERY + - DUAL + - IMPORT + description: The default storage mode of the Power BI model + workspace_name: + type: string + description: >- + The name of the Power BI workspace of the + model + description: The semantic model to update + refresh_after_update: + type: boolean + description: >- + Whether the model should be refreshed after the + update + tables: + type: array + items: + type: object + properties: + catalog: + type: string + name: + type: string + description: The table name in Databricks + schema: + type: string + description: The schema name in Databricks + storage_mode: + type: string + x-enum: + - DIRECT_QUERY + - DUAL + - IMPORT + description: The Power BI storage mode of the table + description: The tables to be exported to Power BI + warehouse_id: + type: string + description: >- + The SQL warehouse ID to use as the Power BI data + source + description: >- + The task triggers a Power BI semantic model update + when the `power_bi_task` field is present. + python_wheel_task: + type: object + properties: + package_name: + type: string + entry_point: + type: string + description: >- + Named entry point to use, if it does not exist in + the metadata of the package it executes the + function from the package directly using + `$packageName.$entryPoint()` + named_parameters: + type: object + description: >- + Command-line parameters passed to Python wheel + task in the form of `["--name=task", + "--data=dbfs:/path/to/data.json"]`. Leave it empty + if `parameters` is not null. + parameters: + type: array + items: + type: string + description: >- + Command-line parameters passed to Python wheel + task. Leave it empty if `named_parameters` is not + null. + required: + - package_name + - entry_point + description: >- + The task runs a Python wheel when the + `python_wheel_task` field is present. + retry_on_timeout: + type: boolean + description: >- + An optional policy to specify whether to retry a job + when it times out. The default behavior is to not + retry on timeout. + run_if: + type: string + x-enum: + - ALL_DONE + - ALL_FAILED + - ALL_SUCCESS + - AT_LEAST_ONE_FAILED + - AT_LEAST_ONE_SUCCESS + - NONE_FAILED + description: >- + An optional value specifying the condition determining + whether the task is run once its dependencies have + been completed. * `ALL_SUCCESS`: All dependencies have + executed and succeeded * `AT_LEAST_ONE_SUCCESS`: At + least one dependency has succeeded * `NONE_FAILED`: + None of the dependencies have failed and at least one + was executed * `ALL_DONE`: All dependencies have been + completed * `AT_LEAST_ONE_FAILED`: At least one + dependency failed * `ALL_FAILED`: ALl dependencies + have failed + run_job_task: + type: object + properties: + job_id: + type: integer + dbt_commands: + type: array + items: + type: string + description: >- + An array of commands to execute for jobs with the + dbt task, for example `"dbt_commands": ["dbt + deps", "dbt seed", "dbt deps", "dbt seed", "dbt + run"]` ⚠ **Deprecation note** Use [job parameters] + to pass information down to tasks. [job + parameters]: + https://docs.databricks.com/jobs/job-parameters.html#job-parameter-pushdown + jar_params: + type: array + items: + type: string + description: >- + A list of parameters for jobs with Spark JAR + tasks, for example `"jar_params": ["john doe", + "35"]`. The parameters are used to invoke the main + function of the main class specified in the Spark + JAR task. If not specified upon `run-now`, it + defaults to an empty list. jar_params cannot be + specified in conjunction with notebook_params. The + JSON representation of this field (for example + `{"jar_params":["john doe","35"]}`) cannot exceed + 10,000 bytes. ⚠ **Deprecation note** Use [job + parameters] to pass information down to tasks. + [job parameters]: + https://docs.databricks.com/jobs/job-parameters.html#job-parameter-pushdown + job_parameters: + type: object + description: Job-level parameters used to trigger the job. + notebook_params: + type: object + description: >- + A map from keys to values for jobs with notebook + task, for example `"notebook_params": {"name": + "john doe", "age": "35"}`. The map is passed to + the notebook and is accessible through the + [dbutils.widgets.get] function. If not specified + upon `run-now`, the triggered run uses the job’s + base parameters. notebook_params cannot be + specified in conjunction with jar_params. ⚠ + **Deprecation note** Use [job parameters] to pass + information down to tasks. The JSON representation + of this field (for example + `{"notebook_params":{"name":"john + doe","age":"35"}}`) cannot exceed 10,000 bytes. + [dbutils.widgets.get]: + https://docs.databricks.com/dev-tools/databricks-utils.html + [job parameters]: + https://docs.databricks.com/jobs/job-parameters.html#job-parameter-pushdown + pipeline_params: + type: object + properties: + full_refresh: + type: boolean + description: >- + Controls whether the pipeline should perform a + full refresh + python_named_params: + type: object + python_params: + type: array + items: + type: string + description: >- + A list of parameters for jobs with Python tasks, + for example `"python_params": ["john doe", "35"]`. + The parameters are passed to Python file as + command-line parameters. If specified upon + `run-now`, it would overwrite the parameters + specified in job setting. The JSON representation + of this field (for example + `{"python_params":["john doe","35"]}`) cannot + exceed 10,000 bytes. ⚠ **Deprecation note** Use + [job parameters] to pass information down to + tasks. Important These parameters accept only + Latin characters (ASCII character set). Using + non-ASCII characters returns an error. Examples of + invalid, non-ASCII characters are Chinese, + Japanese kanjis, and emojis. [job parameters]: + https://docs.databricks.com/jobs/job-parameters.html#job-parameter-pushdown + spark_submit_params: + type: array + items: + type: string + description: >- + A list of parameters for jobs with spark submit + task, for example `"spark_submit_params": + ["--class", "org.apache.spark.examples.SparkPi"]`. + The parameters are passed to spark-submit script + as command-line parameters. If specified upon + `run-now`, it would overwrite the parameters + specified in job setting. The JSON representation + of this field (for example + `{"python_params":["john doe","35"]}`) cannot + exceed 10,000 bytes. ⚠ **Deprecation note** Use + [job parameters] to pass information down to + tasks. Important These parameters accept only + Latin characters (ASCII character set). Using + non-ASCII characters returns an error. Examples of + invalid, non-ASCII characters are Chinese, + Japanese kanjis, and emojis. [job parameters]: + https://docs.databricks.com/jobs/job-parameters.html#job-parameter-pushdown + sql_params: + type: object + description: >- + A map from keys to values for jobs with SQL task, + for example `"sql_params": {"name": "john doe", + "age": "35"}`. The SQL alert task does not support + custom parameters. ⚠ **Deprecation note** Use [job + parameters] to pass information down to tasks. + [job parameters]: + https://docs.databricks.com/jobs/job-parameters.html#job-parameter-pushdown + required: + - job_id + description: >- + The task triggers another job when the `run_job_task` + field is present. + spark_jar_task: + type: object + properties: + jar_uri: + type: string + main_class_name: + type: string + description: >- + The full name of the class containing the main + method to be executed. This class must be + contained in a JAR provided as a library. The code + must use `SparkContext.getOrCreate` to obtain a + Spark context; otherwise, runs of the job fail. + parameters: + type: array + items: + type: string + description: >- + Parameters passed to the main method. Use [Task + parameter variables] to set parameters containing + information about job runs. [Task parameter + variables]: + https://docs.databricks.com/jobs.html#parameter-variables + run_as_repl: + type: boolean + description: >- + Deprecated. A value of `false` is no longer + supported. + description: >- + The task runs a JAR when the `spark_jar_task` field is + present. + spark_python_task: + type: object + properties: + python_file: + type: string + parameters: + type: array + items: + type: string + description: >- + Command line parameters passed to the Python file. + Use [Task parameter variables] to set parameters + containing information about job runs. [Task + parameter variables]: + https://docs.databricks.com/jobs.html#parameter-variables + source: + type: string + x-enum: + - GIT + - WORKSPACE + description: >- + Optional location type of the Python file. When + set to `WORKSPACE` or not specified, the file will + be retrieved from the local Databricks workspace + or cloud location (if the `python_file` has a URI + format). When set to `GIT`, the Python file will + be retrieved from a Git repository defined in + `git_source`. * `WORKSPACE`: The Python file is + located in a Databricks workspace or at a cloud + filesystem URI. * `GIT`: The Python file is + located in a remote Git repository. + required: + - python_file + description: >- + The task runs a Python file when the + `spark_python_task` field is present. + spark_submit_task: + type: object + properties: + parameters: + type: array + items: + type: string + description: >- + (Legacy) The task runs the spark-submit script when + the spark_submit_task field is present. Databricks + recommends using the spark_jar_task instead; see + [Spark Submit task for jobs](/jobs/spark-submit). + sql_task: + type: object + properties: + warehouse_id: + type: string + alert: + type: object + properties: + alert_id: + type: string + pause_subscriptions: + type: boolean + description: >- + If true, the alert notifications are not sent + to subscribers. + subscriptions: + type: array + items: + type: object + properties: + destination_id: + type: string + user_name: + type: string + description: >- + The user name to receive the + subscription email. This parameter is + mutually exclusive with destination_id. + You cannot set both destination_id and + user_name for subscription + notifications. + description: >- + If specified, alert notifications are sent to + subscribers. + required: + - alert_id + description: >- + If alert, indicates that this job must refresh a + SQL alert. + dashboard: + type: object + properties: + dashboard_id: + type: string + custom_subject: + type: string + description: >- + Subject of the email sent to subscribers of + this task. + pause_subscriptions: + type: boolean + description: >- + If true, the dashboard snapshot is not taken, + and emails are not sent to subscribers. + subscriptions: + type: array + items: + type: object + properties: + destination_id: + type: string + user_name: + type: string + description: >- + The user name to receive the + subscription email. This parameter is + mutually exclusive with destination_id. + You cannot set both destination_id and + user_name for subscription + notifications. + description: >- + If specified, dashboard snapshots are sent to + subscriptions. + required: + - dashboard_id + description: >- + If dashboard, indicates that this job must refresh + a SQL dashboard. + file: + type: object + properties: + path: + type: string + source: + type: string + x-enum: + - GIT + - WORKSPACE + description: >- + Optional location type of the SQL file. When + set to `WORKSPACE`, the SQL file will be + retrieved from the local Databricks workspace. + When set to `GIT`, the SQL file will be + retrieved from a Git repository defined in + `git_source`. If the value is empty, the task + will use `GIT` if `git_source` is defined and + `WORKSPACE` otherwise. * `WORKSPACE`: SQL file + is located in Databricks workspace. * `GIT`: + SQL file is located in cloud Git provider. + required: + - path + description: >- + If file, indicates that this job runs a SQL file + in a remote Git repository. + parameters: + type: object + description: >- + Parameters to be used for each run of this job. + The SQL alert task does not support custom + parameters. + query: + type: object + properties: + query_id: + type: string + required: + - query_id + description: >- + If query, indicates that this job must execute a + SQL query. + required: + - warehouse_id + description: >- + The task runs a SQL query or file, or it refreshes a + SQL alert or a legacy SQL dashboard when the + `sql_task` field is present. + timeout_seconds: + type: integer + description: >- + An optional timeout applied to each run of this job + task. A value of `0` means no timeout. + webhook_notifications: + type: object + properties: + on_duration_warning_threshold_exceeded: + type: array + items: + type: object + properties: + id: + type: string + required: + - id + on_failure: + type: array + items: + type: object + properties: + id: + type: string + required: + - id + description: >- + An optional list of system notification IDs to + call when the run fails. A maximum of 3 + destinations can be specified for the `on_failure` + property. + on_start: + type: array + items: + type: object + properties: + id: + type: string + required: + - id + description: >- + An optional list of system notification IDs to + call when the run starts. A maximum of 3 + destinations can be specified for the `on_start` + property. + on_streaming_backlog_exceeded: + type: array + items: + type: object + properties: + id: + type: string + required: + - id + description: >- + An optional list of system notification IDs to + call when any streaming backlog thresholds are + exceeded for any stream. Streaming backlog + thresholds can be set in the `health` field using + the following metrics: `STREAMING_BACKLOG_BYTES`, + `STREAMING_BACKLOG_RECORDS`, + `STREAMING_BACKLOG_SECONDS`, or + `STREAMING_BACKLOG_FILES`. Alerting is based on + the 10-minute average of these metrics. If the + issue persists, notifications are resent every 30 + minutes. A maximum of 3 destinations can be + specified for the `on_streaming_backlog_exceeded` + property. + on_success: + type: array + items: + type: object + properties: + id: + type: string + required: + - id + description: >- + An optional list of system notification IDs to + call when the run completes successfully. A + maximum of 3 destinations can be specified for the + `on_success` property. + description: >- + A collection of system notification IDs to notify when + runs of this task begin or complete. The default + behavior is to not send any system notifications. + required: + - task_key description: >- A list of task specifications to be executed by this job. It supports up to 1000 elements in write endpoints @@ -388,12 +2052,192 @@ paths: the `next_page_token` field at the object root to determine if more results are available. timeout_seconds: - type: string + type: integer description: >- An optional timeout applied to each run of this job. A value of `0` means no timeout. trigger: - type: string + type: object + properties: + file_arrival: + type: object + properties: + url: + type: string + min_time_between_triggers_seconds: + type: integer + description: >- + If set, the trigger starts a run only after the + specified amount of time passed since the last time + the trigger fired. The minimum allowed value is 60 + seconds + wait_after_last_change_seconds: + type: integer + description: >- + If set, the trigger starts a run only after no file + activity has occurred for the specified amount of + time. This makes it possible to wait for a batch of + incoming files to arrive before triggering a run. + The minimum allowed value is 60 seconds. + required: + - url + model: + type: object + properties: + condition: + type: string + x-enum: + - MODEL_ALIAS_SET + - MODEL_CREATED + - MODEL_VERSION_READY + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know how many + members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members + can have their own + + attributes -- see the documentation for details. + aliases: + type: array + items: + type: string + description: >- + Aliases of the model versions to monitor. Can only + be used in conjunction with condition + MODEL_ALIAS_SET. + min_time_between_triggers_seconds: + type: integer + description: >- + If set, the trigger starts a run only after the + specified amount of time has passed since the last + time the trigger fired. The minimum allowed value is + 60 seconds. + securable_name: + type: string + description: >- + Name of the securable to monitor + ("mycatalog.myschema.mymodel" in the case of + model-level triggers, "mycatalog.myschema" in the + case of schema-level triggers) or empty in the case + of metastore-level triggers. + wait_after_last_change_seconds: + type: integer + description: >- + If set, the trigger starts a run only after no model + updates have occurred for the specified time and can + be used to wait for a series of model updates before + triggering a run. The minimum allowed value is 60 + seconds. + required: + - condition + pause_status: + type: string + x-enum: + - PAUSED + - UNPAUSED + description: Whether this trigger is paused or not. + periodic: + type: object + properties: + interval: + type: integer + unit: + type: string + x-enum: + - DAYS + - HOURS + - WEEKS + description: The unit of time for the interval. + required: + - interval + - unit + description: Periodic trigger settings. + table_update: + type: object + properties: + table_names: + type: array + items: + type: string + condition: + type: string + x-enum: + - ALL_UPDATED + - ANY_UPDATED + description: >- + The table(s) condition based on which to trigger a + job run. + min_time_between_triggers_seconds: + type: integer + description: >- + If set, the trigger starts a run only after the + specified amount of time has passed since the last + time the trigger fired. The minimum allowed value is + 60 seconds. + wait_after_last_change_seconds: + type: integer + description: >- + If set, the trigger starts a run only after no table + updates have occurred for the specified time and can + be used to wait for a series of table updates before + triggering a run. The minimum allowed value is 60 + seconds. + required: + - table_names description: >- A configuration to trigger a run when certain conditions are met. The default behavior is that the job runs only when @@ -408,7 +2252,78 @@ paths: `effective_usage_policy_id` for the usage policy used by this workload. webhook_notifications: - type: string + type: object + properties: + on_duration_warning_threshold_exceeded: + type: array + items: + type: object + properties: + id: + type: string + required: + - id + on_failure: + type: array + items: + type: object + properties: + id: + type: string + required: + - id + description: >- + An optional list of system notification IDs to call when + the run fails. A maximum of 3 destinations can be + specified for the `on_failure` property. + on_start: + type: array + items: + type: object + properties: + id: + type: string + required: + - id + description: >- + An optional list of system notification IDs to call when + the run starts. A maximum of 3 destinations can be + specified for the `on_start` property. + on_streaming_backlog_exceeded: + type: array + items: + type: object + properties: + id: + type: string + required: + - id + description: >- + An optional list of system notification IDs to call when + any streaming backlog thresholds are exceeded for any + stream. Streaming backlog thresholds can be set in the + `health` field using the following metrics: + `STREAMING_BACKLOG_BYTES`, `STREAMING_BACKLOG_RECORDS`, + `STREAMING_BACKLOG_SECONDS`, or + `STREAMING_BACKLOG_FILES`. Alerting is based on the + 10-minute average of these metrics. If the issue + persists, notifications are resent every 30 minutes. A + maximum of 3 destinations can be specified for the + `on_streaming_backlog_exceeded` property. + on_success: + type: array + items: + type: object + properties: + id: + type: string + required: + - id + description: >- + An optional list of system notification IDs to call when + the run completes successfully. A maximum of 3 + destinations can be specified for the `on_success` + property. description: >- A collection of system notification IDs to notify when runs of this job begin or complete. @@ -533,7 +2448,7 @@ paths: in: query required: false schema: - type: string + $ref: '#/components/schemas/ViewsToExport' description: Which views to export (CODE, DASHBOARDS, or ALL). Defaults to CODE. responses: '200': @@ -743,7 +2658,26 @@ paths: type: object properties: access_control_list: - type: string + type: array + items: + type: object + properties: + group_name: + type: string + permission_level: + type: string + x-enum: + - CAN_MANAGE + - CAN_MANAGE_RUN + - CAN_VIEW + - IS_OWNER + description: Permission level + service_principal_name: + type: string + description: application ID of a service principal + user_name: + type: string + description: name of the user description: ':returns: :class:`JobPermissions`' responses: '200': @@ -797,7 +2731,26 @@ paths: type: object properties: access_control_list: - type: string + type: array + items: + type: object + properties: + group_name: + type: string + permission_level: + type: string + x-enum: + - CAN_MANAGE + - CAN_MANAGE_RUN + - CAN_VIEW + - IS_OWNER + description: Permission level + service_principal_name: + type: string + description: application ID of a service principal + user_name: + type: string + description: name of the user description: ':returns: :class:`JobPermissions`' responses: '200': @@ -870,13 +2823,13 @@ paths: in: query required: false schema: - type: string + type: boolean description: Whether to include the repair history in the response. - name: include_resolved_values in: query required: false schema: - type: string + type: boolean description: Whether to include resolved parameter values in the response. - name: page_token in: query @@ -996,7 +2949,7 @@ paths: in: query required: false schema: - type: string + type: boolean description: >- Whether to include task and cluster details in the response. Note that only the first 100 elements will be shown. Use :method:jobs/get @@ -1005,7 +2958,7 @@ paths: in: query required: false schema: - type: string + type: integer description: >- The number of jobs to return. This value must be greater than 0 and less or equal to 100. The default value is 20. @@ -1019,7 +2972,7 @@ paths: in: query required: false schema: - type: string + type: integer description: >- The offset of the first job to return, relative to the most recently created job. Deprecated since June 2023. Use `page_token` to iterate @@ -1097,7 +3050,7 @@ paths: in: query required: false schema: - type: string + type: boolean description: >- If active_only is `true`, only active runs are included in the results; otherwise, lists both active and completed runs. An active @@ -1108,7 +3061,7 @@ paths: in: query required: false schema: - type: string + type: boolean description: >- If completed_only is `true`, only completed runs are included in the results; otherwise, lists both active and completed runs. This field @@ -1117,7 +3070,7 @@ paths: in: query required: false schema: - type: string + type: boolean description: >- Whether to include task and cluster details in the response. Note that only the first 100 elements will be shown. Use @@ -1126,7 +3079,7 @@ paths: in: query required: false schema: - type: string + type: integer description: >- The job for which to list runs. If omitted, the Jobs service lists runs from all jobs. @@ -1134,7 +3087,7 @@ paths: in: query required: false schema: - type: string + type: integer description: >- The number of runs to return. This value must be greater than 0 and less than 25. The default value is 20. If a request specifies a @@ -1143,7 +3096,7 @@ paths: in: query required: false schema: - type: string + type: integer description: >- The offset of the first run to return, relative to the most recent run. Deprecated since June 2023. Use `page_token` to iterate through @@ -1161,7 +3114,7 @@ paths: in: query required: false schema: - type: string + $ref: '#/components/schemas/RunType' description: >- The type of runs to return. For a description of run types, see :method:jobs/getRun. @@ -1169,7 +3122,7 @@ paths: in: query required: false schema: - type: string + type: integer description: >- Show runs that started _at or after_ this value. The value must be a UTC timestamp in milliseconds. Can be combined with _start_time_to_ @@ -1178,7 +3131,7 @@ paths: in: query required: false schema: - type: string + type: integer description: >- Show runs that started _at or before_ this value. The value must be a UTC timestamp in milliseconds. Can be combined with @@ -1331,7 +3284,9 @@ paths: The job run ID of the run to repair. The run must not be in progress. dbt_commands: - type: string + type: array + items: + type: string description: >- An array of commands to execute for jobs with the dbt task, for example `"dbt_commands": ["dbt deps", "dbt seed", "dbt @@ -1340,7 +3295,9 @@ paths: parameters]: https://docs.databricks.com/jobs/job-parameters.html#job-parameter-pushdown jar_params: - type: string + type: array + items: + type: string description: >- A list of parameters for jobs with Spark JAR tasks, for example `"jar_params": ["john doe", "35"]`. The parameters @@ -1354,18 +3311,18 @@ paths: information down to tasks. [job parameters]: https://docs.databricks.com/jobs/job-parameters.html#job-parameter-pushdown job_parameters: - type: string + type: object description: >- Job-level parameters used in the run. for example `"param": "overriding_val"` latest_repair_id: - type: string + type: integer description: >- The ID of the latest repair. This parameter is not required when repairing a run for the first time, but must be provided on subsequent requests to repair the same run. notebook_params: - type: string + type: object description: >- A map from keys to values for jobs with notebook task, for example `"notebook_params": {"name": "john doe", "age": @@ -1383,6 +3340,9 @@ paths: https://docs.databricks.com/jobs/job-parameters.html#job-parameter-pushdown performance_target: type: string + x-enum: + - PERFORMANCE_OPTIMIZED + - STANDARD description: >- The performance mode on a serverless job. The performance target determines the level of compute performance or @@ -1393,10 +3353,13 @@ paths: execution times through rapid scaling and optimized cluster performance. pipeline_params: - type: string + type: object + properties: + full_refresh: + type: boolean description: Controls whether the pipeline should perform a full refresh python_named_params: - type: string + type: object description: >- :param python_params: List[str] (optional) A list of parameters for jobs with Python tasks, for example @@ -1413,23 +3376,29 @@ paths: Japanese kanjis, and emojis. [job parameters]: https://docs.databricks.com/jobs/job-parameters.html#job-parameter-pushdown python_params: - type: string + type: array + items: + type: string rerun_all_failed_tasks: - type: string + type: boolean description: >- If true, repair all failed tasks. Only one of `rerun_tasks` or `rerun_all_failed_tasks` can be used. rerun_dependent_tasks: - type: string + type: boolean description: >- If true, repair all tasks that depend on the tasks in `rerun_tasks`, even if they were previously successful. Can be also used in combination with `rerun_all_failed_tasks`. rerun_tasks: - type: string + type: array + items: + type: string description: The task keys of the task runs to repair. spark_submit_params: - type: string + type: array + items: + type: string description: >- A list of parameters for jobs with spark submit task, for example `"spark_submit_params": ["--class", @@ -1446,7 +3415,7 @@ paths: Japanese kanjis, and emojis. [job parameters]: https://docs.databricks.com/jobs/job-parameters.html#job-parameter-pushdown sql_params: - type: string + type: object description: >- A map from keys to values for jobs with SQL task, for example `"sql_params": {"name": "john doe", "age": "35"}`. @@ -1509,7 +3478,2137 @@ paths: The canonical identifier of the job to reset. This field is required. new_settings: - type: string + type: object + properties: + budget_policy_id: + type: string + continuous: + type: object + properties: + pause_status: + type: string + x-enum: + - PAUSED + - UNPAUSED + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know how many + members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members + can have their own + + attributes -- see the documentation for details. + task_retry_mode: + type: string + x-enum: + - NEVER + - ON_FAILURE + description: >- + Indicate whether the continuous job is applying task + level retries or not. Defaults to NEVER. + description: >- + An optional continuous property for this job. The + continuous property will ensure that there is always one + run executing. Only one of `schedule` and `continuous` + can be used. + deployment: + type: object + properties: + kind: + type: string + x-enum: + - BUNDLE + - SYSTEM_MANAGED + description: >- + * `BUNDLE`: The job is managed by Databricks Asset + Bundle. * `SYSTEM_MANAGED`: The job is + + managed by Databricks and is read-only. + metadata_file_path: + type: string + description: Path of the file that contains deployment metadata. + required: + - kind + description: >- + Deployment information for jobs managed by external + sources. + description: + type: string + description: >- + An optional description for the job. The maximum length + is 27700 characters in UTF-8 encoding. + edit_mode: + type: string + x-enum: + - EDITABLE + - UI_LOCKED + description: >- + Edit mode of the job. * `UI_LOCKED`: The job is in a + locked UI state and cannot be modified. * `EDITABLE`: + The job is in an editable state and can be modified. + email_notifications: + type: object + properties: + no_alert_for_skipped_runs: + type: boolean + on_duration_warning_threshold_exceeded: + type: array + items: + type: string + description: >- + A list of email addresses to be notified when the + duration of a run exceeds the threshold specified + for the `RUN_DURATION_SECONDS` metric in the + `health` field. If no rule for the + `RUN_DURATION_SECONDS` metric is specified in the + `health` field for the job, notifications are not + sent. + on_failure: + type: array + items: + type: string + description: >- + A list of email addresses to be notified when a run + unsuccessfully completes. A run is considered to + have completed unsuccessfully if it ends with an + `INTERNAL_ERROR` `life_cycle_state` or a `FAILED`, + or `TIMED_OUT` result_state. If this is not + specified on job creation, reset, or update the list + is empty, and notifications are not sent. + on_start: + type: array + items: + type: string + description: >- + A list of email addresses to be notified when a run + begins. If not specified on job creation, reset, or + update, the list is empty, and notifications are not + sent. + on_streaming_backlog_exceeded: + type: array + items: + type: string + description: >- + A list of email addresses to notify when any + streaming backlog thresholds are exceeded for any + stream. Streaming backlog thresholds can be set in + the `health` field using the following metrics: + `STREAMING_BACKLOG_BYTES`, + `STREAMING_BACKLOG_RECORDS`, + `STREAMING_BACKLOG_SECONDS`, or + `STREAMING_BACKLOG_FILES`. Alerting is based on the + 10-minute average of these metrics. If the issue + persists, notifications are resent every 30 minutes. + on_success: + type: array + items: + type: string + description: >- + A list of email addresses to be notified when a run + successfully completes. A run is considered to have + completed successfully if it ends with a + `TERMINATED` `life_cycle_state` and a `SUCCESS` + result_state. If not specified on job creation, + reset, or update, the list is empty, and + notifications are not sent. + description: >- + An optional set of email addresses that is notified when + runs of this job begin or complete as well as when this + job is deleted. + environments: + type: array + items: + type: object + properties: + environment_key: + type: string + spec: + type: string + required: + - environment_key + description: >- + A list of task execution environment specifications that + can be referenced by serverless tasks of this job. For + serverless notebook tasks, if the environment_key is not + specified, the notebook environment will be used if + present. If a jobs environment is specified, it will + override the notebook environment. For other serverless + tasks, the task environment is required to be specified + using environment_key in the task settings. + format: + type: string + x-enum: + - MULTI_TASK + - SINGLE_TASK + description: >- + Used to tell what is the format of the job. This field + is ignored in Create/Update/Reset calls. When using the + Jobs API 2.1 this value is always set to `"MULTI_TASK"`. + git_source: + type: object + properties: + git_url: + type: string + description: URL of the repository to be cloned by this job. + git_provider: + type: string + x-enum: + - awsCodeCommit + - azureDevOpsServices + - bitbucketCloud + - bitbucketServer + - gitHub + - gitHubEnterprise + - gitLab + - gitLabEnterpriseEdition + description: >- + Unique identifier of the service used to host the + Git repository. The value is case insensitive. + git_branch: + type: string + description: >- + Name of the branch to be checked out and used by + this job. This field cannot be specified in + conjunction with git_tag or git_commit. + git_commit: + type: string + description: >- + Commit to be checked out and used by this job. This + field cannot be specified in conjunction with + git_branch or git_tag. + git_snapshot: + type: object + properties: + used_commit: + type: string + description: >- + Commit that was used to execute the run. If + git_branch was specified, this points to the + HEAD of the branch at the time of the run; if + git_tag was specified, this points to the commit + the tag points to. + description: >- + Read-only state of the remote repository at the time + the job was run. This field is only + included on job runs. + git_tag: + type: string + description: >- + Name of the tag to be checked out and used by this + job. This field cannot be specified in conjunction + with git_branch or git_commit. + job_source: + type: object + properties: + job_config_path: + type: string + description: >- + Path of the job YAML file that contains the job + specification. + import_from_git_branch: + type: string + description: >- + Name of the branch which the job is imported + from. + dirty_state: + type: string + x-enum: + - DISCONNECTED + - NOT_SYNCED + description: >- + Dirty state indicates the job is not fully + synced with the job specification in the remote + repository. Possible values are: * `NOT_SYNCED`: + The job is not yet synced with the remote job + specification. Import the remote job + specification from UI to make the job fully + synced. * `DISCONNECTED`: The job is temporary + disconnected from the remote job specification + and is allowed for live edit. Import the remote + job specification again from UI to make the job + fully synced. + required: + - job_config_path + - import_from_git_branch + description: >- + The source of the job specification in the remote + repository when the job is source controlled. + required: + - git_url + - git_provider + description: >- + An optional specification for a remote Git repository + containing the source code used by tasks. + Version-controlled source code is supported by notebook, + dbt, Python script, and SQL File tasks. If `git_source` + is set, these tasks retrieve the file from the remote + repository by default. However, this behavior can be + overridden by setting `source` to `WORKSPACE` on the + task. Note: dbt and SQL File tasks support only + version-controlled sources. If dbt or SQL File tasks are + used, `git_source` must be defined on the job. + health: + type: object + properties: + rules: + type: array + items: + type: object + properties: + metric: + type: string + x-enum: + - RUN_DURATION_SECONDS + - STREAMING_BACKLOG_BYTES + - STREAMING_BACKLOG_FILES + - STREAMING_BACKLOG_RECORDS + - STREAMING_BACKLOG_SECONDS + description: >- + Specifies the health metric that is being + evaluated for a particular health rule. + + + * `RUN_DURATION_SECONDS`: Expected total time + for a run in seconds. * + `STREAMING_BACKLOG_BYTES`: + + An estimate of the maximum bytes of data + waiting to be consumed across all streams. + This metric + + is in Public Preview. * + `STREAMING_BACKLOG_RECORDS`: An estimate of + the maximum offset lag + + across all streams. This metric is in Public + Preview. * `STREAMING_BACKLOG_SECONDS`: An + estimate + + of the maximum consumer delay across all + streams. This metric is in Public Preview. * + + `STREAMING_BACKLOG_FILES`: An estimate of the + maximum number of outstanding files across all + + streams. This metric is in Public Preview. + op: + type: string + x-enum: + - GREATER_THAN + description: >- + Specifies the operator used to compare the + health metric value with the specified + threshold. + value: + type: integer + description: >- + Specifies the threshold value that the health + metric should obey to satisfy the health rule. + required: + - metric + - op + - value + description: >- + An optional set of health rules that can be defined for + this job. + job_clusters: + type: array + items: + type: object + properties: + job_cluster_key: + type: string + new_cluster: + type: string + description: >- + If new_cluster, a description of a cluster that is + created for each task. + required: + - job_cluster_key + - new_cluster + description: >- + A list of job cluster specifications that can be shared + and reused by tasks of this job. Libraries cannot be + declared in a shared job cluster. You must declare + dependent libraries in task settings. + max_concurrent_runs: + type: integer + description: >- + An optional maximum allowed number of concurrent runs of + the job. Set this value if you want to be able to + execute multiple runs of the same job concurrently. This + is useful for example if you trigger your job on a + frequent schedule and want to allow consecutive runs to + overlap with each other, or if you want to trigger + multiple runs which differ by their input parameters. + This setting affects only new runs. For example, suppose + the job’s concurrency is 4 and there are 4 concurrent + active runs. Then setting the concurrency to 3 won’t + kill any of the active runs. However, from then on, new + runs are skipped unless there are fewer than 3 active + runs. This value cannot exceed 1000. Setting this value + to `0` causes all new runs to be skipped. + name: + type: string + description: >- + An optional name for the job. The maximum length is 4096 + bytes in UTF-8 encoding. + notification_settings: + type: object + properties: + no_alert_for_canceled_runs: + type: boolean + no_alert_for_skipped_runs: + type: boolean + description: >- + If true, do not send notifications to recipients + specified in `on_failure` if the run is skipped. + description: >- + Optional notification settings that are used when + sending notifications to each of the + `email_notifications` and `webhook_notifications` for + this job. + parameters: + type: array + items: + type: object + properties: + name: + type: string + default: + type: string + description: Default value of the parameter. + required: + - name + - default + description: Job-level parameter definitions + performance_target: + type: string + x-enum: + - PERFORMANCE_OPTIMIZED + - STANDARD + description: >- + The performance mode on a serverless job. This field + determines the level of compute performance or + cost-efficiency for the run. The performance target does + not apply to tasks that run on Serverless GPU compute. * + `STANDARD`: Enables cost-efficient execution of + serverless workloads. * `PERFORMANCE_OPTIMIZED`: + Prioritizes fast startup and execution times through + rapid scaling and optimized cluster performance. + queue: + type: object + properties: + enabled: + type: boolean + required: + - enabled + description: The queue settings of the job. + run_as: + type: object + properties: + group_name: + type: string + description: >- + Group name of an account group assigned to the + workspace. Setting this field requires being a + member of the group. + service_principal_name: + type: string + description: >- + Application ID of an active service principal. + Setting this field requires the + `servicePrincipal/user` role. + user_name: + type: string + description: >- + The email of an active workspace user. Non-admin + users can only set this field to their own email. + description: >- + The user or service principal that the job runs as, if + specified in the request. This field indicates the + explicit configuration of `run_as` for the job. To find + the value in all cases, explicit or implicit, use + `run_as_user_name`. + schedule: + type: object + properties: + quartz_cron_expression: + type: string + timezone_id: + type: string + description: >- + A Java timezone ID. The schedule for a job is + resolved with respect to this timezone. See [Java + TimeZone] for details. This field is required. [Java + TimeZone]: + https://docs.oracle.com/javase/7/docs/api/java/util/TimeZone.html + pause_status: + type: string + x-enum: + - PAUSED + - UNPAUSED + description: Indicate whether this schedule is paused or not. + required: + - quartz_cron_expression + - timezone_id + description: >- + An optional periodic schedule for this job. The default + behavior is that the job only runs when triggered by + clicking “Run Now” in the Jobs UI or sending an API + request to `runNow`. + tags: + type: object + description: >- + A map of tags associated with the job. These are + forwarded to the cluster as cluster tags for jobs + clusters, and are subject to the same limitations as + cluster tags. A maximum of 25 tags can be added to the + job. + tasks: + type: array + items: + type: object + properties: + task_key: + type: string + clean_rooms_notebook_task: + type: object + properties: + clean_room_name: + type: string + description: The clean room that the notebook belongs to. + notebook_name: + type: string + description: Name of the notebook being run. + etag: + type: string + description: >- + Checksum to validate the freshness of the + notebook resource (i.e. the notebook being run + is the latest version). It can be fetched by + calling the :method:cleanroomassets/get API. + notebook_base_parameters: + type: object + description: >- + Base parameters to be used for the clean room + notebook job. + required: + - clean_room_name + - notebook_name + description: >- + The task runs a [clean rooms] notebook when the + `clean_rooms_notebook_task` field is present. + [clean rooms]: + https://docs.databricks.com/clean-rooms/index.html + compute: + type: object + properties: + hardware_accelerator: + type: string + description: Task level compute configuration. + condition_task: + type: object + properties: + op: + type: string + x-enum: + - EQUAL_TO + - GREATER_THAN + - GREATER_THAN_OR_EQUAL + - LESS_THAN + - LESS_THAN_OR_EQUAL + - NOT_EQUAL + description: >- + * `EQUAL_TO`, `NOT_EQUAL` operators perform + string comparison of their operands. This + means that + + `“12.0” == “12”` will evaluate to `false`. * + `GREATER_THAN`, `GREATER_THAN_OR_EQUAL`, + + `LESS_THAN`, `LESS_THAN_OR_EQUAL` operators + perform numeric comparison of their operands. + + `“12.0” >= “12”` will evaluate to `true`, + `“10.0” >= “12”` will evaluate to + + `false`. + + + The boolean comparison to task values can be + implemented with operators `EQUAL_TO`, + `NOT_EQUAL`. + + If a task value was set to a boolean value, it + will be serialized to `“true”` or + + `“false”` for the comparison. + left: + type: string + description: >- + The left operand of the condition task. Can be + either a string value or a job state or + parameter reference. + right: + type: string + description: >- + The right operand of the condition task. Can + be either a string value or a job state or + parameter reference. + required: + - op + - left + - right + description: >- + The task evaluates a condition that can be used to + control the execution of other tasks when the + `condition_task` field is present. The condition + task does not require a cluster to execute and + does not support retries or notifications. + dashboard_task: + type: object + properties: + dashboard_id: + type: string + description: The identifier of the dashboard to refresh. + filters: + type: object + description: >- + Dashboard task parameters. Used to apply + dashboard filter values during dashboard task + execution. Parameter values get applied to any + dashboard filters that have a matching URL + identifier as the parameter key. The parameter + value format is dependent on the filter type: + - For text and single-select filters, provide + a single value (e.g. `"value"`) - For date and + datetime filters, provide the value in ISO + 8601 format (e.g. `"2000-01-01T00:00:00"`) - + For multi-select filters, provide a JSON array + of values (e.g. `"[\"value1\",\"value2\"]"`) - + For range and date range filters, provide a + JSON object with `start` and `end` (e.g. + `"{\"start\":\"1\",\"end\":\"10\"}"`) + subscription: + type: object + properties: + custom_subject: + type: string + paused: + type: boolean + description: >- + When true, the subscription will not send + emails. + subscribers: + type: array + items: + type: object + properties: + destination_id: + type: string + user_name: + type: string + description: >- + A snapshot of the dashboard will be sent + to the user's email when the `user_name` + field is present. + description: >- + The list of subscribers to send the + snapshot of the dashboard to. + description: >- + Optional: subscription configuration for + sending the dashboard snapshot. + warehouse_id: + type: string + description: >- + Optional: The warehouse id to execute the + dashboard with for the schedule. If not + specified, the default warehouse of the + dashboard will be used. + description: >- + The task refreshes a dashboard and sends a + snapshot to subscribers. + dbt_cloud_task: + type: object + properties: + connection_resource_name: + type: string + description: >- + The resource name of the UC connection that + authenticates the dbt Cloud for this task + dbt_cloud_job_id: + type: integer + description: Id of the dbt Cloud job to be triggered + description: >- + Task type for dbt cloud, deprecated in favor of + the new name dbt_platform_task + dbt_platform_task: + type: object + properties: + connection_resource_name: + type: string + dbt_platform_job_id: + type: string + description: >- + Id of the dbt platform job to be triggered. + Specified as a string for maximum + compatibility with clients. + dbt_task: + type: object + properties: + commands: + type: array + items: + type: string + catalog: + type: string + description: >- + Optional name of the catalog to use. The value + is the top level in the 3-level namespace of + Unity Catalog (catalog / schema / relation). + The catalog value can only be specified if a + warehouse_id is specified. Requires + dbt-databricks >= 1.1.1. + profiles_directory: + type: string + description: >- + Optional (relative) path to the profiles + directory. Can only be specified if no + warehouse_id is specified. If no warehouse_id + is specified and this folder is unset, the + root directory is used. + project_directory: + type: string + description: >- + Path to the project directory. Optional for + Git sourced tasks, in which case if no value + is provided, the root of the Git repository is + used. + schema: + type: string + description: >- + Optional schema to write to. This parameter is + only used when a warehouse_id is also + provided. If not provided, the `default` + schema is used. + source: + type: string + x-enum: + - GIT + - WORKSPACE + description: >- + Optional location type of the project + directory. When set to `WORKSPACE`, the + project will be retrieved from the local + Databricks workspace. When set to `GIT`, the + project will be retrieved from a Git + repository defined in `git_source`. If the + value is empty, the task will use `GIT` if + `git_source` is defined and `WORKSPACE` + otherwise. * `WORKSPACE`: Project is located + in Databricks workspace. * `GIT`: Project is + located in cloud Git provider. + warehouse_id: + type: string + description: >- + ID of the SQL warehouse to connect to. If + provided, we automatically generate and + provide the profile and connection details to + dbt. It can be overridden on a per-command + basis by using the `--profiles-dir` command + line argument. + required: + - commands + description: >- + The task runs one or more dbt commands when the + `dbt_task` field is present. The dbt task requires + both Databricks SQL and the ability to use a + serverless or a pro SQL warehouse. + depends_on: + type: array + items: + type: object + properties: + task_key: + type: string + outcome: + type: string + description: >- + Can only be specified on condition task + dependencies. The outcome of the dependent + task that must be met for this task to run. + required: + - task_key + description: >- + An optional array of objects specifying the + dependency graph of the task. All tasks specified + in this field must complete before executing this + task. The task will run only if the `run_if` + condition is true. The key is `task_key`, and the + value is the name assigned to the dependent task. + description: + type: string + description: An optional description for this task. + disable_auto_optimization: + type: boolean + description: >- + An option to disable auto optimization in + serverless + disabled: + type: boolean + description: >- + An optional flag to disable the task. If set to + true, the task will not run even if it is part of + a job. + email_notifications: + type: object + properties: + no_alert_for_skipped_runs: + type: boolean + on_duration_warning_threshold_exceeded: + type: array + items: + type: string + description: >- + A list of email addresses to be notified when + the duration of a run exceeds the threshold + specified for the `RUN_DURATION_SECONDS` + metric in the `health` field. If no rule for + the `RUN_DURATION_SECONDS` metric is specified + in the `health` field for the job, + notifications are not sent. + on_failure: + type: array + items: + type: string + description: >- + A list of email addresses to be notified when + a run unsuccessfully completes. A run is + considered to have completed unsuccessfully if + it ends with an `INTERNAL_ERROR` + `life_cycle_state` or a `FAILED`, or + `TIMED_OUT` result_state. If this is not + specified on job creation, reset, or update + the list is empty, and notifications are not + sent. + on_start: + type: array + items: + type: string + description: >- + A list of email addresses to be notified when + a run begins. If not specified on job + creation, reset, or update, the list is empty, + and notifications are not sent. + on_streaming_backlog_exceeded: + type: array + items: + type: string + description: >- + A list of email addresses to notify when any + streaming backlog thresholds are exceeded for + any stream. Streaming backlog thresholds can + be set in the `health` field using the + following metrics: `STREAMING_BACKLOG_BYTES`, + `STREAMING_BACKLOG_RECORDS`, + `STREAMING_BACKLOG_SECONDS`, or + `STREAMING_BACKLOG_FILES`. Alerting is based + on the 10-minute average of these metrics. If + the issue persists, notifications are resent + every 30 minutes. + on_success: + type: array + items: + type: string + description: >- + A list of email addresses to be notified when + a run successfully completes. A run is + considered to have completed successfully if + it ends with a `TERMINATED` `life_cycle_state` + and a `SUCCESS` result_state. If not specified + on job creation, reset, or update, the list is + empty, and notifications are not sent. + description: >- + An optional set of email addresses that is + notified when runs of this task begin or complete + as well as when this task is deleted. The default + behavior is to not send any emails. + environment_key: + type: string + description: >- + The key that references an environment spec in a + job. This field is required for Python script, + Python wheel and dbt tasks when using serverless + compute. + existing_cluster_id: + type: string + description: >- + If existing_cluster_id, the ID of an existing + cluster that is used for all runs. When running + jobs or tasks on an existing cluster, you may need + to manually restart the cluster if it stops + responding. We suggest running jobs and tasks on + new clusters for greater reliability + for_each_task: + type: object + properties: + inputs: + type: string + task: + $ref: '#/components/schemas/Task' + description: >- + Configuration for the task that will be run + for each element in the array + concurrency: + type: integer + description: >- + An optional maximum allowed number of + concurrent runs of the task. Set this value if + you want to be able to execute multiple runs + of the task concurrently. + required: + - inputs + - task + description: >- + The task executes a nested task for every input + provided when the `for_each_task` field is + present. + gen_ai_compute_task: + type: object + properties: + dl_runtime_image: + type: string + command: + type: string + description: >- + Command launcher to run the actual script, + e.g. bash, python etc. + compute: + type: object + properties: + num_gpus: + type: integer + gpu_node_pool_id: + type: string + description: IDof the GPU pool to use. + gpu_type: + type: string + description: GPU type. + required: + - num_gpus + mlflow_experiment_name: + type: string + description: >- + Optional string containing the name of the + MLflow experiment to log the run to. If name + is not found, backend will create the mlflow + experiment using the name. + source: + type: string + x-enum: + - GIT + - WORKSPACE + description: >- + Optional location type of the training script. + When set to `WORKSPACE`, the script will be + retrieved from the local Databricks workspace. + When set to `GIT`, the script will be + retrieved from a Git repository defined in + `git_source`. If the value is empty, the task + will use `GIT` if `git_source` is defined and + `WORKSPACE` otherwise. * `WORKSPACE`: Script + is located in Databricks workspace. * `GIT`: + Script is located in cloud Git provider. + training_script_path: + type: string + description: >- + The training script file path to be executed. + Cloud file URIs (such as dbfs:/, s3:/, adls:/, + gcs:/) and workspace paths are supported. For + python files stored in the Databricks + workspace, the path must be absolute and begin + with `/`. For files stored in a remote + repository, the path must be relative. This + field is required. + yaml_parameters: + type: string + description: >- + Optional string containing model parameters + passed to the training script in yaml format. + If present, then the content in + yaml_parameters_file_path will be ignored. + yaml_parameters_file_path: + type: string + description: >- + Optional path to a YAML file containing model + parameters passed to the training script. + required: + - dl_runtime_image + health: + type: object + properties: + rules: + type: array + items: + type: object + properties: + metric: + type: string + x-enum: + - RUN_DURATION_SECONDS + - STREAMING_BACKLOG_BYTES + - STREAMING_BACKLOG_FILES + - STREAMING_BACKLOG_RECORDS + - STREAMING_BACKLOG_SECONDS + description: >- + Specifies the health metric that is + being evaluated for a particular health + rule. + + + * `RUN_DURATION_SECONDS`: Expected total + time for a run in seconds. * + `STREAMING_BACKLOG_BYTES`: + + An estimate of the maximum bytes of data + waiting to be consumed across all + streams. This metric + + is in Public Preview. * + `STREAMING_BACKLOG_RECORDS`: An estimate + of the maximum offset lag + + across all streams. This metric is in + Public Preview. * + `STREAMING_BACKLOG_SECONDS`: An estimate + + of the maximum consumer delay across all + streams. This metric is in Public + Preview. * + + `STREAMING_BACKLOG_FILES`: An estimate + of the maximum number of outstanding + files across all + + streams. This metric is in Public + Preview. + op: + type: string + x-enum: + - GREATER_THAN + description: >- + Specifies the operator used to compare + the health metric value with the + specified threshold. + value: + type: integer + description: >- + Specifies the threshold value that the + health metric should obey to satisfy the + health rule. + required: + - metric + - op + - value + description: >- + An optional set of health rules that can be + defined for this job. + job_cluster_key: + type: string + description: >- + If job_cluster_key, this task is executed reusing + the cluster specified in + `job.settings.job_clusters`. + libraries: + type: string + description: >- + An optional list of libraries to be installed on + the cluster. The default value is an empty list. + max_retries: + type: integer + description: >- + An optional maximum number of times to retry an + unsuccessful run. A run is considered to be + unsuccessful if it completes with the `FAILED` + result_state or `INTERNAL_ERROR` + `life_cycle_state`. The value `-1` means to retry + indefinitely and the value `0` means to never + retry. + min_retry_interval_millis: + type: integer + description: >- + An optional minimal interval in milliseconds + between the start of the failed run and the + subsequent retry run. The default behavior is that + unsuccessful runs are immediately retried. + new_cluster: + type: string + description: >- + If new_cluster, a description of a new cluster + that is created for each run. + notebook_task: + type: object + properties: + notebook_path: + type: string + base_parameters: + type: object + description: >- + Base parameters to be used for each run of + this job. If the run is initiated by a call to + :method:jobs/run Now with parameters + specified, the two parameters maps are merged. + If the same key is specified in + `base_parameters` and in `run-now`, the value + from `run-now` is used. Use [Task parameter + variables] to set parameters containing + information about job runs. If the notebook + takes a parameter that is not specified in the + job’s `base_parameters` or the `run-now` + override parameters, the default value from + the notebook is used. Retrieve these + parameters in a notebook using + [dbutils.widgets.get]. The JSON representation + of this field cannot exceed 1MB. [Task + parameter variables]: + https://docs.databricks.com/jobs.html#parameter-variables + [dbutils.widgets.get]: + https://docs.databricks.com/dev-tools/databricks-utils.html#dbutils-widgets + source: + type: string + x-enum: + - GIT + - WORKSPACE + description: >- + Optional location type of the notebook. When + set to `WORKSPACE`, the notebook will be + retrieved from the local Databricks workspace. + When set to `GIT`, the notebook will be + retrieved from a Git repository defined in + `git_source`. If the value is empty, the task + will use `GIT` if `git_source` is defined and + `WORKSPACE` otherwise. * `WORKSPACE`: Notebook + is located in Databricks workspace. * `GIT`: + Notebook is located in cloud Git provider. + warehouse_id: + type: string + description: >- + Optional `warehouse_id` to run the notebook on + a SQL warehouse. Classic SQL warehouses are + NOT supported, please use serverless or pro + SQL warehouses. Note that SQL warehouses only + support SQL cells; if the notebook contains + non-SQL cells, the run will fail. + required: + - notebook_path + description: >- + The task runs a notebook when the `notebook_task` + field is present. + notification_settings: + type: object + properties: + alert_on_last_attempt: + type: boolean + no_alert_for_canceled_runs: + type: boolean + description: >- + If true, do not send notifications to + recipients specified in `on_failure` if the + run is canceled. + no_alert_for_skipped_runs: + type: boolean + description: >- + If true, do not send notifications to + recipients specified in `on_failure` if the + run is skipped. + description: >- + Optional notification settings that are used when + sending notifications to each of the + `email_notifications` and `webhook_notifications` + for this task. + pipeline_task: + type: object + properties: + pipeline_id: + type: string + full_refresh: + type: boolean + description: >- + If true, triggers a full refresh on the delta + live table. + required: + - pipeline_id + description: >- + The task triggers a pipeline update when the + `pipeline_task` field is present. Only pipelines + configured to use triggered more are supported. + power_bi_task: + type: object + properties: + connection_resource_name: + type: string + power_bi_model: + type: object + properties: + authentication_method: + type: string + x-enum: + - OAUTH + - PAT + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and + know how many members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , + ] + + + Methods can be added to enumerations, and + members can have their own + + attributes -- see the documentation for + details. + model_name: + type: string + description: The name of the Power BI model + overwrite_existing: + type: boolean + description: >- + Whether to overwrite existing Power BI + models + storage_mode: + type: string + x-enum: + - DIRECT_QUERY + - DUAL + - IMPORT + description: >- + The default storage mode of the Power BI + model + workspace_name: + type: string + description: >- + The name of the Power BI workspace of the + model + description: The semantic model to update + refresh_after_update: + type: boolean + description: >- + Whether the model should be refreshed after + the update + tables: + type: array + items: + type: object + properties: + catalog: + type: string + name: + type: string + description: The table name in Databricks + schema: + type: string + description: The schema name in Databricks + storage_mode: + type: string + x-enum: + - DIRECT_QUERY + - DUAL + - IMPORT + description: The Power BI storage mode of the table + description: The tables to be exported to Power BI + warehouse_id: + type: string + description: >- + The SQL warehouse ID to use as the Power BI + data source + description: >- + The task triggers a Power BI semantic model update + when the `power_bi_task` field is present. + python_wheel_task: + type: object + properties: + package_name: + type: string + entry_point: + type: string + description: >- + Named entry point to use, if it does not exist + in the metadata of the package it executes the + function from the package directly using + `$packageName.$entryPoint()` + named_parameters: + type: object + description: >- + Command-line parameters passed to Python wheel + task in the form of `["--name=task", + "--data=dbfs:/path/to/data.json"]`. Leave it + empty if `parameters` is not null. + parameters: + type: array + items: + type: string + description: >- + Command-line parameters passed to Python wheel + task. Leave it empty if `named_parameters` is + not null. + required: + - package_name + - entry_point + description: >- + The task runs a Python wheel when the + `python_wheel_task` field is present. + retry_on_timeout: + type: boolean + description: >- + An optional policy to specify whether to retry a + job when it times out. The default behavior is to + not retry on timeout. + run_if: + type: string + x-enum: + - ALL_DONE + - ALL_FAILED + - ALL_SUCCESS + - AT_LEAST_ONE_FAILED + - AT_LEAST_ONE_SUCCESS + - NONE_FAILED + description: >- + An optional value specifying the condition + determining whether the task is run once its + dependencies have been completed. * `ALL_SUCCESS`: + All dependencies have executed and succeeded * + `AT_LEAST_ONE_SUCCESS`: At least one dependency + has succeeded * `NONE_FAILED`: None of the + dependencies have failed and at least one was + executed * `ALL_DONE`: All dependencies have been + completed * `AT_LEAST_ONE_FAILED`: At least one + dependency failed * `ALL_FAILED`: ALl dependencies + have failed + run_job_task: + type: object + properties: + job_id: + type: integer + dbt_commands: + type: array + items: + type: string + description: >- + An array of commands to execute for jobs with + the dbt task, for example `"dbt_commands": + ["dbt deps", "dbt seed", "dbt deps", "dbt + seed", "dbt run"]` ⚠ **Deprecation note** Use + [job parameters] to pass information down to + tasks. [job parameters]: + https://docs.databricks.com/jobs/job-parameters.html#job-parameter-pushdown + jar_params: + type: array + items: + type: string + description: >- + A list of parameters for jobs with Spark JAR + tasks, for example `"jar_params": ["john doe", + "35"]`. The parameters are used to invoke the + main function of the main class specified in + the Spark JAR task. If not specified upon + `run-now`, it defaults to an empty list. + jar_params cannot be specified in conjunction + with notebook_params. The JSON representation + of this field (for example + `{"jar_params":["john doe","35"]}`) cannot + exceed 10,000 bytes. ⚠ **Deprecation note** + Use [job parameters] to pass information down + to tasks. [job parameters]: + https://docs.databricks.com/jobs/job-parameters.html#job-parameter-pushdown + job_parameters: + type: object + description: Job-level parameters used to trigger the job. + notebook_params: + type: object + description: >- + A map from keys to values for jobs with + notebook task, for example `"notebook_params": + {"name": "john doe", "age": "35"}`. The map is + passed to the notebook and is accessible + through the [dbutils.widgets.get] function. If + not specified upon `run-now`, the triggered + run uses the job’s base parameters. + notebook_params cannot be specified in + conjunction with jar_params. ⚠ **Deprecation + note** Use [job parameters] to pass + information down to tasks. The JSON + representation of this field (for example + `{"notebook_params":{"name":"john + doe","age":"35"}}`) cannot exceed 10,000 + bytes. [dbutils.widgets.get]: + https://docs.databricks.com/dev-tools/databricks-utils.html + [job parameters]: + https://docs.databricks.com/jobs/job-parameters.html#job-parameter-pushdown + pipeline_params: + type: object + properties: + full_refresh: + type: boolean + description: >- + Controls whether the pipeline should perform a + full refresh + python_named_params: + type: object + python_params: + type: array + items: + type: string + description: >- + A list of parameters for jobs with Python + tasks, for example `"python_params": ["john + doe", "35"]`. The parameters are passed to + Python file as command-line parameters. If + specified upon `run-now`, it would overwrite + the parameters specified in job setting. The + JSON representation of this field (for example + `{"python_params":["john doe","35"]}`) cannot + exceed 10,000 bytes. ⚠ **Deprecation note** + Use [job parameters] to pass information down + to tasks. Important These parameters accept + only Latin characters (ASCII character set). + Using non-ASCII characters returns an error. + Examples of invalid, non-ASCII characters are + Chinese, Japanese kanjis, and emojis. [job + parameters]: + https://docs.databricks.com/jobs/job-parameters.html#job-parameter-pushdown + spark_submit_params: + type: array + items: + type: string + description: >- + A list of parameters for jobs with spark + submit task, for example + `"spark_submit_params": ["--class", + "org.apache.spark.examples.SparkPi"]`. The + parameters are passed to spark-submit script + as command-line parameters. If specified upon + `run-now`, it would overwrite the parameters + specified in job setting. The JSON + representation of this field (for example + `{"python_params":["john doe","35"]}`) cannot + exceed 10,000 bytes. ⚠ **Deprecation note** + Use [job parameters] to pass information down + to tasks. Important These parameters accept + only Latin characters (ASCII character set). + Using non-ASCII characters returns an error. + Examples of invalid, non-ASCII characters are + Chinese, Japanese kanjis, and emojis. [job + parameters]: + https://docs.databricks.com/jobs/job-parameters.html#job-parameter-pushdown + sql_params: + type: object + description: >- + A map from keys to values for jobs with SQL + task, for example `"sql_params": {"name": + "john doe", "age": "35"}`. The SQL alert task + does not support custom parameters. ⚠ + **Deprecation note** Use [job parameters] to + pass information down to tasks. [job + parameters]: + https://docs.databricks.com/jobs/job-parameters.html#job-parameter-pushdown + required: + - job_id + description: >- + The task triggers another job when the + `run_job_task` field is present. + spark_jar_task: + type: object + properties: + jar_uri: + type: string + main_class_name: + type: string + description: >- + The full name of the class containing the main + method to be executed. This class must be + contained in a JAR provided as a library. The + code must use `SparkContext.getOrCreate` to + obtain a Spark context; otherwise, runs of the + job fail. + parameters: + type: array + items: + type: string + description: >- + Parameters passed to the main method. Use + [Task parameter variables] to set parameters + containing information about job runs. [Task + parameter variables]: + https://docs.databricks.com/jobs.html#parameter-variables + run_as_repl: + type: boolean + description: >- + Deprecated. A value of `false` is no longer + supported. + description: >- + The task runs a JAR when the `spark_jar_task` + field is present. + spark_python_task: + type: object + properties: + python_file: + type: string + parameters: + type: array + items: + type: string + description: >- + Command line parameters passed to the Python + file. Use [Task parameter variables] to set + parameters containing information about job + runs. [Task parameter variables]: + https://docs.databricks.com/jobs.html#parameter-variables + source: + type: string + x-enum: + - GIT + - WORKSPACE + description: >- + Optional location type of the Python file. + When set to `WORKSPACE` or not specified, the + file will be retrieved from the local + Databricks workspace or cloud location (if the + `python_file` has a URI format). When set to + `GIT`, the Python file will be retrieved from + a Git repository defined in `git_source`. * + `WORKSPACE`: The Python file is located in a + Databricks workspace or at a cloud filesystem + URI. * `GIT`: The Python file is located in a + remote Git repository. + required: + - python_file + description: >- + The task runs a Python file when the + `spark_python_task` field is present. + spark_submit_task: + type: object + properties: + parameters: + type: array + items: + type: string + description: >- + (Legacy) The task runs the spark-submit script + when the spark_submit_task field is present. + Databricks recommends using the spark_jar_task + instead; see [Spark Submit task for + jobs](/jobs/spark-submit). + sql_task: + type: object + properties: + warehouse_id: + type: string + alert: + type: object + properties: + alert_id: + type: string + pause_subscriptions: + type: boolean + description: >- + If true, the alert notifications are not + sent to subscribers. + subscriptions: + type: array + items: + type: object + properties: + destination_id: + type: string + user_name: + type: string + description: >- + The user name to receive the + subscription email. This parameter is + mutually exclusive with destination_id. + You cannot set both destination_id and + user_name for subscription + notifications. + description: >- + If specified, alert notifications are sent + to subscribers. + required: + - alert_id + description: >- + If alert, indicates that this job must refresh + a SQL alert. + dashboard: + type: object + properties: + dashboard_id: + type: string + custom_subject: + type: string + description: >- + Subject of the email sent to subscribers + of this task. + pause_subscriptions: + type: boolean + description: >- + If true, the dashboard snapshot is not + taken, and emails are not sent to + subscribers. + subscriptions: + type: array + items: + type: object + properties: + destination_id: + type: string + user_name: + type: string + description: >- + The user name to receive the + subscription email. This parameter is + mutually exclusive with destination_id. + You cannot set both destination_id and + user_name for subscription + notifications. + description: >- + If specified, dashboard snapshots are sent + to subscriptions. + required: + - dashboard_id + description: >- + If dashboard, indicates that this job must + refresh a SQL dashboard. + file: + type: object + properties: + path: + type: string + source: + type: string + x-enum: + - GIT + - WORKSPACE + description: >- + Optional location type of the SQL file. + When set to `WORKSPACE`, the SQL file will + be retrieved from the local Databricks + workspace. When set to `GIT`, the SQL file + will be retrieved from a Git repository + defined in `git_source`. If the value is + empty, the task will use `GIT` if + `git_source` is defined and `WORKSPACE` + otherwise. * `WORKSPACE`: SQL file is + located in Databricks workspace. * `GIT`: + SQL file is located in cloud Git provider. + required: + - path + description: >- + If file, indicates that this job runs a SQL + file in a remote Git repository. + parameters: + type: object + description: >- + Parameters to be used for each run of this + job. The SQL alert task does not support + custom parameters. + query: + type: object + properties: + query_id: + type: string + required: + - query_id + description: >- + If query, indicates that this job must execute + a SQL query. + required: + - warehouse_id + description: >- + The task runs a SQL query or file, or it refreshes + a SQL alert or a legacy SQL dashboard when the + `sql_task` field is present. + timeout_seconds: + type: integer + description: >- + An optional timeout applied to each run of this + job task. A value of `0` means no timeout. + webhook_notifications: + type: object + properties: + on_duration_warning_threshold_exceeded: + type: array + items: + type: object + properties: + id: + type: string + required: + - id + on_failure: + type: array + items: + type: object + properties: + id: + type: string + required: + - id + description: >- + An optional list of system notification IDs to + call when the run fails. A maximum of 3 + destinations can be specified for the + `on_failure` property. + on_start: + type: array + items: + type: object + properties: + id: + type: string + required: + - id + description: >- + An optional list of system notification IDs to + call when the run starts. A maximum of 3 + destinations can be specified for the + `on_start` property. + on_streaming_backlog_exceeded: + type: array + items: + type: object + properties: + id: + type: string + required: + - id + description: >- + An optional list of system notification IDs to + call when any streaming backlog thresholds are + exceeded for any stream. Streaming backlog + thresholds can be set in the `health` field + using the following metrics: + `STREAMING_BACKLOG_BYTES`, + `STREAMING_BACKLOG_RECORDS`, + `STREAMING_BACKLOG_SECONDS`, or + `STREAMING_BACKLOG_FILES`. Alerting is based + on the 10-minute average of these metrics. If + the issue persists, notifications are resent + every 30 minutes. A maximum of 3 destinations + can be specified for the + `on_streaming_backlog_exceeded` property. + on_success: + type: array + items: + type: object + properties: + id: + type: string + required: + - id + description: >- + An optional list of system notification IDs to + call when the run completes successfully. A + maximum of 3 destinations can be specified for + the `on_success` property. + description: >- + A collection of system notification IDs to notify + when runs of this task begin or complete. The + default behavior is to not send any system + notifications. + required: + - task_key + description: >- + A list of task specifications to be executed by this + job. It supports up to 1000 elements in write endpoints + (:method:jobs/create, :method:jobs/reset, + :method:jobs/update, :method:jobs/submit). Read + endpoints return only 100 tasks. If more than 100 tasks + are available, you can paginate through them using + :method:jobs/get. Use the `next_page_token` field at the + object root to determine if more results are available. + timeout_seconds: + type: integer + description: >- + An optional timeout applied to each run of this job. A + value of `0` means no timeout. + trigger: + type: object + properties: + file_arrival: + type: object + properties: + url: + type: string + min_time_between_triggers_seconds: + type: integer + description: >- + If set, the trigger starts a run only after the + specified amount of time passed since the last + time the trigger fired. The minimum allowed + value is 60 seconds + wait_after_last_change_seconds: + type: integer + description: >- + If set, the trigger starts a run only after no + file activity has occurred for the specified + amount of time. This makes it possible to wait + for a batch of incoming files to arrive before + triggering a run. The minimum allowed value is + 60 seconds. + required: + - url + model: + type: object + properties: + condition: + type: string + x-enum: + - MODEL_ALIAS_SET + - MODEL_CREATED + - MODEL_VERSION_READY + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know how + many members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and + members can have their own + + attributes -- see the documentation for details. + aliases: + type: array + items: + type: string + description: >- + Aliases of the model versions to monitor. Can + only be used in conjunction with condition + MODEL_ALIAS_SET. + min_time_between_triggers_seconds: + type: integer + description: >- + If set, the trigger starts a run only after the + specified amount of time has passed since the + last time the trigger fired. The minimum allowed + value is 60 seconds. + securable_name: + type: string + description: >- + Name of the securable to monitor + ("mycatalog.myschema.mymodel" in the case of + model-level triggers, "mycatalog.myschema" in + the case of schema-level triggers) or empty in + the case of metastore-level triggers. + wait_after_last_change_seconds: + type: integer + description: >- + If set, the trigger starts a run only after no + model updates have occurred for the specified + time and can be used to wait for a series of + model updates before triggering a run. The + minimum allowed value is 60 seconds. + required: + - condition + pause_status: + type: string + x-enum: + - PAUSED + - UNPAUSED + description: Whether this trigger is paused or not. + periodic: + type: object + properties: + interval: + type: integer + unit: + type: string + x-enum: + - DAYS + - HOURS + - WEEKS + description: The unit of time for the interval. + required: + - interval + - unit + description: Periodic trigger settings. + table_update: + type: object + properties: + table_names: + type: array + items: + type: string + condition: + type: string + x-enum: + - ALL_UPDATED + - ANY_UPDATED + description: >- + The table(s) condition based on which to trigger + a job run. + min_time_between_triggers_seconds: + type: integer + description: >- + If set, the trigger starts a run only after the + specified amount of time has passed since the + last time the trigger fired. The minimum allowed + value is 60 seconds. + wait_after_last_change_seconds: + type: integer + description: >- + If set, the trigger starts a run only after no + table updates have occurred for the specified + time and can be used to wait for a series of + table updates before triggering a run. The + minimum allowed value is 60 seconds. + required: + - table_names + description: >- + A configuration to trigger a run when certain conditions + are met. The default behavior is that the job runs only + when triggered by clicking “Run Now” in the Jobs UI or + sending an API request to `runNow`. + usage_policy_id: + type: string + description: >- + The id of the user specified usage policy to use for + this job. If not specified, a default usage policy may + be applied when creating or modifying the job. See + `effective_usage_policy_id` for the usage policy used by + this workload. + webhook_notifications: + type: object + properties: + on_duration_warning_threshold_exceeded: + type: array + items: + type: object + properties: + id: + type: string + required: + - id + on_failure: + type: array + items: + type: object + properties: + id: + type: string + required: + - id + description: >- + An optional list of system notification IDs to call + when the run fails. A maximum of 3 destinations can + be specified for the `on_failure` property. + on_start: + type: array + items: + type: object + properties: + id: + type: string + required: + - id + description: >- + An optional list of system notification IDs to call + when the run starts. A maximum of 3 destinations can + be specified for the `on_start` property. + on_streaming_backlog_exceeded: + type: array + items: + type: object + properties: + id: + type: string + required: + - id + description: >- + An optional list of system notification IDs to call + when any streaming backlog thresholds are exceeded + for any stream. Streaming backlog thresholds can be + set in the `health` field using the following + metrics: `STREAMING_BACKLOG_BYTES`, + `STREAMING_BACKLOG_RECORDS`, + `STREAMING_BACKLOG_SECONDS`, or + `STREAMING_BACKLOG_FILES`. Alerting is based on the + 10-minute average of these metrics. If the issue + persists, notifications are resent every 30 minutes. + A maximum of 3 destinations can be specified for the + `on_streaming_backlog_exceeded` property. + on_success: + type: array + items: + type: object + properties: + id: + type: string + required: + - id + description: >- + An optional list of system notification IDs to call + when the run completes successfully. A maximum of 3 + destinations can be specified for the `on_success` + property. + description: >- + A collection of system notification IDs to notify when + runs of this job begin or complete. description: >- The new settings of the job. These settings completely replace the old settings. Changes to the field @@ -1661,7 +5760,9 @@ paths: type: integer description: The ID of the job to be executed dbt_commands: - type: string + type: array + items: + type: string description: >- An array of commands to execute for jobs with the dbt task, for example `"dbt_commands": ["dbt deps", "dbt seed", "dbt @@ -1685,7 +5786,9 @@ paths: for jobs]: https://kb.databricks.com/jobs/jobs-idempotency.html jar_params: - type: string + type: array + items: + type: string description: >- A list of parameters for jobs with Spark JAR tasks, for example `"jar_params": ["john doe", "35"]`. The parameters @@ -1699,12 +5802,12 @@ paths: information down to tasks. [job parameters]: https://docs.databricks.com/jobs/job-parameters.html#job-parameter-pushdown job_parameters: - type: string + type: object description: >- Job-level parameters used in the run. for example `"param": "overriding_val"` notebook_params: - type: string + type: object description: >- A map from keys to values for jobs with notebook task, for example `"notebook_params": {"name": "john doe", "age": @@ -1721,12 +5824,17 @@ paths: [job parameters]: https://docs.databricks.com/jobs/job-parameters.html#job-parameter-pushdown only: - type: string + type: array + items: + type: string description: >- A list of task keys to run inside of the job. If this field is not provided, all tasks in the job will be run. performance_target: type: string + x-enum: + - PERFORMANCE_OPTIMIZED + - STANDARD description: >- The performance mode on a serverless job. The performance target determines the level of compute performance or @@ -1737,10 +5845,13 @@ paths: execution times through rapid scaling and optimized cluster performance. pipeline_params: - type: string + type: object + properties: + full_refresh: + type: boolean description: Controls whether the pipeline should perform a full refresh python_named_params: - type: string + type: object description: >- :param python_params: List[str] (optional) A list of parameters for jobs with Python tasks, for example @@ -1757,12 +5868,21 @@ paths: Japanese kanjis, and emojis. [job parameters]: https://docs.databricks.com/jobs/job-parameters.html#job-parameter-pushdown python_params: - type: string + type: array + items: + type: string queue: - type: string + type: object + properties: + enabled: + type: boolean + required: + - enabled description: The queue settings of the run. spark_submit_params: - type: string + type: array + items: + type: string description: >- A list of parameters for jobs with spark submit task, for example `"spark_submit_params": ["--class", @@ -1779,7 +5899,7 @@ paths: Japanese kanjis, and emojis. [job parameters]: https://docs.databricks.com/jobs/job-parameters.html#job-parameter-pushdown sql_params: - type: string + type: object description: >- A map from keys to values for jobs with SQL task, for example `"sql_params": {"name": "john doe", "age": "35"}`. @@ -1906,7 +6026,26 @@ paths: type: object properties: access_control_list: - type: string + type: array + items: + type: object + properties: + group_name: + type: string + permission_level: + type: string + x-enum: + - CAN_MANAGE + - CAN_MANAGE_RUN + - CAN_VIEW + - IS_OWNER + description: Permission level + service_principal_name: + type: string + description: application ID of a service principal + user_name: + type: string + description: name of the user description: List of permissions to set on the job. budget_policy_id: type: string @@ -1915,17 +6054,173 @@ paths: one-time run. If not specified, the run will be not be attributed to any budget policy. email_notifications: - type: string + type: object + properties: + no_alert_for_skipped_runs: + type: boolean + on_duration_warning_threshold_exceeded: + type: array + items: + type: string + description: >- + A list of email addresses to be notified when the + duration of a run exceeds the threshold specified for + the `RUN_DURATION_SECONDS` metric in the `health` field. + If no rule for the `RUN_DURATION_SECONDS` metric is + specified in the `health` field for the job, + notifications are not sent. + on_failure: + type: array + items: + type: string + description: >- + A list of email addresses to be notified when a run + unsuccessfully completes. A run is considered to have + completed unsuccessfully if it ends with an + `INTERNAL_ERROR` `life_cycle_state` or a `FAILED`, or + `TIMED_OUT` result_state. If this is not specified on + job creation, reset, or update the list is empty, and + notifications are not sent. + on_start: + type: array + items: + type: string + description: >- + A list of email addresses to be notified when a run + begins. If not specified on job creation, reset, or + update, the list is empty, and notifications are not + sent. + on_streaming_backlog_exceeded: + type: array + items: + type: string + description: >- + A list of email addresses to notify when any streaming + backlog thresholds are exceeded for any stream. + Streaming backlog thresholds can be set in the `health` + field using the following metrics: + `STREAMING_BACKLOG_BYTES`, `STREAMING_BACKLOG_RECORDS`, + `STREAMING_BACKLOG_SECONDS`, or + `STREAMING_BACKLOG_FILES`. Alerting is based on the + 10-minute average of these metrics. If the issue + persists, notifications are resent every 30 minutes. + on_success: + type: array + items: + type: string + description: >- + A list of email addresses to be notified when a run + successfully completes. A run is considered to have + completed successfully if it ends with a `TERMINATED` + `life_cycle_state` and a `SUCCESS` result_state. If not + specified on job creation, reset, or update, the list is + empty, and notifications are not sent. description: >- An optional set of email addresses notified when the run begins or completes. environments: - type: string + type: array + items: + type: object + properties: + environment_key: + type: string + spec: + type: string + required: + - environment_key description: >- A list of task execution environment specifications that can be referenced by tasks of this run. git_source: - type: string + type: object + properties: + git_url: + type: string + description: URL of the repository to be cloned by this job. + git_provider: + type: string + x-enum: + - awsCodeCommit + - azureDevOpsServices + - bitbucketCloud + - bitbucketServer + - gitHub + - gitHubEnterprise + - gitLab + - gitLabEnterpriseEdition + description: >- + Unique identifier of the service used to host the Git + repository. The value is case insensitive. + git_branch: + type: string + description: >- + Name of the branch to be checked out and used by this + job. This field cannot be specified in conjunction with + git_tag or git_commit. + git_commit: + type: string + description: >- + Commit to be checked out and used by this job. This + field cannot be specified in conjunction with git_branch + or git_tag. + git_snapshot: + type: object + properties: + used_commit: + type: string + description: >- + Commit that was used to execute the run. If + git_branch was specified, this points to the HEAD of + the branch at the time of the run; if git_tag was + specified, this points to the commit the tag points + to. + description: >- + Read-only state of the remote repository at the time the + job was run. This field is only + included on job runs. + git_tag: + type: string + description: >- + Name of the tag to be checked out and used by this job. + This field cannot be specified in conjunction with + git_branch or git_commit. + job_source: + type: object + properties: + job_config_path: + type: string + description: >- + Path of the job YAML file that contains the job + specification. + import_from_git_branch: + type: string + description: Name of the branch which the job is imported from. + dirty_state: + type: string + x-enum: + - DISCONNECTED + - NOT_SYNCED + description: >- + Dirty state indicates the job is not fully synced + with the job specification in the remote repository. + Possible values are: * `NOT_SYNCED`: The job is not + yet synced with the remote job specification. Import + the remote job specification from UI to make the job + fully synced. * `DISCONNECTED`: The job is temporary + disconnected from the remote job specification and + is allowed for live edit. Import the remote job + specification again from UI to make the job fully + synced. + required: + - job_config_path + - import_from_git_branch + description: >- + The source of the job specification in the remote + repository when the job is source controlled. + required: + - git_url + - git_provider description: >- An optional specification for a remote Git repository containing the source code used by tasks. Version-controlled @@ -1937,7 +6232,63 @@ paths: support only version-controlled sources. If dbt or SQL File tasks are used, `git_source` must be defined on the job. health: - type: string + type: object + properties: + rules: + type: array + items: + type: object + properties: + metric: + type: string + x-enum: + - RUN_DURATION_SECONDS + - STREAMING_BACKLOG_BYTES + - STREAMING_BACKLOG_FILES + - STREAMING_BACKLOG_RECORDS + - STREAMING_BACKLOG_SECONDS + description: >- + Specifies the health metric that is being + evaluated for a particular health rule. + + + * `RUN_DURATION_SECONDS`: Expected total time for + a run in seconds. * `STREAMING_BACKLOG_BYTES`: + + An estimate of the maximum bytes of data waiting + to be consumed across all streams. This metric + + is in Public Preview. * + `STREAMING_BACKLOG_RECORDS`: An estimate of the + maximum offset lag + + across all streams. This metric is in Public + Preview. * `STREAMING_BACKLOG_SECONDS`: An + estimate + + of the maximum consumer delay across all streams. + This metric is in Public Preview. * + + `STREAMING_BACKLOG_FILES`: An estimate of the + maximum number of outstanding files across all + + streams. This metric is in Public Preview. + op: + type: string + x-enum: + - GREATER_THAN + description: >- + Specifies the operator used to compare the health + metric value with the specified threshold. + value: + type: integer + description: >- + Specifies the threshold value that the health + metric should obey to satisfy the health rule. + required: + - metric + - op + - value description: >- :param idempotency_token: str (optional) An optional token that can be used to guarantee the idempotency of job run @@ -1955,16 +6306,46 @@ paths: idempotency_token: type: string notification_settings: - type: string + type: object + properties: + no_alert_for_canceled_runs: + type: boolean + no_alert_for_skipped_runs: + type: boolean + description: >- + If true, do not send notifications to recipients + specified in `on_failure` if the run is skipped. description: >- Optional notification settings that are used when sending notifications to each of the `email_notifications` and `webhook_notifications` for this run. queue: - type: string + type: object + properties: + enabled: + type: boolean + required: + - enabled description: The queue settings of the one-time run. run_as: - type: string + type: object + properties: + group_name: + type: string + description: >- + Group name of an account group assigned to the + workspace. Setting this field requires being a member of + the group. + service_principal_name: + type: string + description: >- + Application ID of an active service principal. Setting + this field requires the `servicePrincipal/user` role. + user_name: + type: string + description: >- + The email of an active workspace user. Non-admin users + can only set this field to their own email. description: >- Specifies the user or service principal that the job runs as. If not specified, the job runs as the user who submits @@ -1975,13 +6356,2564 @@ paths: An optional name for the run. The default value is `Untitled`. tasks: - type: string + type: array + items: + type: object + properties: + task_key: + type: string + clean_rooms_notebook_task: + type: object + properties: + clean_room_name: + type: string + description: The clean room that the notebook belongs to. + notebook_name: + type: string + description: Name of the notebook being run. + etag: + type: string + description: >- + Checksum to validate the freshness of the notebook + resource (i.e. the notebook being run is the + latest version). It can be fetched by calling the + :method:cleanroomassets/get API. + notebook_base_parameters: + type: object + description: >- + Base parameters to be used for the clean room + notebook job. + required: + - clean_room_name + - notebook_name + description: >- + The task runs a [clean rooms] notebook when the + `clean_rooms_notebook_task` field is present. [clean + rooms]: + https://docs.databricks.com/clean-rooms/index.html + compute: + type: object + properties: + hardware_accelerator: + type: string + description: Task level compute configuration. + condition_task: + type: object + properties: + op: + type: string + x-enum: + - EQUAL_TO + - GREATER_THAN + - GREATER_THAN_OR_EQUAL + - LESS_THAN + - LESS_THAN_OR_EQUAL + - NOT_EQUAL + description: >- + * `EQUAL_TO`, `NOT_EQUAL` operators perform string + comparison of their operands. This means that + + `“12.0” == “12”` will evaluate to `false`. * + `GREATER_THAN`, `GREATER_THAN_OR_EQUAL`, + + `LESS_THAN`, `LESS_THAN_OR_EQUAL` operators + perform numeric comparison of their operands. + + `“12.0” >= “12”` will evaluate to `true`, `“10.0” + >= “12”` will evaluate to + + `false`. + + + The boolean comparison to task values can be + implemented with operators `EQUAL_TO`, + `NOT_EQUAL`. + + If a task value was set to a boolean value, it + will be serialized to `“true”` or + + `“false”` for the comparison. + left: + type: string + description: >- + The left operand of the condition task. Can be + either a string value or a job state or parameter + reference. + right: + type: string + description: >- + The right operand of the condition task. Can be + either a string value or a job state or parameter + reference. + required: + - op + - left + - right + description: >- + The task evaluates a condition that can be used to + control the execution of other tasks when the + `condition_task` field is present. The condition task + does not require a cluster to execute and does not + support retries or notifications. + dashboard_task: + type: object + properties: + dashboard_id: + type: string + description: The identifier of the dashboard to refresh. + filters: + type: object + description: >- + Dashboard task parameters. Used to apply dashboard + filter values during dashboard task execution. + Parameter values get applied to any dashboard + filters that have a matching URL identifier as the + parameter key. The parameter value format is + dependent on the filter type: - For text and + single-select filters, provide a single value + (e.g. `"value"`) - For date and datetime filters, + provide the value in ISO 8601 format (e.g. + `"2000-01-01T00:00:00"`) - For multi-select + filters, provide a JSON array of values (e.g. + `"[\"value1\",\"value2\"]"`) - For range and date + range filters, provide a JSON object with `start` + and `end` (e.g. + `"{\"start\":\"1\",\"end\":\"10\"}"`) + subscription: + type: object + properties: + custom_subject: + type: string + paused: + type: boolean + description: >- + When true, the subscription will not send + emails. + subscribers: + type: array + items: + type: object + properties: + destination_id: + type: string + user_name: + type: string + description: >- + A snapshot of the dashboard will be sent + to the user's email when the `user_name` + field is present. + description: >- + The list of subscribers to send the snapshot + of the dashboard to. + description: >- + Optional: subscription configuration for sending + the dashboard snapshot. + warehouse_id: + type: string + description: >- + Optional: The warehouse id to execute the + dashboard with for the schedule. If not specified, + the default warehouse of the dashboard will be + used. + description: >- + The task refreshes a dashboard and sends a snapshot to + subscribers. + dbt_cloud_task: + type: object + properties: + connection_resource_name: + type: string + description: >- + The resource name of the UC connection that + authenticates the dbt Cloud for this task + dbt_cloud_job_id: + type: integer + description: Id of the dbt Cloud job to be triggered + description: >- + Task type for dbt cloud, deprecated in favor of the + new name dbt_platform_task + dbt_platform_task: + type: object + properties: + connection_resource_name: + type: string + dbt_platform_job_id: + type: string + description: >- + Id of the dbt platform job to be triggered. + Specified as a string for maximum compatibility + with clients. + dbt_task: + type: object + properties: + commands: + type: array + items: + type: string + catalog: + type: string + description: >- + Optional name of the catalog to use. The value is + the top level in the 3-level namespace of Unity + Catalog (catalog / schema / relation). The catalog + value can only be specified if a warehouse_id is + specified. Requires dbt-databricks >= 1.1.1. + profiles_directory: + type: string + description: >- + Optional (relative) path to the profiles + directory. Can only be specified if no + warehouse_id is specified. If no warehouse_id is + specified and this folder is unset, the root + directory is used. + project_directory: + type: string + description: >- + Path to the project directory. Optional for Git + sourced tasks, in which case if no value is + provided, the root of the Git repository is used. + schema: + type: string + description: >- + Optional schema to write to. This parameter is + only used when a warehouse_id is also provided. If + not provided, the `default` schema is used. + source: + type: string + x-enum: + - GIT + - WORKSPACE + description: >- + Optional location type of the project directory. + When set to `WORKSPACE`, the project will be + retrieved from the local Databricks workspace. + When set to `GIT`, the project will be retrieved + from a Git repository defined in `git_source`. If + the value is empty, the task will use `GIT` if + `git_source` is defined and `WORKSPACE` otherwise. + * `WORKSPACE`: Project is located in Databricks + workspace. * `GIT`: Project is located in cloud + Git provider. + warehouse_id: + type: string + description: >- + ID of the SQL warehouse to connect to. If + provided, we automatically generate and provide + the profile and connection details to dbt. It can + be overridden on a per-command basis by using the + `--profiles-dir` command line argument. + required: + - commands + description: >- + The task runs one or more dbt commands when the + `dbt_task` field is present. The dbt task requires + both Databricks SQL and the ability to use a + serverless or a pro SQL warehouse. + depends_on: + type: array + items: + type: object + properties: + task_key: + type: string + outcome: + type: string + description: >- + Can only be specified on condition task + dependencies. The outcome of the dependent task + that must be met for this task to run. + required: + - task_key + description: >- + An optional array of objects specifying the dependency + graph of the task. All tasks specified in this field + must complete successfully before executing this task. + The key is `task_key`, and the value is the name + assigned to the dependent task. + description: + type: string + description: An optional description for this task. + email_notifications: + type: object + properties: + no_alert_for_skipped_runs: + type: boolean + on_duration_warning_threshold_exceeded: + type: array + items: + type: string + description: >- + A list of email addresses to be notified when the + duration of a run exceeds the threshold specified + for the `RUN_DURATION_SECONDS` metric in the + `health` field. If no rule for the + `RUN_DURATION_SECONDS` metric is specified in the + `health` field for the job, notifications are not + sent. + on_failure: + type: array + items: + type: string + description: >- + A list of email addresses to be notified when a + run unsuccessfully completes. A run is considered + to have completed unsuccessfully if it ends with + an `INTERNAL_ERROR` `life_cycle_state` or a + `FAILED`, or `TIMED_OUT` result_state. If this is + not specified on job creation, reset, or update + the list is empty, and notifications are not sent. + on_start: + type: array + items: + type: string + description: >- + A list of email addresses to be notified when a + run begins. If not specified on job creation, + reset, or update, the list is empty, and + notifications are not sent. + on_streaming_backlog_exceeded: + type: array + items: + type: string + description: >- + A list of email addresses to notify when any + streaming backlog thresholds are exceeded for any + stream. Streaming backlog thresholds can be set in + the `health` field using the following metrics: + `STREAMING_BACKLOG_BYTES`, + `STREAMING_BACKLOG_RECORDS`, + `STREAMING_BACKLOG_SECONDS`, or + `STREAMING_BACKLOG_FILES`. Alerting is based on + the 10-minute average of these metrics. If the + issue persists, notifications are resent every 30 + minutes. + on_success: + type: array + items: + type: string + description: >- + A list of email addresses to be notified when a + run successfully completes. A run is considered to + have completed successfully if it ends with a + `TERMINATED` `life_cycle_state` and a `SUCCESS` + result_state. If not specified on job creation, + reset, or update, the list is empty, and + notifications are not sent. + description: >- + An optional set of email addresses notified when the + task run begins or completes. The default behavior is + to not send any emails. + environment_key: + type: string + description: >- + The key that references an environment spec in a job. + This field is required for Python script, Python wheel + and dbt tasks when using serverless compute. + existing_cluster_id: + type: string + description: >- + If existing_cluster_id, the ID of an existing cluster + that is used for all runs. When running jobs or tasks + on an existing cluster, you may need to manually + restart the cluster if it stops responding. We suggest + running jobs and tasks on new clusters for greater + reliability + for_each_task: + type: object + properties: + inputs: + type: string + task: + type: object + properties: + task_key: + type: string + clean_rooms_notebook_task: + type: object + properties: + clean_room_name: + type: string + description: >- + The clean room that the notebook belongs + to. + notebook_name: + type: string + description: Name of the notebook being run. + etag: + type: string + description: >- + Checksum to validate the freshness of the + notebook resource (i.e. the notebook being + run is the latest version). It can be + fetched by calling the + :method:cleanroomassets/get API. + notebook_base_parameters: + type: object + description: >- + Base parameters to be used for the clean + room notebook job. + required: + - clean_room_name + - notebook_name + description: >- + The task runs a [clean rooms] notebook when + the `clean_rooms_notebook_task` field is + present. [clean rooms]: + https://docs.databricks.com/clean-rooms/index.html + compute: + type: object + properties: + hardware_accelerator: + type: string + description: Task level compute configuration. + condition_task: + type: object + properties: + op: + type: string + x-enum: + - EQUAL_TO + - GREATER_THAN + - GREATER_THAN_OR_EQUAL + - LESS_THAN + - LESS_THAN_OR_EQUAL + - NOT_EQUAL + description: >- + * `EQUAL_TO`, `NOT_EQUAL` operators + perform string comparison of their + operands. This means that + + `“12.0” == “12”` will evaluate to `false`. + * `GREATER_THAN`, `GREATER_THAN_OR_EQUAL`, + + `LESS_THAN`, `LESS_THAN_OR_EQUAL` + operators perform numeric comparison of + their operands. + + `“12.0” >= “12”` will evaluate to `true`, + `“10.0” >= “12”` will evaluate to + + `false`. + + + The boolean comparison to task values can + be implemented with operators `EQUAL_TO`, + `NOT_EQUAL`. + + If a task value was set to a boolean + value, it will be serialized to `“true”` + or + + `“false”` for the comparison. + left: + type: string + description: >- + The left operand of the condition task. + Can be either a string value or a job + state or parameter reference. + right: + type: string + description: >- + The right operand of the condition task. + Can be either a string value or a job + state or parameter reference. + required: + - op + - left + - right + description: >- + The task evaluates a condition that can be + used to control the execution of other tasks + when the `condition_task` field is present. + The condition task does not require a cluster + to execute and does not support retries or + notifications. + dashboard_task: + type: object + properties: + dashboard_id: + type: string + description: >- + The identifier of the dashboard to + refresh. + filters: + type: object + description: >- + Dashboard task parameters. Used to apply + dashboard filter values during dashboard + task execution. Parameter values get + applied to any dashboard filters that have + a matching URL identifier as the parameter + key. The parameter value format is + dependent on the filter type: - For text + and single-select filters, provide a + single value (e.g. `"value"`) - For date + and datetime filters, provide the value in + ISO 8601 format (e.g. + `"2000-01-01T00:00:00"`) - For + multi-select filters, provide a JSON array + of values (e.g. + `"[\"value1\",\"value2\"]"`) - For range + and date range filters, provide a JSON + object with `start` and `end` (e.g. + `"{\"start\":\"1\",\"end\":\"10\"}"`) + subscription: + type: object + properties: + custom_subject: + type: string + paused: + type: boolean + description: >- + When true, the subscription will not + send emails. + subscribers: + type: array + items: + type: object + properties: + destination_id: + type: string + user_name: + type: string + description: >- + A snapshot of the dashboard will be sent + to the user's email when the `user_name` + field is present. + description: >- + The list of subscribers to send the + snapshot of the dashboard to. + description: >- + Optional: subscription configuration for + sending the dashboard snapshot. + warehouse_id: + type: string + description: >- + Optional: The warehouse id to execute the + dashboard with for the schedule. If not + specified, the default warehouse of the + dashboard will be used. + description: >- + The task refreshes a dashboard and sends a + snapshot to subscribers. + dbt_cloud_task: + type: object + properties: + connection_resource_name: + type: string + description: >- + The resource name of the UC connection + that authenticates the dbt Cloud for this + task + dbt_cloud_job_id: + type: integer + description: Id of the dbt Cloud job to be triggered + description: >- + Task type for dbt cloud, deprecated in favor + of the new name dbt_platform_task + dbt_platform_task: + type: object + properties: + connection_resource_name: + type: string + dbt_platform_job_id: + type: string + description: >- + Id of the dbt platform job to be + triggered. Specified as a string for + maximum compatibility with clients. + dbt_task: + type: object + properties: + commands: + type: array + items: + type: string + catalog: + type: string + description: >- + Optional name of the catalog to use. The + value is the top level in the 3-level + namespace of Unity Catalog (catalog / + schema / relation). The catalog value can + only be specified if a warehouse_id is + specified. Requires dbt-databricks >= + 1.1.1. + profiles_directory: + type: string + description: >- + Optional (relative) path to the profiles + directory. Can only be specified if no + warehouse_id is specified. If no + warehouse_id is specified and this folder + is unset, the root directory is used. + project_directory: + type: string + description: >- + Path to the project directory. Optional + for Git sourced tasks, in which case if no + value is provided, the root of the Git + repository is used. + schema: + type: string + description: >- + Optional schema to write to. This + parameter is only used when a warehouse_id + is also provided. If not provided, the + `default` schema is used. + source: + type: string + x-enum: + - GIT + - WORKSPACE + description: >- + Optional location type of the project + directory. When set to `WORKSPACE`, the + project will be retrieved from the local + Databricks workspace. When set to `GIT`, + the project will be retrieved from a Git + repository defined in `git_source`. If the + value is empty, the task will use `GIT` if + `git_source` is defined and `WORKSPACE` + otherwise. * `WORKSPACE`: Project is + located in Databricks workspace. * `GIT`: + Project is located in cloud Git provider. + warehouse_id: + type: string + description: >- + ID of the SQL warehouse to connect to. If + provided, we automatically generate and + provide the profile and connection details + to dbt. It can be overridden on a + per-command basis by using the + `--profiles-dir` command line argument. + required: + - commands + description: >- + The task runs one or more dbt commands when + the `dbt_task` field is present. The dbt task + requires both Databricks SQL and the ability + to use a serverless or a pro SQL warehouse. + depends_on: + type: array + items: + type: object + properties: + task_key: + type: string + outcome: + type: string + description: >- + Can only be specified on condition task + dependencies. The outcome of the + dependent task that must be met for this + task to run. + required: + - task_key + description: >- + An optional array of objects specifying the + dependency graph of the task. All tasks + specified in this field must complete before + executing this task. The task will run only if + the `run_if` condition is true. The key is + `task_key`, and the value is the name assigned + to the dependent task. + description: + type: string + description: An optional description for this task. + disable_auto_optimization: + type: boolean + description: >- + An option to disable auto optimization in + serverless + disabled: + type: boolean + description: >- + An optional flag to disable the task. If set + to true, the task will not run even if it is + part of a job. + email_notifications: + type: object + properties: + no_alert_for_skipped_runs: + type: boolean + on_duration_warning_threshold_exceeded: + type: array + items: + type: string + description: >- + A list of email addresses to be notified + when the duration of a run exceeds the + threshold specified for the + `RUN_DURATION_SECONDS` metric in the + `health` field. If no rule for the + `RUN_DURATION_SECONDS` metric is specified + in the `health` field for the job, + notifications are not sent. + on_failure: + type: array + items: + type: string + description: >- + A list of email addresses to be notified + when a run unsuccessfully completes. A run + is considered to have completed + unsuccessfully if it ends with an + `INTERNAL_ERROR` `life_cycle_state` or a + `FAILED`, or `TIMED_OUT` result_state. If + this is not specified on job creation, + reset, or update the list is empty, and + notifications are not sent. + on_start: + type: array + items: + type: string + description: >- + A list of email addresses to be notified + when a run begins. If not specified on job + creation, reset, or update, the list is + empty, and notifications are not sent. + on_streaming_backlog_exceeded: + type: array + items: + type: string + description: >- + A list of email addresses to notify when + any streaming backlog thresholds are + exceeded for any stream. Streaming backlog + thresholds can be set in the `health` + field using the following metrics: + `STREAMING_BACKLOG_BYTES`, + `STREAMING_BACKLOG_RECORDS`, + `STREAMING_BACKLOG_SECONDS`, or + `STREAMING_BACKLOG_FILES`. Alerting is + based on the 10-minute average of these + metrics. If the issue persists, + notifications are resent every 30 minutes. + on_success: + type: array + items: + type: string + description: >- + A list of email addresses to be notified + when a run successfully completes. A run + is considered to have completed + successfully if it ends with a + `TERMINATED` `life_cycle_state` and a + `SUCCESS` result_state. If not specified + on job creation, reset, or update, the + list is empty, and notifications are not + sent. + description: >- + An optional set of email addresses that is + notified when runs of this task begin or + complete as well as when this task is deleted. + The default behavior is to not send any + emails. + environment_key: + type: string + description: >- + The key that references an environment spec in + a job. This field is required for Python + script, Python wheel and dbt tasks when using + serverless compute. + existing_cluster_id: + type: string + description: >- + If existing_cluster_id, the ID of an existing + cluster that is used for all runs. When + running jobs or tasks on an existing cluster, + you may need to manually restart the cluster + if it stops responding. We suggest running + jobs and tasks on new clusters for greater + reliability + for_each_task: + $ref: '#/components/schemas/ForEachTask' + description: >- + The task executes a nested task for every + input provided when the `for_each_task` field + is present. + gen_ai_compute_task: + type: object + properties: + dl_runtime_image: + type: string + command: + type: string + description: >- + Command launcher to run the actual script, + e.g. bash, python etc. + compute: + type: object + properties: + num_gpus: + type: integer + gpu_node_pool_id: + type: string + description: IDof the GPU pool to use. + gpu_type: + type: string + description: GPU type. + required: + - num_gpus + mlflow_experiment_name: + type: string + description: >- + Optional string containing the name of the + MLflow experiment to log the run to. If + name is not found, backend will create the + mlflow experiment using the name. + source: + type: string + x-enum: + - GIT + - WORKSPACE + description: >- + Optional location type of the training + script. When set to `WORKSPACE`, the + script will be retrieved from the local + Databricks workspace. When set to `GIT`, + the script will be retrieved from a Git + repository defined in `git_source`. If the + value is empty, the task will use `GIT` if + `git_source` is defined and `WORKSPACE` + otherwise. * `WORKSPACE`: Script is + located in Databricks workspace. * `GIT`: + Script is located in cloud Git provider. + training_script_path: + type: string + description: >- + The training script file path to be + executed. Cloud file URIs (such as dbfs:/, + s3:/, adls:/, gcs:/) and workspace paths + are supported. For python files stored in + the Databricks workspace, the path must be + absolute and begin with `/`. For files + stored in a remote repository, the path + must be relative. This field is required. + yaml_parameters: + type: string + description: >- + Optional string containing model + parameters passed to the training script + in yaml format. If present, then the + content in yaml_parameters_file_path will + be ignored. + yaml_parameters_file_path: + type: string + description: >- + Optional path to a YAML file containing + model parameters passed to the training + script. + required: + - dl_runtime_image + health: + type: object + properties: + rules: + type: array + items: + type: object + properties: + metric: + type: string + x-enum: + - RUN_DURATION_SECONDS + - STREAMING_BACKLOG_BYTES + - STREAMING_BACKLOG_FILES + - STREAMING_BACKLOG_RECORDS + - STREAMING_BACKLOG_SECONDS + description: >- + Specifies the health metric that is + being evaluated for a particular health + rule. + + + * `RUN_DURATION_SECONDS`: Expected total + time for a run in seconds. * + `STREAMING_BACKLOG_BYTES`: + + An estimate of the maximum bytes of data + waiting to be consumed across all + streams. This metric + + is in Public Preview. * + `STREAMING_BACKLOG_RECORDS`: An estimate + of the maximum offset lag + + across all streams. This metric is in + Public Preview. * + `STREAMING_BACKLOG_SECONDS`: An estimate + + of the maximum consumer delay across all + streams. This metric is in Public + Preview. * + + `STREAMING_BACKLOG_FILES`: An estimate + of the maximum number of outstanding + files across all + + streams. This metric is in Public + Preview. + op: + type: string + x-enum: + - GREATER_THAN + description: >- + Specifies the operator used to compare + the health metric value with the + specified threshold. + value: + type: integer + description: >- + Specifies the threshold value that the + health metric should obey to satisfy the + health rule. + required: + - metric + - op + - value + description: >- + An optional set of health rules that can be + defined for this job. + job_cluster_key: + type: string + description: >- + If job_cluster_key, this task is executed + reusing the cluster specified in + `job.settings.job_clusters`. + libraries: + type: string + description: >- + An optional list of libraries to be installed + on the cluster. The default value is an empty + list. + max_retries: + type: integer + description: >- + An optional maximum number of times to retry + an unsuccessful run. A run is considered to be + unsuccessful if it completes with the `FAILED` + result_state or `INTERNAL_ERROR` + `life_cycle_state`. The value `-1` means to + retry indefinitely and the value `0` means to + never retry. + min_retry_interval_millis: + type: integer + description: >- + An optional minimal interval in milliseconds + between the start of the failed run and the + subsequent retry run. The default behavior is + that unsuccessful runs are immediately + retried. + new_cluster: + type: string + description: >- + If new_cluster, a description of a new cluster + that is created for each run. + notebook_task: + type: object + properties: + notebook_path: + type: string + base_parameters: + type: object + description: >- + Base parameters to be used for each run of + this job. If the run is initiated by a + call to :method:jobs/run Now with + parameters specified, the two parameters + maps are merged. If the same key is + specified in `base_parameters` and in + `run-now`, the value from `run-now` is + used. Use [Task parameter variables] to + set parameters containing information + about job runs. If the notebook takes a + parameter that is not specified in the + job’s `base_parameters` or the `run-now` + override parameters, the default value + from the notebook is used. Retrieve these + parameters in a notebook using + [dbutils.widgets.get]. The JSON + representation of this field cannot exceed + 1MB. [Task parameter variables]: + https://docs.databricks.com/jobs.html#parameter-variables + [dbutils.widgets.get]: + https://docs.databricks.com/dev-tools/databricks-utils.html#dbutils-widgets + source: + type: string + x-enum: + - GIT + - WORKSPACE + description: >- + Optional location type of the notebook. + When set to `WORKSPACE`, the notebook will + be retrieved from the local Databricks + workspace. When set to `GIT`, the notebook + will be retrieved from a Git repository + defined in `git_source`. If the value is + empty, the task will use `GIT` if + `git_source` is defined and `WORKSPACE` + otherwise. * `WORKSPACE`: Notebook is + located in Databricks workspace. * `GIT`: + Notebook is located in cloud Git provider. + warehouse_id: + type: string + description: >- + Optional `warehouse_id` to run the + notebook on a SQL warehouse. Classic SQL + warehouses are NOT supported, please use + serverless or pro SQL warehouses. Note + that SQL warehouses only support SQL + cells; if the notebook contains non-SQL + cells, the run will fail. + required: + - notebook_path + description: >- + The task runs a notebook when the + `notebook_task` field is present. + notification_settings: + type: object + properties: + alert_on_last_attempt: + type: boolean + no_alert_for_canceled_runs: + type: boolean + description: >- + If true, do not send notifications to + recipients specified in `on_failure` if + the run is canceled. + no_alert_for_skipped_runs: + type: boolean + description: >- + If true, do not send notifications to + recipients specified in `on_failure` if + the run is skipped. + description: >- + Optional notification settings that are used + when sending notifications to each of the + `email_notifications` and + `webhook_notifications` for this task. + pipeline_task: + type: object + properties: + pipeline_id: + type: string + full_refresh: + type: boolean + description: >- + If true, triggers a full refresh on the + delta live table. + required: + - pipeline_id + description: >- + The task triggers a pipeline update when the + `pipeline_task` field is present. Only + pipelines configured to use triggered more are + supported. + power_bi_task: + type: object + properties: + connection_resource_name: + type: string + power_bi_model: + type: object + properties: + authentication_method: + type: string + x-enum: + - OAUTH + - PAT + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and + know how many members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , + ] + + + Methods can be added to enumerations, + and members can have their own + + attributes -- see the documentation for + details. + model_name: + type: string + description: The name of the Power BI model + overwrite_existing: + type: boolean + description: >- + Whether to overwrite existing Power BI + models + storage_mode: + type: string + x-enum: + - DIRECT_QUERY + - DUAL + - IMPORT + description: >- + The default storage mode of the Power BI + model + workspace_name: + type: string + description: >- + The name of the Power BI workspace of + the model + description: The semantic model to update + refresh_after_update: + type: boolean + description: >- + Whether the model should be refreshed + after the update + tables: + type: array + items: + type: object + properties: + catalog: + type: string + name: + type: string + description: The table name in Databricks + schema: + type: string + description: The schema name in Databricks + storage_mode: + type: string + x-enum: + - DIRECT_QUERY + - DUAL + - IMPORT + description: The Power BI storage mode of the table + description: The tables to be exported to Power BI + warehouse_id: + type: string + description: >- + The SQL warehouse ID to use as the Power + BI data source + description: >- + The task triggers a Power BI semantic model + update when the `power_bi_task` field is + present. + python_wheel_task: + type: object + properties: + package_name: + type: string + entry_point: + type: string + description: >- + Named entry point to use, if it does not + exist in the metadata of the package it + executes the function from the package + directly using + `$packageName.$entryPoint()` + named_parameters: + type: object + description: >- + Command-line parameters passed to Python + wheel task in the form of `["--name=task", + "--data=dbfs:/path/to/data.json"]`. Leave + it empty if `parameters` is not null. + parameters: + type: array + items: + type: string + description: >- + Command-line parameters passed to Python + wheel task. Leave it empty if + `named_parameters` is not null. + required: + - package_name + - entry_point + description: >- + The task runs a Python wheel when the + `python_wheel_task` field is present. + retry_on_timeout: + type: boolean + description: >- + An optional policy to specify whether to retry + a job when it times out. The default behavior + is to not retry on timeout. + run_if: + type: string + x-enum: + - ALL_DONE + - ALL_FAILED + - ALL_SUCCESS + - AT_LEAST_ONE_FAILED + - AT_LEAST_ONE_SUCCESS + - NONE_FAILED + description: >- + An optional value specifying the condition + determining whether the task is run once its + dependencies have been completed. * + `ALL_SUCCESS`: All dependencies have executed + and succeeded * `AT_LEAST_ONE_SUCCESS`: At + least one dependency has succeeded * + `NONE_FAILED`: None of the dependencies have + failed and at least one was executed * + `ALL_DONE`: All dependencies have been + completed * `AT_LEAST_ONE_FAILED`: At least + one dependency failed * `ALL_FAILED`: ALl + dependencies have failed + run_job_task: + type: object + properties: + job_id: + type: integer + dbt_commands: + type: array + items: + type: string + description: >- + An array of commands to execute for jobs + with the dbt task, for example + `"dbt_commands": ["dbt deps", "dbt seed", + "dbt deps", "dbt seed", "dbt run"]` ⚠ + **Deprecation note** Use [job parameters] + to pass information down to tasks. [job + parameters]: + https://docs.databricks.com/jobs/job-parameters.html#job-parameter-pushdown + jar_params: + type: array + items: + type: string + description: >- + A list of parameters for jobs with Spark + JAR tasks, for example `"jar_params": + ["john doe", "35"]`. The parameters are + used to invoke the main function of the + main class specified in the Spark JAR + task. If not specified upon `run-now`, it + defaults to an empty list. jar_params + cannot be specified in conjunction with + notebook_params. The JSON representation + of this field (for example + `{"jar_params":["john doe","35"]}`) cannot + exceed 10,000 bytes. ⚠ **Deprecation + note** Use [job parameters] to pass + information down to tasks. [job + parameters]: + https://docs.databricks.com/jobs/job-parameters.html#job-parameter-pushdown + job_parameters: + type: object + description: >- + Job-level parameters used to trigger the + job. + notebook_params: + type: object + description: >- + A map from keys to values for jobs with + notebook task, for example + `"notebook_params": {"name": "john doe", + "age": "35"}`. The map is passed to the + notebook and is accessible through the + [dbutils.widgets.get] function. If not + specified upon `run-now`, the triggered + run uses the job’s base parameters. + notebook_params cannot be specified in + conjunction with jar_params. ⚠ + **Deprecation note** Use [job parameters] + to pass information down to tasks. The + JSON representation of this field (for + example `{"notebook_params":{"name":"john + doe","age":"35"}}`) cannot exceed 10,000 + bytes. [dbutils.widgets.get]: + https://docs.databricks.com/dev-tools/databricks-utils.html + [job parameters]: + https://docs.databricks.com/jobs/job-parameters.html#job-parameter-pushdown + pipeline_params: + type: object + properties: + full_refresh: + type: boolean + description: >- + Controls whether the pipeline should + perform a full refresh + python_named_params: + type: object + python_params: + type: array + items: + type: string + description: >- + A list of parameters for jobs with Python + tasks, for example `"python_params": + ["john doe", "35"]`. The parameters are + passed to Python file as command-line + parameters. If specified upon `run-now`, + it would overwrite the parameters + specified in job setting. The JSON + representation of this field (for example + `{"python_params":["john doe","35"]}`) + cannot exceed 10,000 bytes. ⚠ + **Deprecation note** Use [job parameters] + to pass information down to tasks. + Important These parameters accept only + Latin characters (ASCII character set). + Using non-ASCII characters returns an + error. Examples of invalid, non-ASCII + characters are Chinese, Japanese kanjis, + and emojis. [job parameters]: + https://docs.databricks.com/jobs/job-parameters.html#job-parameter-pushdown + spark_submit_params: + type: array + items: + type: string + description: >- + A list of parameters for jobs with spark + submit task, for example + `"spark_submit_params": ["--class", + "org.apache.spark.examples.SparkPi"]`. The + parameters are passed to spark-submit + script as command-line parameters. If + specified upon `run-now`, it would + overwrite the parameters specified in job + setting. The JSON representation of this + field (for example + `{"python_params":["john doe","35"]}`) + cannot exceed 10,000 bytes. ⚠ + **Deprecation note** Use [job parameters] + to pass information down to tasks. + Important These parameters accept only + Latin characters (ASCII character set). + Using non-ASCII characters returns an + error. Examples of invalid, non-ASCII + characters are Chinese, Japanese kanjis, + and emojis. [job parameters]: + https://docs.databricks.com/jobs/job-parameters.html#job-parameter-pushdown + sql_params: + type: object + description: >- + A map from keys to values for jobs with + SQL task, for example `"sql_params": + {"name": "john doe", "age": "35"}`. The + SQL alert task does not support custom + parameters. ⚠ **Deprecation note** Use + [job parameters] to pass information down + to tasks. [job parameters]: + https://docs.databricks.com/jobs/job-parameters.html#job-parameter-pushdown + required: + - job_id + description: >- + The task triggers another job when the + `run_job_task` field is present. + spark_jar_task: + type: object + properties: + jar_uri: + type: string + main_class_name: + type: string + description: >- + The full name of the class containing the + main method to be executed. This class + must be contained in a JAR provided as a + library. The code must use + `SparkContext.getOrCreate` to obtain a + Spark context; otherwise, runs of the job + fail. + parameters: + type: array + items: + type: string + description: >- + Parameters passed to the main method. Use + [Task parameter variables] to set + parameters containing information about + job runs. [Task parameter variables]: + https://docs.databricks.com/jobs.html#parameter-variables + run_as_repl: + type: boolean + description: >- + Deprecated. A value of `false` is no + longer supported. + description: >- + The task runs a JAR when the `spark_jar_task` + field is present. + spark_python_task: + type: object + properties: + python_file: + type: string + parameters: + type: array + items: + type: string + description: >- + Command line parameters passed to the + Python file. Use [Task parameter + variables] to set parameters containing + information about job runs. [Task + parameter variables]: + https://docs.databricks.com/jobs.html#parameter-variables + source: + type: string + x-enum: + - GIT + - WORKSPACE + description: >- + Optional location type of the Python file. + When set to `WORKSPACE` or not specified, + the file will be retrieved from the local + Databricks workspace or cloud location (if + the `python_file` has a URI format). When + set to `GIT`, the Python file will be + retrieved from a Git repository defined in + `git_source`. * `WORKSPACE`: The Python + file is located in a Databricks workspace + or at a cloud filesystem URI. * `GIT`: The + Python file is located in a remote Git + repository. + required: + - python_file + description: >- + The task runs a Python file when the + `spark_python_task` field is present. + spark_submit_task: + type: object + properties: + parameters: + type: array + items: + type: string + description: >- + (Legacy) The task runs the spark-submit script + when the spark_submit_task field is present. + Databricks recommends using the spark_jar_task + instead; see [Spark Submit task for + jobs](/jobs/spark-submit). + sql_task: + type: object + properties: + warehouse_id: + type: string + alert: + type: object + properties: + alert_id: + type: string + pause_subscriptions: + type: boolean + description: >- + If true, the alert notifications are not + sent to subscribers. + subscriptions: + type: array + items: + type: object + properties: + destination_id: + type: string + user_name: + type: string + description: >- + The user name to receive the + subscription email. This parameter is + mutually exclusive with destination_id. + You cannot set both destination_id and + user_name for subscription + notifications. + description: >- + If specified, alert notifications are + sent to subscribers. + required: + - alert_id + description: >- + If alert, indicates that this job must + refresh a SQL alert. + dashboard: + type: object + properties: + dashboard_id: + type: string + custom_subject: + type: string + description: >- + Subject of the email sent to subscribers + of this task. + pause_subscriptions: + type: boolean + description: >- + If true, the dashboard snapshot is not + taken, and emails are not sent to + subscribers. + subscriptions: + type: array + items: + type: object + properties: + destination_id: + type: string + user_name: + type: string + description: >- + The user name to receive the + subscription email. This parameter is + mutually exclusive with destination_id. + You cannot set both destination_id and + user_name for subscription + notifications. + description: >- + If specified, dashboard snapshots are + sent to subscriptions. + required: + - dashboard_id + description: >- + If dashboard, indicates that this job must + refresh a SQL dashboard. + file: + type: object + properties: + path: + type: string + source: + type: string + x-enum: + - GIT + - WORKSPACE + description: >- + Optional location type of the SQL file. + When set to `WORKSPACE`, the SQL file + will be retrieved from the local + Databricks workspace. When set to `GIT`, + the SQL file will be retrieved from a + Git repository defined in `git_source`. + If the value is empty, the task will use + `GIT` if `git_source` is defined and + `WORKSPACE` otherwise. * `WORKSPACE`: + SQL file is located in Databricks + workspace. * `GIT`: SQL file is located + in cloud Git provider. + required: + - path + description: >- + If file, indicates that this job runs a + SQL file in a remote Git repository. + parameters: + type: object + description: >- + Parameters to be used for each run of this + job. The SQL alert task does not support + custom parameters. + query: + type: object + properties: + query_id: + type: string + required: + - query_id + description: >- + If query, indicates that this job must + execute a SQL query. + required: + - warehouse_id + description: >- + The task runs a SQL query or file, or it + refreshes a SQL alert or a legacy SQL + dashboard when the `sql_task` field is + present. + timeout_seconds: + type: integer + description: >- + An optional timeout applied to each run of + this job task. A value of `0` means no + timeout. + webhook_notifications: + type: object + properties: + on_duration_warning_threshold_exceeded: + type: array + items: + type: object + properties: + id: + type: string + required: + - id + on_failure: + type: array + items: + type: object + properties: + id: + type: string + required: + - id + description: >- + An optional list of system notification + IDs to call when the run fails. A maximum + of 3 destinations can be specified for the + `on_failure` property. + on_start: + type: array + items: + type: object + properties: + id: + type: string + required: + - id + description: >- + An optional list of system notification + IDs to call when the run starts. A maximum + of 3 destinations can be specified for the + `on_start` property. + on_streaming_backlog_exceeded: + type: array + items: + type: object + properties: + id: + type: string + required: + - id + description: >- + An optional list of system notification + IDs to call when any streaming backlog + thresholds are exceeded for any stream. + Streaming backlog thresholds can be set in + the `health` field using the following + metrics: `STREAMING_BACKLOG_BYTES`, + `STREAMING_BACKLOG_RECORDS`, + `STREAMING_BACKLOG_SECONDS`, or + `STREAMING_BACKLOG_FILES`. Alerting is + based on the 10-minute average of these + metrics. If the issue persists, + notifications are resent every 30 minutes. + A maximum of 3 destinations can be + specified for the + `on_streaming_backlog_exceeded` property. + on_success: + type: array + items: + type: object + properties: + id: + type: string + required: + - id + description: >- + An optional list of system notification + IDs to call when the run completes + successfully. A maximum of 3 destinations + can be specified for the `on_success` + property. + description: >- + A collection of system notification IDs to + notify when runs of this task begin or + complete. The default behavior is to not send + any system notifications. + required: + - task_key + description: >- + Configuration for the task that will be run for + each element in the array + concurrency: + type: integer + description: >- + An optional maximum allowed number of concurrent + runs of the task. Set this value if you want to be + able to execute multiple runs of the task + concurrently. + required: + - inputs + - task + description: >- + The task executes a nested task for every input + provided when the `for_each_task` field is present. + gen_ai_compute_task: + type: object + properties: + dl_runtime_image: + type: string + command: + type: string + description: >- + Command launcher to run the actual script, e.g. + bash, python etc. + compute: + type: object + properties: + num_gpus: + type: integer + gpu_node_pool_id: + type: string + description: IDof the GPU pool to use. + gpu_type: + type: string + description: GPU type. + required: + - num_gpus + mlflow_experiment_name: + type: string + description: >- + Optional string containing the name of the MLflow + experiment to log the run to. If name is not + found, backend will create the mlflow experiment + using the name. + source: + type: string + x-enum: + - GIT + - WORKSPACE + description: >- + Optional location type of the training script. + When set to `WORKSPACE`, the script will be + retrieved from the local Databricks workspace. + When set to `GIT`, the script will be retrieved + from a Git repository defined in `git_source`. If + the value is empty, the task will use `GIT` if + `git_source` is defined and `WORKSPACE` otherwise. + * `WORKSPACE`: Script is located in Databricks + workspace. * `GIT`: Script is located in cloud Git + provider. + training_script_path: + type: string + description: >- + The training script file path to be executed. + Cloud file URIs (such as dbfs:/, s3:/, adls:/, + gcs:/) and workspace paths are supported. For + python files stored in the Databricks workspace, + the path must be absolute and begin with `/`. For + files stored in a remote repository, the path must + be relative. This field is required. + yaml_parameters: + type: string + description: >- + Optional string containing model parameters passed + to the training script in yaml format. If present, + then the content in yaml_parameters_file_path will + be ignored. + yaml_parameters_file_path: + type: string + description: >- + Optional path to a YAML file containing model + parameters passed to the training script. + required: + - dl_runtime_image + health: + type: object + properties: + rules: + type: array + items: + type: object + properties: + metric: + type: string + x-enum: + - RUN_DURATION_SECONDS + - STREAMING_BACKLOG_BYTES + - STREAMING_BACKLOG_FILES + - STREAMING_BACKLOG_RECORDS + - STREAMING_BACKLOG_SECONDS + description: >- + Specifies the health metric that is being + evaluated for a particular health rule. + + + * `RUN_DURATION_SECONDS`: Expected total + time for a run in seconds. * + `STREAMING_BACKLOG_BYTES`: + + An estimate of the maximum bytes of data + waiting to be consumed across all streams. + This metric + + is in Public Preview. * + `STREAMING_BACKLOG_RECORDS`: An estimate of + the maximum offset lag + + across all streams. This metric is in Public + Preview. * `STREAMING_BACKLOG_SECONDS`: An + estimate + + of the maximum consumer delay across all + streams. This metric is in Public Preview. * + + `STREAMING_BACKLOG_FILES`: An estimate of + the maximum number of outstanding files + across all + + streams. This metric is in Public Preview. + op: + type: string + x-enum: + - GREATER_THAN + description: >- + Specifies the operator used to compare the + health metric value with the specified + threshold. + value: + type: integer + description: >- + Specifies the threshold value that the + health metric should obey to satisfy the + health rule. + required: + - metric + - op + - value + description: >- + An optional set of health rules that can be defined + for this job. + libraries: + type: string + description: >- + An optional list of libraries to be installed on the + cluster. The default value is an empty list. + new_cluster: + type: string + description: >- + If new_cluster, a description of a new cluster that is + created for each run. + notebook_task: + type: object + properties: + notebook_path: + type: string + base_parameters: + type: object + description: >- + Base parameters to be used for each run of this + job. If the run is initiated by a call to + :method:jobs/run Now with parameters specified, + the two parameters maps are merged. If the same + key is specified in `base_parameters` and in + `run-now`, the value from `run-now` is used. Use + [Task parameter variables] to set parameters + containing information about job runs. If the + notebook takes a parameter that is not specified + in the job’s `base_parameters` or the `run-now` + override parameters, the default value from the + notebook is used. Retrieve these parameters in a + notebook using [dbutils.widgets.get]. The JSON + representation of this field cannot exceed 1MB. + [Task parameter variables]: + https://docs.databricks.com/jobs.html#parameter-variables + [dbutils.widgets.get]: + https://docs.databricks.com/dev-tools/databricks-utils.html#dbutils-widgets + source: + type: string + x-enum: + - GIT + - WORKSPACE + description: >- + Optional location type of the notebook. When set + to `WORKSPACE`, the notebook will be retrieved + from the local Databricks workspace. When set to + `GIT`, the notebook will be retrieved from a Git + repository defined in `git_source`. If the value + is empty, the task will use `GIT` if `git_source` + is defined and `WORKSPACE` otherwise. * + `WORKSPACE`: Notebook is located in Databricks + workspace. * `GIT`: Notebook is located in cloud + Git provider. + warehouse_id: + type: string + description: >- + Optional `warehouse_id` to run the notebook on a + SQL warehouse. Classic SQL warehouses are NOT + supported, please use serverless or pro SQL + warehouses. Note that SQL warehouses only support + SQL cells; if the notebook contains non-SQL cells, + the run will fail. + required: + - notebook_path + description: >- + The task runs a notebook when the `notebook_task` + field is present. + notification_settings: + type: object + properties: + alert_on_last_attempt: + type: boolean + no_alert_for_canceled_runs: + type: boolean + description: >- + If true, do not send notifications to recipients + specified in `on_failure` if the run is canceled. + no_alert_for_skipped_runs: + type: boolean + description: >- + If true, do not send notifications to recipients + specified in `on_failure` if the run is skipped. + description: >- + Optional notification settings that are used when + sending notifications to each of the + `email_notifications` and `webhook_notifications` for + this task run. + pipeline_task: + type: object + properties: + pipeline_id: + type: string + full_refresh: + type: boolean + description: >- + If true, triggers a full refresh on the delta live + table. + required: + - pipeline_id + description: >- + The task triggers a pipeline update when the + `pipeline_task` field is present. Only pipelines + configured to use triggered more are supported. + power_bi_task: + type: object + properties: + connection_resource_name: + type: string + power_bi_model: + type: object + properties: + authentication_method: + type: string + x-enum: + - OAUTH + - PAT + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know + how many members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , + ] + + + Methods can be added to enumerations, and + members can have their own + + attributes -- see the documentation for + details. + model_name: + type: string + description: The name of the Power BI model + overwrite_existing: + type: boolean + description: Whether to overwrite existing Power BI models + storage_mode: + type: string + x-enum: + - DIRECT_QUERY + - DUAL + - IMPORT + description: The default storage mode of the Power BI model + workspace_name: + type: string + description: >- + The name of the Power BI workspace of the + model + description: The semantic model to update + refresh_after_update: + type: boolean + description: >- + Whether the model should be refreshed after the + update + tables: + type: array + items: + type: object + properties: + catalog: + type: string + name: + type: string + description: The table name in Databricks + schema: + type: string + description: The schema name in Databricks + storage_mode: + type: string + x-enum: + - DIRECT_QUERY + - DUAL + - IMPORT + description: The Power BI storage mode of the table + description: The tables to be exported to Power BI + warehouse_id: + type: string + description: >- + The SQL warehouse ID to use as the Power BI data + source + description: >- + The task triggers a Power BI semantic model update + when the `power_bi_task` field is present. + python_wheel_task: + type: object + properties: + package_name: + type: string + entry_point: + type: string + description: >- + Named entry point to use, if it does not exist in + the metadata of the package it executes the + function from the package directly using + `$packageName.$entryPoint()` + named_parameters: + type: object + description: >- + Command-line parameters passed to Python wheel + task in the form of `["--name=task", + "--data=dbfs:/path/to/data.json"]`. Leave it empty + if `parameters` is not null. + parameters: + type: array + items: + type: string + description: >- + Command-line parameters passed to Python wheel + task. Leave it empty if `named_parameters` is not + null. + required: + - package_name + - entry_point + description: >- + The task runs a Python wheel when the + `python_wheel_task` field is present. + run_if: + type: string + x-enum: + - ALL_DONE + - ALL_FAILED + - ALL_SUCCESS + - AT_LEAST_ONE_FAILED + - AT_LEAST_ONE_SUCCESS + - NONE_FAILED + description: >- + An optional value indicating the condition that + determines whether the task should be run once its + dependencies have been completed. When omitted, + defaults to `ALL_SUCCESS`. See :method:jobs/create for + a list of possible values. + run_job_task: + type: object + properties: + job_id: + type: integer + dbt_commands: + type: array + items: + type: string + description: >- + An array of commands to execute for jobs with the + dbt task, for example `"dbt_commands": ["dbt + deps", "dbt seed", "dbt deps", "dbt seed", "dbt + run"]` ⚠ **Deprecation note** Use [job parameters] + to pass information down to tasks. [job + parameters]: + https://docs.databricks.com/jobs/job-parameters.html#job-parameter-pushdown + jar_params: + type: array + items: + type: string + description: >- + A list of parameters for jobs with Spark JAR + tasks, for example `"jar_params": ["john doe", + "35"]`. The parameters are used to invoke the main + function of the main class specified in the Spark + JAR task. If not specified upon `run-now`, it + defaults to an empty list. jar_params cannot be + specified in conjunction with notebook_params. The + JSON representation of this field (for example + `{"jar_params":["john doe","35"]}`) cannot exceed + 10,000 bytes. ⚠ **Deprecation note** Use [job + parameters] to pass information down to tasks. + [job parameters]: + https://docs.databricks.com/jobs/job-parameters.html#job-parameter-pushdown + job_parameters: + type: object + description: Job-level parameters used to trigger the job. + notebook_params: + type: object + description: >- + A map from keys to values for jobs with notebook + task, for example `"notebook_params": {"name": + "john doe", "age": "35"}`. The map is passed to + the notebook and is accessible through the + [dbutils.widgets.get] function. If not specified + upon `run-now`, the triggered run uses the job’s + base parameters. notebook_params cannot be + specified in conjunction with jar_params. ⚠ + **Deprecation note** Use [job parameters] to pass + information down to tasks. The JSON representation + of this field (for example + `{"notebook_params":{"name":"john + doe","age":"35"}}`) cannot exceed 10,000 bytes. + [dbutils.widgets.get]: + https://docs.databricks.com/dev-tools/databricks-utils.html + [job parameters]: + https://docs.databricks.com/jobs/job-parameters.html#job-parameter-pushdown + pipeline_params: + type: object + properties: + full_refresh: + type: boolean + description: >- + Controls whether the pipeline should perform a + full refresh + python_named_params: + type: object + python_params: + type: array + items: + type: string + description: >- + A list of parameters for jobs with Python tasks, + for example `"python_params": ["john doe", "35"]`. + The parameters are passed to Python file as + command-line parameters. If specified upon + `run-now`, it would overwrite the parameters + specified in job setting. The JSON representation + of this field (for example + `{"python_params":["john doe","35"]}`) cannot + exceed 10,000 bytes. ⚠ **Deprecation note** Use + [job parameters] to pass information down to + tasks. Important These parameters accept only + Latin characters (ASCII character set). Using + non-ASCII characters returns an error. Examples of + invalid, non-ASCII characters are Chinese, + Japanese kanjis, and emojis. [job parameters]: + https://docs.databricks.com/jobs/job-parameters.html#job-parameter-pushdown + spark_submit_params: + type: array + items: + type: string + description: >- + A list of parameters for jobs with spark submit + task, for example `"spark_submit_params": + ["--class", "org.apache.spark.examples.SparkPi"]`. + The parameters are passed to spark-submit script + as command-line parameters. If specified upon + `run-now`, it would overwrite the parameters + specified in job setting. The JSON representation + of this field (for example + `{"python_params":["john doe","35"]}`) cannot + exceed 10,000 bytes. ⚠ **Deprecation note** Use + [job parameters] to pass information down to + tasks. Important These parameters accept only + Latin characters (ASCII character set). Using + non-ASCII characters returns an error. Examples of + invalid, non-ASCII characters are Chinese, + Japanese kanjis, and emojis. [job parameters]: + https://docs.databricks.com/jobs/job-parameters.html#job-parameter-pushdown + sql_params: + type: object + description: >- + A map from keys to values for jobs with SQL task, + for example `"sql_params": {"name": "john doe", + "age": "35"}`. The SQL alert task does not support + custom parameters. ⚠ **Deprecation note** Use [job + parameters] to pass information down to tasks. + [job parameters]: + https://docs.databricks.com/jobs/job-parameters.html#job-parameter-pushdown + required: + - job_id + description: >- + The task triggers another job when the `run_job_task` + field is present. + spark_jar_task: + type: object + properties: + jar_uri: + type: string + main_class_name: + type: string + description: >- + The full name of the class containing the main + method to be executed. This class must be + contained in a JAR provided as a library. The code + must use `SparkContext.getOrCreate` to obtain a + Spark context; otherwise, runs of the job fail. + parameters: + type: array + items: + type: string + description: >- + Parameters passed to the main method. Use [Task + parameter variables] to set parameters containing + information about job runs. [Task parameter + variables]: + https://docs.databricks.com/jobs.html#parameter-variables + run_as_repl: + type: boolean + description: >- + Deprecated. A value of `false` is no longer + supported. + description: >- + The task runs a JAR when the `spark_jar_task` field is + present. + spark_python_task: + type: object + properties: + python_file: + type: string + parameters: + type: array + items: + type: string + description: >- + Command line parameters passed to the Python file. + Use [Task parameter variables] to set parameters + containing information about job runs. [Task + parameter variables]: + https://docs.databricks.com/jobs.html#parameter-variables + source: + type: string + x-enum: + - GIT + - WORKSPACE + description: >- + Optional location type of the Python file. When + set to `WORKSPACE` or not specified, the file will + be retrieved from the local Databricks workspace + or cloud location (if the `python_file` has a URI + format). When set to `GIT`, the Python file will + be retrieved from a Git repository defined in + `git_source`. * `WORKSPACE`: The Python file is + located in a Databricks workspace or at a cloud + filesystem URI. * `GIT`: The Python file is + located in a remote Git repository. + required: + - python_file + description: >- + The task runs a Python file when the + `spark_python_task` field is present. + spark_submit_task: + type: object + properties: + parameters: + type: array + items: + type: string + description: >- + (Legacy) The task runs the spark-submit script when + the spark_submit_task field is present. Databricks + recommends using the spark_jar_task instead; see + [Spark Submit task for jobs](/jobs/spark-submit). + sql_task: + type: object + properties: + warehouse_id: + type: string + alert: + type: object + properties: + alert_id: + type: string + pause_subscriptions: + type: boolean + description: >- + If true, the alert notifications are not sent + to subscribers. + subscriptions: + type: array + items: + type: object + properties: + destination_id: + type: string + user_name: + type: string + description: >- + The user name to receive the + subscription email. This parameter is + mutually exclusive with destination_id. + You cannot set both destination_id and + user_name for subscription + notifications. + description: >- + If specified, alert notifications are sent to + subscribers. + required: + - alert_id + description: >- + If alert, indicates that this job must refresh a + SQL alert. + dashboard: + type: object + properties: + dashboard_id: + type: string + custom_subject: + type: string + description: >- + Subject of the email sent to subscribers of + this task. + pause_subscriptions: + type: boolean + description: >- + If true, the dashboard snapshot is not taken, + and emails are not sent to subscribers. + subscriptions: + type: array + items: + type: object + properties: + destination_id: + type: string + user_name: + type: string + description: >- + The user name to receive the + subscription email. This parameter is + mutually exclusive with destination_id. + You cannot set both destination_id and + user_name for subscription + notifications. + description: >- + If specified, dashboard snapshots are sent to + subscriptions. + required: + - dashboard_id + description: >- + If dashboard, indicates that this job must refresh + a SQL dashboard. + file: + type: object + properties: + path: + type: string + source: + type: string + x-enum: + - GIT + - WORKSPACE + description: >- + Optional location type of the SQL file. When + set to `WORKSPACE`, the SQL file will be + retrieved from the local Databricks workspace. + When set to `GIT`, the SQL file will be + retrieved from a Git repository defined in + `git_source`. If the value is empty, the task + will use `GIT` if `git_source` is defined and + `WORKSPACE` otherwise. * `WORKSPACE`: SQL file + is located in Databricks workspace. * `GIT`: + SQL file is located in cloud Git provider. + required: + - path + description: >- + If file, indicates that this job runs a SQL file + in a remote Git repository. + parameters: + type: object + description: >- + Parameters to be used for each run of this job. + The SQL alert task does not support custom + parameters. + query: + type: object + properties: + query_id: + type: string + required: + - query_id + description: >- + If query, indicates that this job must execute a + SQL query. + required: + - warehouse_id + description: >- + The task runs a SQL query or file, or it refreshes a + SQL alert or a legacy SQL dashboard when the + `sql_task` field is present. + timeout_seconds: + type: integer + description: >- + An optional timeout applied to each run of this job + task. A value of `0` means no timeout. + webhook_notifications: + type: object + properties: + on_duration_warning_threshold_exceeded: + type: array + items: + type: object + properties: + id: + type: string + required: + - id + on_failure: + type: array + items: + type: object + properties: + id: + type: string + required: + - id + description: >- + An optional list of system notification IDs to + call when the run fails. A maximum of 3 + destinations can be specified for the `on_failure` + property. + on_start: + type: array + items: + type: object + properties: + id: + type: string + required: + - id + description: >- + An optional list of system notification IDs to + call when the run starts. A maximum of 3 + destinations can be specified for the `on_start` + property. + on_streaming_backlog_exceeded: + type: array + items: + type: object + properties: + id: + type: string + required: + - id + description: >- + An optional list of system notification IDs to + call when any streaming backlog thresholds are + exceeded for any stream. Streaming backlog + thresholds can be set in the `health` field using + the following metrics: `STREAMING_BACKLOG_BYTES`, + `STREAMING_BACKLOG_RECORDS`, + `STREAMING_BACKLOG_SECONDS`, or + `STREAMING_BACKLOG_FILES`. Alerting is based on + the 10-minute average of these metrics. If the + issue persists, notifications are resent every 30 + minutes. A maximum of 3 destinations can be + specified for the `on_streaming_backlog_exceeded` + property. + on_success: + type: array + items: + type: object + properties: + id: + type: string + required: + - id + description: >- + An optional list of system notification IDs to + call when the run completes successfully. A + maximum of 3 destinations can be specified for the + `on_success` property. + description: >- + A collection of system notification IDs to notify when + the run begins or completes. The default behavior is + to not send any system notifications. Task webhooks + respect the task notification settings. + required: + - task_key description: >- :param timeout_seconds: int (optional) An optional timeout applied to each run of this job. A value of `0` means no timeout. timeout_seconds: - type: string + type: integer usage_policy_id: type: string description: >- @@ -1989,7 +8921,78 @@ paths: one-time run. If not specified, a default usage policy may be applied when creating or modifying the job. webhook_notifications: - type: string + type: object + properties: + on_duration_warning_threshold_exceeded: + type: array + items: + type: object + properties: + id: + type: string + required: + - id + on_failure: + type: array + items: + type: object + properties: + id: + type: string + required: + - id + description: >- + An optional list of system notification IDs to call when + the run fails. A maximum of 3 destinations can be + specified for the `on_failure` property. + on_start: + type: array + items: + type: object + properties: + id: + type: string + required: + - id + description: >- + An optional list of system notification IDs to call when + the run starts. A maximum of 3 destinations can be + specified for the `on_start` property. + on_streaming_backlog_exceeded: + type: array + items: + type: object + properties: + id: + type: string + required: + - id + description: >- + An optional list of system notification IDs to call when + any streaming backlog thresholds are exceeded for any + stream. Streaming backlog thresholds can be set in the + `health` field using the following metrics: + `STREAMING_BACKLOG_BYTES`, `STREAMING_BACKLOG_RECORDS`, + `STREAMING_BACKLOG_SECONDS`, or + `STREAMING_BACKLOG_FILES`. Alerting is based on the + 10-minute average of these metrics. If the issue + persists, notifications are resent every 30 minutes. A + maximum of 3 destinations can be specified for the + `on_streaming_backlog_exceeded` property. + on_success: + type: array + items: + type: object + properties: + id: + type: string + required: + - id + description: >- + An optional list of system notification IDs to call when + the run completes successfully. A maximum of 3 + destinations can be specified for the `on_success` + property. description: >- A collection of system notification IDs to notify when the run begins or completes. @@ -2055,13 +9058,2145 @@ paths: The canonical identifier of the job to update. This field is required. fields_to_remove: - type: string + type: array + items: + type: string description: >- Remove top-level fields in the job settings. Removing nested fields is not supported, except for tasks and job clusters (`tasks/task_1`). This field is optional. new_settings: - type: string + type: object + properties: + budget_policy_id: + type: string + continuous: + type: object + properties: + pause_status: + type: string + x-enum: + - PAUSED + - UNPAUSED + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know how many + members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members + can have their own + + attributes -- see the documentation for details. + task_retry_mode: + type: string + x-enum: + - NEVER + - ON_FAILURE + description: >- + Indicate whether the continuous job is applying task + level retries or not. Defaults to NEVER. + description: >- + An optional continuous property for this job. The + continuous property will ensure that there is always one + run executing. Only one of `schedule` and `continuous` + can be used. + deployment: + type: object + properties: + kind: + type: string + x-enum: + - BUNDLE + - SYSTEM_MANAGED + description: >- + * `BUNDLE`: The job is managed by Databricks Asset + Bundle. * `SYSTEM_MANAGED`: The job is + + managed by Databricks and is read-only. + metadata_file_path: + type: string + description: Path of the file that contains deployment metadata. + required: + - kind + description: >- + Deployment information for jobs managed by external + sources. + description: + type: string + description: >- + An optional description for the job. The maximum length + is 27700 characters in UTF-8 encoding. + edit_mode: + type: string + x-enum: + - EDITABLE + - UI_LOCKED + description: >- + Edit mode of the job. * `UI_LOCKED`: The job is in a + locked UI state and cannot be modified. * `EDITABLE`: + The job is in an editable state and can be modified. + email_notifications: + type: object + properties: + no_alert_for_skipped_runs: + type: boolean + on_duration_warning_threshold_exceeded: + type: array + items: + type: string + description: >- + A list of email addresses to be notified when the + duration of a run exceeds the threshold specified + for the `RUN_DURATION_SECONDS` metric in the + `health` field. If no rule for the + `RUN_DURATION_SECONDS` metric is specified in the + `health` field for the job, notifications are not + sent. + on_failure: + type: array + items: + type: string + description: >- + A list of email addresses to be notified when a run + unsuccessfully completes. A run is considered to + have completed unsuccessfully if it ends with an + `INTERNAL_ERROR` `life_cycle_state` or a `FAILED`, + or `TIMED_OUT` result_state. If this is not + specified on job creation, reset, or update the list + is empty, and notifications are not sent. + on_start: + type: array + items: + type: string + description: >- + A list of email addresses to be notified when a run + begins. If not specified on job creation, reset, or + update, the list is empty, and notifications are not + sent. + on_streaming_backlog_exceeded: + type: array + items: + type: string + description: >- + A list of email addresses to notify when any + streaming backlog thresholds are exceeded for any + stream. Streaming backlog thresholds can be set in + the `health` field using the following metrics: + `STREAMING_BACKLOG_BYTES`, + `STREAMING_BACKLOG_RECORDS`, + `STREAMING_BACKLOG_SECONDS`, or + `STREAMING_BACKLOG_FILES`. Alerting is based on the + 10-minute average of these metrics. If the issue + persists, notifications are resent every 30 minutes. + on_success: + type: array + items: + type: string + description: >- + A list of email addresses to be notified when a run + successfully completes. A run is considered to have + completed successfully if it ends with a + `TERMINATED` `life_cycle_state` and a `SUCCESS` + result_state. If not specified on job creation, + reset, or update, the list is empty, and + notifications are not sent. + description: >- + An optional set of email addresses that is notified when + runs of this job begin or complete as well as when this + job is deleted. + environments: + type: array + items: + type: object + properties: + environment_key: + type: string + spec: + type: string + required: + - environment_key + description: >- + A list of task execution environment specifications that + can be referenced by serverless tasks of this job. For + serverless notebook tasks, if the environment_key is not + specified, the notebook environment will be used if + present. If a jobs environment is specified, it will + override the notebook environment. For other serverless + tasks, the task environment is required to be specified + using environment_key in the task settings. + format: + type: string + x-enum: + - MULTI_TASK + - SINGLE_TASK + description: >- + Used to tell what is the format of the job. This field + is ignored in Create/Update/Reset calls. When using the + Jobs API 2.1 this value is always set to `"MULTI_TASK"`. + git_source: + type: object + properties: + git_url: + type: string + description: URL of the repository to be cloned by this job. + git_provider: + type: string + x-enum: + - awsCodeCommit + - azureDevOpsServices + - bitbucketCloud + - bitbucketServer + - gitHub + - gitHubEnterprise + - gitLab + - gitLabEnterpriseEdition + description: >- + Unique identifier of the service used to host the + Git repository. The value is case insensitive. + git_branch: + type: string + description: >- + Name of the branch to be checked out and used by + this job. This field cannot be specified in + conjunction with git_tag or git_commit. + git_commit: + type: string + description: >- + Commit to be checked out and used by this job. This + field cannot be specified in conjunction with + git_branch or git_tag. + git_snapshot: + type: object + properties: + used_commit: + type: string + description: >- + Commit that was used to execute the run. If + git_branch was specified, this points to the + HEAD of the branch at the time of the run; if + git_tag was specified, this points to the commit + the tag points to. + description: >- + Read-only state of the remote repository at the time + the job was run. This field is only + included on job runs. + git_tag: + type: string + description: >- + Name of the tag to be checked out and used by this + job. This field cannot be specified in conjunction + with git_branch or git_commit. + job_source: + type: object + properties: + job_config_path: + type: string + description: >- + Path of the job YAML file that contains the job + specification. + import_from_git_branch: + type: string + description: >- + Name of the branch which the job is imported + from. + dirty_state: + type: string + x-enum: + - DISCONNECTED + - NOT_SYNCED + description: >- + Dirty state indicates the job is not fully + synced with the job specification in the remote + repository. Possible values are: * `NOT_SYNCED`: + The job is not yet synced with the remote job + specification. Import the remote job + specification from UI to make the job fully + synced. * `DISCONNECTED`: The job is temporary + disconnected from the remote job specification + and is allowed for live edit. Import the remote + job specification again from UI to make the job + fully synced. + required: + - job_config_path + - import_from_git_branch + description: >- + The source of the job specification in the remote + repository when the job is source controlled. + required: + - git_url + - git_provider + description: >- + An optional specification for a remote Git repository + containing the source code used by tasks. + Version-controlled source code is supported by notebook, + dbt, Python script, and SQL File tasks. If `git_source` + is set, these tasks retrieve the file from the remote + repository by default. However, this behavior can be + overridden by setting `source` to `WORKSPACE` on the + task. Note: dbt and SQL File tasks support only + version-controlled sources. If dbt or SQL File tasks are + used, `git_source` must be defined on the job. + health: + type: object + properties: + rules: + type: array + items: + type: object + properties: + metric: + type: string + x-enum: + - RUN_DURATION_SECONDS + - STREAMING_BACKLOG_BYTES + - STREAMING_BACKLOG_FILES + - STREAMING_BACKLOG_RECORDS + - STREAMING_BACKLOG_SECONDS + description: >- + Specifies the health metric that is being + evaluated for a particular health rule. + + + * `RUN_DURATION_SECONDS`: Expected total time + for a run in seconds. * + `STREAMING_BACKLOG_BYTES`: + + An estimate of the maximum bytes of data + waiting to be consumed across all streams. + This metric + + is in Public Preview. * + `STREAMING_BACKLOG_RECORDS`: An estimate of + the maximum offset lag + + across all streams. This metric is in Public + Preview. * `STREAMING_BACKLOG_SECONDS`: An + estimate + + of the maximum consumer delay across all + streams. This metric is in Public Preview. * + + `STREAMING_BACKLOG_FILES`: An estimate of the + maximum number of outstanding files across all + + streams. This metric is in Public Preview. + op: + type: string + x-enum: + - GREATER_THAN + description: >- + Specifies the operator used to compare the + health metric value with the specified + threshold. + value: + type: integer + description: >- + Specifies the threshold value that the health + metric should obey to satisfy the health rule. + required: + - metric + - op + - value + description: >- + An optional set of health rules that can be defined for + this job. + job_clusters: + type: array + items: + type: object + properties: + job_cluster_key: + type: string + new_cluster: + type: string + description: >- + If new_cluster, a description of a cluster that is + created for each task. + required: + - job_cluster_key + - new_cluster + description: >- + A list of job cluster specifications that can be shared + and reused by tasks of this job. Libraries cannot be + declared in a shared job cluster. You must declare + dependent libraries in task settings. + max_concurrent_runs: + type: integer + description: >- + An optional maximum allowed number of concurrent runs of + the job. Set this value if you want to be able to + execute multiple runs of the same job concurrently. This + is useful for example if you trigger your job on a + frequent schedule and want to allow consecutive runs to + overlap with each other, or if you want to trigger + multiple runs which differ by their input parameters. + This setting affects only new runs. For example, suppose + the job’s concurrency is 4 and there are 4 concurrent + active runs. Then setting the concurrency to 3 won’t + kill any of the active runs. However, from then on, new + runs are skipped unless there are fewer than 3 active + runs. This value cannot exceed 1000. Setting this value + to `0` causes all new runs to be skipped. + name: + type: string + description: >- + An optional name for the job. The maximum length is 4096 + bytes in UTF-8 encoding. + notification_settings: + type: object + properties: + no_alert_for_canceled_runs: + type: boolean + no_alert_for_skipped_runs: + type: boolean + description: >- + If true, do not send notifications to recipients + specified in `on_failure` if the run is skipped. + description: >- + Optional notification settings that are used when + sending notifications to each of the + `email_notifications` and `webhook_notifications` for + this job. + parameters: + type: array + items: + type: object + properties: + name: + type: string + default: + type: string + description: Default value of the parameter. + required: + - name + - default + description: Job-level parameter definitions + performance_target: + type: string + x-enum: + - PERFORMANCE_OPTIMIZED + - STANDARD + description: >- + The performance mode on a serverless job. This field + determines the level of compute performance or + cost-efficiency for the run. The performance target does + not apply to tasks that run on Serverless GPU compute. * + `STANDARD`: Enables cost-efficient execution of + serverless workloads. * `PERFORMANCE_OPTIMIZED`: + Prioritizes fast startup and execution times through + rapid scaling and optimized cluster performance. + queue: + type: object + properties: + enabled: + type: boolean + required: + - enabled + description: The queue settings of the job. + run_as: + type: object + properties: + group_name: + type: string + description: >- + Group name of an account group assigned to the + workspace. Setting this field requires being a + member of the group. + service_principal_name: + type: string + description: >- + Application ID of an active service principal. + Setting this field requires the + `servicePrincipal/user` role. + user_name: + type: string + description: >- + The email of an active workspace user. Non-admin + users can only set this field to their own email. + description: >- + The user or service principal that the job runs as, if + specified in the request. This field indicates the + explicit configuration of `run_as` for the job. To find + the value in all cases, explicit or implicit, use + `run_as_user_name`. + schedule: + type: object + properties: + quartz_cron_expression: + type: string + timezone_id: + type: string + description: >- + A Java timezone ID. The schedule for a job is + resolved with respect to this timezone. See [Java + TimeZone] for details. This field is required. [Java + TimeZone]: + https://docs.oracle.com/javase/7/docs/api/java/util/TimeZone.html + pause_status: + type: string + x-enum: + - PAUSED + - UNPAUSED + description: Indicate whether this schedule is paused or not. + required: + - quartz_cron_expression + - timezone_id + description: >- + An optional periodic schedule for this job. The default + behavior is that the job only runs when triggered by + clicking “Run Now” in the Jobs UI or sending an API + request to `runNow`. + tags: + type: object + description: >- + A map of tags associated with the job. These are + forwarded to the cluster as cluster tags for jobs + clusters, and are subject to the same limitations as + cluster tags. A maximum of 25 tags can be added to the + job. + tasks: + type: array + items: + type: object + properties: + task_key: + type: string + clean_rooms_notebook_task: + type: object + properties: + clean_room_name: + type: string + description: The clean room that the notebook belongs to. + notebook_name: + type: string + description: Name of the notebook being run. + etag: + type: string + description: >- + Checksum to validate the freshness of the + notebook resource (i.e. the notebook being run + is the latest version). It can be fetched by + calling the :method:cleanroomassets/get API. + notebook_base_parameters: + type: object + description: >- + Base parameters to be used for the clean room + notebook job. + required: + - clean_room_name + - notebook_name + description: >- + The task runs a [clean rooms] notebook when the + `clean_rooms_notebook_task` field is present. + [clean rooms]: + https://docs.databricks.com/clean-rooms/index.html + compute: + type: object + properties: + hardware_accelerator: + type: string + description: Task level compute configuration. + condition_task: + type: object + properties: + op: + type: string + x-enum: + - EQUAL_TO + - GREATER_THAN + - GREATER_THAN_OR_EQUAL + - LESS_THAN + - LESS_THAN_OR_EQUAL + - NOT_EQUAL + description: >- + * `EQUAL_TO`, `NOT_EQUAL` operators perform + string comparison of their operands. This + means that + + `“12.0” == “12”` will evaluate to `false`. * + `GREATER_THAN`, `GREATER_THAN_OR_EQUAL`, + + `LESS_THAN`, `LESS_THAN_OR_EQUAL` operators + perform numeric comparison of their operands. + + `“12.0” >= “12”` will evaluate to `true`, + `“10.0” >= “12”` will evaluate to + + `false`. + + + The boolean comparison to task values can be + implemented with operators `EQUAL_TO`, + `NOT_EQUAL`. + + If a task value was set to a boolean value, it + will be serialized to `“true”` or + + `“false”` for the comparison. + left: + type: string + description: >- + The left operand of the condition task. Can be + either a string value or a job state or + parameter reference. + right: + type: string + description: >- + The right operand of the condition task. Can + be either a string value or a job state or + parameter reference. + required: + - op + - left + - right + description: >- + The task evaluates a condition that can be used to + control the execution of other tasks when the + `condition_task` field is present. The condition + task does not require a cluster to execute and + does not support retries or notifications. + dashboard_task: + type: object + properties: + dashboard_id: + type: string + description: The identifier of the dashboard to refresh. + filters: + type: object + description: >- + Dashboard task parameters. Used to apply + dashboard filter values during dashboard task + execution. Parameter values get applied to any + dashboard filters that have a matching URL + identifier as the parameter key. The parameter + value format is dependent on the filter type: + - For text and single-select filters, provide + a single value (e.g. `"value"`) - For date and + datetime filters, provide the value in ISO + 8601 format (e.g. `"2000-01-01T00:00:00"`) - + For multi-select filters, provide a JSON array + of values (e.g. `"[\"value1\",\"value2\"]"`) - + For range and date range filters, provide a + JSON object with `start` and `end` (e.g. + `"{\"start\":\"1\",\"end\":\"10\"}"`) + subscription: + type: object + properties: + custom_subject: + type: string + paused: + type: boolean + description: >- + When true, the subscription will not send + emails. + subscribers: + type: array + items: + type: object + properties: + destination_id: + type: string + user_name: + type: string + description: >- + A snapshot of the dashboard will be sent + to the user's email when the `user_name` + field is present. + description: >- + The list of subscribers to send the + snapshot of the dashboard to. + description: >- + Optional: subscription configuration for + sending the dashboard snapshot. + warehouse_id: + type: string + description: >- + Optional: The warehouse id to execute the + dashboard with for the schedule. If not + specified, the default warehouse of the + dashboard will be used. + description: >- + The task refreshes a dashboard and sends a + snapshot to subscribers. + dbt_cloud_task: + type: object + properties: + connection_resource_name: + type: string + description: >- + The resource name of the UC connection that + authenticates the dbt Cloud for this task + dbt_cloud_job_id: + type: integer + description: Id of the dbt Cloud job to be triggered + description: >- + Task type for dbt cloud, deprecated in favor of + the new name dbt_platform_task + dbt_platform_task: + type: object + properties: + connection_resource_name: + type: string + dbt_platform_job_id: + type: string + description: >- + Id of the dbt platform job to be triggered. + Specified as a string for maximum + compatibility with clients. + dbt_task: + type: object + properties: + commands: + type: array + items: + type: string + catalog: + type: string + description: >- + Optional name of the catalog to use. The value + is the top level in the 3-level namespace of + Unity Catalog (catalog / schema / relation). + The catalog value can only be specified if a + warehouse_id is specified. Requires + dbt-databricks >= 1.1.1. + profiles_directory: + type: string + description: >- + Optional (relative) path to the profiles + directory. Can only be specified if no + warehouse_id is specified. If no warehouse_id + is specified and this folder is unset, the + root directory is used. + project_directory: + type: string + description: >- + Path to the project directory. Optional for + Git sourced tasks, in which case if no value + is provided, the root of the Git repository is + used. + schema: + type: string + description: >- + Optional schema to write to. This parameter is + only used when a warehouse_id is also + provided. If not provided, the `default` + schema is used. + source: + type: string + x-enum: + - GIT + - WORKSPACE + description: >- + Optional location type of the project + directory. When set to `WORKSPACE`, the + project will be retrieved from the local + Databricks workspace. When set to `GIT`, the + project will be retrieved from a Git + repository defined in `git_source`. If the + value is empty, the task will use `GIT` if + `git_source` is defined and `WORKSPACE` + otherwise. * `WORKSPACE`: Project is located + in Databricks workspace. * `GIT`: Project is + located in cloud Git provider. + warehouse_id: + type: string + description: >- + ID of the SQL warehouse to connect to. If + provided, we automatically generate and + provide the profile and connection details to + dbt. It can be overridden on a per-command + basis by using the `--profiles-dir` command + line argument. + required: + - commands + description: >- + The task runs one or more dbt commands when the + `dbt_task` field is present. The dbt task requires + both Databricks SQL and the ability to use a + serverless or a pro SQL warehouse. + depends_on: + type: array + items: + type: object + properties: + task_key: + type: string + outcome: + type: string + description: >- + Can only be specified on condition task + dependencies. The outcome of the dependent + task that must be met for this task to run. + required: + - task_key + description: >- + An optional array of objects specifying the + dependency graph of the task. All tasks specified + in this field must complete before executing this + task. The task will run only if the `run_if` + condition is true. The key is `task_key`, and the + value is the name assigned to the dependent task. + description: + type: string + description: An optional description for this task. + disable_auto_optimization: + type: boolean + description: >- + An option to disable auto optimization in + serverless + disabled: + type: boolean + description: >- + An optional flag to disable the task. If set to + true, the task will not run even if it is part of + a job. + email_notifications: + type: object + properties: + no_alert_for_skipped_runs: + type: boolean + on_duration_warning_threshold_exceeded: + type: array + items: + type: string + description: >- + A list of email addresses to be notified when + the duration of a run exceeds the threshold + specified for the `RUN_DURATION_SECONDS` + metric in the `health` field. If no rule for + the `RUN_DURATION_SECONDS` metric is specified + in the `health` field for the job, + notifications are not sent. + on_failure: + type: array + items: + type: string + description: >- + A list of email addresses to be notified when + a run unsuccessfully completes. A run is + considered to have completed unsuccessfully if + it ends with an `INTERNAL_ERROR` + `life_cycle_state` or a `FAILED`, or + `TIMED_OUT` result_state. If this is not + specified on job creation, reset, or update + the list is empty, and notifications are not + sent. + on_start: + type: array + items: + type: string + description: >- + A list of email addresses to be notified when + a run begins. If not specified on job + creation, reset, or update, the list is empty, + and notifications are not sent. + on_streaming_backlog_exceeded: + type: array + items: + type: string + description: >- + A list of email addresses to notify when any + streaming backlog thresholds are exceeded for + any stream. Streaming backlog thresholds can + be set in the `health` field using the + following metrics: `STREAMING_BACKLOG_BYTES`, + `STREAMING_BACKLOG_RECORDS`, + `STREAMING_BACKLOG_SECONDS`, or + `STREAMING_BACKLOG_FILES`. Alerting is based + on the 10-minute average of these metrics. If + the issue persists, notifications are resent + every 30 minutes. + on_success: + type: array + items: + type: string + description: >- + A list of email addresses to be notified when + a run successfully completes. A run is + considered to have completed successfully if + it ends with a `TERMINATED` `life_cycle_state` + and a `SUCCESS` result_state. If not specified + on job creation, reset, or update, the list is + empty, and notifications are not sent. + description: >- + An optional set of email addresses that is + notified when runs of this task begin or complete + as well as when this task is deleted. The default + behavior is to not send any emails. + environment_key: + type: string + description: >- + The key that references an environment spec in a + job. This field is required for Python script, + Python wheel and dbt tasks when using serverless + compute. + existing_cluster_id: + type: string + description: >- + If existing_cluster_id, the ID of an existing + cluster that is used for all runs. When running + jobs or tasks on an existing cluster, you may need + to manually restart the cluster if it stops + responding. We suggest running jobs and tasks on + new clusters for greater reliability + for_each_task: + type: object + properties: + inputs: + type: string + task: + $ref: '#/components/schemas/Task' + description: >- + Configuration for the task that will be run + for each element in the array + concurrency: + type: integer + description: >- + An optional maximum allowed number of + concurrent runs of the task. Set this value if + you want to be able to execute multiple runs + of the task concurrently. + required: + - inputs + - task + description: >- + The task executes a nested task for every input + provided when the `for_each_task` field is + present. + gen_ai_compute_task: + type: object + properties: + dl_runtime_image: + type: string + command: + type: string + description: >- + Command launcher to run the actual script, + e.g. bash, python etc. + compute: + type: object + properties: + num_gpus: + type: integer + gpu_node_pool_id: + type: string + description: IDof the GPU pool to use. + gpu_type: + type: string + description: GPU type. + required: + - num_gpus + mlflow_experiment_name: + type: string + description: >- + Optional string containing the name of the + MLflow experiment to log the run to. If name + is not found, backend will create the mlflow + experiment using the name. + source: + type: string + x-enum: + - GIT + - WORKSPACE + description: >- + Optional location type of the training script. + When set to `WORKSPACE`, the script will be + retrieved from the local Databricks workspace. + When set to `GIT`, the script will be + retrieved from a Git repository defined in + `git_source`. If the value is empty, the task + will use `GIT` if `git_source` is defined and + `WORKSPACE` otherwise. * `WORKSPACE`: Script + is located in Databricks workspace. * `GIT`: + Script is located in cloud Git provider. + training_script_path: + type: string + description: >- + The training script file path to be executed. + Cloud file URIs (such as dbfs:/, s3:/, adls:/, + gcs:/) and workspace paths are supported. For + python files stored in the Databricks + workspace, the path must be absolute and begin + with `/`. For files stored in a remote + repository, the path must be relative. This + field is required. + yaml_parameters: + type: string + description: >- + Optional string containing model parameters + passed to the training script in yaml format. + If present, then the content in + yaml_parameters_file_path will be ignored. + yaml_parameters_file_path: + type: string + description: >- + Optional path to a YAML file containing model + parameters passed to the training script. + required: + - dl_runtime_image + health: + type: object + properties: + rules: + type: array + items: + type: object + properties: + metric: + type: string + x-enum: + - RUN_DURATION_SECONDS + - STREAMING_BACKLOG_BYTES + - STREAMING_BACKLOG_FILES + - STREAMING_BACKLOG_RECORDS + - STREAMING_BACKLOG_SECONDS + description: >- + Specifies the health metric that is + being evaluated for a particular health + rule. + + + * `RUN_DURATION_SECONDS`: Expected total + time for a run in seconds. * + `STREAMING_BACKLOG_BYTES`: + + An estimate of the maximum bytes of data + waiting to be consumed across all + streams. This metric + + is in Public Preview. * + `STREAMING_BACKLOG_RECORDS`: An estimate + of the maximum offset lag + + across all streams. This metric is in + Public Preview. * + `STREAMING_BACKLOG_SECONDS`: An estimate + + of the maximum consumer delay across all + streams. This metric is in Public + Preview. * + + `STREAMING_BACKLOG_FILES`: An estimate + of the maximum number of outstanding + files across all + + streams. This metric is in Public + Preview. + op: + type: string + x-enum: + - GREATER_THAN + description: >- + Specifies the operator used to compare + the health metric value with the + specified threshold. + value: + type: integer + description: >- + Specifies the threshold value that the + health metric should obey to satisfy the + health rule. + required: + - metric + - op + - value + description: >- + An optional set of health rules that can be + defined for this job. + job_cluster_key: + type: string + description: >- + If job_cluster_key, this task is executed reusing + the cluster specified in + `job.settings.job_clusters`. + libraries: + type: string + description: >- + An optional list of libraries to be installed on + the cluster. The default value is an empty list. + max_retries: + type: integer + description: >- + An optional maximum number of times to retry an + unsuccessful run. A run is considered to be + unsuccessful if it completes with the `FAILED` + result_state or `INTERNAL_ERROR` + `life_cycle_state`. The value `-1` means to retry + indefinitely and the value `0` means to never + retry. + min_retry_interval_millis: + type: integer + description: >- + An optional minimal interval in milliseconds + between the start of the failed run and the + subsequent retry run. The default behavior is that + unsuccessful runs are immediately retried. + new_cluster: + type: string + description: >- + If new_cluster, a description of a new cluster + that is created for each run. + notebook_task: + type: object + properties: + notebook_path: + type: string + base_parameters: + type: object + description: >- + Base parameters to be used for each run of + this job. If the run is initiated by a call to + :method:jobs/run Now with parameters + specified, the two parameters maps are merged. + If the same key is specified in + `base_parameters` and in `run-now`, the value + from `run-now` is used. Use [Task parameter + variables] to set parameters containing + information about job runs. If the notebook + takes a parameter that is not specified in the + job’s `base_parameters` or the `run-now` + override parameters, the default value from + the notebook is used. Retrieve these + parameters in a notebook using + [dbutils.widgets.get]. The JSON representation + of this field cannot exceed 1MB. [Task + parameter variables]: + https://docs.databricks.com/jobs.html#parameter-variables + [dbutils.widgets.get]: + https://docs.databricks.com/dev-tools/databricks-utils.html#dbutils-widgets + source: + type: string + x-enum: + - GIT + - WORKSPACE + description: >- + Optional location type of the notebook. When + set to `WORKSPACE`, the notebook will be + retrieved from the local Databricks workspace. + When set to `GIT`, the notebook will be + retrieved from a Git repository defined in + `git_source`. If the value is empty, the task + will use `GIT` if `git_source` is defined and + `WORKSPACE` otherwise. * `WORKSPACE`: Notebook + is located in Databricks workspace. * `GIT`: + Notebook is located in cloud Git provider. + warehouse_id: + type: string + description: >- + Optional `warehouse_id` to run the notebook on + a SQL warehouse. Classic SQL warehouses are + NOT supported, please use serverless or pro + SQL warehouses. Note that SQL warehouses only + support SQL cells; if the notebook contains + non-SQL cells, the run will fail. + required: + - notebook_path + description: >- + The task runs a notebook when the `notebook_task` + field is present. + notification_settings: + type: object + properties: + alert_on_last_attempt: + type: boolean + no_alert_for_canceled_runs: + type: boolean + description: >- + If true, do not send notifications to + recipients specified in `on_failure` if the + run is canceled. + no_alert_for_skipped_runs: + type: boolean + description: >- + If true, do not send notifications to + recipients specified in `on_failure` if the + run is skipped. + description: >- + Optional notification settings that are used when + sending notifications to each of the + `email_notifications` and `webhook_notifications` + for this task. + pipeline_task: + type: object + properties: + pipeline_id: + type: string + full_refresh: + type: boolean + description: >- + If true, triggers a full refresh on the delta + live table. + required: + - pipeline_id + description: >- + The task triggers a pipeline update when the + `pipeline_task` field is present. Only pipelines + configured to use triggered more are supported. + power_bi_task: + type: object + properties: + connection_resource_name: + type: string + power_bi_model: + type: object + properties: + authentication_method: + type: string + x-enum: + - OAUTH + - PAT + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and + know how many members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , + ] + + + Methods can be added to enumerations, and + members can have their own + + attributes -- see the documentation for + details. + model_name: + type: string + description: The name of the Power BI model + overwrite_existing: + type: boolean + description: >- + Whether to overwrite existing Power BI + models + storage_mode: + type: string + x-enum: + - DIRECT_QUERY + - DUAL + - IMPORT + description: >- + The default storage mode of the Power BI + model + workspace_name: + type: string + description: >- + The name of the Power BI workspace of the + model + description: The semantic model to update + refresh_after_update: + type: boolean + description: >- + Whether the model should be refreshed after + the update + tables: + type: array + items: + type: object + properties: + catalog: + type: string + name: + type: string + description: The table name in Databricks + schema: + type: string + description: The schema name in Databricks + storage_mode: + type: string + x-enum: + - DIRECT_QUERY + - DUAL + - IMPORT + description: The Power BI storage mode of the table + description: The tables to be exported to Power BI + warehouse_id: + type: string + description: >- + The SQL warehouse ID to use as the Power BI + data source + description: >- + The task triggers a Power BI semantic model update + when the `power_bi_task` field is present. + python_wheel_task: + type: object + properties: + package_name: + type: string + entry_point: + type: string + description: >- + Named entry point to use, if it does not exist + in the metadata of the package it executes the + function from the package directly using + `$packageName.$entryPoint()` + named_parameters: + type: object + description: >- + Command-line parameters passed to Python wheel + task in the form of `["--name=task", + "--data=dbfs:/path/to/data.json"]`. Leave it + empty if `parameters` is not null. + parameters: + type: array + items: + type: string + description: >- + Command-line parameters passed to Python wheel + task. Leave it empty if `named_parameters` is + not null. + required: + - package_name + - entry_point + description: >- + The task runs a Python wheel when the + `python_wheel_task` field is present. + retry_on_timeout: + type: boolean + description: >- + An optional policy to specify whether to retry a + job when it times out. The default behavior is to + not retry on timeout. + run_if: + type: string + x-enum: + - ALL_DONE + - ALL_FAILED + - ALL_SUCCESS + - AT_LEAST_ONE_FAILED + - AT_LEAST_ONE_SUCCESS + - NONE_FAILED + description: >- + An optional value specifying the condition + determining whether the task is run once its + dependencies have been completed. * `ALL_SUCCESS`: + All dependencies have executed and succeeded * + `AT_LEAST_ONE_SUCCESS`: At least one dependency + has succeeded * `NONE_FAILED`: None of the + dependencies have failed and at least one was + executed * `ALL_DONE`: All dependencies have been + completed * `AT_LEAST_ONE_FAILED`: At least one + dependency failed * `ALL_FAILED`: ALl dependencies + have failed + run_job_task: + type: object + properties: + job_id: + type: integer + dbt_commands: + type: array + items: + type: string + description: >- + An array of commands to execute for jobs with + the dbt task, for example `"dbt_commands": + ["dbt deps", "dbt seed", "dbt deps", "dbt + seed", "dbt run"]` ⚠ **Deprecation note** Use + [job parameters] to pass information down to + tasks. [job parameters]: + https://docs.databricks.com/jobs/job-parameters.html#job-parameter-pushdown + jar_params: + type: array + items: + type: string + description: >- + A list of parameters for jobs with Spark JAR + tasks, for example `"jar_params": ["john doe", + "35"]`. The parameters are used to invoke the + main function of the main class specified in + the Spark JAR task. If not specified upon + `run-now`, it defaults to an empty list. + jar_params cannot be specified in conjunction + with notebook_params. The JSON representation + of this field (for example + `{"jar_params":["john doe","35"]}`) cannot + exceed 10,000 bytes. ⚠ **Deprecation note** + Use [job parameters] to pass information down + to tasks. [job parameters]: + https://docs.databricks.com/jobs/job-parameters.html#job-parameter-pushdown + job_parameters: + type: object + description: Job-level parameters used to trigger the job. + notebook_params: + type: object + description: >- + A map from keys to values for jobs with + notebook task, for example `"notebook_params": + {"name": "john doe", "age": "35"}`. The map is + passed to the notebook and is accessible + through the [dbutils.widgets.get] function. If + not specified upon `run-now`, the triggered + run uses the job’s base parameters. + notebook_params cannot be specified in + conjunction with jar_params. ⚠ **Deprecation + note** Use [job parameters] to pass + information down to tasks. The JSON + representation of this field (for example + `{"notebook_params":{"name":"john + doe","age":"35"}}`) cannot exceed 10,000 + bytes. [dbutils.widgets.get]: + https://docs.databricks.com/dev-tools/databricks-utils.html + [job parameters]: + https://docs.databricks.com/jobs/job-parameters.html#job-parameter-pushdown + pipeline_params: + type: object + properties: + full_refresh: + type: boolean + description: >- + Controls whether the pipeline should perform a + full refresh + python_named_params: + type: object + python_params: + type: array + items: + type: string + description: >- + A list of parameters for jobs with Python + tasks, for example `"python_params": ["john + doe", "35"]`. The parameters are passed to + Python file as command-line parameters. If + specified upon `run-now`, it would overwrite + the parameters specified in job setting. The + JSON representation of this field (for example + `{"python_params":["john doe","35"]}`) cannot + exceed 10,000 bytes. ⚠ **Deprecation note** + Use [job parameters] to pass information down + to tasks. Important These parameters accept + only Latin characters (ASCII character set). + Using non-ASCII characters returns an error. + Examples of invalid, non-ASCII characters are + Chinese, Japanese kanjis, and emojis. [job + parameters]: + https://docs.databricks.com/jobs/job-parameters.html#job-parameter-pushdown + spark_submit_params: + type: array + items: + type: string + description: >- + A list of parameters for jobs with spark + submit task, for example + `"spark_submit_params": ["--class", + "org.apache.spark.examples.SparkPi"]`. The + parameters are passed to spark-submit script + as command-line parameters. If specified upon + `run-now`, it would overwrite the parameters + specified in job setting. The JSON + representation of this field (for example + `{"python_params":["john doe","35"]}`) cannot + exceed 10,000 bytes. ⚠ **Deprecation note** + Use [job parameters] to pass information down + to tasks. Important These parameters accept + only Latin characters (ASCII character set). + Using non-ASCII characters returns an error. + Examples of invalid, non-ASCII characters are + Chinese, Japanese kanjis, and emojis. [job + parameters]: + https://docs.databricks.com/jobs/job-parameters.html#job-parameter-pushdown + sql_params: + type: object + description: >- + A map from keys to values for jobs with SQL + task, for example `"sql_params": {"name": + "john doe", "age": "35"}`. The SQL alert task + does not support custom parameters. ⚠ + **Deprecation note** Use [job parameters] to + pass information down to tasks. [job + parameters]: + https://docs.databricks.com/jobs/job-parameters.html#job-parameter-pushdown + required: + - job_id + description: >- + The task triggers another job when the + `run_job_task` field is present. + spark_jar_task: + type: object + properties: + jar_uri: + type: string + main_class_name: + type: string + description: >- + The full name of the class containing the main + method to be executed. This class must be + contained in a JAR provided as a library. The + code must use `SparkContext.getOrCreate` to + obtain a Spark context; otherwise, runs of the + job fail. + parameters: + type: array + items: + type: string + description: >- + Parameters passed to the main method. Use + [Task parameter variables] to set parameters + containing information about job runs. [Task + parameter variables]: + https://docs.databricks.com/jobs.html#parameter-variables + run_as_repl: + type: boolean + description: >- + Deprecated. A value of `false` is no longer + supported. + description: >- + The task runs a JAR when the `spark_jar_task` + field is present. + spark_python_task: + type: object + properties: + python_file: + type: string + parameters: + type: array + items: + type: string + description: >- + Command line parameters passed to the Python + file. Use [Task parameter variables] to set + parameters containing information about job + runs. [Task parameter variables]: + https://docs.databricks.com/jobs.html#parameter-variables + source: + type: string + x-enum: + - GIT + - WORKSPACE + description: >- + Optional location type of the Python file. + When set to `WORKSPACE` or not specified, the + file will be retrieved from the local + Databricks workspace or cloud location (if the + `python_file` has a URI format). When set to + `GIT`, the Python file will be retrieved from + a Git repository defined in `git_source`. * + `WORKSPACE`: The Python file is located in a + Databricks workspace or at a cloud filesystem + URI. * `GIT`: The Python file is located in a + remote Git repository. + required: + - python_file + description: >- + The task runs a Python file when the + `spark_python_task` field is present. + spark_submit_task: + type: object + properties: + parameters: + type: array + items: + type: string + description: >- + (Legacy) The task runs the spark-submit script + when the spark_submit_task field is present. + Databricks recommends using the spark_jar_task + instead; see [Spark Submit task for + jobs](/jobs/spark-submit). + sql_task: + type: object + properties: + warehouse_id: + type: string + alert: + type: object + properties: + alert_id: + type: string + pause_subscriptions: + type: boolean + description: >- + If true, the alert notifications are not + sent to subscribers. + subscriptions: + type: array + items: + type: object + properties: + destination_id: + type: string + user_name: + type: string + description: >- + The user name to receive the + subscription email. This parameter is + mutually exclusive with destination_id. + You cannot set both destination_id and + user_name for subscription + notifications. + description: >- + If specified, alert notifications are sent + to subscribers. + required: + - alert_id + description: >- + If alert, indicates that this job must refresh + a SQL alert. + dashboard: + type: object + properties: + dashboard_id: + type: string + custom_subject: + type: string + description: >- + Subject of the email sent to subscribers + of this task. + pause_subscriptions: + type: boolean + description: >- + If true, the dashboard snapshot is not + taken, and emails are not sent to + subscribers. + subscriptions: + type: array + items: + type: object + properties: + destination_id: + type: string + user_name: + type: string + description: >- + The user name to receive the + subscription email. This parameter is + mutually exclusive with destination_id. + You cannot set both destination_id and + user_name for subscription + notifications. + description: >- + If specified, dashboard snapshots are sent + to subscriptions. + required: + - dashboard_id + description: >- + If dashboard, indicates that this job must + refresh a SQL dashboard. + file: + type: object + properties: + path: + type: string + source: + type: string + x-enum: + - GIT + - WORKSPACE + description: >- + Optional location type of the SQL file. + When set to `WORKSPACE`, the SQL file will + be retrieved from the local Databricks + workspace. When set to `GIT`, the SQL file + will be retrieved from a Git repository + defined in `git_source`. If the value is + empty, the task will use `GIT` if + `git_source` is defined and `WORKSPACE` + otherwise. * `WORKSPACE`: SQL file is + located in Databricks workspace. * `GIT`: + SQL file is located in cloud Git provider. + required: + - path + description: >- + If file, indicates that this job runs a SQL + file in a remote Git repository. + parameters: + type: object + description: >- + Parameters to be used for each run of this + job. The SQL alert task does not support + custom parameters. + query: + type: object + properties: + query_id: + type: string + required: + - query_id + description: >- + If query, indicates that this job must execute + a SQL query. + required: + - warehouse_id + description: >- + The task runs a SQL query or file, or it refreshes + a SQL alert or a legacy SQL dashboard when the + `sql_task` field is present. + timeout_seconds: + type: integer + description: >- + An optional timeout applied to each run of this + job task. A value of `0` means no timeout. + webhook_notifications: + type: object + properties: + on_duration_warning_threshold_exceeded: + type: array + items: + type: object + properties: + id: + type: string + required: + - id + on_failure: + type: array + items: + type: object + properties: + id: + type: string + required: + - id + description: >- + An optional list of system notification IDs to + call when the run fails. A maximum of 3 + destinations can be specified for the + `on_failure` property. + on_start: + type: array + items: + type: object + properties: + id: + type: string + required: + - id + description: >- + An optional list of system notification IDs to + call when the run starts. A maximum of 3 + destinations can be specified for the + `on_start` property. + on_streaming_backlog_exceeded: + type: array + items: + type: object + properties: + id: + type: string + required: + - id + description: >- + An optional list of system notification IDs to + call when any streaming backlog thresholds are + exceeded for any stream. Streaming backlog + thresholds can be set in the `health` field + using the following metrics: + `STREAMING_BACKLOG_BYTES`, + `STREAMING_BACKLOG_RECORDS`, + `STREAMING_BACKLOG_SECONDS`, or + `STREAMING_BACKLOG_FILES`. Alerting is based + on the 10-minute average of these metrics. If + the issue persists, notifications are resent + every 30 minutes. A maximum of 3 destinations + can be specified for the + `on_streaming_backlog_exceeded` property. + on_success: + type: array + items: + type: object + properties: + id: + type: string + required: + - id + description: >- + An optional list of system notification IDs to + call when the run completes successfully. A + maximum of 3 destinations can be specified for + the `on_success` property. + description: >- + A collection of system notification IDs to notify + when runs of this task begin or complete. The + default behavior is to not send any system + notifications. + required: + - task_key + description: >- + A list of task specifications to be executed by this + job. It supports up to 1000 elements in write endpoints + (:method:jobs/create, :method:jobs/reset, + :method:jobs/update, :method:jobs/submit). Read + endpoints return only 100 tasks. If more than 100 tasks + are available, you can paginate through them using + :method:jobs/get. Use the `next_page_token` field at the + object root to determine if more results are available. + timeout_seconds: + type: integer + description: >- + An optional timeout applied to each run of this job. A + value of `0` means no timeout. + trigger: + type: object + properties: + file_arrival: + type: object + properties: + url: + type: string + min_time_between_triggers_seconds: + type: integer + description: >- + If set, the trigger starts a run only after the + specified amount of time passed since the last + time the trigger fired. The minimum allowed + value is 60 seconds + wait_after_last_change_seconds: + type: integer + description: >- + If set, the trigger starts a run only after no + file activity has occurred for the specified + amount of time. This makes it possible to wait + for a batch of incoming files to arrive before + triggering a run. The minimum allowed value is + 60 seconds. + required: + - url + model: + type: object + properties: + condition: + type: string + x-enum: + - MODEL_ALIAS_SET + - MODEL_CREATED + - MODEL_VERSION_READY + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know how + many members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and + members can have their own + + attributes -- see the documentation for details. + aliases: + type: array + items: + type: string + description: >- + Aliases of the model versions to monitor. Can + only be used in conjunction with condition + MODEL_ALIAS_SET. + min_time_between_triggers_seconds: + type: integer + description: >- + If set, the trigger starts a run only after the + specified amount of time has passed since the + last time the trigger fired. The minimum allowed + value is 60 seconds. + securable_name: + type: string + description: >- + Name of the securable to monitor + ("mycatalog.myschema.mymodel" in the case of + model-level triggers, "mycatalog.myschema" in + the case of schema-level triggers) or empty in + the case of metastore-level triggers. + wait_after_last_change_seconds: + type: integer + description: >- + If set, the trigger starts a run only after no + model updates have occurred for the specified + time and can be used to wait for a series of + model updates before triggering a run. The + minimum allowed value is 60 seconds. + required: + - condition + pause_status: + type: string + x-enum: + - PAUSED + - UNPAUSED + description: Whether this trigger is paused or not. + periodic: + type: object + properties: + interval: + type: integer + unit: + type: string + x-enum: + - DAYS + - HOURS + - WEEKS + description: The unit of time for the interval. + required: + - interval + - unit + description: Periodic trigger settings. + table_update: + type: object + properties: + table_names: + type: array + items: + type: string + condition: + type: string + x-enum: + - ALL_UPDATED + - ANY_UPDATED + description: >- + The table(s) condition based on which to trigger + a job run. + min_time_between_triggers_seconds: + type: integer + description: >- + If set, the trigger starts a run only after the + specified amount of time has passed since the + last time the trigger fired. The minimum allowed + value is 60 seconds. + wait_after_last_change_seconds: + type: integer + description: >- + If set, the trigger starts a run only after no + table updates have occurred for the specified + time and can be used to wait for a series of + table updates before triggering a run. The + minimum allowed value is 60 seconds. + required: + - table_names + description: >- + A configuration to trigger a run when certain conditions + are met. The default behavior is that the job runs only + when triggered by clicking “Run Now” in the Jobs UI or + sending an API request to `runNow`. + usage_policy_id: + type: string + description: >- + The id of the user specified usage policy to use for + this job. If not specified, a default usage policy may + be applied when creating or modifying the job. See + `effective_usage_policy_id` for the usage policy used by + this workload. + webhook_notifications: + type: object + properties: + on_duration_warning_threshold_exceeded: + type: array + items: + type: object + properties: + id: + type: string + required: + - id + on_failure: + type: array + items: + type: object + properties: + id: + type: string + required: + - id + description: >- + An optional list of system notification IDs to call + when the run fails. A maximum of 3 destinations can + be specified for the `on_failure` property. + on_start: + type: array + items: + type: object + properties: + id: + type: string + required: + - id + description: >- + An optional list of system notification IDs to call + when the run starts. A maximum of 3 destinations can + be specified for the `on_start` property. + on_streaming_backlog_exceeded: + type: array + items: + type: object + properties: + id: + type: string + required: + - id + description: >- + An optional list of system notification IDs to call + when any streaming backlog thresholds are exceeded + for any stream. Streaming backlog thresholds can be + set in the `health` field using the following + metrics: `STREAMING_BACKLOG_BYTES`, + `STREAMING_BACKLOG_RECORDS`, + `STREAMING_BACKLOG_SECONDS`, or + `STREAMING_BACKLOG_FILES`. Alerting is based on the + 10-minute average of these metrics. If the issue + persists, notifications are resent every 30 minutes. + A maximum of 3 destinations can be specified for the + `on_streaming_backlog_exceeded` property. + on_success: + type: array + items: + type: object + properties: + id: + type: string + required: + - id + description: >- + An optional list of system notification IDs to call + when the run completes successfully. A maximum of 3 + destinations can be specified for the `on_success` + property. + description: >- + A collection of system notification IDs to notify when + runs of this job begin or complete. description: >- The new settings for the job. Top-level fields specified in `new_settings` are completely replaced, except for arrays @@ -2124,7 +11259,7 @@ paths: type: integer description: The ID of the job you want to enforce policy compliance on. validate_only: - type: string + type: boolean description: >- If set, previews changes made to the job to comply with its policy, but does not update the job. @@ -2238,7 +11373,7 @@ paths: in: query required: false schema: - type: string + type: integer description: >- Use this field to specify the maximum number of results to be returned by the server. The server may further constrain the maximum @@ -5787,20 +14922,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -5868,20 +15003,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -5954,20 +15089,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -6002,20 +15137,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -6140,20 +15275,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -6182,20 +15317,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -6239,20 +15374,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -6488,20 +15623,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -6531,20 +15666,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: diff --git a/providers/src/databricks_workspace/v00.00.00000/services/marketplace.yaml b/providers/src/databricks_workspace/v00.00.00000/services/marketplace.yaml index e4a65822..a51658e8 100644 --- a/providers/src/databricks_workspace/v00.00.00000/services/marketplace.yaml +++ b/providers/src/databricks_workspace/v00.00.00000/services/marketplace.yaml @@ -6,7 +6,7 @@ info: (workspace-level APIs), generated from the Databricks Python SDK. version: 0.1.0 x-stackql-sdk-version: 0.86.0 - x-stackql-date-generated: '2026-02-19' + x-stackql-date-generated: '2026-02-24' x-stackql-sdk-namespace: databricks.sdk.service.marketplace servers: - url: https://{deployment_name}.cloud.databricks.com @@ -41,7 +41,7 @@ paths: in: query required: false schema: - type: string + type: integer - name: page_token in: query required: false @@ -108,7 +108,7 @@ paths: in: query required: false schema: - type: string + type: integer - name: page_token in: query required: false @@ -167,7 +167,12 @@ paths: type: object properties: accepted_consumer_terms: - type: string + type: object + properties: + version: + type: string + required: + - version catalog_name: type: string description: >- @@ -175,8 +180,85 @@ paths: (optional) recipient_type: type: string + x-enum: + - DELTA_SHARING_RECIPIENT_TYPE_DATABRICKS + - DELTA_SHARING_RECIPIENT_TYPE_OPEN + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know how many members + they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members can have + their own + + attributes -- see the documentation for details. repo_detail: - type: string + type: object + properties: + repo_name: + type: string + repo_path: + type: string + description: >- + refers to the full url file path that navigates the user + to the repo's entrypoint (e.g. a README.md file, or the + repo file view in the unified UI) should just be a + relative path + required: + - repo_name + - repo_path description: for git repo installations share_name: type: string @@ -225,7 +307,7 @@ paths: in: query required: false schema: - type: string + type: integer - name: page_token in: query required: false @@ -345,10 +427,207 @@ paths: type: object properties: installation: - type: string + type: object + properties: + catalog_name: + type: string + error_message: + type: string + id: + type: string + installed_on: + type: integer + listing_id: + type: string + listing_name: + type: string + recipient_type: + type: string + x-enum: + - DELTA_SHARING_RECIPIENT_TYPE_DATABRICKS + - DELTA_SHARING_RECIPIENT_TYPE_OPEN + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know how many + members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members can + have their own + + attributes -- see the documentation for details. + repo_name: + type: string + repo_path: + type: string + share_name: + type: string + status: + type: string + x-enum: + - FAILED + - INSTALLED + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know how many + members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members can + have their own + + attributes -- see the documentation for details. + token_detail: + type: object + properties: + bearerToken: + type: string + endpoint: + type: string + expirationTime: + type: string + shareCredentialsVersion: + type: integer + description: >- + These field names must follow the delta sharing + protocol. Original message: RetrieveToken.Response + in managed-catalog/api/messages/recipient.proto + tokens: + type: array + items: + type: object + properties: + activation_url: + type: string + created_at: + type: integer + description: >- + Time at which this Recipient Token was created, in + epoch milliseconds. + created_by: + type: string + description: Username of Recipient Token creator. + expiration_time: + type: integer + description: >- + Expiration timestamp of the token in epoch + milliseconds. + id: + type: string + description: Unique id of the Recipient Token. + updated_at: + type: integer + description: >- + Time at which this Recipient Token was updated, in + epoch milliseconds. + updated_by: + type: string + description: Username of Recipient Token updater. description: ':param rotate_token: bool (optional)' rotate_token: - type: string + type: boolean required: - installation responses: @@ -389,7 +668,7 @@ paths: in: query required: false schema: - type: string + type: integer description: ':param page_token: str (optional)' - name: page_token in: query @@ -438,7 +717,9 @@ paths: in: query required: false schema: - type: string + type: array + items: + type: string description: ':returns: :class:`BatchGetListingsResponse`' responses: '200': @@ -542,37 +823,41 @@ paths: in: query required: false schema: - type: string + type: array + items: + $ref: '#/components/schemas/AssetType' description: Matches any of the following asset types - name: categories in: query required: false schema: - type: string + type: array + items: + $ref: '#/components/schemas/Category' description: Matches any of the following categories - name: is_free in: query required: false schema: - type: string + type: boolean description: Filters each listing based on if it is free. - name: is_private_exchange in: query required: false schema: - type: string + type: boolean description: Filters each listing based on if it is a private exchange. - name: is_staff_pick in: query required: false schema: - type: string + type: boolean description: Filters each listing based on whether it is a staff pick. - name: page_size in: query required: false schema: - type: string + type: integer description: ':param page_token: str (optional)' - name: page_token in: query @@ -583,13 +868,17 @@ paths: in: query required: false schema: - type: string + type: array + items: + type: string description: Matches any of the following provider ids - name: tags in: query required: false schema: - type: string + type: array + items: + $ref: '#/components/schemas/ListingTag' description: Matches any of the following tags responses: '200': @@ -656,30 +945,34 @@ paths: in: query required: false schema: - type: string + type: array + items: + $ref: '#/components/schemas/AssetType' description: Matches any of the following asset types - name: categories in: query required: false schema: - type: string + type: array + items: + $ref: '#/components/schemas/Category' description: Matches any of the following categories - name: is_free in: query required: false schema: - type: string + type: boolean description: ':param is_private_exchange: bool (optional)' - name: is_private_exchange in: query required: false schema: - type: string + type: boolean - name: page_size in: query required: false schema: - type: string + type: integer description: ':param page_token: str (optional)' - name: page_token in: query @@ -690,7 +983,9 @@ paths: in: query required: false schema: - type: string + type: array + items: + type: string description: Matches any of the following provider ids responses: '200': @@ -748,7 +1043,12 @@ paths: intended_use: type: string accepted_consumer_terms: - type: string + type: object + properties: + version: + type: string + required: + - version description: ':param comment: str (optional)' comment: type: string @@ -758,12 +1058,15 @@ paths: first_name: type: string is_from_lighthouse: - type: string + type: boolean description: ':param last_name: str (optional)' last_name: type: string recipient_type: type: string + x-enum: + - DELTA_SHARING_RECIPIENT_TYPE_DATABRICKS + - DELTA_SHARING_RECIPIENT_TYPE_OPEN description: ':returns: :class:`CreatePersonalizationRequestResponse`' required: - intended_use @@ -851,7 +1154,7 @@ paths: in: query required: false schema: - type: string + type: integer description: ':param page_token: str (optional)' - name: page_token in: query @@ -900,7 +1203,9 @@ paths: in: query required: false schema: - type: string + type: array + items: + type: string description: ':returns: :class:`BatchGetProvidersResponse`' responses: '200': @@ -992,13 +1297,13 @@ paths: in: query required: false schema: - type: string + type: boolean description: ':param page_size: int (optional)' - name: page_size in: query required: false schema: - type: string + type: integer - name: page_token in: query required: false @@ -1044,7 +1349,93 @@ paths: type: object properties: filter: - type: string + type: object + properties: + exchange_id: + type: string + filter_value: + type: string + filter_type: + type: string + x-enum: + - GLOBAL_METASTORE_ID + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know how many + members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members can + have their own + + attributes -- see the documentation for details. + created_at: + type: integer + created_by: + type: string + id: + type: string + name: + type: string + updated_at: + type: integer + updated_by: + type: string + required: + - exchange_id + - filter_value + - filter_type description: ':returns: :class:`CreateExchangeFilterResponse`' required: - filter @@ -1092,7 +1483,7 @@ paths: in: query required: false schema: - type: string + type: integer - name: page_token in: query required: false @@ -1178,7 +1569,93 @@ paths: type: object properties: filter: - type: string + type: object + properties: + exchange_id: + type: string + filter_value: + type: string + filter_type: + type: string + x-enum: + - GLOBAL_METASTORE_ID + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know how many + members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members can + have their own + + attributes -- see the documentation for details. + created_at: + type: integer + created_by: + type: string + id: + type: string + name: + type: string + updated_at: + type: integer + updated_by: + type: string + required: + - exchange_id + - filter_value + - filter_type required: - filter responses: @@ -1272,7 +1749,7 @@ paths: in: query required: false schema: - type: string + type: integer - name: page_token in: query required: false @@ -1318,7 +1795,134 @@ paths: type: object properties: exchange: - type: string + type: object + properties: + name: + type: string + comment: + type: string + created_at: + type: integer + created_by: + type: string + filters: + type: array + items: + type: object + properties: + exchange_id: + type: string + filter_value: + type: string + filter_type: + type: string + x-enum: + - GLOBAL_METASTORE_ID + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know how + many members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members + can have their own + + attributes -- see the documentation for details. + created_at: + type: integer + created_by: + type: string + id: + type: string + name: + type: string + updated_at: + type: integer + updated_by: + type: string + required: + - exchange_id + - filter_value + - filter_type + id: + type: string + linked_listings: + type: array + items: + type: object + properties: + created_at: + type: integer + created_by: + type: string + exchange_id: + type: string + exchange_name: + type: string + id: + type: string + listing_id: + type: string + listing_name: + type: string + updated_at: + type: integer + updated_by: + type: string + required: + - name description: ':returns: :class:`CreateExchangeResponse`' required: - exchange @@ -1359,7 +1963,7 @@ paths: in: query required: false schema: - type: string + type: integer description: ':param page_token: str (optional)' - name: page_token in: query @@ -1483,16 +2087,143 @@ paths: type: object properties: exchange: - type: string - required: - - exchange - responses: - '200': - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateExchangeResponse' + type: object + properties: + name: + type: string + comment: + type: string + created_at: + type: integer + created_by: + type: string + filters: + type: array + items: + type: object + properties: + exchange_id: + type: string + filter_value: + type: string + filter_type: + type: string + x-enum: + - GLOBAL_METASTORE_ID + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know how + many members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members + can have their own + + attributes -- see the documentation for details. + created_at: + type: integer + created_by: + type: string + id: + type: string + name: + type: string + updated_at: + type: integer + updated_by: + type: string + required: + - exchange_id + - filter_value + - filter_type + id: + type: string + linked_listings: + type: array + items: + type: object + properties: + created_at: + type: integer + created_by: + type: string + exchange_id: + type: string + exchange_name: + type: string + id: + type: string + listing_id: + type: string + listing_name: + type: string + updated_at: + type: integer + updated_by: + type: string + required: + - name + required: + - exchange + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateExchangeResponse' default: description: Error response content: @@ -1564,7 +2295,7 @@ paths: in: query required: false schema: - type: string + type: integer - name: page_token in: query required: false @@ -1621,10 +2352,146 @@ paths: type: object properties: file_parent: - type: string + type: object + properties: + file_parent_type: + type: string + x-enum: + - LISTING + - LISTING_RESOURCE + - PROVIDER + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know how many + members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members can + have their own + + attributes -- see the documentation for details. + parent_id: + type: string + description: TODO make the following fields required description: ':param marketplace_file_type: :class:`MarketplaceFileType`' marketplace_file_type: type: string + x-enum: + - APP + - EMBEDDED_NOTEBOOK + - PROVIDER_ICON + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know how many members + they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members can have + their own + + attributes -- see the documentation for details. mime_type: type: string description: ':param display_name: str (optional)' @@ -1672,13 +2539,13 @@ paths: in: query required: true schema: - type: string + $ref: '#/components/schemas/FileParent' description: ':param page_size: int (optional)' - name: page_size in: query required: false schema: - type: string + type: integer - name: page_token in: query required: false @@ -1714,209 +2581,2177 @@ paths: description: |- Delete a file - :param file_id: str - parameters: - - name: file_id - in: path - required: true - schema: - type: string - description: str - responses: - '200': - description: Success - default: - description: Error response - content: - application/json: - schema: - type: object - properties: - error: - type: string - message: - type: string - x-stackql-sdk-source: ProviderFilesAPI - get: - operationId: provider_files_get - summary: Get a file - tags: - - marketplace - - provider_files - description: |- - Get a file + :param file_id: str + parameters: + - name: file_id + in: path + required: true + schema: + type: string + description: str + responses: + '200': + description: Success + default: + description: Error response + content: + application/json: + schema: + type: object + properties: + error: + type: string + message: + type: string + x-stackql-sdk-source: ProviderFilesAPI + get: + operationId: provider_files_get + summary: Get a file + tags: + - marketplace + - provider_files + description: |- + Get a file + + :param file_id: str + + :returns: :class:`GetFileResponse` + parameters: + - name: file_id + in: path + required: true + schema: + type: string + description: ':returns: :class:`GetFileResponse`' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/GetFileResponse' + default: + description: Error response + content: + application/json: + schema: + type: object + properties: + error: + type: string + message: + type: string + x-stackql-sdk-source: ProviderFilesAPI + /api/2.0/marketplace-provider/listing: + post: + operationId: provider_listings_create + summary: Create a new listing + tags: + - marketplace + - provider_listings + description: |- + Create a new listing + + :param listing: :class:`Listing` + + :returns: :class:`CreateListingResponse` + requestBody: + content: + application/json: + schema: + type: object + properties: + listing: + type: object + properties: + summary: + type: object + properties: + name: + type: string + listingType: + type: string + x-enum: + - PERSONALIZED + - STANDARD + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know how many + members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members + can have their own + + attributes -- see the documentation for details. + categories: + type: array + items: + type: string + x-enum: + - ADVERTISING_AND_MARKETING + - CLIMATE_AND_ENVIRONMENT + - COMMERCE + - DEMOGRAPHICS + - ECONOMICS + - EDUCATION + - ENERGY + - FINANCIAL + - GAMING + - GEOSPATIAL + - HEALTH + - LOOKUP_TABLES + - MANUFACTURING + - MEDIA + - OTHER + - PUBLIC_SECTOR + - RETAIL + - SCIENCE_AND_RESEARCH + - SECURITY + - SPORTS + - TRANSPORTATION_AND_LOGISTICS + - TRAVEL_AND_TOURISM + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know how + many members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members + can have their own + + attributes -- see the documentation for details. + created_at: + type: integer + created_by: + type: string + created_by_id: + type: integer + exchange_ids: + type: array + items: + type: string + git_repo: + type: object + properties: + git_repo_url: + type: string + required: + - git_repo_url + description: >- + if a git repo is being created, a listing will be + initialized with this field as opposed to a share + provider_id: + type: string + provider_region: + type: object + properties: + cloud: + type: string + region: + type: string + published_at: + type: integer + published_by: + type: string + setting: + type: object + properties: + visibility: + type: string + x-enum: + - PRIVATE + - PUBLIC + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know how + many members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and + members can have their own + + attributes -- see the documentation for details. + share: + type: object + properties: + name: + type: string + type: + type: string + x-enum: + - FULL + - SAMPLE + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know how + many members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and + members can have their own + + attributes -- see the documentation for details. + required: + - name + - type + status: + type: string + x-enum: + - DRAFT + - PENDING + - PUBLISHED + - SUSPENDED + description: Enums + subtitle: + type: string + updated_at: + type: integer + updated_by: + type: string + updated_by_id: + type: integer + required: + - name + - listingType + detail: + type: object + properties: + assets: + type: array + items: + type: string + x-enum: + - ASSET_TYPE_APP + - ASSET_TYPE_DATA_TABLE + - ASSET_TYPE_GIT_REPO + - ASSET_TYPE_MCP + - ASSET_TYPE_MEDIA + - ASSET_TYPE_MODEL + - ASSET_TYPE_NOTEBOOK + - ASSET_TYPE_PARTNER_INTEGRATION + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know how + many members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members + can have their own + + attributes -- see the documentation for details. + collection_date_end: + type: integer + description: The ending date timestamp for when the data spans + collection_date_start: + type: integer + description: The starting date timestamp for when the data spans + collection_granularity: + type: object + properties: + interval: + type: integer + unit: + type: string + x-enum: + - DAILY + - HOURLY + - MINUTE + - MONTHLY + - NONE + - QUARTERLY + - SECOND + - WEEKLY + - YEARLY + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know how + many members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and + members can have their own + + attributes -- see the documentation for details. + required: + - interval + - unit + description: Smallest unit of time in the dataset + cost: + type: string + x-enum: + - FREE + - PAID + description: Whether the dataset is free or paid + data_source: + type: string + description: Where/how the data is sourced + description: + type: string + documentation_link: + type: string + embedded_notebook_file_infos: + type: array + items: + type: object + properties: + created_at: + type: integer + display_name: + type: string + description: >- + Name displayed to users for applicable files, + e.g. embedded notebooks + download_link: + type: string + file_parent: + type: object + properties: + file_parent_type: + type: string + x-enum: + - LISTING + - LISTING_RESOURCE + - PROVIDER + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and + know how many members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , + ] + + + Methods can be added to enumerations, and + members can have their own + + attributes -- see the documentation for + details. + parent_id: + type: string + description: TODO make the following fields required + id: + type: string + marketplace_file_type: + type: string + x-enum: + - APP + - EMBEDDED_NOTEBOOK + - PROVIDER_ICON + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know + how many members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , + ] + + + Methods can be added to enumerations, and + members can have their own + + attributes -- see the documentation for + details. + mime_type: + type: string + status: + type: string + x-enum: + - FILE_STATUS_PUBLISHED + - FILE_STATUS_SANITIZATION_FAILED + - FILE_STATUS_SANITIZING + - FILE_STATUS_STAGING + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know + how many members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , + ] + + + Methods can be added to enumerations, and + members can have their own + + attributes -- see the documentation for + details. + status_message: + type: string + description: >- + Populated if status is in a failed state with + more information on reason for the failure. + updated_at: + type: integer + file_ids: + type: array + items: + type: string + geographical_coverage: + type: string + description: Which geo region the listing data is collected from + license: + type: string + description: >- + ID 20, 21 removed don't use License of the data + asset - Required for listings with model based + assets + pricing_model: + type: string + description: >- + What the pricing model is (e.g. paid, subscription, + paid upfront); should only be present if cost is + paid TODO: Not used yet, should deprecate if we will + never use it + privacy_policy_link: + type: string + size: + type: number + description: size of the dataset in GB + support_link: + type: string + tags: + type: array + items: + type: object + properties: + tag_name: + type: string + x-enum: + - LISTING_TAG_TYPE_LANGUAGE + - LISTING_TAG_TYPE_TASK + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know + how many members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , + ] + + + Methods can be added to enumerations, and + members can have their own + + attributes -- see the documentation for + details. + tag_values: + type: array + items: + type: string + description: >- + String representation of the tag value. Values + should be string literals (no complex types) + description: >- + Listing tags - Simple key value pair to annotate + listings. When should I use tags vs dedicated + fields? Using tags avoids the need to add new + columns in the database for new annotations. + However, this should be used sparingly since tags + are stored as key value pair. Use tags only: 1. If + the field is optional and won't need to have NOT + NULL integrity check 2. The value is fairly fixed, + static and low cardinality (eg. enums). 3. The value + won't be used in filters or joins with other tables. + terms_of_service: + type: string + update_frequency: + type: object + properties: + interval: + type: integer + unit: + type: string + x-enum: + - DAILY + - HOURLY + - MINUTE + - MONTHLY + - NONE + - QUARTERLY + - SECOND + - WEEKLY + - YEARLY + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know how + many members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and + members can have their own + + attributes -- see the documentation for details. + required: + - interval + - unit + description: How often data is updated + id: + type: string + required: + - summary + description: ':returns: :class:`CreateListingResponse`' + required: + - listing + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/CreateListingResponse' + default: + description: Error response + content: + application/json: + schema: + type: object + properties: + error: + type: string + message: + type: string + x-stackql-sdk-source: ProviderListingsAPI + /api/2.0/marketplace-provider/listings/{id}: + delete: + operationId: provider_listings_delete + summary: Delete a listing + tags: + - marketplace + - provider_listings + description: |- + Delete a listing + + :param id: str + parameters: + - name: id + in: path + required: true + schema: + type: string + description: str + responses: + '200': + description: Success + default: + description: Error response + content: + application/json: + schema: + type: object + properties: + error: + type: string + message: + type: string + x-stackql-sdk-source: ProviderListingsAPI + get: + operationId: provider_listings_get + summary: Get a listing + tags: + - marketplace + - provider_listings + description: |- + Get a listing + + :param id: str + + :returns: :class:`GetListingResponse` + parameters: + - name: id + in: path + required: true + schema: + type: string + description: ':returns: :class:`GetListingResponse`' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/GetListingResponse' + default: + description: Error response + content: + application/json: + schema: + type: object + properties: + error: + type: string + message: + type: string + x-stackql-sdk-source: ProviderListingsAPI + put: + operationId: provider_listings_update + summary: Update a listing + tags: + - marketplace + - provider_listings + description: |- + Update a listing + + :param id: str + :param listing: :class:`Listing` + + :returns: :class:`UpdateListingResponse` + parameters: + - name: id + in: path + required: true + schema: + type: string + description: ':param listing: :class:`Listing`' + requestBody: + content: + application/json: + schema: + type: object + properties: + listing: + type: object + properties: + summary: + type: object + properties: + name: + type: string + listingType: + type: string + x-enum: + - PERSONALIZED + - STANDARD + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know how many + members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members + can have their own + + attributes -- see the documentation for details. + categories: + type: array + items: + type: string + x-enum: + - ADVERTISING_AND_MARKETING + - CLIMATE_AND_ENVIRONMENT + - COMMERCE + - DEMOGRAPHICS + - ECONOMICS + - EDUCATION + - ENERGY + - FINANCIAL + - GAMING + - GEOSPATIAL + - HEALTH + - LOOKUP_TABLES + - MANUFACTURING + - MEDIA + - OTHER + - PUBLIC_SECTOR + - RETAIL + - SCIENCE_AND_RESEARCH + - SECURITY + - SPORTS + - TRANSPORTATION_AND_LOGISTICS + - TRAVEL_AND_TOURISM + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know how + many members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members + can have their own + + attributes -- see the documentation for details. + created_at: + type: integer + created_by: + type: string + created_by_id: + type: integer + exchange_ids: + type: array + items: + type: string + git_repo: + type: object + properties: + git_repo_url: + type: string + required: + - git_repo_url + description: >- + if a git repo is being created, a listing will be + initialized with this field as opposed to a share + provider_id: + type: string + provider_region: + type: object + properties: + cloud: + type: string + region: + type: string + published_at: + type: integer + published_by: + type: string + setting: + type: object + properties: + visibility: + type: string + x-enum: + - PRIVATE + - PUBLIC + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know how + many members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and + members can have their own + + attributes -- see the documentation for details. + share: + type: object + properties: + name: + type: string + type: + type: string + x-enum: + - FULL + - SAMPLE + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know how + many members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and + members can have their own + + attributes -- see the documentation for details. + required: + - name + - type + status: + type: string + x-enum: + - DRAFT + - PENDING + - PUBLISHED + - SUSPENDED + description: Enums + subtitle: + type: string + updated_at: + type: integer + updated_by: + type: string + updated_by_id: + type: integer + required: + - name + - listingType + detail: + type: object + properties: + assets: + type: array + items: + type: string + x-enum: + - ASSET_TYPE_APP + - ASSET_TYPE_DATA_TABLE + - ASSET_TYPE_GIT_REPO + - ASSET_TYPE_MCP + - ASSET_TYPE_MEDIA + - ASSET_TYPE_MODEL + - ASSET_TYPE_NOTEBOOK + - ASSET_TYPE_PARTNER_INTEGRATION + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know how + many members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members + can have their own + + attributes -- see the documentation for details. + collection_date_end: + type: integer + description: The ending date timestamp for when the data spans + collection_date_start: + type: integer + description: The starting date timestamp for when the data spans + collection_granularity: + type: object + properties: + interval: + type: integer + unit: + type: string + x-enum: + - DAILY + - HOURLY + - MINUTE + - MONTHLY + - NONE + - QUARTERLY + - SECOND + - WEEKLY + - YEARLY + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know how + many members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and + members can have their own + + attributes -- see the documentation for details. + required: + - interval + - unit + description: Smallest unit of time in the dataset + cost: + type: string + x-enum: + - FREE + - PAID + description: Whether the dataset is free or paid + data_source: + type: string + description: Where/how the data is sourced + description: + type: string + documentation_link: + type: string + embedded_notebook_file_infos: + type: array + items: + type: object + properties: + created_at: + type: integer + display_name: + type: string + description: >- + Name displayed to users for applicable files, + e.g. embedded notebooks + download_link: + type: string + file_parent: + type: object + properties: + file_parent_type: + type: string + x-enum: + - LISTING + - LISTING_RESOURCE + - PROVIDER + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and + know how many members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , + ] + + + Methods can be added to enumerations, and + members can have their own + + attributes -- see the documentation for + details. + parent_id: + type: string + description: TODO make the following fields required + id: + type: string + marketplace_file_type: + type: string + x-enum: + - APP + - EMBEDDED_NOTEBOOK + - PROVIDER_ICON + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know + how many members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , + ] + + + Methods can be added to enumerations, and + members can have their own + + attributes -- see the documentation for + details. + mime_type: + type: string + status: + type: string + x-enum: + - FILE_STATUS_PUBLISHED + - FILE_STATUS_SANITIZATION_FAILED + - FILE_STATUS_SANITIZING + - FILE_STATUS_STAGING + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know + how many members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , + ] + + + Methods can be added to enumerations, and + members can have their own + + attributes -- see the documentation for + details. + status_message: + type: string + description: >- + Populated if status is in a failed state with + more information on reason for the failure. + updated_at: + type: integer + file_ids: + type: array + items: + type: string + geographical_coverage: + type: string + description: Which geo region the listing data is collected from + license: + type: string + description: >- + ID 20, 21 removed don't use License of the data + asset - Required for listings with model based + assets + pricing_model: + type: string + description: >- + What the pricing model is (e.g. paid, subscription, + paid upfront); should only be present if cost is + paid TODO: Not used yet, should deprecate if we will + never use it + privacy_policy_link: + type: string + size: + type: number + description: size of the dataset in GB + support_link: + type: string + tags: + type: array + items: + type: object + properties: + tag_name: + type: string + x-enum: + - LISTING_TAG_TYPE_LANGUAGE + - LISTING_TAG_TYPE_TASK + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know + how many members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , + ] + + + Methods can be added to enumerations, and + members can have their own + + attributes -- see the documentation for + details. + tag_values: + type: array + items: + type: string + description: >- + String representation of the tag value. Values + should be string literals (no complex types) + description: >- + Listing tags - Simple key value pair to annotate + listings. When should I use tags vs dedicated + fields? Using tags avoids the need to add new + columns in the database for new annotations. + However, this should be used sparingly since tags + are stored as key value pair. Use tags only: 1. If + the field is optional and won't need to have NOT + NULL integrity check 2. The value is fairly fixed, + static and low cardinality (eg. enums). 3. The value + won't be used in filters or joins with other tables. + terms_of_service: + type: string + update_frequency: + type: object + properties: + interval: + type: integer + unit: + type: string + x-enum: + - DAILY + - HOURLY + - MINUTE + - MONTHLY + - NONE + - QUARTERLY + - SECOND + - WEEKLY + - YEARLY + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 - :param file_id: str + ... GREEN = 3 - :returns: :class:`GetFileResponse` - parameters: - - name: file_id - in: path - required: true - schema: - type: string - description: ':returns: :class:`GetFileResponse`' - responses: - '200': - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/GetFileResponse' - default: - description: Error response - content: - application/json: - schema: - type: object - properties: - error: - type: string - message: - type: string - x-stackql-sdk-source: ProviderFilesAPI - /api/2.0/marketplace-provider/listing: - post: - operationId: provider_listings_create - summary: Create a new listing - tags: - - marketplace - - provider_listings - description: |- - Create a new listing - :param listing: :class:`Listing` + Access them by: - :returns: :class:`CreateListingResponse` - requestBody: - content: - application/json: - schema: - type: object - properties: - listing: - type: string - description: ':returns: :class:`CreateListingResponse`' - required: - - listing - responses: - '200': - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/CreateListingResponse' - default: - description: Error response - content: - application/json: - schema: - type: object - properties: - error: - type: string - message: - type: string - x-stackql-sdk-source: ProviderListingsAPI - /api/2.0/marketplace-provider/listings/{id}: - delete: - operationId: provider_listings_delete - summary: Delete a listing - tags: - - marketplace - - provider_listings - description: |- - Delete a listing - :param id: str - parameters: - - name: id - in: path - required: true - schema: - type: string - description: str - responses: - '200': - description: Success - default: - description: Error response - content: - application/json: - schema: - type: object - properties: - error: - type: string - message: - type: string - x-stackql-sdk-source: ProviderListingsAPI - get: - operationId: provider_listings_get - summary: Get a listing - tags: - - marketplace - - provider_listings - description: |- - Get a listing + - attribute access:: - :param id: str - :returns: :class:`GetListingResponse` - parameters: - - name: id - in: path - required: true - schema: - type: string - description: ':returns: :class:`GetListingResponse`' - responses: - '200': - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/GetListingResponse' - default: - description: Error response - content: - application/json: - schema: - type: object - properties: - error: - type: string - message: - type: string - x-stackql-sdk-source: ProviderListingsAPI - put: - operationId: provider_listings_update - summary: Update a listing - tags: - - marketplace - - provider_listings - description: |- - Update a listing + >>> Color.RED - :param id: str - :param listing: :class:`Listing` + - :returns: :class:`UpdateListingResponse` - parameters: - - name: id - in: path - required: true - schema: - type: string - description: ':param listing: :class:`Listing`' - requestBody: - content: - application/json: - schema: - type: object - properties: - listing: - type: string + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know how + many members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and + members can have their own + + attributes -- see the documentation for details. + required: + - interval + - unit + description: How often data is updated + id: + type: string + required: + - summary required: - listing responses: @@ -1957,7 +4792,7 @@ paths: in: query required: false schema: - type: string + type: integer description: ':param page_token: str (optional)' - name: page_token in: query @@ -2010,7 +4845,7 @@ paths: in: query required: false schema: - type: string + type: integer description: ':param page_token: str (optional)' - name: page_token in: query @@ -2082,11 +4917,88 @@ paths: properties: status: type: string + x-enum: + - DENIED + - FULFILLED + - NEW + - REQUEST_PENDING description: ':param reason: str (optional)' reason: type: string share: - type: string + type: object + properties: + name: + type: string + type: + type: string + x-enum: + - FULL + - SAMPLE + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know how many + members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members can + have their own + + attributes -- see the documentation for details. + required: + - name + - type description: ':returns: :class:`UpdatePersonalizationRequestResponse`' required: - status @@ -2239,7 +5151,7 @@ paths: type: object properties: version: - type: string + type: integer description: >- this is the version of the dashboard template we want to update our user to current expectation is that it should be @@ -2283,7 +5195,45 @@ paths: type: object properties: provider: - type: string + type: object + properties: + name: + type: string + business_contact_email: + type: string + term_of_service_link: + type: string + privacy_policy_link: + type: string + company_website_link: + type: string + dark_mode_icon_file_id: + type: string + dark_mode_icon_file_path: + type: string + description: + type: string + icon_file_id: + type: string + icon_file_path: + type: string + id: + type: string + is_featured: + type: boolean + description: is_featured is accessible by consumers only + published_by: + type: string + description: >- + published_by is only applicable to data aggregators + (e.g. Crux) + support_contact_email: + type: string + required: + - name + - business_contact_email + - term_of_service_link + - privacy_policy_link description: ':returns: :class:`CreateProviderResponse`' required: - provider @@ -2404,7 +5354,45 @@ paths: type: object properties: provider: - type: string + type: object + properties: + name: + type: string + business_contact_email: + type: string + term_of_service_link: + type: string + privacy_policy_link: + type: string + company_website_link: + type: string + dark_mode_icon_file_id: + type: string + dark_mode_icon_file_path: + type: string + description: + type: string + icon_file_id: + type: string + icon_file_path: + type: string + id: + type: string + is_featured: + type: boolean + description: is_featured is accessible by consumers only + published_by: + type: string + description: >- + published_by is only applicable to data aggregators + (e.g. Crux) + support_contact_email: + type: string + required: + - name + - business_contact_email + - term_of_service_link + - privacy_policy_link required: - provider responses: @@ -2445,7 +5433,7 @@ paths: in: query required: false schema: - type: string + type: integer description: ':param page_token: str (optional)' - name: page_token in: query @@ -3296,20 +6284,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -3358,20 +6346,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -3400,20 +6388,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -3449,20 +6437,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -3491,20 +6479,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -3532,20 +6520,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -3575,20 +6563,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -3619,20 +6607,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -3661,20 +6649,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -3703,20 +6691,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -3745,20 +6733,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -3795,20 +6783,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -3837,20 +6825,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -3880,20 +6868,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -3924,20 +6912,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -3966,20 +6954,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: diff --git a/providers/src/databricks_workspace/v00.00.00000/services/ml.yaml b/providers/src/databricks_workspace/v00.00.00000/services/ml.yaml index 767a987d..bd6d4d24 100644 --- a/providers/src/databricks_workspace/v00.00.00000/services/ml.yaml +++ b/providers/src/databricks_workspace/v00.00.00000/services/ml.yaml @@ -6,7 +6,7 @@ info: generated from the Databricks Python SDK. version: 0.1.0 x-stackql-sdk-version: 0.86.0 - x-stackql-date-generated: '2026-02-19' + x-stackql-date-generated: '2026-02-24' x-stackql-sdk-namespace: databricks.sdk.service.ml servers: - url: https://{deployment_name}.cloud.databricks.com @@ -66,7 +66,17 @@ paths: If not provided, the remote server will select an appropriate default. tags: - type: string + type: array + items: + type: object + properties: + key: + type: string + description: The tag key. + value: + type: string + description: The tag value. + description: A tag for an experiment. description: >- A collection of tags to set on the experiment. Maximum tag size and number of tags per request depends on the storage @@ -139,13 +149,33 @@ paths: The name of the model (optional). If not specified one will be generated. params: - type: string + type: array + items: + type: object + properties: + key: + type: string + description: The key identifying this param. + value: + type: string + description: The value of this param. + description: Parameter associated with a LoggedModel. description: Parameters attached to the model. source_run_id: type: string description: The ID of the run that created the model. tags: - type: string + type: array + items: + type: object + properties: + key: + type: string + description: The tag key. + value: + type: string + description: The tag value. + description: Tag for a LoggedModel. description: Tags attached to the model. required: - experiment_id @@ -213,10 +243,20 @@ paths: type: string description: The name of the run. start_time: - type: string + type: integer description: Unix timestamp in milliseconds of when the run started. tags: - type: string + type: array + items: + type: object + properties: + key: + type: string + description: The tag key. + value: + type: string + description: The tag value. + description: Tag for a run. description: Additional metadata for run. user_id: type: string @@ -353,6 +393,10 @@ paths: properties: status: type: string + x-enum: + - LOGGED_MODEL_PENDING + - LOGGED_MODEL_READY + - LOGGED_MODEL_UPLOAD_FAILED description: >- Whether or not the model is ready for use. ``"LOGGED_MODEL_UPLOAD_FAILED"`` indicates that something @@ -542,7 +586,7 @@ paths: UNIX epoch for deleting runs. Only runs created prior to or at this timestamp are deleted. max_runs: - type: string + type: integer description: >- An optional positive integer indicating the maximum number of runs to delete. The maximum allowed value for max_runs is @@ -756,7 +800,7 @@ paths: in: query required: false schema: - type: string + type: integer description: >- Maximum number of Metric records to return per paginated request. Default is set to 25,000. If set higher than 25,000, a request @@ -922,7 +966,25 @@ paths: type: object properties: access_control_list: - type: string + type: array + items: + type: object + properties: + group_name: + type: string + permission_level: + type: string + x-enum: + - CAN_EDIT + - CAN_MANAGE + - CAN_READ + description: Permission level + service_principal_name: + type: string + description: application ID of a service principal + user_name: + type: string + description: name of the user description: ':returns: :class:`ExperimentPermissions`' responses: '200': @@ -977,7 +1039,25 @@ paths: type: object properties: access_control_list: - type: string + type: array + items: + type: object + properties: + group_name: + type: string + permission_level: + type: string + x-enum: + - CAN_EDIT + - CAN_MANAGE + - CAN_READ + description: Permission level + service_principal_name: + type: string + description: application ID of a service principal + user_name: + type: string + description: name of the user description: ':returns: :class:`ExperimentPermissions`' responses: '200': @@ -1178,7 +1258,7 @@ paths: in: query required: false schema: - type: string + type: integer description: >- Maximum number of experiments desired. If `max_results` is unspecified, return all experiments. If `max_results` is too large, @@ -1195,7 +1275,7 @@ paths: in: query required: false schema: - type: string + $ref: '#/components/schemas/ViewType' description: >- Qualifier for type of experiments to be returned. If unspecified, return only active experiments. @@ -1325,12 +1405,60 @@ paths: type: object properties: metrics: - type: string + type: array + items: + type: object + properties: + dataset_digest: + type: string + description: >- + The dataset digest of the dataset associated with the + metric, e.g. an md5 hash of the dataset that uniquely + identifies it within datasets of the same name. + dataset_name: + type: string + description: >- + The name of the dataset associated with the metric. + E.g. “my.uc.table@2” “nyc-taxi-dataset”, + “fantastic-elk-3” + key: + type: string + description: The key identifying the metric. + model_id: + type: string + description: >- + The ID of the logged model or registered model version + associated with the metric, if applicable. + run_id: + type: string + description: The ID of the run containing the metric. + step: + type: integer + description: The step at which the metric was logged. + timestamp: + type: integer + description: The timestamp at which the metric was recorded. + value: + type: number + description: The value of the metric. + description: >- + Metric associated with a run, represented as a key-value + pair. description: >- Metrics to log. A single request can contain up to 1000 metrics, and up to 1000 metrics, params, and tags in total. params: - type: string + type: array + items: + type: object + properties: + key: + type: string + description: Key identifying this param. + value: + type: string + description: Value associated with this param. + description: Param associated with a run. description: >- Params to log. A single request can contain up to 100 params, and up to 1000 metrics, params, and tags in total. @@ -1338,7 +1466,17 @@ paths: type: string description: ID of the run to log under tags: - type: string + type: array + items: + type: object + properties: + key: + type: string + description: The tag key. + value: + type: string + description: The tag value. + description: Tag for a run. description: >- Tags to log. A single request can contain up to 100 tags, and up to 1000 metrics, params, and tags in total. @@ -1383,10 +1521,89 @@ paths: type: string description: ID of the run to log under datasets: - type: string + type: array + items: + type: object + properties: + dataset: + type: object + properties: + name: + type: string + description: >- + The name of the dataset. E.g. “my.uc.table@2” + “nyc-taxi-dataset”, “fantastic-elk-3” + digest: + type: string + description: >- + Dataset digest, e.g. an md5 hash of the dataset + that uniquely identifies it within datasets of the + same name. + source_type: + type: string + description: >- + The type of the dataset source, e.g. + ‘databricks-uc-table’, ‘DBFS’, ‘S3’, ... + source: + type: string + description: >- + Source information for the dataset. Note that the + source may not exactly reproduce the dataset if it + was transformed / modified before use with MLflow. + profile: + type: string + description: >- + The profile of the dataset. Summary statistics for + the dataset, such as the number of rows in a + table, the mean / std / mode of each column in a + table, or the number of elements in an array. + schema: + type: string + description: >- + The schema of the dataset. E.g., MLflow ColSpec + JSON for a dataframe, MLflow TensorSpec JSON for + an ndarray, or another schema format. + required: + - name + - digest + - source_type + - source + description: The dataset being used as a Run input. + tags: + type: array + items: + type: object + properties: + key: + type: string + description: The tag key. + value: + type: string + description: The tag value. + required: + - key + - value + description: Tag for a dataset input. + description: >- + A list of tags for the dataset input, e.g. a “context” + tag with value “training” + required: + - dataset + description: DatasetInput. Represents a dataset and input tags. description: Dataset inputs models: - type: string + type: array + items: + type: object + properties: + model_id: + type: string + description: The unique identifier of the model. + required: + - model_id + description: >- + Represents a LoggedModel or Registered Model Version input + to a Run. description: Model inputs required: - run_id @@ -1443,7 +1660,17 @@ paths: type: object properties: params: - type: string + type: array + items: + type: object + properties: + key: + type: string + description: The key identifying this param. + value: + type: string + description: The value of this param. + description: Parameter associated with a LoggedModel. description: Parameters to attach to the model. responses: '200': @@ -1545,7 +1772,7 @@ paths: to log the metric. This field will be removed in a future MLflow version. step: - type: string + type: integer description: Step at which to log the metric required: - key @@ -1640,7 +1867,20 @@ paths: type: string description: The ID of the Run from which to log outputs. models: - type: string + type: array + items: + type: object + properties: + model_id: + type: string + description: The unique identifier of the model. + step: + type: integer + description: The step at which the model was produced. + required: + - model_id + - step + description: Represents a LoggedModel output of a Run. description: The model outputs from the Run. required: - run_id @@ -1872,7 +2112,7 @@ paths: UNIX epoch for restoring runs. Only runs deleted no earlier than this timestamp are restored. max_runs: - type: string + type: integer description: >- An optional positive integer indicating the maximum number of runs to restore. The maximum allowed value for max_runs @@ -1935,12 +2175,14 @@ paths: String representing a SQL filter condition (e.g. "name ILIKE 'my-experiment%'") max_results: - type: string + type: integer description: >- Maximum number of experiments desired. Max threshold is 3000. order_by: - type: string + type: array + items: + type: string description: >- List of columns for ordering search results, which can include experiment name and last updated timestamp with an @@ -1951,6 +2193,10 @@ paths: description: Token indicating the page of experiments to fetch view_type: type: string + x-enum: + - ACTIVE_ONLY + - ALL + - DELETED_ONLY description: >- Qualifier for type of experiments to be returned. If unspecified, return only active experiments. @@ -2011,7 +2257,17 @@ paths: type: object properties: datasets: - type: string + type: array + items: + type: object + properties: + dataset_name: + type: string + dataset_digest: + type: string + description: The digest of the dataset. + required: + - dataset_name description: >- List of datasets on which to apply the metrics filter clauses. For example, a filter with `metrics.accuracy > 0.9` @@ -2021,7 +2277,9 @@ paths: criteria are considered. If no datasets are specified, then metrics across all datasets are considered in the filter. experiment_ids: - type: string + type: array + items: + type: string description: >- The IDs of the experiments in which to search for logged models. @@ -2034,12 +2292,40 @@ paths: operations. Example: ``params.alpha < 0.3 AND metrics.accuracy > 0.9``. max_results: - type: string + type: integer description: >- The maximum number of Logged Models to return. The maximum limit is 50. order_by: - type: string + type: array + items: + type: object + properties: + field_name: + type: string + ascending: + type: boolean + description: Whether the search results order is ascending or not. + dataset_digest: + type: string + description: >- + If ``field_name`` refers to a metric, this field + specifies the digest of the dataset associated with + the metric. Only metrics associated with the specified + dataset name and digest will be considered for + ordering. This field may only be set if + ``dataset_name`` is also set. + dataset_name: + type: string + description: >- + If ``field_name`` refers to a metric, this field + specifies the name of the dataset associated with the + metric. Only metrics associated with the specified + dataset name will be considered for ordering. This + field may only be set if ``field_name`` refers to a + metric. + required: + - field_name description: >- The list of columns for ordering the results, with additional fields for sorting criteria. @@ -2111,7 +2397,9 @@ paths: type: object properties: experiment_ids: - type: string + type: array + items: + type: string description: List of experiment IDs to search over. filter: type: string @@ -2127,10 +2415,12 @@ paths: tags."user-name" = 'Tomas'` Supported operators are `=`, `!=`, `>`, `>=`, `<`, and `<=`. max_results: - type: string + type: integer description: Maximum number of runs desired. Max threshold is 50000 order_by: - type: string + type: array + items: + type: string description: >- List of columns to be ordered by, including attributes, params, metrics, and tags with an optional `"DESC"` or @@ -2145,6 +2435,10 @@ paths: description: Token for the current page of runs. run_view_type: type: string + x-enum: + - ACTIVE_ONLY + - ALL + - DELETED_ONLY description: >- Whether to display only active, only deleted, or all runs. Defaults to only active runs. @@ -2253,7 +2547,17 @@ paths: type: object properties: tags: - type: string + type: array + items: + type: object + properties: + key: + type: string + description: The tag key. + value: + type: string + description: The tag value. + description: Tag for a LoggedModel. description: The tags to set on the logged model. responses: '200': @@ -2409,7 +2713,7 @@ paths: type: object properties: end_time: - type: string + type: integer description: Unix timestamp in milliseconds of when the run ended. run_id: type: string @@ -2424,6 +2728,12 @@ paths: This field will be removed in a future MLflow version. status: type: string + x-enum: + - FAILED + - FINISHED + - KILLED + - RUNNING + - SCHEDULED description: Updated status of the run. responses: '200': @@ -2465,7 +2775,101 @@ paths: type: object properties: requests: - type: string + type: array + items: + type: object + properties: + materialized_feature: + type: object + properties: + feature_name: + type: string + description: The full name of the feature in Unity Catalog. + cron_schedule: + type: string + description: >- + The quartz cron expression that defines the + schedule of the materialization pipeline. The + schedule is evaluated in the UTC timezone. + last_materialization_time: + type: string + description: >- + The timestamp when the pipeline last ran and + updated the materialized feature values. If the + pipeline has not run yet, this field will be null. + materialized_feature_id: + type: string + description: Unique identifier for the materialized feature. + offline_store_config: + type: object + properties: + catalog_name: + type: string + description: The Unity Catalog catalog name. + schema_name: + type: string + description: The Unity Catalog schema name. + table_name_prefix: + type: string + description: >- + Prefix for Unity Catalog table name. The + materialized feature will be stored in a table + with this prefix and a generated postfix. + required: + - catalog_name + - schema_name + - table_name_prefix + description: Configuration for offline store destination. + online_store_config: + type: object + properties: + catalog_name: + type: string + description: >- + The Unity Catalog catalog name. This name is + also used as the Lakebase logical database + name. + schema_name: + type: string + description: The Unity Catalog schema name. + table_name_prefix: + type: string + description: >- + Prefix for Unity Catalog table name. The + materialized feature will be stored in a + Lakebase table with this prefix and a + generated postfix. + online_store_name: + type: string + description: The name of the target online store. + required: + - catalog_name + - schema_name + - table_name_prefix + - online_store_name + description: Configuration for online store destination. + pipeline_schedule_state: + type: string + x-enum: + - ACTIVE + - PAUSED + - SNAPSHOT + description: >- + The schedule state of the materialization + pipeline. + table_name: + type: string + description: >- + The fully qualified Unity Catalog path to the + table containing the materialized feature (Delta + table or Lakebase table). Output only. + required: + - feature_name + description: >- + A materialized feature represents a feature that is + continuously computed and stored. + required: + - materialized_feature description: The requests to create materialized features. required: - requests @@ -2509,7 +2913,238 @@ paths: type: object properties: feature: - type: string + type: object + properties: + full_name: + type: string + source: + type: object + properties: + delta_table_source: + type: object + properties: + full_name: + type: string + entity_columns: + type: array + items: + type: string + description: The entity columns of the Delta table. + timeseries_column: + type: string + description: The timeseries column of the Delta table. + required: + - full_name + - entity_columns + - timeseries_column + kafka_source: + type: object + properties: + name: + type: string + entity_column_identifiers: + type: array + items: + type: object + properties: + variant_expr_path: + type: string + required: + - variant_expr_path + description: >- + The entity column identifiers of the Kafka + source. + timeseries_column_identifier: + type: object + properties: + variant_expr_path: + type: string + required: + - variant_expr_path + description: >- + The timeseries column identifier of the Kafka + source. + required: + - name + - entity_column_identifiers + - timeseries_column_identifier + description: The data source of the feature. + inputs: + type: array + items: + type: string + description: The input columns from which the feature is computed. + function: + type: object + properties: + function_type: + type: string + x-enum: + - APPROX_COUNT_DISTINCT + - APPROX_PERCENTILE + - AVG + - COUNT + - FIRST + - LAST + - MAX + - MIN + - STDDEV_POP + - STDDEV_SAMP + - SUM + - VAR_POP + - VAR_SAMP + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know how many + members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members + can have their own + + attributes -- see the documentation for details. + extra_parameters: + type: array + items: + type: object + properties: + key: + type: string + value: + type: string + description: The value of the parameter. + required: + - key + - value + description: Extra parameters for parameterized functions. + required: + - function_type + description: The function by which the feature is computed. + description: + type: string + description: The description of the feature. + filter_condition: + type: string + description: >- + The filter condition applied to the source data before + aggregation. + lineage_context: + type: object + properties: + job_context: + type: object + properties: + job_id: + type: integer + job_run_id: + type: integer + description: The job run ID where this API was invoked. + description: Job context information including job ID and run ID. + notebook_id: + type: integer + description: The notebook ID where this API was invoked. + description: >- + WARNING: This field is primarily intended for internal + use by Databricks systems and is automatically populated + when features are created through Databricks notebooks + or jobs. Users should not manually set this field as + incorrect values may lead to inaccurate lineage tracking + or unexpected behavior. This field will be set by + feature-engineering client and should be left unset by + SDK and terraform users. + time_window: + type: object + properties: + continuous: + type: object + properties: + window_duration: + type: string + offset: + type: string + description: >- + The offset of the continuous window (must be + non-positive). + required: + - window_duration + sliding: + type: object + properties: + window_duration: + type: string + slide_duration: + type: string + description: >- + The slide duration (interval by which windows + advance, must be positive and less than + duration). + required: + - window_duration + - slide_duration + tumbling: + type: object + properties: + window_duration: + type: string + required: + - window_duration + description: The time window in which the feature is computed. + required: + - full_name + - source + - inputs + - function description: Feature to create. required: - feature @@ -2552,7 +3187,7 @@ paths: in: query required: false schema: - type: string + type: integer description: The maximum number of results to return. - name: page_token in: query @@ -2607,7 +3242,96 @@ paths: type: object properties: kafka_config: - type: string + type: object + properties: + name: + type: string + bootstrap_servers: + type: string + description: >- + A comma-separated list of host/port pairs pointing to + Kafka cluster. + subscription_mode: + type: object + properties: + assign: + type: string + subscribe: + type: string + description: >- + A comma-separated list of Kafka topics to read from. + For example, 'topicA,topicB,topicC'. + subscribe_pattern: + type: string + description: >- + A regular expression matching topics to subscribe + to. For example, 'topic.*' will subscribe to all + topics starting with 'topic'. + description: >- + Options to configure which Kafka topics to pull data + from. + auth_config: + type: object + properties: + uc_service_credential_name: + type: string + description: Authentication configuration for connection to topics. + backfill_source: + type: object + properties: + delta_table_source: + type: object + properties: + full_name: + type: string + entity_columns: + type: array + items: + type: string + description: The entity columns of the Delta table. + timeseries_column: + type: string + description: The timeseries column of the Delta table. + required: + - full_name + - entity_columns + - timeseries_column + description: >- + A user-provided and managed source for backfilling data. + Historical data is used when creating a training set + from streaming features linked to this Kafka config. In + the future, a separate table will be maintained by + Databricks for forward filling data. The schema for this + source must match exactly that of the key and value + schemas specified for this Kafka config. + extra_options: + type: object + description: >- + Catch-all for miscellaneous options. Keys should be + source options or Kafka consumer options (kafka.*) + key_schema: + type: object + properties: + json_schema: + type: string + description: >- + Schema configuration for extracting message keys from + topics. At least one of key_schema and value_schema must + be provided. + value_schema: + type: object + properties: + json_schema: + type: string + description: >- + Schema configuration for extracting message values from + topics. At least one of key_schema and value_schema must + be provided. + required: + - name + - bootstrap_servers + - subscription_mode + - auth_config description: ':returns: :class:`KafkaConfig`' required: - kafka_config @@ -2656,7 +3380,7 @@ paths: in: query required: false schema: - type: string + type: integer description: The maximum number of results to return. - name: page_token in: query @@ -2704,7 +3428,87 @@ paths: type: object properties: materialized_feature: - type: string + type: object + properties: + feature_name: + type: string + description: The full name of the feature in Unity Catalog. + cron_schedule: + type: string + description: >- + The quartz cron expression that defines the schedule of + the materialization pipeline. The schedule is evaluated + in the UTC timezone. + last_materialization_time: + type: string + description: >- + The timestamp when the pipeline last ran and updated the + materialized feature values. If the pipeline has not run + yet, this field will be null. + materialized_feature_id: + type: string + description: Unique identifier for the materialized feature. + offline_store_config: + type: object + properties: + catalog_name: + type: string + description: The Unity Catalog catalog name. + schema_name: + type: string + description: The Unity Catalog schema name. + table_name_prefix: + type: string + description: >- + Prefix for Unity Catalog table name. The + materialized feature will be stored in a table with + this prefix and a generated postfix. + required: + - catalog_name + - schema_name + - table_name_prefix + description: Configuration for offline store destination. + online_store_config: + type: object + properties: + catalog_name: + type: string + description: >- + The Unity Catalog catalog name. This name is also + used as the Lakebase logical database name. + schema_name: + type: string + description: The Unity Catalog schema name. + table_name_prefix: + type: string + description: >- + Prefix for Unity Catalog table name. The + materialized feature will be stored in a Lakebase + table with this prefix and a generated postfix. + online_store_name: + type: string + description: The name of the target online store. + required: + - catalog_name + - schema_name + - table_name_prefix + - online_store_name + description: Configuration for online store destination. + pipeline_schedule_state: + type: string + x-enum: + - ACTIVE + - PAUSED + - SNAPSHOT + description: The schedule state of the materialization pipeline. + table_name: + type: string + description: >- + The fully qualified Unity Catalog path to the table + containing the materialized feature (Delta table or + Lakebase table). Output only. + required: + - feature_name description: The materialized feature to create. required: - materialized_feature @@ -2759,7 +3563,7 @@ paths: in: query required: false schema: - type: string + type: integer description: >- The maximum number of results to return. Defaults to 100 if not specified. Cannot be greater than 1000. @@ -2898,7 +3702,238 @@ paths: type: object properties: feature: - type: string + type: object + properties: + full_name: + type: string + source: + type: object + properties: + delta_table_source: + type: object + properties: + full_name: + type: string + entity_columns: + type: array + items: + type: string + description: The entity columns of the Delta table. + timeseries_column: + type: string + description: The timeseries column of the Delta table. + required: + - full_name + - entity_columns + - timeseries_column + kafka_source: + type: object + properties: + name: + type: string + entity_column_identifiers: + type: array + items: + type: object + properties: + variant_expr_path: + type: string + required: + - variant_expr_path + description: >- + The entity column identifiers of the Kafka + source. + timeseries_column_identifier: + type: object + properties: + variant_expr_path: + type: string + required: + - variant_expr_path + description: >- + The timeseries column identifier of the Kafka + source. + required: + - name + - entity_column_identifiers + - timeseries_column_identifier + description: The data source of the feature. + inputs: + type: array + items: + type: string + description: The input columns from which the feature is computed. + function: + type: object + properties: + function_type: + type: string + x-enum: + - APPROX_COUNT_DISTINCT + - APPROX_PERCENTILE + - AVG + - COUNT + - FIRST + - LAST + - MAX + - MIN + - STDDEV_POP + - STDDEV_SAMP + - SUM + - VAR_POP + - VAR_SAMP + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know how many + members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members + can have their own + + attributes -- see the documentation for details. + extra_parameters: + type: array + items: + type: object + properties: + key: + type: string + value: + type: string + description: The value of the parameter. + required: + - key + - value + description: Extra parameters for parameterized functions. + required: + - function_type + description: The function by which the feature is computed. + description: + type: string + description: The description of the feature. + filter_condition: + type: string + description: >- + The filter condition applied to the source data before + aggregation. + lineage_context: + type: object + properties: + job_context: + type: object + properties: + job_id: + type: integer + job_run_id: + type: integer + description: The job run ID where this API was invoked. + description: Job context information including job ID and run ID. + notebook_id: + type: integer + description: The notebook ID where this API was invoked. + description: >- + WARNING: This field is primarily intended for internal + use by Databricks systems and is automatically populated + when features are created through Databricks notebooks + or jobs. Users should not manually set this field as + incorrect values may lead to inaccurate lineage tracking + or unexpected behavior. This field will be set by + feature-engineering client and should be left unset by + SDK and terraform users. + time_window: + type: object + properties: + continuous: + type: object + properties: + window_duration: + type: string + offset: + type: string + description: >- + The offset of the continuous window (must be + non-positive). + required: + - window_duration + sliding: + type: object + properties: + window_duration: + type: string + slide_duration: + type: string + description: >- + The slide duration (interval by which windows + advance, must be positive and less than + duration). + required: + - window_duration + - slide_duration + tumbling: + type: object + properties: + window_duration: + type: string + required: + - window_duration + description: The time window in which the feature is computed. + required: + - full_name + - source + - inputs + - function description: Feature to update. required: - feature @@ -3048,7 +4083,7 @@ paths: in: query required: true schema: - type: string + type: object description: The list of fields to update. requestBody: content: @@ -3057,7 +4092,96 @@ paths: type: object properties: kafka_config: - type: string + type: object + properties: + name: + type: string + bootstrap_servers: + type: string + description: >- + A comma-separated list of host/port pairs pointing to + Kafka cluster. + subscription_mode: + type: object + properties: + assign: + type: string + subscribe: + type: string + description: >- + A comma-separated list of Kafka topics to read from. + For example, 'topicA,topicB,topicC'. + subscribe_pattern: + type: string + description: >- + A regular expression matching topics to subscribe + to. For example, 'topic.*' will subscribe to all + topics starting with 'topic'. + description: >- + Options to configure which Kafka topics to pull data + from. + auth_config: + type: object + properties: + uc_service_credential_name: + type: string + description: Authentication configuration for connection to topics. + backfill_source: + type: object + properties: + delta_table_source: + type: object + properties: + full_name: + type: string + entity_columns: + type: array + items: + type: string + description: The entity columns of the Delta table. + timeseries_column: + type: string + description: The timeseries column of the Delta table. + required: + - full_name + - entity_columns + - timeseries_column + description: >- + A user-provided and managed source for backfilling data. + Historical data is used when creating a training set + from streaming features linked to this Kafka config. In + the future, a separate table will be maintained by + Databricks for forward filling data. The schema for this + source must match exactly that of the key and value + schemas specified for this Kafka config. + extra_options: + type: object + description: >- + Catch-all for miscellaneous options. Keys should be + source options or Kafka consumer options (kafka.*) + key_schema: + type: object + properties: + json_schema: + type: string + description: >- + Schema configuration for extracting message keys from + topics. At least one of key_schema and value_schema must + be provided. + value_schema: + type: object + properties: + json_schema: + type: string + description: >- + Schema configuration for extracting message values from + topics. At least one of key_schema and value_schema must + be provided. + required: + - name + - bootstrap_servers + - subscription_mode + - auth_config description: The Kafka config to update. required: - kafka_config @@ -3193,7 +4317,87 @@ paths: type: object properties: materialized_feature: - type: string + type: object + properties: + feature_name: + type: string + description: The full name of the feature in Unity Catalog. + cron_schedule: + type: string + description: >- + The quartz cron expression that defines the schedule of + the materialization pipeline. The schedule is evaluated + in the UTC timezone. + last_materialization_time: + type: string + description: >- + The timestamp when the pipeline last ran and updated the + materialized feature values. If the pipeline has not run + yet, this field will be null. + materialized_feature_id: + type: string + description: Unique identifier for the materialized feature. + offline_store_config: + type: object + properties: + catalog_name: + type: string + description: The Unity Catalog catalog name. + schema_name: + type: string + description: The Unity Catalog schema name. + table_name_prefix: + type: string + description: >- + Prefix for Unity Catalog table name. The + materialized feature will be stored in a table with + this prefix and a generated postfix. + required: + - catalog_name + - schema_name + - table_name_prefix + description: Configuration for offline store destination. + online_store_config: + type: object + properties: + catalog_name: + type: string + description: >- + The Unity Catalog catalog name. This name is also + used as the Lakebase logical database name. + schema_name: + type: string + description: The Unity Catalog schema name. + table_name_prefix: + type: string + description: >- + Prefix for Unity Catalog table name. The + materialized feature will be stored in a Lakebase + table with this prefix and a generated postfix. + online_store_name: + type: string + description: The name of the target online store. + required: + - catalog_name + - schema_name + - table_name_prefix + - online_store_name + description: Configuration for online store destination. + pipeline_schedule_state: + type: string + x-enum: + - ACTIVE + - PAUSED + - SNAPSHOT + description: The schedule state of the materialization pipeline. + table_name: + type: string + description: >- + The fully qualified Unity Catalog path to the table + containing the materialized feature (Delta table or + Lakebase table). Output only. + required: + - feature_name description: The materialized feature to update. required: - materialized_feature @@ -3237,7 +4441,47 @@ paths: type: object properties: online_store: - type: string + type: object + properties: + name: + type: string + description: >- + The name of the online store. This is the unique + identifier for the online store. + capacity: + type: string + description: >- + The capacity of the online store. Valid values are + "CU_1", "CU_2", "CU_4", "CU_8". + creation_time: + type: string + description: The timestamp when the online store was created. + creator: + type: string + description: The email of the creator of the online store. + read_replica_count: + type: integer + description: >- + The number of read replicas for the online store. + Defaults to 0. + state: + type: string + x-enum: + - AVAILABLE + - DELETING + - FAILING_OVER + - STARTING + - STOPPED + - UPDATING + description: The current state of the online store. + usage_policy_id: + type: string + description: >- + The usage policy applied to the online store to track + billing. + required: + - name + - capacity description: Online store to create. required: - online_store @@ -3280,7 +4524,7 @@ paths: in: query required: false schema: - type: string + type: integer description: >- The maximum number of results to return. Defaults to 100 if not specified. @@ -3421,7 +4665,47 @@ paths: type: object properties: online_store: - type: string + type: object + properties: + name: + type: string + description: >- + The name of the online store. This is the unique + identifier for the online store. + capacity: + type: string + description: >- + The capacity of the online store. Valid values are + "CU_1", "CU_2", "CU_4", "CU_8". + creation_time: + type: string + description: The timestamp when the online store was created. + creator: + type: string + description: The email of the creator of the online store. + read_replica_count: + type: integer + description: >- + The number of read replicas for the online store. + Defaults to 0. + state: + type: string + x-enum: + - AVAILABLE + - DELETING + - FAILING_OVER + - STARTING + - STOPPED + - UPDATING + description: The current state of the online store. + usage_policy_id: + type: string + description: >- + The usage policy applied to the online store to track + billing. + required: + - name + - capacity description: Online store to update. required: - online_store @@ -3512,7 +4796,28 @@ paths: type: object properties: publish_spec: - type: string + type: object + properties: + online_store: + type: string + online_table_name: + type: string + description: >- + The full three-part (catalog, schema, table) name of the + online table. + publish_mode: + type: string + x-enum: + - CONTINUOUS + - SNAPSHOT + - TRIGGERED + description: >- + The publish mode of the pipeline that syncs the online + table with the source table. + required: + - online_store + - online_table_name + - publish_mode description: >- The specification for publishing the online table from the source table. @@ -3652,12 +4957,16 @@ paths: as catalog_name.schema_name.table_name, used to store future feature data for predictions. holiday_regions: - type: string + type: array + items: + type: string description: >- The region code(s) to automatically add holiday features. Currently supports only one region. include_features: - type: string + type: array + items: + type: string description: >- Specifies the list of feature columns to include in model training. These columns must exist in the training data and @@ -3667,7 +4976,7 @@ paths: split_column, target_column, custom_weights_column. - Automatically included: time_column. max_runtime: - type: string + type: integer description: >- The maximum duration for the experiment in minutes. The experiment stops automatically if it exceeds this limit. @@ -3694,12 +5003,16 @@ paths: // The column in the training table used for custom data splits. Values must be 'train', 'validate', or 'test'. timeseries_identifier_columns: - type: string + type: array + items: + type: string description: >- The column in the training table used to group the dataset for predicting individual time series. training_frameworks: - type: string + type: array + items: + type: string description: >- List of frameworks to include for model tuning. Possible values are 'Prophet', 'ARIMA', 'DeepAR'. An empty list @@ -3803,7 +5116,14 @@ paths: type: object properties: feature_tag: - type: string + type: object + properties: + key: + type: string + value: + type: string + required: + - key description: ':returns: :class:`FeatureTag`' required: - feature_tag @@ -3859,7 +5179,7 @@ paths: in: query required: false schema: - type: string + type: integer description: The maximum number of results to return. - name: page_token in: query @@ -4035,7 +5355,15 @@ paths: type: object properties: feature_tag: - type: string + type: object + properties: + key: + type: string + value: + type: string + required: + - key + description: Represents a tag on a feature in a feature table. required: - feature_tag responses: @@ -4287,7 +5615,17 @@ paths: type: string description: Optional description for registered model. tags: - type: string + type: array + items: + type: object + properties: + key: + type: string + description: The tag key. + value: + type: string + description: The tag value. + description: Tag for a registered model description: Additional metadata for registered model. required: - name @@ -4363,7 +5701,15 @@ paths: generated this model version, potentially hosted at another instance of MLflow. tags: - type: string + type: array + items: + type: object + properties: + key: + type: string + value: + type: string + description: The tag value. description: Additional metadata for model version. required: - name @@ -4529,7 +5875,83 @@ paths: type: object properties: events: - type: string + type: array + items: + type: string + x-enum: + - COMMENT_CREATED + - MODEL_VERSION_CREATED + - MODEL_VERSION_TAG_SET + - MODEL_VERSION_TRANSITIONED_STAGE + - MODEL_VERSION_TRANSITIONED_TO_ARCHIVED + - MODEL_VERSION_TRANSITIONED_TO_PRODUCTION + - MODEL_VERSION_TRANSITIONED_TO_STAGING + - REGISTERED_MODEL_CREATED + - TRANSITION_REQUEST_CREATED + - TRANSITION_REQUEST_TO_ARCHIVED_CREATED + - TRANSITION_REQUEST_TO_PRODUCTION_CREATED + - TRANSITION_REQUEST_TO_STAGING_CREATED + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know how many + members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members can have + their own + + attributes -- see the documentation for details. description: >- Events that can trigger a registry webhook: * `MODEL_VERSION_CREATED`: A new model version was created for @@ -4558,12 +5980,61 @@ paths: type: string description: User-specified description for the webhook. http_url_spec: - type: string + type: object + properties: + url: + type: string + authorization: + type: string + description: >- + Value of the authorization header that should be sent in + the request sent by the wehbook. It should be of the + form `" "`. If set to an empty + string, no authorization header will be included in the + request. + enable_ssl_verification: + type: boolean + description: >- + Enable/disable SSL certificate validation. Default is + true. For self-signed certificates, this field must be + false AND the destination server must disable + certificate validation as well. For security purposes, + it is encouraged to perform secret validation with the + HMAC-encoded portion of the payload and acknowledge the + risk associated with disabling hostname validation + whereby it becomes more likely that requests can be + maliciously routed to an unintended host. + secret: + type: string + description: >- + Shared secret required for HMAC encoding payload. The + HMAC-encoded payload will be sent in the header as: { + "X-Databricks-Signature": $encoded_payload }. + required: + - url description: >- External HTTPS URL called on event trigger (by using a POST request). job_spec: - type: string + type: object + properties: + job_id: + type: string + access_token: + type: string + description: >- + The personal access token used to authorize webhook's + job runs. + workspace_url: + type: string + description: >- + URL of the workspace containing the job that this + webhook runs. If not specified, the job’s workspace URL + is assumed to be the same as the workspace where the + webhook is created. + required: + - job_id + - access_token description: ID of the job that the webhook runs. model_name: type: string @@ -4573,6 +6044,10 @@ paths: versions of all registered models. status: type: string + x-enum: + - ACTIVE + - DISABLED + - TEST_MODE description: >- Enable or disable triggering the webhook, or put the webhook into test mode. The default is `ACTIVE`: * `ACTIVE`: Webhook @@ -4961,7 +6436,9 @@ paths: type: string description: Registered model unique name identifier. stages: - type: string + type: array + items: + type: string description: List of stages. required: - name @@ -5257,7 +6734,27 @@ paths: type: object properties: access_control_list: - type: string + type: array + items: + type: object + properties: + group_name: + type: string + permission_level: + type: string + x-enum: + - CAN_EDIT + - CAN_MANAGE + - CAN_MANAGE_PRODUCTION_VERSIONS + - CAN_MANAGE_STAGING_VERSIONS + - CAN_READ + description: Permission level + service_principal_name: + type: string + description: application ID of a service principal + user_name: + type: string + description: name of the user description: ':returns: :class:`RegisteredModelPermissions`' responses: '200': @@ -5314,7 +6811,27 @@ paths: type: object properties: access_control_list: - type: string + type: array + items: + type: object + properties: + group_name: + type: string + permission_level: + type: string + x-enum: + - CAN_EDIT + - CAN_MANAGE + - CAN_MANAGE_PRODUCTION_VERSIONS + - CAN_MANAGE_STAGING_VERSIONS + - CAN_READ + description: Permission level + service_principal_name: + type: string + description: application ID of a service principal + user_name: + type: string + description: name of the user description: ':returns: :class:`RegisteredModelPermissions`' responses: '200': @@ -5360,7 +6877,7 @@ paths: in: query required: false schema: - type: string + type: integer description: Maximum number of registered models desired. Max threshold is 1000. - name: page_token in: query @@ -5495,7 +7012,9 @@ paths: in: query required: false schema: - type: string + type: array + items: + $ref: '#/components/schemas/RegistryWebhookEvent' description: >- Events that trigger the webhook. * `MODEL_VERSION_CREATED`: A new model version was created for the associated model. * @@ -5525,7 +7044,7 @@ paths: in: query required: false schema: - type: string + type: integer description: >- :param model_name: str (optional) Registered model name If not specified, all webhooks associated with the specified events are @@ -5719,13 +7238,15 @@ paths: in: query required: false schema: - type: string + type: integer description: Maximum number of models desired. Max threshold is 10K. - name: order_by in: query required: false schema: - type: string + type: array + items: + type: string description: >- List of columns to be ordered by including model name, version, stage with an optional "DESC" or "ASC" annotation, where "ASC" is @@ -5795,7 +7316,7 @@ paths: in: query required: false schema: - type: string + type: integer description: >- Maximum number of models desired. Default is 100. Max threshold is 1000. @@ -5803,7 +7324,9 @@ paths: in: query required: false schema: - type: string + type: array + items: + type: string description: >- List of columns for ordering search results, which can include model name and last updated timestamp with an optional "DESC" or "ASC" @@ -5992,6 +7515,19 @@ paths: description: Webhook ID event: type: string + x-enum: + - COMMENT_CREATED + - MODEL_VERSION_CREATED + - MODEL_VERSION_TAG_SET + - MODEL_VERSION_TRANSITIONED_STAGE + - MODEL_VERSION_TRANSITIONED_TO_ARCHIVED + - MODEL_VERSION_TRANSITIONED_TO_PRODUCTION + - MODEL_VERSION_TRANSITIONED_TO_STAGING + - REGISTERED_MODEL_CREATED + - TRANSITION_REQUEST_CREATED + - TRANSITION_REQUEST_TO_ARCHIVED_CREATED + - TRANSITION_REQUEST_TO_PRODUCTION_CREATED + - TRANSITION_REQUEST_TO_STAGING_CREATED description: >- If `event` is specified, the test trigger uses the specified event. If `event` is not specified, the test trigger uses a @@ -6335,7 +7871,83 @@ paths: type: string description: User-specified description for the webhook. events: - type: string + type: array + items: + type: string + x-enum: + - COMMENT_CREATED + - MODEL_VERSION_CREATED + - MODEL_VERSION_TAG_SET + - MODEL_VERSION_TRANSITIONED_STAGE + - MODEL_VERSION_TRANSITIONED_TO_ARCHIVED + - MODEL_VERSION_TRANSITIONED_TO_PRODUCTION + - MODEL_VERSION_TRANSITIONED_TO_STAGING + - REGISTERED_MODEL_CREATED + - TRANSITION_REQUEST_CREATED + - TRANSITION_REQUEST_TO_ARCHIVED_CREATED + - TRANSITION_REQUEST_TO_PRODUCTION_CREATED + - TRANSITION_REQUEST_TO_STAGING_CREATED + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know how many + members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members can have + their own + + attributes -- see the documentation for details. description: >- Events that can trigger a registry webhook: * `MODEL_VERSION_CREATED`: A new model version was created for @@ -6361,12 +7973,65 @@ paths: `TRANSITION_REQUEST_TO_ARCHIVED_CREATED`: A user requested a model version be archived. http_url_spec: - type: string + type: object + properties: + url: + type: string + authorization: + type: string + description: >- + Value of the authorization header that should be sent in + the request sent by the wehbook. It should be of the + form `" "`. If set to an empty + string, no authorization header will be included in the + request. + enable_ssl_verification: + type: boolean + description: >- + Enable/disable SSL certificate validation. Default is + true. For self-signed certificates, this field must be + false AND the destination server must disable + certificate validation as well. For security purposes, + it is encouraged to perform secret validation with the + HMAC-encoded portion of the payload and acknowledge the + risk associated with disabling hostname validation + whereby it becomes more likely that requests can be + maliciously routed to an unintended host. + secret: + type: string + description: >- + Shared secret required for HMAC encoding payload. The + HMAC-encoded payload will be sent in the header as: { + "X-Databricks-Signature": $encoded_payload }. + required: + - url description: ':param job_spec: :class:`JobSpec` (optional)' job_spec: - type: string + type: object + properties: + job_id: + type: string + access_token: + type: string + description: >- + The personal access token used to authorize webhook's + job runs. + workspace_url: + type: string + description: >- + URL of the workspace containing the job that this + webhook runs. If not specified, the job’s workspace URL + is assumed to be the same as the workspace where the + webhook is created. + required: + - job_id + - access_token status: type: string + x-enum: + - ACTIVE + - DISABLED + - TEST_MODE description: ':returns: :class:`UpdateWebhookResponse`' required: - id @@ -8408,20 +10073,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -8461,20 +10126,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -8511,20 +10176,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -8575,20 +10240,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -8632,20 +10297,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -8711,20 +10376,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: diff --git a/providers/src/databricks_workspace/v00.00.00000/services/oauth2.yaml b/providers/src/databricks_workspace/v00.00.00000/services/oauth2.yaml index 7b799436..d9d9f7a9 100644 --- a/providers/src/databricks_workspace/v00.00.00000/services/oauth2.yaml +++ b/providers/src/databricks_workspace/v00.00.00000/services/oauth2.yaml @@ -6,7 +6,7 @@ info: APIs), generated from the Databricks Python SDK. version: 0.1.0 x-stackql-sdk-version: 0.86.0 - x-stackql-date-generated: '2026-02-19' + x-stackql-date-generated: '2026-02-24' x-stackql-sdk-namespace: databricks.sdk.service.oauth2 servers: - url: https://{deployment_name}.cloud.databricks.com @@ -109,7 +109,7 @@ paths: in: query required: false schema: - type: string + type: integer description: >- :param page_token: str (optional) An opaque page token which was the `next_page_token` in the response of the previous request to list diff --git a/providers/src/databricks_workspace/v00.00.00000/services/pipelines.yaml b/providers/src/databricks_workspace/v00.00.00000/services/pipelines.yaml index 915da9e0..baacce8d 100644 --- a/providers/src/databricks_workspace/v00.00.00000/services/pipelines.yaml +++ b/providers/src/databricks_workspace/v00.00.00000/services/pipelines.yaml @@ -6,7 +6,7 @@ info: APIs), generated from the Databricks Python SDK. version: 0.1.0 x-stackql-sdk-version: 0.86.0 - x-stackql-date-generated: '2026-02-19' + x-stackql-date-generated: '2026-02-24' x-stackql-sdk-namespace: databricks.sdk.service.pipelines servers: - url: https://{deployment_name}.cloud.databricks.com @@ -124,7 +124,7 @@ paths: type: object properties: allow_duplicate_names: - type: string + type: boolean description: >- If false, deployment will fail if name conflicts with that of another pipeline. @@ -144,25 +144,221 @@ paths: description: DLT Release Channel that specifies which version to use. clone_mode: type: string + x-enum: + - MIGRATE_TO_UC description: >- The type of clone to perform. Currently, only deep copies are supported clusters: - type: string + type: array + items: + type: object + properties: + apply_policy_default_values: + type: boolean + autoscale: + type: object + properties: + min_workers: + type: integer + max_workers: + type: integer + description: >- + The maximum number of workers to which the cluster + can scale up when overloaded. `max_workers` must + be strictly greater than `min_workers`. + mode: + type: string + x-enum: + - ENHANCED + - LEGACY + description: >- + Databricks Enhanced Autoscaling optimizes cluster + utilization by automatically allocating cluster + resources based on workload volume, with minimal + impact to the data processing latency of your + pipelines. Enhanced Autoscaling is available for + `updates` clusters only. The legacy autoscaling + feature is used for `maintenance` clusters. + required: + - min_workers + - max_workers + description: >- + Parameters needed in order to automatically scale + clusters up and down based on load. Note: autoscaling + works best with DB runtime versions 3.0 or later. + aws_attributes: + type: string + description: >- + Attributes related to clusters running on Amazon Web + Services. If not specified at cluster creation, a set + of default values will be used. + azure_attributes: + type: string + description: >- + Attributes related to clusters running on Microsoft + Azure. If not specified at cluster creation, a set of + default values will be used. + cluster_log_conf: + type: string + description: >- + The configuration for delivering spark logs to a + long-term storage destination. Only dbfs destinations + are supported. Only one destination can be specified + for one cluster. If the conf is given, the logs will + be delivered to the destination every `5 mins`. The + destination of driver logs is + `$destination/$clusterId/driver`, while the + destination of executor logs is + `$destination/$clusterId/executor`. + custom_tags: + type: object + description: >- + Additional tags for cluster resources. Databricks will + tag all cluster resources (e.g., AWS instances and EBS + volumes) with these tags in addition to + `default_tags`. Notes: - Currently, Databricks allows + at most 45 custom tags - Clusters can only reuse cloud + resources if the resources' tags are a subset of the + cluster tags + driver_instance_pool_id: + type: string + description: >- + The optional ID of the instance pool for the driver of + the cluster belongs. The pool cluster uses the + instance pool with id (instance_pool_id) if the driver + pool is not assigned. + driver_node_type_id: + type: string + description: >- + The node type of the Spark driver. Note that this + field is optional; if unset, the driver node type will + be set as the same value as `node_type_id` defined + above. + enable_local_disk_encryption: + type: boolean + description: >- + Whether to enable local disk encryption for the + cluster. + gcp_attributes: + type: string + description: >- + Attributes related to clusters running on Google Cloud + Platform. If not specified at cluster creation, a set + of default values will be used. + init_scripts: + type: string + description: >- + The configuration for storing init scripts. Any number + of destinations can be specified. The scripts are + executed sequentially in the order provided. If + `cluster_log_conf` is specified, init script logs are + sent to `//init_scripts`. + instance_pool_id: + type: string + description: >- + The optional ID of the instance pool to which the + cluster belongs. + label: + type: string + description: >- + A label for the cluster specification, either + `default` to configure the default cluster, or + `maintenance` to configure the maintenance cluster. + This field is optional. The default value is + `default`. + node_type_id: + type: string + description: >- + This field encodes, through a single value, the + resources available to each of the Spark nodes in this + cluster. For example, the Spark nodes can be + provisioned and optimized for memory or compute + intensive workloads. A list of available node types + can be retrieved by using the + :method:clusters/listNodeTypes API call. + num_workers: + type: integer + description: >- + Number of worker nodes that this cluster should have. + A cluster has one Spark Driver and `num_workers` + Executors for a total of `num_workers` + 1 Spark + nodes. Note: When reading the properties of a cluster, + this field reflects the desired number of workers + rather than the actual current number of workers. For + instance, if a cluster is resized from 5 to 10 + workers, this field will immediately be updated to + reflect the target size of 10 workers, whereas the + workers listed in `spark_info` will gradually increase + from 5 to 10 as the new nodes are provisioned. + policy_id: + type: string + description: >- + The ID of the cluster policy used to create the + cluster if applicable. + spark_conf: + type: object + description: >- + An object containing a set of optional, user-specified + Spark configuration key-value pairs. See + :method:clusters/create for more details. + spark_env_vars: + type: object + description: >- + An object containing a set of optional, user-specified + environment variable key-value pairs. Please note that + key-value pair of the form (X,Y) will be exported as + is (i.e., `export X='Y'`) while launching the driver + and workers. In order to specify an additional set of + `SPARK_DAEMON_JAVA_OPTS`, we recommend appending them + to `$SPARK_DAEMON_JAVA_OPTS` as shown in the example + below. This ensures that all default databricks + managed environmental variables are included as well. + Example Spark environment variables: + `{"SPARK_WORKER_MEMORY": "28000m", "SPARK_LOCAL_DIRS": + "/local_disk0"}` or `{"SPARK_DAEMON_JAVA_OPTS": + "$SPARK_DAEMON_JAVA_OPTS + -Dspark.shuffle.service.enabled=true"}` + ssh_public_keys: + type: array + items: + type: string + description: >- + SSH public key contents that will be added to each + Spark node in this cluster. The corresponding private + keys can be used to login with the user name `ubuntu` + on port `2200`. Up to 10 keys can be specified. description: Cluster settings for this pipeline deployment. configuration: - type: string + type: object description: String-String configuration for this pipeline execution. continuous: - type: string + type: boolean description: >- Whether the pipeline is continuous or triggered. This replaces `trigger`. deployment: - type: string + type: object + properties: + kind: + type: string + x-enum: + - BUNDLE + description: >- + The deployment method that manages the pipeline: - + BUNDLE: The pipeline is managed by a + + Databricks Asset Bundle. + metadata_file_path: + type: string + description: >- + The path to the file containing metadata about the + deployment. + required: + - kind description: Deployment type of this pipeline. development: - type: string + type: boolean description: >- Whether the pipeline is in Development mode. Defaults to false. @@ -170,26 +366,98 @@ paths: type: string description: Pipeline product edition. environment: - type: string + type: object + properties: + dependencies: + type: array + items: + type: string + description: >- + List of pip dependencies, as supported by the version of + pip in this environment. Each dependency is a pip + requirement file line + https://pip.pypa.io/en/stable/reference/requirements-file-format/ + Allowed dependency could be , + , (WSFS or Volumes + in Databricks), description: >- Environment specification for this pipeline used to install dependencies. event_log: - type: string + type: object + properties: + catalog: + type: string + description: The UC catalog the event log is published under. + name: + type: string + description: The name the event log is published to in UC. + schema: + type: string + description: The UC schema the event log is published under. description: Event log configuration for this pipeline expected_last_modified: - type: string + type: integer description: >- If present, the last-modified time of the pipeline settings before the clone. If the settings were modified after that time, then the request will fail with a conflict. filters: - type: string + type: object + properties: + exclude: + type: array + items: + type: string + include: + type: array + items: + type: string + description: Paths to include. description: >- Filters on which Pipeline packages to include in the deployed graph. gateway_definition: - type: string + type: object + properties: + connection_name: + type: string + gateway_storage_catalog: + type: string + description: >- + Required, Immutable. The name of the catalog for the + gateway pipeline's storage location. + gateway_storage_schema: + type: string + description: >- + Required, Immutable. The name of the schema for the + gateway pipelines's storage location. + connection_id: + type: string + description: >- + [Deprecated, use connection_name instead] Immutable. The + Unity Catalog connection that this gateway pipeline uses + to communicate with the source. + connection_parameters: + type: object + properties: + source_catalog: + type: string + description: >- + Optional, Internal. Parameters required to establish an + initial connection with the source. + gateway_storage_name: + type: string + description: >- + Optional. The Unity Catalog-compatible name for the + gateway storage location. This is the destination to use + for the data that is extracted by the gateway. Spark + Declarative Pipelines system will automatically create + the storage location under the catalog and schema. + required: + - connection_name + - gateway_storage_catalog + - gateway_storage_schema description: >- The definition of a gateway pipeline to support change data capture. @@ -197,25 +465,1101 @@ paths: type: string description: Unique identifier for this pipeline. ingestion_definition: - type: string + type: object + properties: + connection_name: + type: string + full_refresh_window: + type: object + properties: + start_hour: + type: integer + description: >- + An integer between 0 and 23 denoting the start hour + for the window in the 24-hour day. + days_of_week: + type: array + items: + type: string + x-enum: + - FRIDAY + - MONDAY + - SATURDAY + - SUNDAY + - THURSDAY + - TUESDAY + - WEDNESDAY + description: >- + Days of week in which the window is allowed to + happen. If not specified all days of the week + + will be used. + description: >- + Days of week in which the window is allowed to + happen If not specified all days of the week will be + used. + time_zone_id: + type: string + description: >- + Time zone id of window. See + https://docs.databricks.com/sql/language-manual/sql-ref-syntax-aux-conf-mgmt-set-timezone.html + for details. If not specified, UTC will be used. + required: + - start_hour + description: >- + (Optional) A window that specifies a set of time ranges + for snapshot queries in CDC. + ingest_from_uc_foreign_catalog: + type: boolean + description: >- + Immutable. If set to true, the pipeline will ingest + tables from the UC foreign catalogs directly without the + need to specify a UC connection or ingestion gateway. + The `source_catalog` fields in objects of + IngestionConfig are interpreted as the UC foreign + catalogs to ingest from. + ingestion_gateway_id: + type: string + description: >- + Identifier for the gateway that is used by this + ingestion pipeline to communicate with the source + database. This is used with CDC connectors to databases + like SQL Server using a gateway pipeline (connector_type + = CDC). Under certain conditions, this can be replaced + with connection_name to change the connector to Combined + Cdc Managed Ingestion Pipeline. + netsuite_jar_path: + type: string + description: >- + Netsuite only configuration. When the field is set for a + netsuite connector, the jar stored in the field will be + validated and added to the classpath of pipeline's + cluster. + objects: + type: array + items: + type: object + properties: + report: + type: object + properties: + source_url: + type: string + destination_catalog: + type: string + description: Required. Destination catalog to store table. + destination_schema: + type: string + description: Required. Destination schema to store table. + destination_table: + type: string + description: >- + Required. Destination table name. The pipeline + fails if a table with that name already + exists. + table_configuration: + type: object + properties: + auto_full_refresh_policy: + type: object + properties: + enabled: + type: boolean + description: >- + (Required, Mutable) Whether to enable + auto full refresh or not. + min_interval_hours: + type: integer + description: >- + (Optional, Mutable) Specify the minimum + interval in hours between the timestamp + at which a table was last full refreshed + and the current timestamp for triggering + auto full If unspecified and + autoFullRefresh is enabled then by + default min_interval_hours is 24 hours. + required: + - enabled + description: Policy for auto full refresh. + exclude_columns: + type: array + items: + type: string + description: >- + A list of column names to be excluded for + the ingestion. When not specified, + include_columns fully controls what + columns to be ingested. When specified, + all other columns including future ones + will be automatically included for + ingestion. This field in mutually + exclusive with `include_columns`. + include_columns: + type: array + items: + type: string + description: >- + A list of column names to be included for + the ingestion. When not specified, all + columns except ones in exclude_columns + will be included. Future columns will be + automatically included. When specified, + all other future columns will be + automatically excluded from ingestion. + This field in mutually exclusive with + `exclude_columns`. + primary_keys: + type: array + items: + type: string + description: >- + The primary key of the table used to apply + changes. + query_based_connector_config: + type: object + properties: + cursor_columns: + type: array + items: + type: string + description: >- + The names of the monotonically + increasing columns in the source table + that are used to enable the table to be + read and ingested incrementally through + structured streaming. The columns are + allowed to have repeated values but have + to be non-decreasing. If the source data + is merged into the destination (e.g., + using SCD Type 1 or Type 2), these + columns will implicitly define the + `sequence_by` behavior. You can still + explicitly set `sequence_by` to override + this default. + deletion_condition: + type: string + description: >- + Specifies a SQL WHERE condition that + specifies that the source row has been + deleted. This is sometimes referred to + as "soft-deletes". For example: + "Operation = 'DELETE'" or "is_deleted = + true". This field is orthogonal to + `hard_deletion_sync_interval_in_seconds`, + one for soft-deletes and the other for + hard-deletes. See also the + hard_deletion_sync_min_interval_in_seconds + field for handling of "hard deletes" + where the source rows are physically + removed from the table. + hard_deletion_sync_min_interval_in_seconds: + type: integer + description: >- + Specifies the minimum interval (in + seconds) between snapshots on primary + keys for detecting and synchronizing + hard deletions—i.e., rows that have been + physically removed from the source + table. This interval acts as a lower + bound. If ingestion runs less frequently + than this value, hard deletion + synchronization will align with the + actual ingestion frequency instead of + happening more often. If not set, hard + deletion synchronization via snapshots + is disabled. This field is mutable and + can be updated without triggering a full + snapshot. + description: >- + Configurations that are only applicable + for query-based ingestion connectors. + row_filter: + type: string + description: >- + (Optional, Immutable) The row filter + condition to be applied to the table. It + must not contain the WHERE keyword, only + the actual filter condition. It must be in + DBSQL format. + salesforce_include_formula_fields: + type: boolean + description: >- + If true, formula fields defined in the + table are included in the ingestion. This + setting is only valid for the Salesforce + connector + scd_type: + type: string + x-enum: + - APPEND_ONLY + - SCD_TYPE_1 + - SCD_TYPE_2 + description: The SCD type to use to ingest the table. + sequence_by: + type: array + items: + type: string + description: >- + The column names specifying the logical + order of events in the source data. Spark + Declarative Pipelines uses this sequencing + to handle change events that arrive out of + order. + workday_report_parameters: + type: object + properties: + incremental: + type: boolean + parameters: + type: object + description: >- + Parameters for the Workday report. Each + key represents the parameter name (e.g., + "start_date", "end_date"), and the + corresponding value is a SQL-like + expression used to compute the parameter + value at runtime. Example: { + "start_date": "{ + coalesce(current_offset(), + date(\"2025-02-01\")) }", "end_date": "{ + current_date() - INTERVAL 1 DAY }" } + report_parameters: + type: array + items: + type: object + properties: + key: + type: string + value: + type: string + description: >- + Value for the report parameter. Possible + values it can take are these sql + functions: 1. coalesce(current_offset(), + date("YYYY-MM-DD")) -> if + current_offset() is null, then the + passed date, else current_offset() 2. + current_date() 3. + date_sub(current_date(), x) -> subtract + x (some non-negative integer) days from + current date + description: >- + (Optional) Additional custom parameters + for Workday Report This field is + deprecated and should not be used. Use + `parameters` instead. + description: >- + (Optional) Additional custom parameters + for Workday Report + description: >- + Configuration settings to control the + ingestion of tables. These settings override + the table_configuration defined in the + IngestionPipelineDefinition object. + required: + - source_url + - destination_catalog + - destination_schema + schema: + type: object + properties: + source_schema: + type: string + destination_catalog: + type: string + description: Required. Destination catalog to store tables. + destination_schema: + type: string + description: >- + Required. Destination schema to store tables + in. Tables with the same name as the source + tables are created in this destination schema. + The pipeline fails If a table with the same + name already exists. + source_catalog: + type: string + description: >- + The source catalog name. Might be optional + depending on the type of source. + table_configuration: + type: object + properties: + auto_full_refresh_policy: + type: object + properties: + enabled: + type: boolean + description: >- + (Required, Mutable) Whether to enable + auto full refresh or not. + min_interval_hours: + type: integer + description: >- + (Optional, Mutable) Specify the minimum + interval in hours between the timestamp + at which a table was last full refreshed + and the current timestamp for triggering + auto full If unspecified and + autoFullRefresh is enabled then by + default min_interval_hours is 24 hours. + required: + - enabled + description: Policy for auto full refresh. + exclude_columns: + type: array + items: + type: string + description: >- + A list of column names to be excluded for + the ingestion. When not specified, + include_columns fully controls what + columns to be ingested. When specified, + all other columns including future ones + will be automatically included for + ingestion. This field in mutually + exclusive with `include_columns`. + include_columns: + type: array + items: + type: string + description: >- + A list of column names to be included for + the ingestion. When not specified, all + columns except ones in exclude_columns + will be included. Future columns will be + automatically included. When specified, + all other future columns will be + automatically excluded from ingestion. + This field in mutually exclusive with + `exclude_columns`. + primary_keys: + type: array + items: + type: string + description: >- + The primary key of the table used to apply + changes. + query_based_connector_config: + type: object + properties: + cursor_columns: + type: array + items: + type: string + description: >- + The names of the monotonically + increasing columns in the source table + that are used to enable the table to be + read and ingested incrementally through + structured streaming. The columns are + allowed to have repeated values but have + to be non-decreasing. If the source data + is merged into the destination (e.g., + using SCD Type 1 or Type 2), these + columns will implicitly define the + `sequence_by` behavior. You can still + explicitly set `sequence_by` to override + this default. + deletion_condition: + type: string + description: >- + Specifies a SQL WHERE condition that + specifies that the source row has been + deleted. This is sometimes referred to + as "soft-deletes". For example: + "Operation = 'DELETE'" or "is_deleted = + true". This field is orthogonal to + `hard_deletion_sync_interval_in_seconds`, + one for soft-deletes and the other for + hard-deletes. See also the + hard_deletion_sync_min_interval_in_seconds + field for handling of "hard deletes" + where the source rows are physically + removed from the table. + hard_deletion_sync_min_interval_in_seconds: + type: integer + description: >- + Specifies the minimum interval (in + seconds) between snapshots on primary + keys for detecting and synchronizing + hard deletions—i.e., rows that have been + physically removed from the source + table. This interval acts as a lower + bound. If ingestion runs less frequently + than this value, hard deletion + synchronization will align with the + actual ingestion frequency instead of + happening more often. If not set, hard + deletion synchronization via snapshots + is disabled. This field is mutable and + can be updated without triggering a full + snapshot. + description: >- + Configurations that are only applicable + for query-based ingestion connectors. + row_filter: + type: string + description: >- + (Optional, Immutable) The row filter + condition to be applied to the table. It + must not contain the WHERE keyword, only + the actual filter condition. It must be in + DBSQL format. + salesforce_include_formula_fields: + type: boolean + description: >- + If true, formula fields defined in the + table are included in the ingestion. This + setting is only valid for the Salesforce + connector + scd_type: + type: string + x-enum: + - APPEND_ONLY + - SCD_TYPE_1 + - SCD_TYPE_2 + description: The SCD type to use to ingest the table. + sequence_by: + type: array + items: + type: string + description: >- + The column names specifying the logical + order of events in the source data. Spark + Declarative Pipelines uses this sequencing + to handle change events that arrive out of + order. + workday_report_parameters: + type: object + properties: + incremental: + type: boolean + parameters: + type: object + description: >- + Parameters for the Workday report. Each + key represents the parameter name (e.g., + "start_date", "end_date"), and the + corresponding value is a SQL-like + expression used to compute the parameter + value at runtime. Example: { + "start_date": "{ + coalesce(current_offset(), + date(\"2025-02-01\")) }", "end_date": "{ + current_date() - INTERVAL 1 DAY }" } + report_parameters: + type: array + items: + type: object + properties: + key: + type: string + value: + type: string + description: >- + Value for the report parameter. Possible + values it can take are these sql + functions: 1. coalesce(current_offset(), + date("YYYY-MM-DD")) -> if + current_offset() is null, then the + passed date, else current_offset() 2. + current_date() 3. + date_sub(current_date(), x) -> subtract + x (some non-negative integer) days from + current date + description: >- + (Optional) Additional custom parameters + for Workday Report This field is + deprecated and should not be used. Use + `parameters` instead. + description: >- + (Optional) Additional custom parameters + for Workday Report + description: >- + Configuration settings to control the + ingestion of tables. These settings are + applied to all tables in this schema and + override the table_configuration defined in + the IngestionPipelineDefinition object. + required: + - source_schema + - destination_catalog + - destination_schema + description: Select all tables from a specific source schema. + table: + type: object + properties: + source_table: + type: string + destination_catalog: + type: string + description: Required. Destination catalog to store table. + destination_schema: + type: string + description: Required. Destination schema to store table. + destination_table: + type: string + description: >- + Optional. Destination table name. The pipeline + fails if a table with that name already + exists. If not set, the source table name is + used. + source_catalog: + type: string + description: >- + Source catalog name. Might be optional + depending on the type of source. + source_schema: + type: string + description: >- + Schema name in the source database. Might be + optional depending on the type of source. + table_configuration: + type: object + properties: + auto_full_refresh_policy: + type: object + properties: + enabled: + type: boolean + description: >- + (Required, Mutable) Whether to enable + auto full refresh or not. + min_interval_hours: + type: integer + description: >- + (Optional, Mutable) Specify the minimum + interval in hours between the timestamp + at which a table was last full refreshed + and the current timestamp for triggering + auto full If unspecified and + autoFullRefresh is enabled then by + default min_interval_hours is 24 hours. + required: + - enabled + description: Policy for auto full refresh. + exclude_columns: + type: array + items: + type: string + description: >- + A list of column names to be excluded for + the ingestion. When not specified, + include_columns fully controls what + columns to be ingested. When specified, + all other columns including future ones + will be automatically included for + ingestion. This field in mutually + exclusive with `include_columns`. + include_columns: + type: array + items: + type: string + description: >- + A list of column names to be included for + the ingestion. When not specified, all + columns except ones in exclude_columns + will be included. Future columns will be + automatically included. When specified, + all other future columns will be + automatically excluded from ingestion. + This field in mutually exclusive with + `exclude_columns`. + primary_keys: + type: array + items: + type: string + description: >- + The primary key of the table used to apply + changes. + query_based_connector_config: + type: object + properties: + cursor_columns: + type: array + items: + type: string + description: >- + The names of the monotonically + increasing columns in the source table + that are used to enable the table to be + read and ingested incrementally through + structured streaming. The columns are + allowed to have repeated values but have + to be non-decreasing. If the source data + is merged into the destination (e.g., + using SCD Type 1 or Type 2), these + columns will implicitly define the + `sequence_by` behavior. You can still + explicitly set `sequence_by` to override + this default. + deletion_condition: + type: string + description: >- + Specifies a SQL WHERE condition that + specifies that the source row has been + deleted. This is sometimes referred to + as "soft-deletes". For example: + "Operation = 'DELETE'" or "is_deleted = + true". This field is orthogonal to + `hard_deletion_sync_interval_in_seconds`, + one for soft-deletes and the other for + hard-deletes. See also the + hard_deletion_sync_min_interval_in_seconds + field for handling of "hard deletes" + where the source rows are physically + removed from the table. + hard_deletion_sync_min_interval_in_seconds: + type: integer + description: >- + Specifies the minimum interval (in + seconds) between snapshots on primary + keys for detecting and synchronizing + hard deletions—i.e., rows that have been + physically removed from the source + table. This interval acts as a lower + bound. If ingestion runs less frequently + than this value, hard deletion + synchronization will align with the + actual ingestion frequency instead of + happening more often. If not set, hard + deletion synchronization via snapshots + is disabled. This field is mutable and + can be updated without triggering a full + snapshot. + description: >- + Configurations that are only applicable + for query-based ingestion connectors. + row_filter: + type: string + description: >- + (Optional, Immutable) The row filter + condition to be applied to the table. It + must not contain the WHERE keyword, only + the actual filter condition. It must be in + DBSQL format. + salesforce_include_formula_fields: + type: boolean + description: >- + If true, formula fields defined in the + table are included in the ingestion. This + setting is only valid for the Salesforce + connector + scd_type: + type: string + x-enum: + - APPEND_ONLY + - SCD_TYPE_1 + - SCD_TYPE_2 + description: The SCD type to use to ingest the table. + sequence_by: + type: array + items: + type: string + description: >- + The column names specifying the logical + order of events in the source data. Spark + Declarative Pipelines uses this sequencing + to handle change events that arrive out of + order. + workday_report_parameters: + type: object + properties: + incremental: + type: boolean + parameters: + type: object + description: >- + Parameters for the Workday report. Each + key represents the parameter name (e.g., + "start_date", "end_date"), and the + corresponding value is a SQL-like + expression used to compute the parameter + value at runtime. Example: { + "start_date": "{ + coalesce(current_offset(), + date(\"2025-02-01\")) }", "end_date": "{ + current_date() - INTERVAL 1 DAY }" } + report_parameters: + type: array + items: + type: object + properties: + key: + type: string + value: + type: string + description: >- + Value for the report parameter. Possible + values it can take are these sql + functions: 1. coalesce(current_offset(), + date("YYYY-MM-DD")) -> if + current_offset() is null, then the + passed date, else current_offset() 2. + current_date() 3. + date_sub(current_date(), x) -> subtract + x (some non-negative integer) days from + current date + description: >- + (Optional) Additional custom parameters + for Workday Report This field is + deprecated and should not be used. Use + `parameters` instead. + description: >- + (Optional) Additional custom parameters + for Workday Report + description: >- + Configuration settings to control the + ingestion of tables. These settings override + the table_configuration defined in the + IngestionPipelineDefinition object and the + SchemaSpec. + required: + - source_table + - destination_catalog + - destination_schema + description: Select a specific source table. + description: >- + Required. Settings specifying tables to replicate and + the destination for the replicated tables. + source_configurations: + type: array + items: + type: object + properties: + catalog: + type: object + properties: + postgres: + type: object + properties: + slot_config: + type: object + properties: + publication_name: + type: string + description: >- + The name of the publication to use for + the Postgres source + slot_name: + type: string + description: >- + The name of the logical replication slot + to use for the Postgres source + description: >- + Optional. The Postgres slot configuration + to use for logical replication + description: >- + Postgres-specific catalog-level configuration + parameters + source_catalog: + type: string + description: Source catalog name + description: >- + SourceCatalogConfig contains catalog-level custom + configuration parameters for each source + description: Top-level source configurations + source_type: + type: string + x-enum: + - BIGQUERY + - DYNAMICS365 + - FOREIGN_CATALOG + - GA4_RAW_DATA + - MANAGED_POSTGRESQL + - MYSQL + - NETSUITE + - ORACLE + - POSTGRESQL + - SALESFORCE + - SERVICENOW + - SHAREPOINT + - SQLSERVER + - TERADATA + - WORKDAY_RAAS + description: >- + The type of the foreign source. The source type will be + inferred from the source connection or ingestion + gateway. This field is output only and will be ignored + if provided. + table_configuration: + type: object + properties: + auto_full_refresh_policy: + type: object + properties: + enabled: + type: boolean + description: >- + (Required, Mutable) Whether to enable auto full + refresh or not. + min_interval_hours: + type: integer + description: >- + (Optional, Mutable) Specify the minimum interval + in hours between the timestamp at which a table + was last full refreshed and the current + timestamp for triggering auto full If + unspecified and autoFullRefresh is enabled then + by default min_interval_hours is 24 hours. + required: + - enabled + description: Policy for auto full refresh. + exclude_columns: + type: array + items: + type: string + description: >- + A list of column names to be excluded for the + ingestion. When not specified, include_columns fully + controls what columns to be ingested. When + specified, all other columns including future ones + will be automatically included for ingestion. This + field in mutually exclusive with `include_columns`. + include_columns: + type: array + items: + type: string + description: >- + A list of column names to be included for the + ingestion. When not specified, all columns except + ones in exclude_columns will be included. Future + columns will be automatically included. When + specified, all other future columns will be + automatically excluded from ingestion. This field in + mutually exclusive with `exclude_columns`. + primary_keys: + type: array + items: + type: string + description: The primary key of the table used to apply changes. + query_based_connector_config: + type: object + properties: + cursor_columns: + type: array + items: + type: string + description: >- + The names of the monotonically increasing + columns in the source table that are used to + enable the table to be read and ingested + incrementally through structured streaming. The + columns are allowed to have repeated values but + have to be non-decreasing. If the source data is + merged into the destination (e.g., using SCD + Type 1 or Type 2), these columns will implicitly + define the `sequence_by` behavior. You can still + explicitly set `sequence_by` to override this + default. + deletion_condition: + type: string + description: >- + Specifies a SQL WHERE condition that specifies + that the source row has been deleted. This is + sometimes referred to as "soft-deletes". For + example: "Operation = 'DELETE'" or "is_deleted = + true". This field is orthogonal to + `hard_deletion_sync_interval_in_seconds`, one + for soft-deletes and the other for hard-deletes. + See also the + hard_deletion_sync_min_interval_in_seconds field + for handling of "hard deletes" where the source + rows are physically removed from the table. + hard_deletion_sync_min_interval_in_seconds: + type: integer + description: >- + Specifies the minimum interval (in seconds) + between snapshots on primary keys for detecting + and synchronizing hard deletions—i.e., rows that + have been physically removed from the source + table. This interval acts as a lower bound. If + ingestion runs less frequently than this value, + hard deletion synchronization will align with + the actual ingestion frequency instead of + happening more often. If not set, hard deletion + synchronization via snapshots is disabled. This + field is mutable and can be updated without + triggering a full snapshot. + description: >- + Configurations that are only applicable for + query-based ingestion connectors. + row_filter: + type: string + description: >- + (Optional, Immutable) The row filter condition to be + applied to the table. It must not contain the WHERE + keyword, only the actual filter condition. It must + be in DBSQL format. + salesforce_include_formula_fields: + type: boolean + description: >- + If true, formula fields defined in the table are + included in the ingestion. This setting is only + valid for the Salesforce connector + scd_type: + type: string + x-enum: + - APPEND_ONLY + - SCD_TYPE_1 + - SCD_TYPE_2 + description: The SCD type to use to ingest the table. + sequence_by: + type: array + items: + type: string + description: >- + The column names specifying the logical order of + events in the source data. Spark Declarative + Pipelines uses this sequencing to handle change + events that arrive out of order. + workday_report_parameters: + type: object + properties: + incremental: + type: boolean + parameters: + type: object + description: >- + Parameters for the Workday report. Each key + represents the parameter name (e.g., + "start_date", "end_date"), and the corresponding + value is a SQL-like expression used to compute + the parameter value at runtime. Example: { + "start_date": "{ coalesce(current_offset(), + date(\"2025-02-01\")) }", "end_date": "{ + current_date() - INTERVAL 1 DAY }" } + report_parameters: + type: array + items: + type: object + properties: + key: + type: string + value: + type: string + description: >- + Value for the report parameter. Possible + values it can take are these sql + functions: 1. coalesce(current_offset(), + date("YYYY-MM-DD")) -> if current_offset() + is null, then the passed date, else + current_offset() 2. current_date() 3. + date_sub(current_date(), x) -> subtract x + (some non-negative integer) days from + current date + description: >- + (Optional) Additional custom parameters for + Workday Report This field is deprecated and + should not be used. Use `parameters` instead. + description: >- + (Optional) Additional custom parameters for Workday + Report + description: >- + Configuration settings to control the ingestion of + tables. These settings are applied to all tables in the + pipeline. description: >- The configuration for a managed ingestion pipeline. These settings cannot be used with the 'libraries', 'schema', 'target', or 'catalog' settings. libraries: - type: string + type: array + items: + type: object + properties: + file: + type: object + properties: + path: + type: string + glob: + type: object + properties: + include: + type: string + description: >- + The unified field to include source codes. Each entry + can be a notebook path, a file path, or a folder path + that ends `/**`. This field cannot be used together + with `notebook` or `file`. + jar: + type: string + description: >- + URI of the jar to be installed. Currently only DBFS is + supported. + maven: + type: string + description: Specification of a maven library to be installed. + notebook: + type: object + properties: + path: + type: string + description: >- + The path to a notebook that defines a pipeline and is + stored in the Databricks workspace. + whl: + type: string + description: URI of the whl to be installed. description: Libraries or code needed by this deployment. name: type: string description: Friendly identifier for this pipeline. notifications: - type: string + type: array + items: + type: object + properties: + alerts: + type: array + items: + type: string + email_recipients: + type: array + items: + type: string + description: >- + A list of email addresses notified when a configured + alert is triggered. description: List of notification settings for this pipeline. photon: - type: string + type: boolean description: Whether Photon is enabled for this pipeline. restart_window: - type: string + type: object + properties: + start_hour: + type: integer + days_of_week: + type: array + items: + type: string + x-enum: + - FRIDAY + - MONDAY + - SATURDAY + - SUNDAY + - THURSDAY + - TUESDAY + - WEDNESDAY + description: >- + Days of week in which the window is allowed to happen. + If not specified all days of the week + + will be used. + description: >- + Days of week in which the restart is allowed to happen + (within a five-hour window starting at start_hour). If + not specified all days of the week will be used. + time_zone_id: + type: string + description: >- + Time zone id of restart window. See + https://docs.databricks.com/sql/language-manual/sql-ref-syntax-aux-conf-mgmt-set-timezone.html + for details. If not specified, UTC will be used. + required: + - start_hour description: Restart window of this pipeline. root_path: type: string @@ -230,13 +1574,13 @@ paths: The default schema (database) where tables are read from or published to. serverless: - type: string + type: boolean description: Whether serverless compute is enabled for this pipeline. storage: type: string description: DBFS root directory for storing checkpoints and tables. tags: - type: string + type: object description: >- A map of tags associated with the pipeline. These are forwarded to the cluster as cluster tags, and are therefore @@ -251,7 +1595,18 @@ paths: legacy field is deprecated for pipeline creation in favor of the `schema` field. trigger: - type: string + type: object + properties: + cron: + type: object + properties: + quartz_cron_schedule: + type: string + timezone_id: + type: string + manual: + type: object + properties: {} description: >- Which pipeline trigger to use. Deprecated: Use `continuous` instead. @@ -373,7 +1728,7 @@ paths: type: object properties: allow_duplicate_names: - type: string + type: boolean description: >- If false, deployment will fail if name conflicts with that of another pipeline. @@ -392,44 +1747,310 @@ paths: type: string description: DLT Release Channel that specifies which version to use. clusters: - type: string + type: array + items: + type: object + properties: + apply_policy_default_values: + type: boolean + autoscale: + type: object + properties: + min_workers: + type: integer + max_workers: + type: integer + description: >- + The maximum number of workers to which the cluster + can scale up when overloaded. `max_workers` must + be strictly greater than `min_workers`. + mode: + type: string + x-enum: + - ENHANCED + - LEGACY + description: >- + Databricks Enhanced Autoscaling optimizes cluster + utilization by automatically allocating cluster + resources based on workload volume, with minimal + impact to the data processing latency of your + pipelines. Enhanced Autoscaling is available for + `updates` clusters only. The legacy autoscaling + feature is used for `maintenance` clusters. + required: + - min_workers + - max_workers + description: >- + Parameters needed in order to automatically scale + clusters up and down based on load. Note: autoscaling + works best with DB runtime versions 3.0 or later. + aws_attributes: + type: string + description: >- + Attributes related to clusters running on Amazon Web + Services. If not specified at cluster creation, a set + of default values will be used. + azure_attributes: + type: string + description: >- + Attributes related to clusters running on Microsoft + Azure. If not specified at cluster creation, a set of + default values will be used. + cluster_log_conf: + type: string + description: >- + The configuration for delivering spark logs to a + long-term storage destination. Only dbfs destinations + are supported. Only one destination can be specified + for one cluster. If the conf is given, the logs will + be delivered to the destination every `5 mins`. The + destination of driver logs is + `$destination/$clusterId/driver`, while the + destination of executor logs is + `$destination/$clusterId/executor`. + custom_tags: + type: object + description: >- + Additional tags for cluster resources. Databricks will + tag all cluster resources (e.g., AWS instances and EBS + volumes) with these tags in addition to + `default_tags`. Notes: - Currently, Databricks allows + at most 45 custom tags - Clusters can only reuse cloud + resources if the resources' tags are a subset of the + cluster tags + driver_instance_pool_id: + type: string + description: >- + The optional ID of the instance pool for the driver of + the cluster belongs. The pool cluster uses the + instance pool with id (instance_pool_id) if the driver + pool is not assigned. + driver_node_type_id: + type: string + description: >- + The node type of the Spark driver. Note that this + field is optional; if unset, the driver node type will + be set as the same value as `node_type_id` defined + above. + enable_local_disk_encryption: + type: boolean + description: >- + Whether to enable local disk encryption for the + cluster. + gcp_attributes: + type: string + description: >- + Attributes related to clusters running on Google Cloud + Platform. If not specified at cluster creation, a set + of default values will be used. + init_scripts: + type: string + description: >- + The configuration for storing init scripts. Any number + of destinations can be specified. The scripts are + executed sequentially in the order provided. If + `cluster_log_conf` is specified, init script logs are + sent to `//init_scripts`. + instance_pool_id: + type: string + description: >- + The optional ID of the instance pool to which the + cluster belongs. + label: + type: string + description: >- + A label for the cluster specification, either + `default` to configure the default cluster, or + `maintenance` to configure the maintenance cluster. + This field is optional. The default value is + `default`. + node_type_id: + type: string + description: >- + This field encodes, through a single value, the + resources available to each of the Spark nodes in this + cluster. For example, the Spark nodes can be + provisioned and optimized for memory or compute + intensive workloads. A list of available node types + can be retrieved by using the + :method:clusters/listNodeTypes API call. + num_workers: + type: integer + description: >- + Number of worker nodes that this cluster should have. + A cluster has one Spark Driver and `num_workers` + Executors for a total of `num_workers` + 1 Spark + nodes. Note: When reading the properties of a cluster, + this field reflects the desired number of workers + rather than the actual current number of workers. For + instance, if a cluster is resized from 5 to 10 + workers, this field will immediately be updated to + reflect the target size of 10 workers, whereas the + workers listed in `spark_info` will gradually increase + from 5 to 10 as the new nodes are provisioned. + policy_id: + type: string + description: >- + The ID of the cluster policy used to create the + cluster if applicable. + spark_conf: + type: object + description: >- + An object containing a set of optional, user-specified + Spark configuration key-value pairs. See + :method:clusters/create for more details. + spark_env_vars: + type: object + description: >- + An object containing a set of optional, user-specified + environment variable key-value pairs. Please note that + key-value pair of the form (X,Y) will be exported as + is (i.e., `export X='Y'`) while launching the driver + and workers. In order to specify an additional set of + `SPARK_DAEMON_JAVA_OPTS`, we recommend appending them + to `$SPARK_DAEMON_JAVA_OPTS` as shown in the example + below. This ensures that all default databricks + managed environmental variables are included as well. + Example Spark environment variables: + `{"SPARK_WORKER_MEMORY": "28000m", "SPARK_LOCAL_DIRS": + "/local_disk0"}` or `{"SPARK_DAEMON_JAVA_OPTS": + "$SPARK_DAEMON_JAVA_OPTS + -Dspark.shuffle.service.enabled=true"}` + ssh_public_keys: + type: array + items: + type: string + description: >- + SSH public key contents that will be added to each + Spark node in this cluster. The corresponding private + keys can be used to login with the user name `ubuntu` + on port `2200`. Up to 10 keys can be specified. description: Cluster settings for this pipeline deployment. configuration: - type: string + type: object description: String-String configuration for this pipeline execution. continuous: - type: string + type: boolean description: >- Whether the pipeline is continuous or triggered. This replaces `trigger`. deployment: - type: string + type: object + properties: + kind: + type: string + x-enum: + - BUNDLE + description: >- + The deployment method that manages the pipeline: - + BUNDLE: The pipeline is managed by a + + Databricks Asset Bundle. + metadata_file_path: + type: string + description: >- + The path to the file containing metadata about the + deployment. + required: + - kind description: Deployment type of this pipeline. development: - type: string + type: boolean description: >- Whether the pipeline is in Development mode. Defaults to false. dry_run: - type: string + type: boolean description: ':param edition: str (optional) Pipeline product edition.' edition: type: string environment: - type: string + type: object + properties: + dependencies: + type: array + items: + type: string + description: >- + List of pip dependencies, as supported by the version of + pip in this environment. Each dependency is a pip + requirement file line + https://pip.pypa.io/en/stable/reference/requirements-file-format/ + Allowed dependency could be , + , (WSFS or Volumes + in Databricks), description: >- Environment specification for this pipeline used to install dependencies. event_log: - type: string + type: object + properties: + catalog: + type: string + description: The UC catalog the event log is published under. + name: + type: string + description: The name the event log is published to in UC. + schema: + type: string + description: The UC schema the event log is published under. description: Event log configuration for this pipeline filters: - type: string + type: object + properties: + exclude: + type: array + items: + type: string + include: + type: array + items: + type: string + description: Paths to include. description: >- Filters on which Pipeline packages to include in the deployed graph. gateway_definition: - type: string + type: object + properties: + connection_name: + type: string + gateway_storage_catalog: + type: string + description: >- + Required, Immutable. The name of the catalog for the + gateway pipeline's storage location. + gateway_storage_schema: + type: string + description: >- + Required, Immutable. The name of the schema for the + gateway pipelines's storage location. + connection_id: + type: string + description: >- + [Deprecated, use connection_name instead] Immutable. The + Unity Catalog connection that this gateway pipeline uses + to communicate with the source. + connection_parameters: + type: object + properties: + source_catalog: + type: string + description: >- + Optional, Internal. Parameters required to establish an + initial connection with the source. + gateway_storage_name: + type: string + description: >- + Optional. The Unity Catalog-compatible name for the + gateway storage location. This is the destination to use + for the data that is extracted by the gateway. Spark + Declarative Pipelines system will automatically create + the storage location under the catalog and schema. + required: + - connection_name + - gateway_storage_catalog + - gateway_storage_schema description: >- The definition of a gateway pipeline to support change data capture. @@ -437,25 +2058,1101 @@ paths: type: string description: Unique identifier for this pipeline. ingestion_definition: - type: string + type: object + properties: + connection_name: + type: string + full_refresh_window: + type: object + properties: + start_hour: + type: integer + description: >- + An integer between 0 and 23 denoting the start hour + for the window in the 24-hour day. + days_of_week: + type: array + items: + type: string + x-enum: + - FRIDAY + - MONDAY + - SATURDAY + - SUNDAY + - THURSDAY + - TUESDAY + - WEDNESDAY + description: >- + Days of week in which the window is allowed to + happen. If not specified all days of the week + + will be used. + description: >- + Days of week in which the window is allowed to + happen If not specified all days of the week will be + used. + time_zone_id: + type: string + description: >- + Time zone id of window. See + https://docs.databricks.com/sql/language-manual/sql-ref-syntax-aux-conf-mgmt-set-timezone.html + for details. If not specified, UTC will be used. + required: + - start_hour + description: >- + (Optional) A window that specifies a set of time ranges + for snapshot queries in CDC. + ingest_from_uc_foreign_catalog: + type: boolean + description: >- + Immutable. If set to true, the pipeline will ingest + tables from the UC foreign catalogs directly without the + need to specify a UC connection or ingestion gateway. + The `source_catalog` fields in objects of + IngestionConfig are interpreted as the UC foreign + catalogs to ingest from. + ingestion_gateway_id: + type: string + description: >- + Identifier for the gateway that is used by this + ingestion pipeline to communicate with the source + database. This is used with CDC connectors to databases + like SQL Server using a gateway pipeline (connector_type + = CDC). Under certain conditions, this can be replaced + with connection_name to change the connector to Combined + Cdc Managed Ingestion Pipeline. + netsuite_jar_path: + type: string + description: >- + Netsuite only configuration. When the field is set for a + netsuite connector, the jar stored in the field will be + validated and added to the classpath of pipeline's + cluster. + objects: + type: array + items: + type: object + properties: + report: + type: object + properties: + source_url: + type: string + destination_catalog: + type: string + description: Required. Destination catalog to store table. + destination_schema: + type: string + description: Required. Destination schema to store table. + destination_table: + type: string + description: >- + Required. Destination table name. The pipeline + fails if a table with that name already + exists. + table_configuration: + type: object + properties: + auto_full_refresh_policy: + type: object + properties: + enabled: + type: boolean + description: >- + (Required, Mutable) Whether to enable + auto full refresh or not. + min_interval_hours: + type: integer + description: >- + (Optional, Mutable) Specify the minimum + interval in hours between the timestamp + at which a table was last full refreshed + and the current timestamp for triggering + auto full If unspecified and + autoFullRefresh is enabled then by + default min_interval_hours is 24 hours. + required: + - enabled + description: Policy for auto full refresh. + exclude_columns: + type: array + items: + type: string + description: >- + A list of column names to be excluded for + the ingestion. When not specified, + include_columns fully controls what + columns to be ingested. When specified, + all other columns including future ones + will be automatically included for + ingestion. This field in mutually + exclusive with `include_columns`. + include_columns: + type: array + items: + type: string + description: >- + A list of column names to be included for + the ingestion. When not specified, all + columns except ones in exclude_columns + will be included. Future columns will be + automatically included. When specified, + all other future columns will be + automatically excluded from ingestion. + This field in mutually exclusive with + `exclude_columns`. + primary_keys: + type: array + items: + type: string + description: >- + The primary key of the table used to apply + changes. + query_based_connector_config: + type: object + properties: + cursor_columns: + type: array + items: + type: string + description: >- + The names of the monotonically + increasing columns in the source table + that are used to enable the table to be + read and ingested incrementally through + structured streaming. The columns are + allowed to have repeated values but have + to be non-decreasing. If the source data + is merged into the destination (e.g., + using SCD Type 1 or Type 2), these + columns will implicitly define the + `sequence_by` behavior. You can still + explicitly set `sequence_by` to override + this default. + deletion_condition: + type: string + description: >- + Specifies a SQL WHERE condition that + specifies that the source row has been + deleted. This is sometimes referred to + as "soft-deletes". For example: + "Operation = 'DELETE'" or "is_deleted = + true". This field is orthogonal to + `hard_deletion_sync_interval_in_seconds`, + one for soft-deletes and the other for + hard-deletes. See also the + hard_deletion_sync_min_interval_in_seconds + field for handling of "hard deletes" + where the source rows are physically + removed from the table. + hard_deletion_sync_min_interval_in_seconds: + type: integer + description: >- + Specifies the minimum interval (in + seconds) between snapshots on primary + keys for detecting and synchronizing + hard deletions—i.e., rows that have been + physically removed from the source + table. This interval acts as a lower + bound. If ingestion runs less frequently + than this value, hard deletion + synchronization will align with the + actual ingestion frequency instead of + happening more often. If not set, hard + deletion synchronization via snapshots + is disabled. This field is mutable and + can be updated without triggering a full + snapshot. + description: >- + Configurations that are only applicable + for query-based ingestion connectors. + row_filter: + type: string + description: >- + (Optional, Immutable) The row filter + condition to be applied to the table. It + must not contain the WHERE keyword, only + the actual filter condition. It must be in + DBSQL format. + salesforce_include_formula_fields: + type: boolean + description: >- + If true, formula fields defined in the + table are included in the ingestion. This + setting is only valid for the Salesforce + connector + scd_type: + type: string + x-enum: + - APPEND_ONLY + - SCD_TYPE_1 + - SCD_TYPE_2 + description: The SCD type to use to ingest the table. + sequence_by: + type: array + items: + type: string + description: >- + The column names specifying the logical + order of events in the source data. Spark + Declarative Pipelines uses this sequencing + to handle change events that arrive out of + order. + workday_report_parameters: + type: object + properties: + incremental: + type: boolean + parameters: + type: object + description: >- + Parameters for the Workday report. Each + key represents the parameter name (e.g., + "start_date", "end_date"), and the + corresponding value is a SQL-like + expression used to compute the parameter + value at runtime. Example: { + "start_date": "{ + coalesce(current_offset(), + date(\"2025-02-01\")) }", "end_date": "{ + current_date() - INTERVAL 1 DAY }" } + report_parameters: + type: array + items: + type: object + properties: + key: + type: string + value: + type: string + description: >- + Value for the report parameter. Possible + values it can take are these sql + functions: 1. coalesce(current_offset(), + date("YYYY-MM-DD")) -> if + current_offset() is null, then the + passed date, else current_offset() 2. + current_date() 3. + date_sub(current_date(), x) -> subtract + x (some non-negative integer) days from + current date + description: >- + (Optional) Additional custom parameters + for Workday Report This field is + deprecated and should not be used. Use + `parameters` instead. + description: >- + (Optional) Additional custom parameters + for Workday Report + description: >- + Configuration settings to control the + ingestion of tables. These settings override + the table_configuration defined in the + IngestionPipelineDefinition object. + required: + - source_url + - destination_catalog + - destination_schema + schema: + type: object + properties: + source_schema: + type: string + destination_catalog: + type: string + description: Required. Destination catalog to store tables. + destination_schema: + type: string + description: >- + Required. Destination schema to store tables + in. Tables with the same name as the source + tables are created in this destination schema. + The pipeline fails If a table with the same + name already exists. + source_catalog: + type: string + description: >- + The source catalog name. Might be optional + depending on the type of source. + table_configuration: + type: object + properties: + auto_full_refresh_policy: + type: object + properties: + enabled: + type: boolean + description: >- + (Required, Mutable) Whether to enable + auto full refresh or not. + min_interval_hours: + type: integer + description: >- + (Optional, Mutable) Specify the minimum + interval in hours between the timestamp + at which a table was last full refreshed + and the current timestamp for triggering + auto full If unspecified and + autoFullRefresh is enabled then by + default min_interval_hours is 24 hours. + required: + - enabled + description: Policy for auto full refresh. + exclude_columns: + type: array + items: + type: string + description: >- + A list of column names to be excluded for + the ingestion. When not specified, + include_columns fully controls what + columns to be ingested. When specified, + all other columns including future ones + will be automatically included for + ingestion. This field in mutually + exclusive with `include_columns`. + include_columns: + type: array + items: + type: string + description: >- + A list of column names to be included for + the ingestion. When not specified, all + columns except ones in exclude_columns + will be included. Future columns will be + automatically included. When specified, + all other future columns will be + automatically excluded from ingestion. + This field in mutually exclusive with + `exclude_columns`. + primary_keys: + type: array + items: + type: string + description: >- + The primary key of the table used to apply + changes. + query_based_connector_config: + type: object + properties: + cursor_columns: + type: array + items: + type: string + description: >- + The names of the monotonically + increasing columns in the source table + that are used to enable the table to be + read and ingested incrementally through + structured streaming. The columns are + allowed to have repeated values but have + to be non-decreasing. If the source data + is merged into the destination (e.g., + using SCD Type 1 or Type 2), these + columns will implicitly define the + `sequence_by` behavior. You can still + explicitly set `sequence_by` to override + this default. + deletion_condition: + type: string + description: >- + Specifies a SQL WHERE condition that + specifies that the source row has been + deleted. This is sometimes referred to + as "soft-deletes". For example: + "Operation = 'DELETE'" or "is_deleted = + true". This field is orthogonal to + `hard_deletion_sync_interval_in_seconds`, + one for soft-deletes and the other for + hard-deletes. See also the + hard_deletion_sync_min_interval_in_seconds + field for handling of "hard deletes" + where the source rows are physically + removed from the table. + hard_deletion_sync_min_interval_in_seconds: + type: integer + description: >- + Specifies the minimum interval (in + seconds) between snapshots on primary + keys for detecting and synchronizing + hard deletions—i.e., rows that have been + physically removed from the source + table. This interval acts as a lower + bound. If ingestion runs less frequently + than this value, hard deletion + synchronization will align with the + actual ingestion frequency instead of + happening more often. If not set, hard + deletion synchronization via snapshots + is disabled. This field is mutable and + can be updated without triggering a full + snapshot. + description: >- + Configurations that are only applicable + for query-based ingestion connectors. + row_filter: + type: string + description: >- + (Optional, Immutable) The row filter + condition to be applied to the table. It + must not contain the WHERE keyword, only + the actual filter condition. It must be in + DBSQL format. + salesforce_include_formula_fields: + type: boolean + description: >- + If true, formula fields defined in the + table are included in the ingestion. This + setting is only valid for the Salesforce + connector + scd_type: + type: string + x-enum: + - APPEND_ONLY + - SCD_TYPE_1 + - SCD_TYPE_2 + description: The SCD type to use to ingest the table. + sequence_by: + type: array + items: + type: string + description: >- + The column names specifying the logical + order of events in the source data. Spark + Declarative Pipelines uses this sequencing + to handle change events that arrive out of + order. + workday_report_parameters: + type: object + properties: + incremental: + type: boolean + parameters: + type: object + description: >- + Parameters for the Workday report. Each + key represents the parameter name (e.g., + "start_date", "end_date"), and the + corresponding value is a SQL-like + expression used to compute the parameter + value at runtime. Example: { + "start_date": "{ + coalesce(current_offset(), + date(\"2025-02-01\")) }", "end_date": "{ + current_date() - INTERVAL 1 DAY }" } + report_parameters: + type: array + items: + type: object + properties: + key: + type: string + value: + type: string + description: >- + Value for the report parameter. Possible + values it can take are these sql + functions: 1. coalesce(current_offset(), + date("YYYY-MM-DD")) -> if + current_offset() is null, then the + passed date, else current_offset() 2. + current_date() 3. + date_sub(current_date(), x) -> subtract + x (some non-negative integer) days from + current date + description: >- + (Optional) Additional custom parameters + for Workday Report This field is + deprecated and should not be used. Use + `parameters` instead. + description: >- + (Optional) Additional custom parameters + for Workday Report + description: >- + Configuration settings to control the + ingestion of tables. These settings are + applied to all tables in this schema and + override the table_configuration defined in + the IngestionPipelineDefinition object. + required: + - source_schema + - destination_catalog + - destination_schema + description: Select all tables from a specific source schema. + table: + type: object + properties: + source_table: + type: string + destination_catalog: + type: string + description: Required. Destination catalog to store table. + destination_schema: + type: string + description: Required. Destination schema to store table. + destination_table: + type: string + description: >- + Optional. Destination table name. The pipeline + fails if a table with that name already + exists. If not set, the source table name is + used. + source_catalog: + type: string + description: >- + Source catalog name. Might be optional + depending on the type of source. + source_schema: + type: string + description: >- + Schema name in the source database. Might be + optional depending on the type of source. + table_configuration: + type: object + properties: + auto_full_refresh_policy: + type: object + properties: + enabled: + type: boolean + description: >- + (Required, Mutable) Whether to enable + auto full refresh or not. + min_interval_hours: + type: integer + description: >- + (Optional, Mutable) Specify the minimum + interval in hours between the timestamp + at which a table was last full refreshed + and the current timestamp for triggering + auto full If unspecified and + autoFullRefresh is enabled then by + default min_interval_hours is 24 hours. + required: + - enabled + description: Policy for auto full refresh. + exclude_columns: + type: array + items: + type: string + description: >- + A list of column names to be excluded for + the ingestion. When not specified, + include_columns fully controls what + columns to be ingested. When specified, + all other columns including future ones + will be automatically included for + ingestion. This field in mutually + exclusive with `include_columns`. + include_columns: + type: array + items: + type: string + description: >- + A list of column names to be included for + the ingestion. When not specified, all + columns except ones in exclude_columns + will be included. Future columns will be + automatically included. When specified, + all other future columns will be + automatically excluded from ingestion. + This field in mutually exclusive with + `exclude_columns`. + primary_keys: + type: array + items: + type: string + description: >- + The primary key of the table used to apply + changes. + query_based_connector_config: + type: object + properties: + cursor_columns: + type: array + items: + type: string + description: >- + The names of the monotonically + increasing columns in the source table + that are used to enable the table to be + read and ingested incrementally through + structured streaming. The columns are + allowed to have repeated values but have + to be non-decreasing. If the source data + is merged into the destination (e.g., + using SCD Type 1 or Type 2), these + columns will implicitly define the + `sequence_by` behavior. You can still + explicitly set `sequence_by` to override + this default. + deletion_condition: + type: string + description: >- + Specifies a SQL WHERE condition that + specifies that the source row has been + deleted. This is sometimes referred to + as "soft-deletes". For example: + "Operation = 'DELETE'" or "is_deleted = + true". This field is orthogonal to + `hard_deletion_sync_interval_in_seconds`, + one for soft-deletes and the other for + hard-deletes. See also the + hard_deletion_sync_min_interval_in_seconds + field for handling of "hard deletes" + where the source rows are physically + removed from the table. + hard_deletion_sync_min_interval_in_seconds: + type: integer + description: >- + Specifies the minimum interval (in + seconds) between snapshots on primary + keys for detecting and synchronizing + hard deletions—i.e., rows that have been + physically removed from the source + table. This interval acts as a lower + bound. If ingestion runs less frequently + than this value, hard deletion + synchronization will align with the + actual ingestion frequency instead of + happening more often. If not set, hard + deletion synchronization via snapshots + is disabled. This field is mutable and + can be updated without triggering a full + snapshot. + description: >- + Configurations that are only applicable + for query-based ingestion connectors. + row_filter: + type: string + description: >- + (Optional, Immutable) The row filter + condition to be applied to the table. It + must not contain the WHERE keyword, only + the actual filter condition. It must be in + DBSQL format. + salesforce_include_formula_fields: + type: boolean + description: >- + If true, formula fields defined in the + table are included in the ingestion. This + setting is only valid for the Salesforce + connector + scd_type: + type: string + x-enum: + - APPEND_ONLY + - SCD_TYPE_1 + - SCD_TYPE_2 + description: The SCD type to use to ingest the table. + sequence_by: + type: array + items: + type: string + description: >- + The column names specifying the logical + order of events in the source data. Spark + Declarative Pipelines uses this sequencing + to handle change events that arrive out of + order. + workday_report_parameters: + type: object + properties: + incremental: + type: boolean + parameters: + type: object + description: >- + Parameters for the Workday report. Each + key represents the parameter name (e.g., + "start_date", "end_date"), and the + corresponding value is a SQL-like + expression used to compute the parameter + value at runtime. Example: { + "start_date": "{ + coalesce(current_offset(), + date(\"2025-02-01\")) }", "end_date": "{ + current_date() - INTERVAL 1 DAY }" } + report_parameters: + type: array + items: + type: object + properties: + key: + type: string + value: + type: string + description: >- + Value for the report parameter. Possible + values it can take are these sql + functions: 1. coalesce(current_offset(), + date("YYYY-MM-DD")) -> if + current_offset() is null, then the + passed date, else current_offset() 2. + current_date() 3. + date_sub(current_date(), x) -> subtract + x (some non-negative integer) days from + current date + description: >- + (Optional) Additional custom parameters + for Workday Report This field is + deprecated and should not be used. Use + `parameters` instead. + description: >- + (Optional) Additional custom parameters + for Workday Report + description: >- + Configuration settings to control the + ingestion of tables. These settings override + the table_configuration defined in the + IngestionPipelineDefinition object and the + SchemaSpec. + required: + - source_table + - destination_catalog + - destination_schema + description: Select a specific source table. + description: >- + Required. Settings specifying tables to replicate and + the destination for the replicated tables. + source_configurations: + type: array + items: + type: object + properties: + catalog: + type: object + properties: + postgres: + type: object + properties: + slot_config: + type: object + properties: + publication_name: + type: string + description: >- + The name of the publication to use for + the Postgres source + slot_name: + type: string + description: >- + The name of the logical replication slot + to use for the Postgres source + description: >- + Optional. The Postgres slot configuration + to use for logical replication + description: >- + Postgres-specific catalog-level configuration + parameters + source_catalog: + type: string + description: Source catalog name + description: >- + SourceCatalogConfig contains catalog-level custom + configuration parameters for each source + description: Top-level source configurations + source_type: + type: string + x-enum: + - BIGQUERY + - DYNAMICS365 + - FOREIGN_CATALOG + - GA4_RAW_DATA + - MANAGED_POSTGRESQL + - MYSQL + - NETSUITE + - ORACLE + - POSTGRESQL + - SALESFORCE + - SERVICENOW + - SHAREPOINT + - SQLSERVER + - TERADATA + - WORKDAY_RAAS + description: >- + The type of the foreign source. The source type will be + inferred from the source connection or ingestion + gateway. This field is output only and will be ignored + if provided. + table_configuration: + type: object + properties: + auto_full_refresh_policy: + type: object + properties: + enabled: + type: boolean + description: >- + (Required, Mutable) Whether to enable auto full + refresh or not. + min_interval_hours: + type: integer + description: >- + (Optional, Mutable) Specify the minimum interval + in hours between the timestamp at which a table + was last full refreshed and the current + timestamp for triggering auto full If + unspecified and autoFullRefresh is enabled then + by default min_interval_hours is 24 hours. + required: + - enabled + description: Policy for auto full refresh. + exclude_columns: + type: array + items: + type: string + description: >- + A list of column names to be excluded for the + ingestion. When not specified, include_columns fully + controls what columns to be ingested. When + specified, all other columns including future ones + will be automatically included for ingestion. This + field in mutually exclusive with `include_columns`. + include_columns: + type: array + items: + type: string + description: >- + A list of column names to be included for the + ingestion. When not specified, all columns except + ones in exclude_columns will be included. Future + columns will be automatically included. When + specified, all other future columns will be + automatically excluded from ingestion. This field in + mutually exclusive with `exclude_columns`. + primary_keys: + type: array + items: + type: string + description: The primary key of the table used to apply changes. + query_based_connector_config: + type: object + properties: + cursor_columns: + type: array + items: + type: string + description: >- + The names of the monotonically increasing + columns in the source table that are used to + enable the table to be read and ingested + incrementally through structured streaming. The + columns are allowed to have repeated values but + have to be non-decreasing. If the source data is + merged into the destination (e.g., using SCD + Type 1 or Type 2), these columns will implicitly + define the `sequence_by` behavior. You can still + explicitly set `sequence_by` to override this + default. + deletion_condition: + type: string + description: >- + Specifies a SQL WHERE condition that specifies + that the source row has been deleted. This is + sometimes referred to as "soft-deletes". For + example: "Operation = 'DELETE'" or "is_deleted = + true". This field is orthogonal to + `hard_deletion_sync_interval_in_seconds`, one + for soft-deletes and the other for hard-deletes. + See also the + hard_deletion_sync_min_interval_in_seconds field + for handling of "hard deletes" where the source + rows are physically removed from the table. + hard_deletion_sync_min_interval_in_seconds: + type: integer + description: >- + Specifies the minimum interval (in seconds) + between snapshots on primary keys for detecting + and synchronizing hard deletions—i.e., rows that + have been physically removed from the source + table. This interval acts as a lower bound. If + ingestion runs less frequently than this value, + hard deletion synchronization will align with + the actual ingestion frequency instead of + happening more often. If not set, hard deletion + synchronization via snapshots is disabled. This + field is mutable and can be updated without + triggering a full snapshot. + description: >- + Configurations that are only applicable for + query-based ingestion connectors. + row_filter: + type: string + description: >- + (Optional, Immutable) The row filter condition to be + applied to the table. It must not contain the WHERE + keyword, only the actual filter condition. It must + be in DBSQL format. + salesforce_include_formula_fields: + type: boolean + description: >- + If true, formula fields defined in the table are + included in the ingestion. This setting is only + valid for the Salesforce connector + scd_type: + type: string + x-enum: + - APPEND_ONLY + - SCD_TYPE_1 + - SCD_TYPE_2 + description: The SCD type to use to ingest the table. + sequence_by: + type: array + items: + type: string + description: >- + The column names specifying the logical order of + events in the source data. Spark Declarative + Pipelines uses this sequencing to handle change + events that arrive out of order. + workday_report_parameters: + type: object + properties: + incremental: + type: boolean + parameters: + type: object + description: >- + Parameters for the Workday report. Each key + represents the parameter name (e.g., + "start_date", "end_date"), and the corresponding + value is a SQL-like expression used to compute + the parameter value at runtime. Example: { + "start_date": "{ coalesce(current_offset(), + date(\"2025-02-01\")) }", "end_date": "{ + current_date() - INTERVAL 1 DAY }" } + report_parameters: + type: array + items: + type: object + properties: + key: + type: string + value: + type: string + description: >- + Value for the report parameter. Possible + values it can take are these sql + functions: 1. coalesce(current_offset(), + date("YYYY-MM-DD")) -> if current_offset() + is null, then the passed date, else + current_offset() 2. current_date() 3. + date_sub(current_date(), x) -> subtract x + (some non-negative integer) days from + current date + description: >- + (Optional) Additional custom parameters for + Workday Report This field is deprecated and + should not be used. Use `parameters` instead. + description: >- + (Optional) Additional custom parameters for Workday + Report + description: >- + Configuration settings to control the ingestion of + tables. These settings are applied to all tables in the + pipeline. description: >- The configuration for a managed ingestion pipeline. These settings cannot be used with the 'libraries', 'schema', 'target', or 'catalog' settings. libraries: - type: string + type: array + items: + type: object + properties: + file: + type: object + properties: + path: + type: string + glob: + type: object + properties: + include: + type: string + description: >- + The unified field to include source codes. Each entry + can be a notebook path, a file path, or a folder path + that ends `/**`. This field cannot be used together + with `notebook` or `file`. + jar: + type: string + description: >- + URI of the jar to be installed. Currently only DBFS is + supported. + maven: + type: string + description: Specification of a maven library to be installed. + notebook: + type: object + properties: + path: + type: string + description: >- + The path to a notebook that defines a pipeline and is + stored in the Databricks workspace. + whl: + type: string + description: URI of the whl to be installed. description: Libraries or code needed by this deployment. name: type: string description: Friendly identifier for this pipeline. notifications: - type: string + type: array + items: + type: object + properties: + alerts: + type: array + items: + type: string + email_recipients: + type: array + items: + type: string + description: >- + A list of email addresses notified when a configured + alert is triggered. description: List of notification settings for this pipeline. photon: - type: string + type: boolean description: Whether Photon is enabled for this pipeline. restart_window: - type: string + type: object + properties: + start_hour: + type: integer + days_of_week: + type: array + items: + type: string + x-enum: + - FRIDAY + - MONDAY + - SATURDAY + - SUNDAY + - THURSDAY + - TUESDAY + - WEDNESDAY + description: >- + Days of week in which the window is allowed to happen. + If not specified all days of the week + + will be used. + description: >- + Days of week in which the restart is allowed to happen + (within a five-hour window starting at start_hour). If + not specified all days of the week will be used. + time_zone_id: + type: string + description: >- + Time zone id of restart window. See + https://docs.databricks.com/sql/language-manual/sql-ref-syntax-aux-conf-mgmt-set-timezone.html + for details. If not specified, UTC will be used. + required: + - start_hour description: Restart window of this pipeline. root_path: type: string @@ -465,20 +3162,31 @@ paths: interface and it is added to sys.path when executing Python sources during pipeline execution. run_as: - type: string + type: object + properties: + service_principal_name: + type: string + description: >- + Application ID of an active service principal. Setting + this field requires the `servicePrincipal/user` role. + user_name: + type: string + description: >- + The email of an active workspace user. Users can only + set this field to their own email. description: >- :param schema: str (optional) The default schema (database) where tables are read from or published to. schema: type: string serverless: - type: string + type: boolean description: Whether serverless compute is enabled for this pipeline. storage: type: string description: DBFS root directory for storing checkpoints and tables. tags: - type: string + type: object description: >- A map of tags associated with the pipeline. These are forwarded to the cluster as cluster tags, and are therefore @@ -493,7 +3201,18 @@ paths: legacy field is deprecated for pipeline creation in favor of the `schema` field. trigger: - type: string + type: object + properties: + cron: + type: object + properties: + quartz_cron_schedule: + type: string + timezone_id: + type: string + manual: + type: object + properties: {} description: >- Which pipeline trigger to use. Deprecated: Use `continuous` instead. @@ -564,7 +3283,7 @@ paths: in: query required: false schema: - type: string + type: integer description: >- The maximum number of entries to return in a single page. The system may return fewer than max_results events in a response, even if @@ -575,7 +3294,9 @@ paths: in: query required: false schema: - type: string + type: array + items: + type: string description: >- A list of strings specifying the order of results. Supported order_by fields are id and name. The default is id asc. This field @@ -640,7 +3361,7 @@ paths: in: query required: false schema: - type: string + type: boolean responses: '200': description: Success @@ -791,7 +3512,7 @@ paths: type: object properties: allow_duplicate_names: - type: string + type: boolean description: >- If false, deployment will fail if name has changed and conflicts the name of another pipeline. @@ -810,21 +3531,215 @@ paths: type: string description: DLT Release Channel that specifies which version to use. clusters: - type: string + type: array + items: + type: object + properties: + apply_policy_default_values: + type: boolean + autoscale: + type: object + properties: + min_workers: + type: integer + max_workers: + type: integer + description: >- + The maximum number of workers to which the cluster + can scale up when overloaded. `max_workers` must + be strictly greater than `min_workers`. + mode: + type: string + x-enum: + - ENHANCED + - LEGACY + description: >- + Databricks Enhanced Autoscaling optimizes cluster + utilization by automatically allocating cluster + resources based on workload volume, with minimal + impact to the data processing latency of your + pipelines. Enhanced Autoscaling is available for + `updates` clusters only. The legacy autoscaling + feature is used for `maintenance` clusters. + required: + - min_workers + - max_workers + description: >- + Parameters needed in order to automatically scale + clusters up and down based on load. Note: autoscaling + works best with DB runtime versions 3.0 or later. + aws_attributes: + type: string + description: >- + Attributes related to clusters running on Amazon Web + Services. If not specified at cluster creation, a set + of default values will be used. + azure_attributes: + type: string + description: >- + Attributes related to clusters running on Microsoft + Azure. If not specified at cluster creation, a set of + default values will be used. + cluster_log_conf: + type: string + description: >- + The configuration for delivering spark logs to a + long-term storage destination. Only dbfs destinations + are supported. Only one destination can be specified + for one cluster. If the conf is given, the logs will + be delivered to the destination every `5 mins`. The + destination of driver logs is + `$destination/$clusterId/driver`, while the + destination of executor logs is + `$destination/$clusterId/executor`. + custom_tags: + type: object + description: >- + Additional tags for cluster resources. Databricks will + tag all cluster resources (e.g., AWS instances and EBS + volumes) with these tags in addition to + `default_tags`. Notes: - Currently, Databricks allows + at most 45 custom tags - Clusters can only reuse cloud + resources if the resources' tags are a subset of the + cluster tags + driver_instance_pool_id: + type: string + description: >- + The optional ID of the instance pool for the driver of + the cluster belongs. The pool cluster uses the + instance pool with id (instance_pool_id) if the driver + pool is not assigned. + driver_node_type_id: + type: string + description: >- + The node type of the Spark driver. Note that this + field is optional; if unset, the driver node type will + be set as the same value as `node_type_id` defined + above. + enable_local_disk_encryption: + type: boolean + description: >- + Whether to enable local disk encryption for the + cluster. + gcp_attributes: + type: string + description: >- + Attributes related to clusters running on Google Cloud + Platform. If not specified at cluster creation, a set + of default values will be used. + init_scripts: + type: string + description: >- + The configuration for storing init scripts. Any number + of destinations can be specified. The scripts are + executed sequentially in the order provided. If + `cluster_log_conf` is specified, init script logs are + sent to `//init_scripts`. + instance_pool_id: + type: string + description: >- + The optional ID of the instance pool to which the + cluster belongs. + label: + type: string + description: >- + A label for the cluster specification, either + `default` to configure the default cluster, or + `maintenance` to configure the maintenance cluster. + This field is optional. The default value is + `default`. + node_type_id: + type: string + description: >- + This field encodes, through a single value, the + resources available to each of the Spark nodes in this + cluster. For example, the Spark nodes can be + provisioned and optimized for memory or compute + intensive workloads. A list of available node types + can be retrieved by using the + :method:clusters/listNodeTypes API call. + num_workers: + type: integer + description: >- + Number of worker nodes that this cluster should have. + A cluster has one Spark Driver and `num_workers` + Executors for a total of `num_workers` + 1 Spark + nodes. Note: When reading the properties of a cluster, + this field reflects the desired number of workers + rather than the actual current number of workers. For + instance, if a cluster is resized from 5 to 10 + workers, this field will immediately be updated to + reflect the target size of 10 workers, whereas the + workers listed in `spark_info` will gradually increase + from 5 to 10 as the new nodes are provisioned. + policy_id: + type: string + description: >- + The ID of the cluster policy used to create the + cluster if applicable. + spark_conf: + type: object + description: >- + An object containing a set of optional, user-specified + Spark configuration key-value pairs. See + :method:clusters/create for more details. + spark_env_vars: + type: object + description: >- + An object containing a set of optional, user-specified + environment variable key-value pairs. Please note that + key-value pair of the form (X,Y) will be exported as + is (i.e., `export X='Y'`) while launching the driver + and workers. In order to specify an additional set of + `SPARK_DAEMON_JAVA_OPTS`, we recommend appending them + to `$SPARK_DAEMON_JAVA_OPTS` as shown in the example + below. This ensures that all default databricks + managed environmental variables are included as well. + Example Spark environment variables: + `{"SPARK_WORKER_MEMORY": "28000m", "SPARK_LOCAL_DIRS": + "/local_disk0"}` or `{"SPARK_DAEMON_JAVA_OPTS": + "$SPARK_DAEMON_JAVA_OPTS + -Dspark.shuffle.service.enabled=true"}` + ssh_public_keys: + type: array + items: + type: string + description: >- + SSH public key contents that will be added to each + Spark node in this cluster. The corresponding private + keys can be used to login with the user name `ubuntu` + on port `2200`. Up to 10 keys can be specified. description: Cluster settings for this pipeline deployment. configuration: - type: string + type: object description: String-String configuration for this pipeline execution. continuous: - type: string + type: boolean description: >- Whether the pipeline is continuous or triggered. This replaces `trigger`. deployment: - type: string + type: object + properties: + kind: + type: string + x-enum: + - BUNDLE + description: >- + The deployment method that manages the pipeline: - + BUNDLE: The pipeline is managed by a + + Databricks Asset Bundle. + metadata_file_path: + type: string + description: >- + The path to the file containing metadata about the + deployment. + required: + - kind description: Deployment type of this pipeline. development: - type: string + type: boolean description: >- Whether the pipeline is in Development mode. Defaults to false. @@ -832,26 +3747,98 @@ paths: type: string description: Pipeline product edition. environment: - type: string + type: object + properties: + dependencies: + type: array + items: + type: string + description: >- + List of pip dependencies, as supported by the version of + pip in this environment. Each dependency is a pip + requirement file line + https://pip.pypa.io/en/stable/reference/requirements-file-format/ + Allowed dependency could be , + , (WSFS or Volumes + in Databricks), description: >- Environment specification for this pipeline used to install dependencies. event_log: - type: string + type: object + properties: + catalog: + type: string + description: The UC catalog the event log is published under. + name: + type: string + description: The name the event log is published to in UC. + schema: + type: string + description: The UC schema the event log is published under. description: Event log configuration for this pipeline expected_last_modified: - type: string + type: integer description: >- If present, the last-modified time of the pipeline settings before the edit. If the settings were modified after that time, then the request will fail with a conflict. filters: - type: string + type: object + properties: + exclude: + type: array + items: + type: string + include: + type: array + items: + type: string + description: Paths to include. description: >- Filters on which Pipeline packages to include in the deployed graph. gateway_definition: - type: string + type: object + properties: + connection_name: + type: string + gateway_storage_catalog: + type: string + description: >- + Required, Immutable. The name of the catalog for the + gateway pipeline's storage location. + gateway_storage_schema: + type: string + description: >- + Required, Immutable. The name of the schema for the + gateway pipelines's storage location. + connection_id: + type: string + description: >- + [Deprecated, use connection_name instead] Immutable. The + Unity Catalog connection that this gateway pipeline uses + to communicate with the source. + connection_parameters: + type: object + properties: + source_catalog: + type: string + description: >- + Optional, Internal. Parameters required to establish an + initial connection with the source. + gateway_storage_name: + type: string + description: >- + Optional. The Unity Catalog-compatible name for the + gateway storage location. This is the destination to use + for the data that is extracted by the gateway. Spark + Declarative Pipelines system will automatically create + the storage location under the catalog and schema. + required: + - connection_name + - gateway_storage_catalog + - gateway_storage_schema description: >- The definition of a gateway pipeline to support change data capture. @@ -859,25 +3846,1101 @@ paths: type: string description: Unique identifier for this pipeline. ingestion_definition: - type: string + type: object + properties: + connection_name: + type: string + full_refresh_window: + type: object + properties: + start_hour: + type: integer + description: >- + An integer between 0 and 23 denoting the start hour + for the window in the 24-hour day. + days_of_week: + type: array + items: + type: string + x-enum: + - FRIDAY + - MONDAY + - SATURDAY + - SUNDAY + - THURSDAY + - TUESDAY + - WEDNESDAY + description: >- + Days of week in which the window is allowed to + happen. If not specified all days of the week + + will be used. + description: >- + Days of week in which the window is allowed to + happen If not specified all days of the week will be + used. + time_zone_id: + type: string + description: >- + Time zone id of window. See + https://docs.databricks.com/sql/language-manual/sql-ref-syntax-aux-conf-mgmt-set-timezone.html + for details. If not specified, UTC will be used. + required: + - start_hour + description: >- + (Optional) A window that specifies a set of time ranges + for snapshot queries in CDC. + ingest_from_uc_foreign_catalog: + type: boolean + description: >- + Immutable. If set to true, the pipeline will ingest + tables from the UC foreign catalogs directly without the + need to specify a UC connection or ingestion gateway. + The `source_catalog` fields in objects of + IngestionConfig are interpreted as the UC foreign + catalogs to ingest from. + ingestion_gateway_id: + type: string + description: >- + Identifier for the gateway that is used by this + ingestion pipeline to communicate with the source + database. This is used with CDC connectors to databases + like SQL Server using a gateway pipeline (connector_type + = CDC). Under certain conditions, this can be replaced + with connection_name to change the connector to Combined + Cdc Managed Ingestion Pipeline. + netsuite_jar_path: + type: string + description: >- + Netsuite only configuration. When the field is set for a + netsuite connector, the jar stored in the field will be + validated and added to the classpath of pipeline's + cluster. + objects: + type: array + items: + type: object + properties: + report: + type: object + properties: + source_url: + type: string + destination_catalog: + type: string + description: Required. Destination catalog to store table. + destination_schema: + type: string + description: Required. Destination schema to store table. + destination_table: + type: string + description: >- + Required. Destination table name. The pipeline + fails if a table with that name already + exists. + table_configuration: + type: object + properties: + auto_full_refresh_policy: + type: object + properties: + enabled: + type: boolean + description: >- + (Required, Mutable) Whether to enable + auto full refresh or not. + min_interval_hours: + type: integer + description: >- + (Optional, Mutable) Specify the minimum + interval in hours between the timestamp + at which a table was last full refreshed + and the current timestamp for triggering + auto full If unspecified and + autoFullRefresh is enabled then by + default min_interval_hours is 24 hours. + required: + - enabled + description: Policy for auto full refresh. + exclude_columns: + type: array + items: + type: string + description: >- + A list of column names to be excluded for + the ingestion. When not specified, + include_columns fully controls what + columns to be ingested. When specified, + all other columns including future ones + will be automatically included for + ingestion. This field in mutually + exclusive with `include_columns`. + include_columns: + type: array + items: + type: string + description: >- + A list of column names to be included for + the ingestion. When not specified, all + columns except ones in exclude_columns + will be included. Future columns will be + automatically included. When specified, + all other future columns will be + automatically excluded from ingestion. + This field in mutually exclusive with + `exclude_columns`. + primary_keys: + type: array + items: + type: string + description: >- + The primary key of the table used to apply + changes. + query_based_connector_config: + type: object + properties: + cursor_columns: + type: array + items: + type: string + description: >- + The names of the monotonically + increasing columns in the source table + that are used to enable the table to be + read and ingested incrementally through + structured streaming. The columns are + allowed to have repeated values but have + to be non-decreasing. If the source data + is merged into the destination (e.g., + using SCD Type 1 or Type 2), these + columns will implicitly define the + `sequence_by` behavior. You can still + explicitly set `sequence_by` to override + this default. + deletion_condition: + type: string + description: >- + Specifies a SQL WHERE condition that + specifies that the source row has been + deleted. This is sometimes referred to + as "soft-deletes". For example: + "Operation = 'DELETE'" or "is_deleted = + true". This field is orthogonal to + `hard_deletion_sync_interval_in_seconds`, + one for soft-deletes and the other for + hard-deletes. See also the + hard_deletion_sync_min_interval_in_seconds + field for handling of "hard deletes" + where the source rows are physically + removed from the table. + hard_deletion_sync_min_interval_in_seconds: + type: integer + description: >- + Specifies the minimum interval (in + seconds) between snapshots on primary + keys for detecting and synchronizing + hard deletions—i.e., rows that have been + physically removed from the source + table. This interval acts as a lower + bound. If ingestion runs less frequently + than this value, hard deletion + synchronization will align with the + actual ingestion frequency instead of + happening more often. If not set, hard + deletion synchronization via snapshots + is disabled. This field is mutable and + can be updated without triggering a full + snapshot. + description: >- + Configurations that are only applicable + for query-based ingestion connectors. + row_filter: + type: string + description: >- + (Optional, Immutable) The row filter + condition to be applied to the table. It + must not contain the WHERE keyword, only + the actual filter condition. It must be in + DBSQL format. + salesforce_include_formula_fields: + type: boolean + description: >- + If true, formula fields defined in the + table are included in the ingestion. This + setting is only valid for the Salesforce + connector + scd_type: + type: string + x-enum: + - APPEND_ONLY + - SCD_TYPE_1 + - SCD_TYPE_2 + description: The SCD type to use to ingest the table. + sequence_by: + type: array + items: + type: string + description: >- + The column names specifying the logical + order of events in the source data. Spark + Declarative Pipelines uses this sequencing + to handle change events that arrive out of + order. + workday_report_parameters: + type: object + properties: + incremental: + type: boolean + parameters: + type: object + description: >- + Parameters for the Workday report. Each + key represents the parameter name (e.g., + "start_date", "end_date"), and the + corresponding value is a SQL-like + expression used to compute the parameter + value at runtime. Example: { + "start_date": "{ + coalesce(current_offset(), + date(\"2025-02-01\")) }", "end_date": "{ + current_date() - INTERVAL 1 DAY }" } + report_parameters: + type: array + items: + type: object + properties: + key: + type: string + value: + type: string + description: >- + Value for the report parameter. Possible + values it can take are these sql + functions: 1. coalesce(current_offset(), + date("YYYY-MM-DD")) -> if + current_offset() is null, then the + passed date, else current_offset() 2. + current_date() 3. + date_sub(current_date(), x) -> subtract + x (some non-negative integer) days from + current date + description: >- + (Optional) Additional custom parameters + for Workday Report This field is + deprecated and should not be used. Use + `parameters` instead. + description: >- + (Optional) Additional custom parameters + for Workday Report + description: >- + Configuration settings to control the + ingestion of tables. These settings override + the table_configuration defined in the + IngestionPipelineDefinition object. + required: + - source_url + - destination_catalog + - destination_schema + schema: + type: object + properties: + source_schema: + type: string + destination_catalog: + type: string + description: Required. Destination catalog to store tables. + destination_schema: + type: string + description: >- + Required. Destination schema to store tables + in. Tables with the same name as the source + tables are created in this destination schema. + The pipeline fails If a table with the same + name already exists. + source_catalog: + type: string + description: >- + The source catalog name. Might be optional + depending on the type of source. + table_configuration: + type: object + properties: + auto_full_refresh_policy: + type: object + properties: + enabled: + type: boolean + description: >- + (Required, Mutable) Whether to enable + auto full refresh or not. + min_interval_hours: + type: integer + description: >- + (Optional, Mutable) Specify the minimum + interval in hours between the timestamp + at which a table was last full refreshed + and the current timestamp for triggering + auto full If unspecified and + autoFullRefresh is enabled then by + default min_interval_hours is 24 hours. + required: + - enabled + description: Policy for auto full refresh. + exclude_columns: + type: array + items: + type: string + description: >- + A list of column names to be excluded for + the ingestion. When not specified, + include_columns fully controls what + columns to be ingested. When specified, + all other columns including future ones + will be automatically included for + ingestion. This field in mutually + exclusive with `include_columns`. + include_columns: + type: array + items: + type: string + description: >- + A list of column names to be included for + the ingestion. When not specified, all + columns except ones in exclude_columns + will be included. Future columns will be + automatically included. When specified, + all other future columns will be + automatically excluded from ingestion. + This field in mutually exclusive with + `exclude_columns`. + primary_keys: + type: array + items: + type: string + description: >- + The primary key of the table used to apply + changes. + query_based_connector_config: + type: object + properties: + cursor_columns: + type: array + items: + type: string + description: >- + The names of the monotonically + increasing columns in the source table + that are used to enable the table to be + read and ingested incrementally through + structured streaming. The columns are + allowed to have repeated values but have + to be non-decreasing. If the source data + is merged into the destination (e.g., + using SCD Type 1 or Type 2), these + columns will implicitly define the + `sequence_by` behavior. You can still + explicitly set `sequence_by` to override + this default. + deletion_condition: + type: string + description: >- + Specifies a SQL WHERE condition that + specifies that the source row has been + deleted. This is sometimes referred to + as "soft-deletes". For example: + "Operation = 'DELETE'" or "is_deleted = + true". This field is orthogonal to + `hard_deletion_sync_interval_in_seconds`, + one for soft-deletes and the other for + hard-deletes. See also the + hard_deletion_sync_min_interval_in_seconds + field for handling of "hard deletes" + where the source rows are physically + removed from the table. + hard_deletion_sync_min_interval_in_seconds: + type: integer + description: >- + Specifies the minimum interval (in + seconds) between snapshots on primary + keys for detecting and synchronizing + hard deletions—i.e., rows that have been + physically removed from the source + table. This interval acts as a lower + bound. If ingestion runs less frequently + than this value, hard deletion + synchronization will align with the + actual ingestion frequency instead of + happening more often. If not set, hard + deletion synchronization via snapshots + is disabled. This field is mutable and + can be updated without triggering a full + snapshot. + description: >- + Configurations that are only applicable + for query-based ingestion connectors. + row_filter: + type: string + description: >- + (Optional, Immutable) The row filter + condition to be applied to the table. It + must not contain the WHERE keyword, only + the actual filter condition. It must be in + DBSQL format. + salesforce_include_formula_fields: + type: boolean + description: >- + If true, formula fields defined in the + table are included in the ingestion. This + setting is only valid for the Salesforce + connector + scd_type: + type: string + x-enum: + - APPEND_ONLY + - SCD_TYPE_1 + - SCD_TYPE_2 + description: The SCD type to use to ingest the table. + sequence_by: + type: array + items: + type: string + description: >- + The column names specifying the logical + order of events in the source data. Spark + Declarative Pipelines uses this sequencing + to handle change events that arrive out of + order. + workday_report_parameters: + type: object + properties: + incremental: + type: boolean + parameters: + type: object + description: >- + Parameters for the Workday report. Each + key represents the parameter name (e.g., + "start_date", "end_date"), and the + corresponding value is a SQL-like + expression used to compute the parameter + value at runtime. Example: { + "start_date": "{ + coalesce(current_offset(), + date(\"2025-02-01\")) }", "end_date": "{ + current_date() - INTERVAL 1 DAY }" } + report_parameters: + type: array + items: + type: object + properties: + key: + type: string + value: + type: string + description: >- + Value for the report parameter. Possible + values it can take are these sql + functions: 1. coalesce(current_offset(), + date("YYYY-MM-DD")) -> if + current_offset() is null, then the + passed date, else current_offset() 2. + current_date() 3. + date_sub(current_date(), x) -> subtract + x (some non-negative integer) days from + current date + description: >- + (Optional) Additional custom parameters + for Workday Report This field is + deprecated and should not be used. Use + `parameters` instead. + description: >- + (Optional) Additional custom parameters + for Workday Report + description: >- + Configuration settings to control the + ingestion of tables. These settings are + applied to all tables in this schema and + override the table_configuration defined in + the IngestionPipelineDefinition object. + required: + - source_schema + - destination_catalog + - destination_schema + description: Select all tables from a specific source schema. + table: + type: object + properties: + source_table: + type: string + destination_catalog: + type: string + description: Required. Destination catalog to store table. + destination_schema: + type: string + description: Required. Destination schema to store table. + destination_table: + type: string + description: >- + Optional. Destination table name. The pipeline + fails if a table with that name already + exists. If not set, the source table name is + used. + source_catalog: + type: string + description: >- + Source catalog name. Might be optional + depending on the type of source. + source_schema: + type: string + description: >- + Schema name in the source database. Might be + optional depending on the type of source. + table_configuration: + type: object + properties: + auto_full_refresh_policy: + type: object + properties: + enabled: + type: boolean + description: >- + (Required, Mutable) Whether to enable + auto full refresh or not. + min_interval_hours: + type: integer + description: >- + (Optional, Mutable) Specify the minimum + interval in hours between the timestamp + at which a table was last full refreshed + and the current timestamp for triggering + auto full If unspecified and + autoFullRefresh is enabled then by + default min_interval_hours is 24 hours. + required: + - enabled + description: Policy for auto full refresh. + exclude_columns: + type: array + items: + type: string + description: >- + A list of column names to be excluded for + the ingestion. When not specified, + include_columns fully controls what + columns to be ingested. When specified, + all other columns including future ones + will be automatically included for + ingestion. This field in mutually + exclusive with `include_columns`. + include_columns: + type: array + items: + type: string + description: >- + A list of column names to be included for + the ingestion. When not specified, all + columns except ones in exclude_columns + will be included. Future columns will be + automatically included. When specified, + all other future columns will be + automatically excluded from ingestion. + This field in mutually exclusive with + `exclude_columns`. + primary_keys: + type: array + items: + type: string + description: >- + The primary key of the table used to apply + changes. + query_based_connector_config: + type: object + properties: + cursor_columns: + type: array + items: + type: string + description: >- + The names of the monotonically + increasing columns in the source table + that are used to enable the table to be + read and ingested incrementally through + structured streaming. The columns are + allowed to have repeated values but have + to be non-decreasing. If the source data + is merged into the destination (e.g., + using SCD Type 1 or Type 2), these + columns will implicitly define the + `sequence_by` behavior. You can still + explicitly set `sequence_by` to override + this default. + deletion_condition: + type: string + description: >- + Specifies a SQL WHERE condition that + specifies that the source row has been + deleted. This is sometimes referred to + as "soft-deletes". For example: + "Operation = 'DELETE'" or "is_deleted = + true". This field is orthogonal to + `hard_deletion_sync_interval_in_seconds`, + one for soft-deletes and the other for + hard-deletes. See also the + hard_deletion_sync_min_interval_in_seconds + field for handling of "hard deletes" + where the source rows are physically + removed from the table. + hard_deletion_sync_min_interval_in_seconds: + type: integer + description: >- + Specifies the minimum interval (in + seconds) between snapshots on primary + keys for detecting and synchronizing + hard deletions—i.e., rows that have been + physically removed from the source + table. This interval acts as a lower + bound. If ingestion runs less frequently + than this value, hard deletion + synchronization will align with the + actual ingestion frequency instead of + happening more often. If not set, hard + deletion synchronization via snapshots + is disabled. This field is mutable and + can be updated without triggering a full + snapshot. + description: >- + Configurations that are only applicable + for query-based ingestion connectors. + row_filter: + type: string + description: >- + (Optional, Immutable) The row filter + condition to be applied to the table. It + must not contain the WHERE keyword, only + the actual filter condition. It must be in + DBSQL format. + salesforce_include_formula_fields: + type: boolean + description: >- + If true, formula fields defined in the + table are included in the ingestion. This + setting is only valid for the Salesforce + connector + scd_type: + type: string + x-enum: + - APPEND_ONLY + - SCD_TYPE_1 + - SCD_TYPE_2 + description: The SCD type to use to ingest the table. + sequence_by: + type: array + items: + type: string + description: >- + The column names specifying the logical + order of events in the source data. Spark + Declarative Pipelines uses this sequencing + to handle change events that arrive out of + order. + workday_report_parameters: + type: object + properties: + incremental: + type: boolean + parameters: + type: object + description: >- + Parameters for the Workday report. Each + key represents the parameter name (e.g., + "start_date", "end_date"), and the + corresponding value is a SQL-like + expression used to compute the parameter + value at runtime. Example: { + "start_date": "{ + coalesce(current_offset(), + date(\"2025-02-01\")) }", "end_date": "{ + current_date() - INTERVAL 1 DAY }" } + report_parameters: + type: array + items: + type: object + properties: + key: + type: string + value: + type: string + description: >- + Value for the report parameter. Possible + values it can take are these sql + functions: 1. coalesce(current_offset(), + date("YYYY-MM-DD")) -> if + current_offset() is null, then the + passed date, else current_offset() 2. + current_date() 3. + date_sub(current_date(), x) -> subtract + x (some non-negative integer) days from + current date + description: >- + (Optional) Additional custom parameters + for Workday Report This field is + deprecated and should not be used. Use + `parameters` instead. + description: >- + (Optional) Additional custom parameters + for Workday Report + description: >- + Configuration settings to control the + ingestion of tables. These settings override + the table_configuration defined in the + IngestionPipelineDefinition object and the + SchemaSpec. + required: + - source_table + - destination_catalog + - destination_schema + description: Select a specific source table. + description: >- + Required. Settings specifying tables to replicate and + the destination for the replicated tables. + source_configurations: + type: array + items: + type: object + properties: + catalog: + type: object + properties: + postgres: + type: object + properties: + slot_config: + type: object + properties: + publication_name: + type: string + description: >- + The name of the publication to use for + the Postgres source + slot_name: + type: string + description: >- + The name of the logical replication slot + to use for the Postgres source + description: >- + Optional. The Postgres slot configuration + to use for logical replication + description: >- + Postgres-specific catalog-level configuration + parameters + source_catalog: + type: string + description: Source catalog name + description: >- + SourceCatalogConfig contains catalog-level custom + configuration parameters for each source + description: Top-level source configurations + source_type: + type: string + x-enum: + - BIGQUERY + - DYNAMICS365 + - FOREIGN_CATALOG + - GA4_RAW_DATA + - MANAGED_POSTGRESQL + - MYSQL + - NETSUITE + - ORACLE + - POSTGRESQL + - SALESFORCE + - SERVICENOW + - SHAREPOINT + - SQLSERVER + - TERADATA + - WORKDAY_RAAS + description: >- + The type of the foreign source. The source type will be + inferred from the source connection or ingestion + gateway. This field is output only and will be ignored + if provided. + table_configuration: + type: object + properties: + auto_full_refresh_policy: + type: object + properties: + enabled: + type: boolean + description: >- + (Required, Mutable) Whether to enable auto full + refresh or not. + min_interval_hours: + type: integer + description: >- + (Optional, Mutable) Specify the minimum interval + in hours between the timestamp at which a table + was last full refreshed and the current + timestamp for triggering auto full If + unspecified and autoFullRefresh is enabled then + by default min_interval_hours is 24 hours. + required: + - enabled + description: Policy for auto full refresh. + exclude_columns: + type: array + items: + type: string + description: >- + A list of column names to be excluded for the + ingestion. When not specified, include_columns fully + controls what columns to be ingested. When + specified, all other columns including future ones + will be automatically included for ingestion. This + field in mutually exclusive with `include_columns`. + include_columns: + type: array + items: + type: string + description: >- + A list of column names to be included for the + ingestion. When not specified, all columns except + ones in exclude_columns will be included. Future + columns will be automatically included. When + specified, all other future columns will be + automatically excluded from ingestion. This field in + mutually exclusive with `exclude_columns`. + primary_keys: + type: array + items: + type: string + description: The primary key of the table used to apply changes. + query_based_connector_config: + type: object + properties: + cursor_columns: + type: array + items: + type: string + description: >- + The names of the monotonically increasing + columns in the source table that are used to + enable the table to be read and ingested + incrementally through structured streaming. The + columns are allowed to have repeated values but + have to be non-decreasing. If the source data is + merged into the destination (e.g., using SCD + Type 1 or Type 2), these columns will implicitly + define the `sequence_by` behavior. You can still + explicitly set `sequence_by` to override this + default. + deletion_condition: + type: string + description: >- + Specifies a SQL WHERE condition that specifies + that the source row has been deleted. This is + sometimes referred to as "soft-deletes". For + example: "Operation = 'DELETE'" or "is_deleted = + true". This field is orthogonal to + `hard_deletion_sync_interval_in_seconds`, one + for soft-deletes and the other for hard-deletes. + See also the + hard_deletion_sync_min_interval_in_seconds field + for handling of "hard deletes" where the source + rows are physically removed from the table. + hard_deletion_sync_min_interval_in_seconds: + type: integer + description: >- + Specifies the minimum interval (in seconds) + between snapshots on primary keys for detecting + and synchronizing hard deletions—i.e., rows that + have been physically removed from the source + table. This interval acts as a lower bound. If + ingestion runs less frequently than this value, + hard deletion synchronization will align with + the actual ingestion frequency instead of + happening more often. If not set, hard deletion + synchronization via snapshots is disabled. This + field is mutable and can be updated without + triggering a full snapshot. + description: >- + Configurations that are only applicable for + query-based ingestion connectors. + row_filter: + type: string + description: >- + (Optional, Immutable) The row filter condition to be + applied to the table. It must not contain the WHERE + keyword, only the actual filter condition. It must + be in DBSQL format. + salesforce_include_formula_fields: + type: boolean + description: >- + If true, formula fields defined in the table are + included in the ingestion. This setting is only + valid for the Salesforce connector + scd_type: + type: string + x-enum: + - APPEND_ONLY + - SCD_TYPE_1 + - SCD_TYPE_2 + description: The SCD type to use to ingest the table. + sequence_by: + type: array + items: + type: string + description: >- + The column names specifying the logical order of + events in the source data. Spark Declarative + Pipelines uses this sequencing to handle change + events that arrive out of order. + workday_report_parameters: + type: object + properties: + incremental: + type: boolean + parameters: + type: object + description: >- + Parameters for the Workday report. Each key + represents the parameter name (e.g., + "start_date", "end_date"), and the corresponding + value is a SQL-like expression used to compute + the parameter value at runtime. Example: { + "start_date": "{ coalesce(current_offset(), + date(\"2025-02-01\")) }", "end_date": "{ + current_date() - INTERVAL 1 DAY }" } + report_parameters: + type: array + items: + type: object + properties: + key: + type: string + value: + type: string + description: >- + Value for the report parameter. Possible + values it can take are these sql + functions: 1. coalesce(current_offset(), + date("YYYY-MM-DD")) -> if current_offset() + is null, then the passed date, else + current_offset() 2. current_date() 3. + date_sub(current_date(), x) -> subtract x + (some non-negative integer) days from + current date + description: >- + (Optional) Additional custom parameters for + Workday Report This field is deprecated and + should not be used. Use `parameters` instead. + description: >- + (Optional) Additional custom parameters for Workday + Report + description: >- + Configuration settings to control the ingestion of + tables. These settings are applied to all tables in the + pipeline. description: >- The configuration for a managed ingestion pipeline. These settings cannot be used with the 'libraries', 'schema', 'target', or 'catalog' settings. libraries: - type: string + type: array + items: + type: object + properties: + file: + type: object + properties: + path: + type: string + glob: + type: object + properties: + include: + type: string + description: >- + The unified field to include source codes. Each entry + can be a notebook path, a file path, or a folder path + that ends `/**`. This field cannot be used together + with `notebook` or `file`. + jar: + type: string + description: >- + URI of the jar to be installed. Currently only DBFS is + supported. + maven: + type: string + description: Specification of a maven library to be installed. + notebook: + type: object + properties: + path: + type: string + description: >- + The path to a notebook that defines a pipeline and is + stored in the Databricks workspace. + whl: + type: string + description: URI of the whl to be installed. description: Libraries or code needed by this deployment. name: type: string description: Friendly identifier for this pipeline. notifications: - type: string + type: array + items: + type: object + properties: + alerts: + type: array + items: + type: string + email_recipients: + type: array + items: + type: string + description: >- + A list of email addresses notified when a configured + alert is triggered. description: List of notification settings for this pipeline. photon: - type: string + type: boolean description: Whether Photon is enabled for this pipeline. restart_window: - type: string + type: object + properties: + start_hour: + type: integer + days_of_week: + type: array + items: + type: string + x-enum: + - FRIDAY + - MONDAY + - SATURDAY + - SUNDAY + - THURSDAY + - TUESDAY + - WEDNESDAY + description: >- + Days of week in which the window is allowed to happen. + If not specified all days of the week + + will be used. + description: >- + Days of week in which the restart is allowed to happen + (within a five-hour window starting at start_hour). If + not specified all days of the week will be used. + time_zone_id: + type: string + description: >- + Time zone id of restart window. See + https://docs.databricks.com/sql/language-manual/sql-ref-syntax-aux-conf-mgmt-set-timezone.html + for details. If not specified, UTC will be used. + required: + - start_hour description: Restart window of this pipeline. root_path: type: string @@ -887,20 +4950,31 @@ paths: interface and it is added to sys.path when executing Python sources during pipeline execution. run_as: - type: string + type: object + properties: + service_principal_name: + type: string + description: >- + Application ID of an active service principal. Setting + this field requires the `servicePrincipal/user` role. + user_name: + type: string + description: >- + The email of an active workspace user. Users can only + set this field to their own email. description: >- :param schema: str (optional) The default schema (database) where tables are read from or published to. schema: type: string serverless: - type: string + type: boolean description: Whether serverless compute is enabled for this pipeline. storage: type: string description: DBFS root directory for storing checkpoints and tables. tags: - type: string + type: object description: >- A map of tags associated with the pipeline. These are forwarded to the cluster as cluster tags, and are therefore @@ -915,7 +4989,18 @@ paths: legacy field is deprecated for pipeline creation in favor of the `schema` field. trigger: - type: string + type: object + properties: + cron: + type: object + properties: + quartz_cron_schedule: + type: string + timezone_id: + type: string + manual: + type: object + properties: {} description: >- Which pipeline trigger to use. Deprecated: Use `continuous` instead. @@ -1055,7 +5140,26 @@ paths: type: object properties: access_control_list: - type: string + type: array + items: + type: object + properties: + group_name: + type: string + permission_level: + type: string + x-enum: + - CAN_MANAGE + - CAN_RUN + - CAN_VIEW + - IS_OWNER + description: Permission level + service_principal_name: + type: string + description: application ID of a service principal + user_name: + type: string + description: name of the user description: ':returns: :class:`PipelinePermissions`' responses: '200': @@ -1109,7 +5213,26 @@ paths: type: object properties: access_control_list: - type: string + type: array + items: + type: object + properties: + group_name: + type: string + permission_level: + type: string + x-enum: + - CAN_MANAGE + - CAN_RUN + - CAN_VIEW + - IS_OWNER + description: Permission level + service_principal_name: + type: string + description: application ID of a service principal + user_name: + type: string + description: name of the user description: ':returns: :class:`PipelinePermissions`' responses: '200': @@ -1231,7 +5354,7 @@ paths: in: query required: false schema: - type: string + type: integer description: >- Max number of entries to return in a single page. The system may return fewer than max_results events in a response, even if there @@ -1240,7 +5363,9 @@ paths: in: query required: false schema: - type: string + type: array + items: + type: string description: >- A string indicating a sort order by timestamp for the results, for example, ["timestamp asc"]. The sort order can be ascending or @@ -1305,7 +5430,7 @@ paths: in: query required: false schema: - type: string + type: integer description: Max number of entries to return in a single page. - name: page_token in: query @@ -1388,30 +5513,76 @@ paths: properties: cause: type: string + x-enum: + - API_CALL + - INFRASTRUCTURE_MAINTENANCE + - JOB_TASK + - RETRY_ON_FAILURE + - SCHEMA_CHANGE + - SERVICE_UPGRADE + - USER_ACTION + description: What triggered this update. full_refresh: - type: string + type: boolean description: If true, this update will reset all tables before running. full_refresh_selection: - type: string + type: array + items: + type: string description: >- A list of tables to update with fullRefresh. If both refresh_selection and full_refresh_selection are empty, this is a full graph update. Full Refresh on a table means that the states of the table will be reset before the refresh. refresh_selection: - type: string + type: array + items: + type: string description: >- A list of tables to update without fullRefresh. If both refresh_selection and full_refresh_selection are empty, this is a full graph update. Full Refresh on a table means that the states of the table will be reset before the refresh. rewind_spec: - type: string + type: object + properties: + datasets: + type: array + items: + type: object + properties: + cascade: + type: boolean + description: >- + Whether to cascade the rewind to dependent + datasets. Must be specified. + identifier: + type: string + description: >- + The identifier of the dataset (e.g., + "main.foo.tbl1"). + reset_checkpoints: + type: boolean + description: Whether to reset checkpoints for this dataset. + description: Configuration for rewinding a specific dataset. + description: >- + List of datasets to rewind with specific configuration + for each. When not specified, all datasets will be + rewound with cascade = true and reset_checkpoints = + true. + dry_run: + type: boolean + description: >- + If true, this is a dry run and we should emit the + RewindSummary but not perform the rewind. + rewind_timestamp: + type: string + description: The base timestamp to rewind to. Must be specified. description: >- The information about the requested rewind operation. If specified this is a rewind mode update. validate_only: - type: string + type: boolean description: >- If true, this update only validates the correctness of pipeline source code but does not materialize or publish any @@ -2907,20 +7078,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: diff --git a/providers/src/databricks_workspace/v00.00.00000/services/postgres.yaml b/providers/src/databricks_workspace/v00.00.00000/services/postgres.yaml index 89b5d36c..8cce07da 100644 --- a/providers/src/databricks_workspace/v00.00.00000/services/postgres.yaml +++ b/providers/src/databricks_workspace/v00.00.00000/services/postgres.yaml @@ -6,7 +6,7 @@ info: APIs), generated from the Databricks Python SDK. version: 0.1.0 x-stackql-sdk-version: 0.86.0 - x-stackql-date-generated: '2026-02-19' + x-stackql-date-generated: '2026-02-24' x-stackql-sdk-namespace: databricks.sdk.service.postgres servers: - url: https://{deployment_name}.cloud.databricks.com @@ -62,7 +62,138 @@ paths: type: object properties: branch: - type: string + type: object + properties: + create_time: + type: string + format: date-time + name: + type: string + description: >- + Output only. The full resource path of the branch. + Format: projects/{project_id}/branches/{branch_id} + parent: + type: string + description: >- + The project containing this branch (API resource + hierarchy). Format: projects/{project_id} Note: This + field indicates where the branch exists in the resource + hierarchy. For point-in-time branching from another + branch, see `status.source_branch`. + spec: + type: object + properties: + expire_time: + type: string + format: date-time + is_protected: + type: boolean + description: >- + When set to true, protects the branch from deletion + and reset. Associated compute endpoints and the + project cannot be deleted while the branch is + protected. + no_expiry: + type: boolean + description: >- + Explicitly disable expiration. When set to true, the + branch will not expire. If set to false, the request + is invalid; provide either ttl or expire_time + instead. + source_branch: + type: string + description: >- + The name of the source branch from which this branch + was created (data lineage for point-in-time + recovery). If not specified, defaults to the + project's default branch. Format: + projects/{project_id}/branches/{branch_id} + source_branch_lsn: + type: string + description: >- + The Log Sequence Number (LSN) on the source branch + from which this branch was created. + source_branch_time: + type: string + format: date-time + description: >- + The point in time on the source branch from which + this branch was created. + ttl: + type: string + description: >- + Relative time-to-live duration. When set, the branch + will expire at creation_time + ttl. + description: The spec contains the branch configuration. + status: + type: object + properties: + current_state: + type: string + x-enum: + - ARCHIVED + - IMPORTING + - INIT + - READY + - RESETTING + description: The state of the branch. + default: + type: boolean + description: Whether the branch is the project's default branch. + expire_time: + type: string + format: date-time + description: >- + Absolute expiration time for the branch. Empty if + expiration is disabled. + is_protected: + type: boolean + description: Whether the branch is protected. + logical_size_bytes: + type: integer + description: The logical size of the branch. + pending_state: + type: string + x-enum: + - ARCHIVED + - IMPORTING + - INIT + - READY + - RESETTING + description: >- + The pending state of the branch, if a state + transition is in progress. + source_branch: + type: string + description: >- + The name of the source branch from which this branch + was created. Format: + projects/{project_id}/branches/{branch_id} + source_branch_lsn: + type: string + description: >- + The Log Sequence Number (LSN) on the source branch + from which this branch was created. + source_branch_time: + type: string + format: date-time + description: >- + The point in time on the source branch from which + this branch was created. + state_change_time: + type: string + format: date-time + description: >- + A timestamp indicating when the `current_state` + began. + description: The current status of a Branch. + uid: + type: string + description: System-generated unique ID for the branch. + update_time: + type: string + format: date-time + description: A timestamp indicating when the branch was last updated. description: The Branch to create. required: - branch @@ -114,7 +245,7 @@ paths: in: query required: false schema: - type: string + type: integer description: Upper bound for items returned. Cannot be negative. - name: page_token in: query @@ -190,7 +321,150 @@ paths: type: object properties: endpoint: - type: string + type: object + properties: + create_time: + type: string + format: date-time + name: + type: string + description: >- + Output only. The full resource path of the endpoint. + Format: + projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id} + parent: + type: string + description: >- + The branch containing this endpoint (API resource + hierarchy). Format: + projects/{project_id}/branches/{branch_id} + spec: + type: object + properties: + endpoint_type: + type: string + x-enum: + - ENDPOINT_TYPE_READ_ONLY + - ENDPOINT_TYPE_READ_WRITE + description: >- + The compute endpoint type. Either `read_write` or + `read_only`. + autoscaling_limit_max_cu: + type: number + description: >- + The maximum number of Compute Units. Minimum value + is 0.5. + autoscaling_limit_min_cu: + type: number + description: >- + The minimum number of Compute Units. Minimum value + is 0.5. + disabled: + type: boolean + description: >- + Whether to restrict connections to the compute + endpoint. Enabling this option schedules a suspend + compute operation. A disabled compute endpoint + cannot be enabled by a connection or console action. + no_suspension: + type: boolean + description: >- + When set to true, explicitly disables automatic + suspension (never suspend). Should be set to true + when provided. + settings: + type: object + properties: + pg_settings: + type: object + description: A raw representation of Postgres settings. + description: A collection of settings for a compute endpoint. + suspend_timeout_duration: + type: string + description: >- + Duration of inactivity after which the compute + endpoint is automatically suspended. If specified + should be between 60s and 604800s (1 minute to 1 + week). + required: + - endpoint_type + description: >- + The spec contains the compute endpoint configuration, + including autoscaling limits, suspend timeout, and + disabled state. + status: + type: object + properties: + autoscaling_limit_max_cu: + type: number + autoscaling_limit_min_cu: + type: number + description: The minimum number of Compute Units. + current_state: + type: string + x-enum: + - ACTIVE + - IDLE + - INIT + description: The state of the compute endpoint. + disabled: + type: boolean + description: >- + Whether to restrict connections to the compute + endpoint. Enabling this option schedules a suspend + compute operation. A disabled compute endpoint + cannot be enabled by a connection or console action. + endpoint_type: + type: string + x-enum: + - ENDPOINT_TYPE_READ_ONLY + - ENDPOINT_TYPE_READ_WRITE + description: >- + The endpoint type. A branch can only have one + READ_WRITE endpoint. + hosts: + type: object + properties: + host: + type: string + description: >- + The hostname to connect to this endpoint. For + read-write endpoints, this is a read-write + hostname which connects to the primary compute. + For read-only endpoints, this is a read-only + hostname which allows read-only operations. + description: >- + Contains host information for connecting to the + endpoint. + pending_state: + type: string + x-enum: + - ACTIVE + - IDLE + - INIT + description: The state of the compute endpoint. + settings: + type: object + properties: + pg_settings: + type: object + description: A raw representation of Postgres settings. + description: A collection of settings for a compute endpoint. + suspend_timeout_duration: + type: string + description: >- + Duration of inactivity after which the compute + endpoint is automatically suspended. + description: Current operational status of the compute endpoint. + uid: + type: string + description: System-generated unique ID for the endpoint. + update_time: + type: string + format: date-time + description: >- + A timestamp indicating when the compute endpoint was + last updated. description: The Endpoint to create. required: - endpoint @@ -243,7 +517,7 @@ paths: in: query required: false schema: - type: string + type: integer description: Upper bound for items returned. Cannot be negative. - name: page_token in: query @@ -314,7 +588,135 @@ paths: type: object properties: project: - type: string + type: object + properties: + create_time: + type: string + format: date-time + name: + type: string + description: >- + Output only. The full resource path of the project. + Format: projects/{project_id} + spec: + type: object + properties: + default_endpoint_settings: + type: object + properties: + autoscaling_limit_max_cu: + type: number + description: >- + The maximum number of Compute Units. Minimum + value is 0.5. + autoscaling_limit_min_cu: + type: number + description: >- + The minimum number of Compute Units. Minimum + value is 0.5. + no_suspension: + type: boolean + description: >- + When set to true, explicitly disables automatic + suspension (never suspend). Should be set to + true when provided. + pg_settings: + type: object + description: A raw representation of Postgres settings. + suspend_timeout_duration: + type: string + description: >- + Duration of inactivity after which the compute + endpoint is automatically suspended. If + specified should be between 60s and 604800s (1 + minute to 1 week). + description: A collection of settings for a compute endpoint. + display_name: + type: string + description: >- + Human-readable project name. Length should be + between 1 and 256 characters. + history_retention_duration: + type: string + description: >- + The number of seconds to retain the shared history + for point in time recovery for all branches in this + project. Value should be between 0s and 2592000s (up + to 30 days). + pg_version: + type: integer + description: >- + The major Postgres version number. Supported + versions are 16 and 17. + description: >- + The spec contains the project configuration, including + display_name, pg_version (Postgres version), + history_retention_duration, and + default_endpoint_settings. + status: + type: object + properties: + branch_logical_size_limit_bytes: + type: integer + default_endpoint_settings: + type: object + properties: + autoscaling_limit_max_cu: + type: number + description: >- + The maximum number of Compute Units. Minimum + value is 0.5. + autoscaling_limit_min_cu: + type: number + description: >- + The minimum number of Compute Units. Minimum + value is 0.5. + no_suspension: + type: boolean + description: >- + When set to true, explicitly disables automatic + suspension (never suspend). Should be set to + true when provided. + pg_settings: + type: object + description: A raw representation of Postgres settings. + suspend_timeout_duration: + type: string + description: >- + Duration of inactivity after which the compute + endpoint is automatically suspended. If + specified should be between 60s and 604800s (1 + minute to 1 week). + description: The effective default endpoint settings. + display_name: + type: string + description: The effective human-readable project name. + history_retention_duration: + type: string + description: >- + The effective number of seconds to retain the shared + history for point in time recovery. + owner: + type: string + description: The email of the project owner. + pg_version: + type: integer + description: The effective major Postgres version number. + synthetic_storage_size_bytes: + type: integer + description: >- + The current space occupied by the project in + storage. + description: The current status of a Project. + uid: + type: string + description: System-generated unique ID for the project. + update_time: + type: string + format: date-time + description: >- + A timestamp indicating when the project was last + updated. description: The Project to create. required: - project @@ -360,7 +762,7 @@ paths: in: query required: false schema: - type: string + type: integer description: Upper bound for items returned. Cannot be negative. - name: page_token in: query @@ -439,7 +841,89 @@ paths: type: object properties: role: - type: string + type: object + properties: + create_time: + type: string + format: date-time + name: + type: string + description: >- + Output only. The full resource path of the role. Format: + projects/{project_id}/branches/{branch_id}/roles/{role_id} + parent: + type: string + description: >- + The Branch where this Role exists. Format: + projects/{project_id}/branches/{branch_id} + spec: + type: object + properties: + auth_method: + type: string + x-enum: + - LAKEBASE_OAUTH_V1 + - NO_LOGIN + - PG_PASSWORD_SCRAM_SHA_256 + description: >- + How the role is authenticated when connecting to + Postgres. + identity_type: + type: string + x-enum: + - GROUP + - SERVICE_PRINCIPAL + - USER + description: >- + The type of role. When specifying a + managed-identity, the chosen role_id must be a + valid: * application ID for SERVICE_PRINCIPAL * user + email for USER * group name for GROUP + postgres_role: + type: string + description: >- + The name of the Postgres role. This expects a valid + Postgres identifier as specified in the link below. + https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS + Required when creating the Role. If you wish to + create a Postgres Role backed by a managed + Databricks identity, then postgres_role must be one + of the following: 1. user email for + IdentityType.USER 2. app ID for + IdentityType.SERVICE_PRINCIPAL 2. group name for + IdentityType.GROUP + description: >- + The spec contains the role configuration, including + identity type, authentication method, and role + attributes. + status: + type: object + properties: + auth_method: + type: string + x-enum: + - LAKEBASE_OAUTH_V1 + - NO_LOGIN + - PG_PASSWORD_SCRAM_SHA_256 + description: >- + How the role is authenticated when connecting to + Postgres. + identity_type: + type: string + x-enum: + - GROUP + - SERVICE_PRINCIPAL + - USER + description: The type of the role. + postgres_role: + type: string + description: The name of the Postgres role. + description: >- + Current status of the role, including its identity type, + authentication method, and role attributes. + update_time: + type: string + format: date-time description: The desired specification of a Role. required: - role @@ -491,7 +975,7 @@ paths: in: query required: false schema: - type: string + type: integer description: Upper bound for items returned. Cannot be negative. - name: page_token in: query @@ -660,7 +1144,7 @@ paths: in: query required: true schema: - type: string + type: object description: >- The list of fields to update. If unspecified, all fields will be updated when possible. @@ -671,7 +1155,135 @@ paths: type: object properties: project: - type: string + type: object + properties: + create_time: + type: string + format: date-time + name: + type: string + description: >- + Output only. The full resource path of the project. + Format: projects/{project_id} + spec: + type: object + properties: + default_endpoint_settings: + type: object + properties: + autoscaling_limit_max_cu: + type: number + description: >- + The maximum number of Compute Units. Minimum + value is 0.5. + autoscaling_limit_min_cu: + type: number + description: >- + The minimum number of Compute Units. Minimum + value is 0.5. + no_suspension: + type: boolean + description: >- + When set to true, explicitly disables automatic + suspension (never suspend). Should be set to + true when provided. + pg_settings: + type: object + description: A raw representation of Postgres settings. + suspend_timeout_duration: + type: string + description: >- + Duration of inactivity after which the compute + endpoint is automatically suspended. If + specified should be between 60s and 604800s (1 + minute to 1 week). + description: A collection of settings for a compute endpoint. + display_name: + type: string + description: >- + Human-readable project name. Length should be + between 1 and 256 characters. + history_retention_duration: + type: string + description: >- + The number of seconds to retain the shared history + for point in time recovery for all branches in this + project. Value should be between 0s and 2592000s (up + to 30 days). + pg_version: + type: integer + description: >- + The major Postgres version number. Supported + versions are 16 and 17. + description: >- + The spec contains the project configuration, including + display_name, pg_version (Postgres version), + history_retention_duration, and + default_endpoint_settings. + status: + type: object + properties: + branch_logical_size_limit_bytes: + type: integer + default_endpoint_settings: + type: object + properties: + autoscaling_limit_max_cu: + type: number + description: >- + The maximum number of Compute Units. Minimum + value is 0.5. + autoscaling_limit_min_cu: + type: number + description: >- + The minimum number of Compute Units. Minimum + value is 0.5. + no_suspension: + type: boolean + description: >- + When set to true, explicitly disables automatic + suspension (never suspend). Should be set to + true when provided. + pg_settings: + type: object + description: A raw representation of Postgres settings. + suspend_timeout_duration: + type: string + description: >- + Duration of inactivity after which the compute + endpoint is automatically suspended. If + specified should be between 60s and 604800s (1 + minute to 1 week). + description: The effective default endpoint settings. + display_name: + type: string + description: The effective human-readable project name. + history_retention_duration: + type: string + description: >- + The effective number of seconds to retain the shared + history for point in time recovery. + owner: + type: string + description: The email of the project owner. + pg_version: + type: integer + description: The effective major Postgres version number. + synthetic_storage_size_bytes: + type: integer + description: >- + The current space occupied by the project in + storage. + description: The current status of a Project. + uid: + type: string + description: System-generated unique ID for the project. + update_time: + type: string + format: date-time + description: >- + A timestamp indicating when the project was last + updated. description: >- The Project to update. The project's `name` field is used to identify the project to update. Format: @@ -726,7 +1338,84 @@ paths: credential will be generated. Format: projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id} claims: - type: string + type: array + items: + type: object + properties: + permission_set: + type: string + x-enum: + - READ_ONLY + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know how many + members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members can + have their own + + attributes -- see the documentation for details. + resources: + type: array + items: + type: object + properties: + table_name: + type: string + unspecified_resource_name: + type: string description: >- The returned token will be scoped to UC tables with the specified permissions. @@ -1397,20 +2086,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: diff --git a/providers/src/databricks_workspace/v00.00.00000/services/qualitymonitorv2.yaml b/providers/src/databricks_workspace/v00.00.00000/services/qualitymonitorv2.yaml index 1da12029..1455fdd2 100644 --- a/providers/src/databricks_workspace/v00.00.00000/services/qualitymonitorv2.yaml +++ b/providers/src/databricks_workspace/v00.00.00000/services/qualitymonitorv2.yaml @@ -6,7 +6,7 @@ info: (workspace-level APIs), generated from the Databricks Python SDK. version: 0.1.0 x-stackql-sdk-version: 0.86.0 - x-stackql-date-generated: '2026-02-19' + x-stackql-date-generated: '2026-02-24' x-stackql-sdk-namespace: databricks.sdk.service.qualitymonitorv2 servers: - url: https://{deployment_name}.cloud.databricks.com @@ -40,7 +40,79 @@ paths: type: object properties: quality_monitor: - type: string + type: object + properties: + object_type: + type: string + object_id: + type: string + description: The uuid of the request object. For example, schema id. + anomaly_detection_config: + type: object + properties: + excluded_table_full_names: + type: array + items: + type: string + last_run_id: + type: string + description: Run id of the last run of the workflow + latest_run_status: + type: string + x-enum: + - ANOMALY_DETECTION_RUN_STATUS_CANCELED + - ANOMALY_DETECTION_RUN_STATUS_FAILED + - ANOMALY_DETECTION_RUN_STATUS_JOB_DELETED + - ANOMALY_DETECTION_RUN_STATUS_PENDING + - ANOMALY_DETECTION_RUN_STATUS_RUNNING + - ANOMALY_DETECTION_RUN_STATUS_SUCCESS + - ANOMALY_DETECTION_RUN_STATUS_UNKNOWN + - >- + ANOMALY_DETECTION_RUN_STATUS_WORKSPACE_MISMATCH_ERROR + description: The status of the last run of the workflow. + validity_check_configurations: + type: array + items: + type: object + properties: + name: + type: string + percent_null_validity_check: + type: object + properties: + column_names: + type: array + items: + type: string + upper_bound: + type: number + description: >- + Optional upper bound; we should use auto + determined bounds for now + range_validity_check: + type: object + properties: + column_names: + type: array + items: + type: string + lower_bound: + type: number + description: Lower bound for the range + upper_bound: + type: number + description: Upper bound for the range + uniqueness_validity_check: + type: object + properties: + column_names: + type: array + items: + type: string + description: Validity check configurations for anomaly detection. + required: + - object_type + - object_id description: ':returns: :class:`QualityMonitor`' required: - quality_monitor @@ -87,7 +159,7 @@ paths: in: query required: false schema: - type: string + type: integer description: ':param page_token: str (optional)' - name: page_token in: query @@ -259,7 +331,79 @@ paths: type: object properties: quality_monitor: - type: string + type: object + properties: + object_type: + type: string + object_id: + type: string + description: The uuid of the request object. For example, schema id. + anomaly_detection_config: + type: object + properties: + excluded_table_full_names: + type: array + items: + type: string + last_run_id: + type: string + description: Run id of the last run of the workflow + latest_run_status: + type: string + x-enum: + - ANOMALY_DETECTION_RUN_STATUS_CANCELED + - ANOMALY_DETECTION_RUN_STATUS_FAILED + - ANOMALY_DETECTION_RUN_STATUS_JOB_DELETED + - ANOMALY_DETECTION_RUN_STATUS_PENDING + - ANOMALY_DETECTION_RUN_STATUS_RUNNING + - ANOMALY_DETECTION_RUN_STATUS_SUCCESS + - ANOMALY_DETECTION_RUN_STATUS_UNKNOWN + - >- + ANOMALY_DETECTION_RUN_STATUS_WORKSPACE_MISMATCH_ERROR + description: The status of the last run of the workflow. + validity_check_configurations: + type: array + items: + type: object + properties: + name: + type: string + percent_null_validity_check: + type: object + properties: + column_names: + type: array + items: + type: string + upper_bound: + type: number + description: >- + Optional upper bound; we should use auto + determined bounds for now + range_validity_check: + type: object + properties: + column_names: + type: array + items: + type: string + lower_bound: + type: number + description: Lower bound for the range + upper_bound: + type: number + description: Upper bound for the range + uniqueness_validity_check: + type: object + properties: + column_names: + type: array + items: + type: string + description: Validity check configurations for anomaly detection. + required: + - object_type + - object_id description: ':returns: :class:`QualityMonitor`' required: - quality_monitor diff --git a/providers/src/databricks_workspace/v00.00.00000/services/serving.yaml b/providers/src/databricks_workspace/v00.00.00000/services/serving.yaml index 7ed30bd6..59ce3985 100644 --- a/providers/src/databricks_workspace/v00.00.00000/services/serving.yaml +++ b/providers/src/databricks_workspace/v00.00.00000/services/serving.yaml @@ -5,7 +5,7 @@ info: Python SDK. version: 0.1.0 x-stackql-sdk-version: 0.86.0 - x-stackql-date-generated: '2026-02-19' + x-stackql-date-generated: '2026-02-24' x-stackql-sdk-namespace: databricks.sdk.service.serving servers: - url: https://{deployment_name}.cloud.databricks.com @@ -87,29 +87,887 @@ paths: description: The name of the serving endpoint. This field is required and must be unique across a Databricks workspace. An endpoint name can consist of alphanumeric characters, dashes, and underscores. ai_gateway: - type: string + type: object + properties: + fallback_config: + type: object + properties: + enabled: + type: boolean + required: + - enabled + guardrails: + type: object + properties: + input: + type: object + properties: + invalid_keywords: + type: array + items: + type: string + pii: + type: object + properties: + behavior: + type: string + x-enum: + - BLOCK + - MASK + - NONE + description: 'Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color[''RED''] + + + + + Enumerations can be iterated over, and know how many members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members can have their own + + attributes -- see the documentation for details.' + description: Configuration for guardrail PII filter. + safety: + type: boolean + description: Indicates whether the safety filter is enabled. + valid_topics: + type: array + items: + type: string + description: The list of allowed topics. Given a chat request, this guardrail flags the request + if its topic is not in the allowed topics. + output: + type: object + properties: + invalid_keywords: + type: array + items: + type: string + pii: + type: object + properties: + behavior: + type: string + x-enum: + - BLOCK + - MASK + - NONE + description: 'Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color[''RED''] + + + + + Enumerations can be iterated over, and know how many members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members can have their own + + attributes -- see the documentation for details.' + description: Configuration for guardrail PII filter. + safety: + type: boolean + description: Indicates whether the safety filter is enabled. + valid_topics: + type: array + items: + type: string + description: The list of allowed topics. Given a chat request, this guardrail flags the request + if its topic is not in the allowed topics. + description: Configuration for output guardrail filters. + description: Configuration for AI Guardrails to prevent unwanted data and unsafe data in requests and + responses. + inference_table_config: + type: object + properties: + catalog_name: + type: string + enabled: + type: boolean + description: Indicates whether the inference table is enabled. + schema_name: + type: string + description: 'The name of the schema in Unity Catalog. Required when enabling inference tables. + NOTE: On update, you have to disable inference table first in order to change the schema name.' + table_name_prefix: + type: string + description: 'The prefix of the table in Unity Catalog. NOTE: On update, you have to disable inference + table first in order to change the prefix name.' + description: Configuration for payload logging using inference tables. Use these tables to monitor and + audit data being sent to and received from model APIs and to improve model quality. + rate_limits: + type: array + items: + type: object + properties: + renewal_period: + type: string + x-enum: + - minute + description: 'Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color[''RED''] + + + + + Enumerations can be iterated over, and know how many members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members can have their own + + attributes -- see the documentation for details.' + calls: + type: integer + description: Used to specify how many calls are allowed for a key within the renewal_period. + key: + type: string + x-enum: + - endpoint + - service_principal + - user + - user_group + description: Key field for a rate limit. Currently, 'user', 'user_group, 'service_principal', + and 'endpoint' are supported, with 'endpoint' being the default if not specified. + principal: + type: string + description: Principal field for a user, user group, or service principal to apply rate limiting + to. Accepts a user email, group name, or service principal application ID. + tokens: + type: integer + description: Used to specify how many tokens are allowed for a key within the renewal_period. + required: + - renewal_period + description: Configuration for rate limits which can be set to limit endpoint traffic. + usage_tracking_config: + type: object + properties: + enabled: + type: boolean + description: Configuration to enable usage tracking using system tables. These tables allow you to monitor + operational usage on endpoints and their associated costs. description: 'The AI Gateway configuration for the serving endpoint. NOTE: External model, provisioned throughput, and pay-per-token endpoints are fully supported; agent endpoints currently only support inference tables.' budget_policy_id: type: string description: The budget policy to be applied to the serving endpoint. config: - type: string + type: object + properties: + name: + type: string + auto_capture_config: + type: object + properties: + catalog_name: + type: string + enabled: + type: boolean + description: Indicates whether the inference table is enabled. + schema_name: + type: string + description: 'The name of the schema in Unity Catalog. NOTE: On update, you cannot change the schema + name if the inference table is already enabled.' + table_name_prefix: + type: string + description: 'The prefix of the table in Unity Catalog. NOTE: On update, you cannot change the prefix + name if the inference table is already enabled.' + description: 'Configuration for Inference Tables which automatically logs requests and responses to + Unity Catalog. Note: this field is deprecated for creating new provisioned throughput endpoints, or + updating existing provisioned throughput endpoints that never have inference table configured; in + these cases please use AI Gateway to manage inference tables.' + served_entities: + type: array + items: + type: object + properties: + burst_scaling_enabled: + type: boolean + entity_name: + type: string + description: The name of the entity to be served. The entity may be a model in the Databricks + Model Registry, a model in the Unity Catalog (UC), or a function of type FEATURE_SPEC in the + UC. If it is a UC object, the full name of the object should be given in the form of **catalog_name.schema_name.model_name**. + entity_version: + type: string + environment_vars: + type: object + description: 'An object containing a set of optional, user-specified environment variable key-value + pairs used for serving this entity. Note: this is an experimental feature and subject to change. + Example entity environment variables that refer to Databricks secrets: `{"OPENAI_API_KEY": "{{secrets/my_scope/my_key}}", + "DATABRICKS_TOKEN": "{{secrets/my_scope2/my_key2}}"}`' + external_model: + type: object + properties: + provider: + type: string + x-enum: + - ai21labs + - amazon-bedrock + - anthropic + - cohere + - custom + - databricks-model-serving + - google-cloud-vertex-ai + - openai + - palm + description: 'Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color[''RED''] + + + + + Enumerations can be iterated over, and know how many members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members can have their own + + attributes -- see the documentation for details.' + name: + type: string + description: The name of the external model. + task: + type: string + description: The task type of the external model. + ai21labs_config: + type: object + properties: + ai21labs_api_key: + type: string + ai21labs_api_key_plaintext: + type: string + description: 'An AI21 Labs API key provided as a plaintext string. If you prefer to reference + your key using Databricks Secrets, see `ai21labs_api_key`. You must provide an API key + using one of the following fields: `ai21labs_api_key` or `ai21labs_api_key_plaintext`.' + description: AI21Labs Config. Only required if the provider is 'ai21labs'. + amazon_bedrock_config: + type: object + properties: + aws_region: + type: string + bedrock_provider: + type: string + x-enum: + - ai21labs + - amazon + - anthropic + - cohere + description: 'The underlying provider in Amazon Bedrock. Supported values (case insensitive) + include: Anthropic, Cohere, AI21Labs, Amazon.' + aws_access_key_id: + type: string + description: 'The Databricks secret key reference for an AWS access key ID with permissions + to interact with Bedrock services. If you prefer to paste your API key directly, see + `aws_access_key_id_plaintext`. You must provide an API key using one of the following + fields: `aws_access_key_id` or `aws_access_key_id_plaintext`.' + aws_access_key_id_plaintext: + type: string + description: 'An AWS access key ID with permissions to interact with Bedrock services + provided as a plaintext string. If you prefer to reference your key using Databricks + Secrets, see `aws_access_key_id`. You must provide an API key using one of the following + fields: `aws_access_key_id` or `aws_access_key_id_plaintext`.' + aws_secret_access_key: + type: string + description: 'The Databricks secret key reference for an AWS secret access key paired + with the access key ID, with permissions to interact with Bedrock services. If you prefer + to paste your API key directly, see `aws_secret_access_key_plaintext`. You must provide + an API key using one of the following fields: `aws_secret_access_key` or `aws_secret_access_key_plaintext`.' + aws_secret_access_key_plaintext: + type: string + description: 'An AWS secret access key paired with the access key ID, with permissions + to interact with Bedrock services provided as a plaintext string. If you prefer to reference + your key using Databricks Secrets, see `aws_secret_access_key`. You must provide an + API key using one of the following fields: `aws_secret_access_key` or `aws_secret_access_key_plaintext`.' + instance_profile_arn: + type: string + description: ARN of the instance profile that the external model will use to access AWS + resources. You must authenticate using an instance profile or access keys. If you prefer + to authenticate using access keys, see `aws_access_key_id`, `aws_access_key_id_plaintext`, + `aws_secret_access_key` and `aws_secret_access_key_plaintext`. + required: + - aws_region + - bedrock_provider + description: Amazon Bedrock Config. Only required if the provider is 'amazon-bedrock'. + anthropic_config: + type: object + properties: + anthropic_api_key: + type: string + anthropic_api_key_plaintext: + type: string + description: 'The Anthropic API key provided as a plaintext string. If you prefer to reference + your key using Databricks Secrets, see `anthropic_api_key`. You must provide an API + key using one of the following fields: `anthropic_api_key` or `anthropic_api_key_plaintext`.' + description: Anthropic Config. Only required if the provider is 'anthropic'. + cohere_config: + type: object + properties: + cohere_api_base: + type: string + cohere_api_key: + type: string + description: 'The Databricks secret key reference for a Cohere API key. If you prefer + to paste your API key directly, see `cohere_api_key_plaintext`. You must provide an + API key using one of the following fields: `cohere_api_key` or `cohere_api_key_plaintext`.' + cohere_api_key_plaintext: + type: string + description: 'The Cohere API key provided as a plaintext string. If you prefer to reference + your key using Databricks Secrets, see `cohere_api_key`. You must provide an API key + using one of the following fields: `cohere_api_key` or `cohere_api_key_plaintext`.' + description: Cohere Config. Only required if the provider is 'cohere'. + custom_provider_config: + type: object + properties: + custom_provider_url: + type: string + description: This is a field to provide the URL of the custom provider API. + api_key_auth: + type: object + properties: + key: + type: string + value: + type: string + description: The Databricks secret key reference for an API Key. If you prefer to + paste your token directly, see `value_plaintext`. + value_plaintext: + type: string + description: The API Key provided as a plaintext string. If you prefer to reference + your token using Databricks Secrets, see `value`. + required: + - key + description: This is a field to provide API key authentication for the custom provider + API. You can only specify one authentication method. + bearer_token_auth: + type: object + properties: + token: + type: string + token_plaintext: + type: string + description: The token provided as a plaintext string. If you prefer to reference + your token using Databricks Secrets, see `token`. + description: This is a field to provide bearer token authentication for the custom provider + API. You can only specify one authentication method. + required: + - custom_provider_url + description: Custom Provider Config. Only required if the provider is 'custom'. + databricks_model_serving_config: + type: object + properties: + databricks_workspace_url: + type: string + databricks_api_token: + type: string + description: 'The Databricks secret key reference for a Databricks API token that corresponds + to a user or service principal with Can Query access to the model serving endpoint pointed + to by this external model. If you prefer to paste your API key directly, see `databricks_api_token_plaintext`. + You must provide an API key using one of the following fields: `databricks_api_token` + or `databricks_api_token_plaintext`.' + databricks_api_token_plaintext: + type: string + description: 'The Databricks API token that corresponds to a user or service principal + with Can Query access to the model serving endpoint pointed to by this external model + provided as a plaintext string. If you prefer to reference your key using Databricks + Secrets, see `databricks_api_token`. You must provide an API key using one of the following + fields: `databricks_api_token` or `databricks_api_token_plaintext`.' + required: + - databricks_workspace_url + description: Databricks Model Serving Config. Only required if the provider is 'databricks-model-serving'. + google_cloud_vertex_ai_config: + type: object + properties: + project_id: + type: string + region: + type: string + description: 'This is the region for the Google Cloud Vertex AI Service. See [supported + regions] for more details. Some models are only available in specific regions. [supported + regions]: https://cloud.google.com/vertex-ai/docs/general/locations' + private_key: + type: string + description: 'The Databricks secret key reference for a private key for the service account + which has access to the Google Cloud Vertex AI Service. See [Best practices for managing + service account keys]. If you prefer to paste your API key directly, see `private_key_plaintext`. + You must provide an API key using one of the following fields: `private_key` or `private_key_plaintext` + [Best practices for managing service account keys]: https://cloud.google.com/iam/docs/best-practices-for-managing-service-account-keys' + private_key_plaintext: + type: string + description: 'The private key for the service account which has access to the Google Cloud + Vertex AI Service provided as a plaintext secret. See [Best practices for managing service + account keys]. If you prefer to reference your key using Databricks Secrets, see `private_key`. + You must provide an API key using one of the following fields: `private_key` or `private_key_plaintext`. + [Best practices for managing service account keys]: https://cloud.google.com/iam/docs/best-practices-for-managing-service-account-keys' + required: + - project_id + - region + description: Google Cloud Vertex AI Config. Only required if the provider is 'google-cloud-vertex-ai'. + openai_config: + type: object + properties: + microsoft_entra_client_id: + type: string + description: This field is only required for Azure AD OpenAI and is the Microsoft Entra + Client ID. + microsoft_entra_client_secret: + type: string + description: 'The Databricks secret key reference for a client secret used for Microsoft + Entra ID authentication. If you prefer to paste your client secret directly, see `microsoft_entra_client_secret_plaintext`. + You must provide an API key using one of the following fields: `microsoft_entra_client_secret` + or `microsoft_entra_client_secret_plaintext`.' + microsoft_entra_client_secret_plaintext: + type: string + description: 'The client secret used for Microsoft Entra ID authentication provided as + a plaintext string. If you prefer to reference your key using Databricks Secrets, see + `microsoft_entra_client_secret`. You must provide an API key using one of the following + fields: `microsoft_entra_client_secret` or `microsoft_entra_client_secret_plaintext`.' + microsoft_entra_tenant_id: + type: string + description: This field is only required for Azure AD OpenAI and is the Microsoft Entra + Tenant ID. + openai_api_base: + type: string + description: This is a field to provide a customized base URl for the OpenAI API. For + Azure OpenAI, this field is required, and is the base URL for the Azure OpenAI API service + provided by Azure. For other OpenAI API types, this field is optional, and if left unspecified, + the standard OpenAI base URL is used. + openai_api_key: + type: string + description: 'The Databricks secret key reference for an OpenAI API key using the OpenAI + or Azure service. If you prefer to paste your API key directly, see `openai_api_key_plaintext`. + You must provide an API key using one of the following fields: `openai_api_key` or `openai_api_key_plaintext`.' + openai_api_key_plaintext: + type: string + description: 'The OpenAI API key using the OpenAI or Azure service provided as a plaintext + string. If you prefer to reference your key using Databricks Secrets, see `openai_api_key`. + You must provide an API key using one of the following fields: `openai_api_key` or `openai_api_key_plaintext`.' + openai_api_type: + type: string + description: This is an optional field to specify the type of OpenAI API to use. For Azure + OpenAI, this field is required, and adjust this parameter to represent the preferred + security access validation protocol. For access token validation, use azure. For authentication + using Azure Active Directory (Azure AD) use, azuread. + openai_api_version: + type: string + description: This is an optional field to specify the OpenAI API version. For Azure OpenAI, + this field is required, and is the version of the Azure OpenAI service to utilize, specified + by a date. + openai_deployment_name: + type: string + description: This field is only required for Azure OpenAI and is the name of the deployment + resource for the Azure OpenAI service. + openai_organization: + type: string + description: This is an optional field to specify the organization in OpenAI or Azure + OpenAI. + description: OpenAI Config. Only required if the provider is 'openai'. + palm_config: + type: object + properties: + palm_api_key: + type: string + palm_api_key_plaintext: + type: string + description: 'The PaLM API key provided as a plaintext string. If you prefer to reference + your key using Databricks Secrets, see `palm_api_key`. You must provide an API key using + one of the following fields: `palm_api_key` or `palm_api_key_plaintext`.' + description: PaLM Config. Only required if the provider is 'palm'. + required: + - provider + - name + - task + description: 'The external model to be served. NOTE: Only one of external_model and (entity_name, + entity_version, workload_size, workload_type, and scale_to_zero_enabled) can be specified with + the latter set being used for custom model serving for a Databricks registered model. For an + existing endpoint with external_model, it cannot be updated to an endpoint without external_model. + If the endpoint is created without external_model, users cannot update it to add external_model + later. The task type of all external models within an endpoint must be the same.' + instance_profile_arn: + type: string + description: ARN of the instance profile that the served entity uses to access AWS resources. + max_provisioned_concurrency: + type: integer + description: The maximum provisioned concurrency that the endpoint can scale up to. Do not use + if workload_size is specified. + max_provisioned_throughput: + type: integer + description: The maximum tokens per second that the endpoint can scale up to. + min_provisioned_concurrency: + type: integer + description: The minimum provisioned concurrency that the endpoint can scale down to. Do not use + if workload_size is specified. + min_provisioned_throughput: + type: integer + description: The minimum tokens per second that the endpoint can scale down to. + name: + type: string + description: The name of a served entity. It must be unique across an endpoint. A served entity + name can consist of alphanumeric characters, dashes, and underscores. If not specified for an + external model, this field defaults to external_model.name, with '.' and ':' replaced with '-', + and if not specified for other entities, it defaults to entity_name-entity_version. + provisioned_model_units: + type: integer + description: The number of model units provisioned. + scale_to_zero_enabled: + type: boolean + description: Whether the compute resources for the served entity should scale down to zero. + workload_size: + type: string + description: The workload size of the served entity. The workload size corresponds to a range + of provisioned concurrency that the compute autoscales between. A single unit of provisioned + concurrency can process one request at a time. Valid workload sizes are "Small" (4 - 4 provisioned + concurrency), "Medium" (8 - 16 provisioned concurrency), and "Large" (16 - 64 provisioned concurrency). + Additional custom workload sizes can also be used when available in the workspace. If scale-to-zero + is enabled, the lower bound of the provisioned concurrency for each workload size is 0. Do not + use if min_provisioned_concurrency and max_provisioned_concurrency are specified. + workload_type: + type: string + x-enum: + - CPU + - GPU_LARGE + - GPU_MEDIUM + - GPU_SMALL + - MULTIGPU_MEDIUM + description: 'The workload type of the served entity. The workload type selects which type of + compute to use in the endpoint. The default value for this parameter is "CPU". For deep learning + workloads, GPU acceleration is available by selecting workload types like GPU_SMALL and others. + See the available [GPU types]. [GPU types]: https://docs.databricks.com/en/machine-learning/model-serving/create-manage-serving-endpoints.html#gpu-workload-types' + description: The list of served entities under the serving endpoint config. + served_models: + type: array + items: + type: object + properties: + scale_to_zero_enabled: + type: boolean + model_name: + type: string + model_version: + type: string + burst_scaling_enabled: + type: boolean + description: Whether burst scaling is enabled. When enabled (default), the endpoint can automatically + scale up beyond provisioned capacity to handle traffic spikes. When disabled, the endpoint maintains + fixed capacity at provisioned_model_units. + environment_vars: + type: object + description: 'An object containing a set of optional, user-specified environment variable key-value + pairs used for serving this entity. Note: this is an experimental feature and subject to change. + Example entity environment variables that refer to Databricks secrets: `{"OPENAI_API_KEY": "{{secrets/my_scope/my_key}}", + "DATABRICKS_TOKEN": "{{secrets/my_scope2/my_key2}}"}`' + instance_profile_arn: + type: string + description: ARN of the instance profile that the served entity uses to access AWS resources. + max_provisioned_concurrency: + type: integer + description: The maximum provisioned concurrency that the endpoint can scale up to. Do not use + if workload_size is specified. + max_provisioned_throughput: + type: integer + description: The maximum tokens per second that the endpoint can scale up to. + min_provisioned_concurrency: + type: integer + description: The minimum provisioned concurrency that the endpoint can scale down to. Do not use + if workload_size is specified. + min_provisioned_throughput: + type: integer + description: The minimum tokens per second that the endpoint can scale down to. + name: + type: string + description: The name of a served entity. It must be unique across an endpoint. A served entity + name can consist of alphanumeric characters, dashes, and underscores. If not specified for an + external model, this field defaults to external_model.name, with '.' and ':' replaced with '-', + and if not specified for other entities, it defaults to entity_name-entity_version. + provisioned_model_units: + type: integer + description: The number of model units provisioned. + workload_size: + type: string + description: The workload size of the served entity. The workload size corresponds to a range + of provisioned concurrency that the compute autoscales between. A single unit of provisioned + concurrency can process one request at a time. Valid workload sizes are "Small" (4 - 4 provisioned + concurrency), "Medium" (8 - 16 provisioned concurrency), and "Large" (16 - 64 provisioned concurrency). + Additional custom workload sizes can also be used when available in the workspace. If scale-to-zero + is enabled, the lower bound of the provisioned concurrency for each workload size is 0. Do not + use if min_provisioned_concurrency and max_provisioned_concurrency are specified. + workload_type: + type: string + x-enum: + - CPU + - GPU_LARGE + - GPU_MEDIUM + - GPU_SMALL + - MULTIGPU_MEDIUM + description: 'The workload type of the served entity. The workload type selects which type of + compute to use in the endpoint. The default value for this parameter is "CPU". For deep learning + workloads, GPU acceleration is available by selecting workload types like GPU_SMALL and others. + See the available [GPU types]. [GPU types]: https://docs.databricks.com/en/machine-learning/model-serving/create-manage-serving-endpoints.html#gpu-workload-types' + required: + - scale_to_zero_enabled + - model_name + - model_version + description: (Deprecated, use served_entities instead) The list of served models under the serving endpoint + config. + traffic_config: + type: object + properties: + routes: + type: array + items: + type: object + properties: + traffic_percentage: + type: integer + served_entity_name: + type: string + served_model_name: + type: string + description: The name of the served model this route configures traffic for. + required: + - traffic_percentage + description: The traffic configuration associated with the serving endpoint config. + required: + - name description: The core config of the serving endpoint. description: type: string description: ':param email_notifications: :class:`EmailNotifications` (optional) Email notification settings.' email_notifications: - type: string + type: object + properties: + on_update_failure: + type: array + items: + type: string + on_update_success: + type: array + items: + type: string + description: A list of email addresses to be notified when an endpoint successfully updates its configuration + or state. rate_limits: - type: string + type: array + items: + type: object + properties: + calls: + type: integer + renewal_period: + type: string + x-enum: + - minute + description: Renewal period field for a serving endpoint rate limit. Currently, only 'minute' is supported. + key: + type: string + x-enum: + - endpoint + - user + description: Key field for a serving endpoint rate limit. Currently, only 'user' and 'endpoint' are + supported, with 'endpoint' being the default if not specified. + required: + - calls + - renewal_period description: 'Rate limits to be applied to the serving endpoint. NOTE: this field is deprecated, please use AI Gateway to manage rate limits.' route_optimized: - type: string + type: boolean description: Enable route optimization for the serving endpoint. tags: - type: string + type: array + items: + type: object + properties: + key: + type: string + value: + type: string + description: Optional value field for a serving endpoint tag. + required: + - key description: Tags to be attached to the serving endpoint and automatically propagated to billing logs. required: - name @@ -189,19 +1047,380 @@ paths: description: The name of the serving endpoint. This field is required and must be unique across a Databricks workspace. An endpoint name can consist of alphanumeric characters, dashes, and underscores. config: - type: string + type: object + properties: + served_entities: + type: array + items: + type: object + properties: + entity_name: + type: string + provisioned_model_units: + type: integer + description: The number of model units to be provisioned. + burst_scaling_enabled: + type: boolean + description: Whether burst scaling is enabled. When enabled (default), the endpoint can automatically + scale up beyond provisioned capacity to handle traffic spikes. When disabled, the endpoint maintains + fixed capacity at provisioned_model_units. + entity_version: + type: string + name: + type: string + description: The name of a served entity. It must be unique across an endpoint. A served entity + name can consist of alphanumeric characters, dashes, and underscores. If not specified for an + external model, this field defaults to external_model.name, with '.' and ':' replaced with '-', + and if not specified for other entities, it defaults to entity_name-entity_version. + required: + - entity_name + - provisioned_model_units + traffic_config: + type: object + properties: + routes: + type: array + items: + type: object + properties: + traffic_percentage: + type: integer + served_entity_name: + type: string + served_model_name: + type: string + description: The name of the served model this route configures traffic for. + required: + - traffic_percentage description: The core config of the serving endpoint. ai_gateway: - type: string + type: object + properties: + fallback_config: + type: object + properties: + enabled: + type: boolean + required: + - enabled + guardrails: + type: object + properties: + input: + type: object + properties: + invalid_keywords: + type: array + items: + type: string + pii: + type: object + properties: + behavior: + type: string + x-enum: + - BLOCK + - MASK + - NONE + description: 'Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color[''RED''] + + + + + Enumerations can be iterated over, and know how many members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members can have their own + + attributes -- see the documentation for details.' + description: Configuration for guardrail PII filter. + safety: + type: boolean + description: Indicates whether the safety filter is enabled. + valid_topics: + type: array + items: + type: string + description: The list of allowed topics. Given a chat request, this guardrail flags the request + if its topic is not in the allowed topics. + output: + type: object + properties: + invalid_keywords: + type: array + items: + type: string + pii: + type: object + properties: + behavior: + type: string + x-enum: + - BLOCK + - MASK + - NONE + description: 'Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color[''RED''] + + + + + Enumerations can be iterated over, and know how many members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members can have their own + + attributes -- see the documentation for details.' + description: Configuration for guardrail PII filter. + safety: + type: boolean + description: Indicates whether the safety filter is enabled. + valid_topics: + type: array + items: + type: string + description: The list of allowed topics. Given a chat request, this guardrail flags the request + if its topic is not in the allowed topics. + description: Configuration for output guardrail filters. + description: Configuration for AI Guardrails to prevent unwanted data and unsafe data in requests and + responses. + inference_table_config: + type: object + properties: + catalog_name: + type: string + enabled: + type: boolean + description: Indicates whether the inference table is enabled. + schema_name: + type: string + description: 'The name of the schema in Unity Catalog. Required when enabling inference tables. + NOTE: On update, you have to disable inference table first in order to change the schema name.' + table_name_prefix: + type: string + description: 'The prefix of the table in Unity Catalog. NOTE: On update, you have to disable inference + table first in order to change the prefix name.' + description: Configuration for payload logging using inference tables. Use these tables to monitor and + audit data being sent to and received from model APIs and to improve model quality. + rate_limits: + type: array + items: + type: object + properties: + renewal_period: + type: string + x-enum: + - minute + description: 'Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color[''RED''] + + + + + Enumerations can be iterated over, and know how many members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members can have their own + + attributes -- see the documentation for details.' + calls: + type: integer + description: Used to specify how many calls are allowed for a key within the renewal_period. + key: + type: string + x-enum: + - endpoint + - service_principal + - user + - user_group + description: Key field for a rate limit. Currently, 'user', 'user_group, 'service_principal', + and 'endpoint' are supported, with 'endpoint' being the default if not specified. + principal: + type: string + description: Principal field for a user, user group, or service principal to apply rate limiting + to. Accepts a user email, group name, or service principal application ID. + tokens: + type: integer + description: Used to specify how many tokens are allowed for a key within the renewal_period. + required: + - renewal_period + description: Configuration for rate limits which can be set to limit endpoint traffic. + usage_tracking_config: + type: object + properties: + enabled: + type: boolean + description: Configuration to enable usage tracking using system tables. These tables allow you to monitor + operational usage on endpoints and their associated costs. description: The AI Gateway configuration for the serving endpoint. budget_policy_id: type: string description: The budget policy associated with the endpoint. email_notifications: - type: string + type: object + properties: + on_update_failure: + type: array + items: + type: string + on_update_success: + type: array + items: + type: string + description: A list of email addresses to be notified when an endpoint successfully updates its configuration + or state. description: Email notification settings. tags: - type: string + type: array + items: + type: object + properties: + key: + type: string + value: + type: string + description: Optional value field for a serving endpoint tag. + required: + - key description: Tags to be attached to the serving endpoint and automatically propagated to billing logs. required: - name @@ -465,7 +1684,25 @@ paths: type: object properties: access_control_list: - type: string + type: array + items: + type: object + properties: + group_name: + type: string + permission_level: + type: string + x-enum: + - CAN_MANAGE + - CAN_QUERY + - CAN_VIEW + description: Permission level + service_principal_name: + type: string + description: application ID of a service principal + user_name: + type: string + description: name of the user description: ':returns: :class:`ServingEndpointPermissions`' responses: '200': @@ -509,7 +1746,25 @@ paths: type: object properties: access_control_list: - type: string + type: array + items: + type: object + properties: + group_name: + type: string + permission_level: + type: string + x-enum: + - CAN_MANAGE + - CAN_QUERY + - CAN_VIEW + description: Permission level + service_principal_name: + type: string + description: application ID of a service principal + user_name: + type: string + description: name of the user description: ':returns: :class:`ServingEndpointPermissions`' responses: '200': @@ -554,6 +1809,12 @@ paths: description: The connection name to use. This is required to identify the external connection. method: type: string + x-enum: + - DELETE + - GET + - PATCH + - POST + - PUT description: The HTTP method to use (e.g., 'GET', 'POST'). path: type: string @@ -657,10 +1918,22 @@ paths: type: object properties: add_tags: - type: string + type: array + items: + type: object + properties: + key: + type: string + value: + type: string + description: Optional value field for a serving endpoint tag. + required: + - key description: List of endpoint tags to add delete_tags: - type: string + type: array + items: + type: string description: List of tag keys to delete responses: '200': @@ -705,7 +1978,27 @@ paths: type: object properties: rate_limits: - type: string + type: array + items: + type: object + properties: + calls: + type: integer + renewal_period: + type: string + x-enum: + - minute + description: Renewal period field for a serving endpoint rate limit. Currently, only 'minute' is supported. + key: + type: string + x-enum: + - endpoint + - user + description: Key field for a serving endpoint rate limit. Currently, only 'user' and 'endpoint' are + supported, with 'endpoint' being the default if not specified. + required: + - calls + - renewal_period description: The list of endpoint rate limits. responses: '200': @@ -759,21 +2052,299 @@ paths: type: object properties: fallback_config: - type: string + type: object + properties: + enabled: + type: boolean + required: + - enabled description: Configuration for traffic fallback which auto fallbacks to other served entities if the request to a served entity fails with certain error codes, to increase availability. guardrails: - type: string + type: object + properties: + input: + type: object + properties: + invalid_keywords: + type: array + items: + type: string + pii: + type: object + properties: + behavior: + type: string + x-enum: + - BLOCK + - MASK + - NONE + description: 'Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color[''RED''] + + + + + Enumerations can be iterated over, and know how many members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members can have their own + + attributes -- see the documentation for details.' + description: Configuration for guardrail PII filter. + safety: + type: boolean + description: Indicates whether the safety filter is enabled. + valid_topics: + type: array + items: + type: string + description: The list of allowed topics. Given a chat request, this guardrail flags the request + if its topic is not in the allowed topics. + output: + type: object + properties: + invalid_keywords: + type: array + items: + type: string + pii: + type: object + properties: + behavior: + type: string + x-enum: + - BLOCK + - MASK + - NONE + description: 'Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color[''RED''] + + + + + Enumerations can be iterated over, and know how many members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members can have their own + + attributes -- see the documentation for details.' + description: Configuration for guardrail PII filter. + safety: + type: boolean + description: Indicates whether the safety filter is enabled. + valid_topics: + type: array + items: + type: string + description: The list of allowed topics. Given a chat request, this guardrail flags the request + if its topic is not in the allowed topics. + description: Configuration for output guardrail filters. description: Configuration for AI Guardrails to prevent unwanted data and unsafe data in requests and responses. inference_table_config: - type: string + type: object + properties: + catalog_name: + type: string + enabled: + type: boolean + description: Indicates whether the inference table is enabled. + schema_name: + type: string + description: 'The name of the schema in Unity Catalog. Required when enabling inference tables. NOTE: + On update, you have to disable inference table first in order to change the schema name.' + table_name_prefix: + type: string + description: 'The prefix of the table in Unity Catalog. NOTE: On update, you have to disable inference + table first in order to change the prefix name.' description: Configuration for payload logging using inference tables. Use these tables to monitor and audit data being sent to and received from model APIs and to improve model quality. rate_limits: - type: string + type: array + items: + type: object + properties: + renewal_period: + type: string + x-enum: + - minute + description: 'Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color[''RED''] + + + + + Enumerations can be iterated over, and know how many members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members can have their own + + attributes -- see the documentation for details.' + calls: + type: integer + description: Used to specify how many calls are allowed for a key within the renewal_period. + key: + type: string + x-enum: + - endpoint + - service_principal + - user + - user_group + description: Key field for a rate limit. Currently, 'user', 'user_group, 'service_principal', and + 'endpoint' are supported, with 'endpoint' being the default if not specified. + principal: + type: string + description: Principal field for a user, user group, or service principal to apply rate limiting to. + Accepts a user email, group name, or service principal application ID. + tokens: + type: integer + description: Used to specify how many tokens are allowed for a key within the renewal_period. + required: + - renewal_period description: Configuration for rate limits which can be set to limit endpoint traffic. usage_tracking_config: - type: string + type: object + properties: + enabled: + type: boolean description: Configuration to enable usage tracking using system tables. These tables allow you to monitor operational usage on endpoints and their associated costs. responses: @@ -847,61 +2418,94 @@ paths: description: Optional user-provided request identifier that will be recorded in the inference table and the usage tracking table. dataframe_records: - type: string + type: array + items: + type: object description: Pandas Dataframe input in the records orientation. dataframe_split: - type: string + type: object + properties: + columns: + type: array + items: + type: object + data: + type: array + items: + type: object + description: Data array for the dataframe + index: + type: array + items: + type: integer + description: Index array for the dataframe description: Pandas Dataframe input in the split orientation. extra_params: - type: string + type: object description: The extra parameters field used ONLY for __completions, chat,__ and __embeddings external & foundation model__ serving endpoints. This is a map of strings and should only be used with other external/foundation model query fields. input: - type: string + type: object description: The input string (or array of strings) field used ONLY for __embeddings external & foundation model__ serving endpoints and is the only field (along with extra_params if needed) used by embeddings queries. inputs: - type: string + type: object description: Tensor-based input in columnar format. instances: - type: string + type: array + items: + type: object description: Tensor-based input in row format. max_tokens: - type: string + type: integer description: The max tokens field used ONLY for __completions__ and __chat external & foundation model__ serving endpoints. This is an integer and should only be used with other chat/completions query fields. messages: - type: string + type: array + items: + type: object + properties: + content: + type: string + role: + type: string + x-enum: + - assistant + - system + - user + description: The role of the message. One of [system, user, assistant]. description: The messages field used ONLY for __chat external & foundation model__ serving endpoints. This is an array of ChatMessage objects and should only be used with other chat query fields. n: - type: string + type: integer description: The n (number of candidates) field used ONLY for __completions__ and __chat external & foundation model__ serving endpoints. This is an integer between 1 and 5 with a default of 1 and should only be used with other chat/completions query fields. prompt: - type: string + type: object description: The prompt string (or array of strings) field used ONLY for __completions external & foundation model__ serving endpoints and should only be used with other completions query fields. stop: - type: string + type: array + items: + type: string description: The stop sequences field used ONLY for __completions__ and __chat external & foundation model__ serving endpoints. This is a list of strings and should only be used with other chat/completions query fields. stream: - type: string + type: boolean description: The stream field used ONLY for __completions__ and __chat external & foundation model__ serving endpoints. This is a boolean defaulting to false and should only be used with other chat/completions query fields. temperature: - type: string + type: number description: The temperature field used ONLY for __completions__ and __chat external & foundation model__ serving endpoints. This is a float between 0.0 and 2.0 with a default of 1.0 and should only be used with other chat/completions query fields. usage_context: - type: string + type: object description: Optional user-provided context that will be recorded in the usage tracking table. responses: '200': @@ -955,20 +2559,518 @@ paths: type: object properties: auto_capture_config: - type: string + type: object + properties: + catalog_name: + type: string + enabled: + type: boolean + description: Indicates whether the inference table is enabled. + schema_name: + type: string + description: 'The name of the schema in Unity Catalog. NOTE: On update, you cannot change the schema + name if the inference table is already enabled.' + table_name_prefix: + type: string + description: 'The prefix of the table in Unity Catalog. NOTE: On update, you cannot change the prefix + name if the inference table is already enabled.' description: 'Configuration for Inference Tables which automatically logs requests and responses to Unity Catalog. Note: this field is deprecated for creating new provisioned throughput endpoints, or updating existing provisioned throughput endpoints that never have inference table configured; in these cases please use AI Gateway to manage inference tables.' served_entities: - type: string + type: array + items: + type: object + properties: + burst_scaling_enabled: + type: boolean + entity_name: + type: string + description: The name of the entity to be served. The entity may be a model in the Databricks Model + Registry, a model in the Unity Catalog (UC), or a function of type FEATURE_SPEC in the UC. If it + is a UC object, the full name of the object should be given in the form of **catalog_name.schema_name.model_name**. + entity_version: + type: string + environment_vars: + type: object + description: 'An object containing a set of optional, user-specified environment variable key-value + pairs used for serving this entity. Note: this is an experimental feature and subject to change. + Example entity environment variables that refer to Databricks secrets: `{"OPENAI_API_KEY": "{{secrets/my_scope/my_key}}", + "DATABRICKS_TOKEN": "{{secrets/my_scope2/my_key2}}"}`' + external_model: + type: object + properties: + provider: + type: string + x-enum: + - ai21labs + - amazon-bedrock + - anthropic + - cohere + - custom + - databricks-model-serving + - google-cloud-vertex-ai + - openai + - palm + description: 'Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color[''RED''] + + + + + Enumerations can be iterated over, and know how many members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members can have their own + + attributes -- see the documentation for details.' + name: + type: string + description: The name of the external model. + task: + type: string + description: The task type of the external model. + ai21labs_config: + type: object + properties: + ai21labs_api_key: + type: string + ai21labs_api_key_plaintext: + type: string + description: 'An AI21 Labs API key provided as a plaintext string. If you prefer to reference + your key using Databricks Secrets, see `ai21labs_api_key`. You must provide an API key using + one of the following fields: `ai21labs_api_key` or `ai21labs_api_key_plaintext`.' + description: AI21Labs Config. Only required if the provider is 'ai21labs'. + amazon_bedrock_config: + type: object + properties: + aws_region: + type: string + bedrock_provider: + type: string + x-enum: + - ai21labs + - amazon + - anthropic + - cohere + description: 'The underlying provider in Amazon Bedrock. Supported values (case insensitive) + include: Anthropic, Cohere, AI21Labs, Amazon.' + aws_access_key_id: + type: string + description: 'The Databricks secret key reference for an AWS access key ID with permissions + to interact with Bedrock services. If you prefer to paste your API key directly, see `aws_access_key_id_plaintext`. + You must provide an API key using one of the following fields: `aws_access_key_id` or `aws_access_key_id_plaintext`.' + aws_access_key_id_plaintext: + type: string + description: 'An AWS access key ID with permissions to interact with Bedrock services provided + as a plaintext string. If you prefer to reference your key using Databricks Secrets, see + `aws_access_key_id`. You must provide an API key using one of the following fields: `aws_access_key_id` + or `aws_access_key_id_plaintext`.' + aws_secret_access_key: + type: string + description: 'The Databricks secret key reference for an AWS secret access key paired with + the access key ID, with permissions to interact with Bedrock services. If you prefer to + paste your API key directly, see `aws_secret_access_key_plaintext`. You must provide an + API key using one of the following fields: `aws_secret_access_key` or `aws_secret_access_key_plaintext`.' + aws_secret_access_key_plaintext: + type: string + description: 'An AWS secret access key paired with the access key ID, with permissions to + interact with Bedrock services provided as a plaintext string. If you prefer to reference + your key using Databricks Secrets, see `aws_secret_access_key`. You must provide an API + key using one of the following fields: `aws_secret_access_key` or `aws_secret_access_key_plaintext`.' + instance_profile_arn: + type: string + description: ARN of the instance profile that the external model will use to access AWS resources. + You must authenticate using an instance profile or access keys. If you prefer to authenticate + using access keys, see `aws_access_key_id`, `aws_access_key_id_plaintext`, `aws_secret_access_key` + and `aws_secret_access_key_plaintext`. + required: + - aws_region + - bedrock_provider + description: Amazon Bedrock Config. Only required if the provider is 'amazon-bedrock'. + anthropic_config: + type: object + properties: + anthropic_api_key: + type: string + anthropic_api_key_plaintext: + type: string + description: 'The Anthropic API key provided as a plaintext string. If you prefer to reference + your key using Databricks Secrets, see `anthropic_api_key`. You must provide an API key + using one of the following fields: `anthropic_api_key` or `anthropic_api_key_plaintext`.' + description: Anthropic Config. Only required if the provider is 'anthropic'. + cohere_config: + type: object + properties: + cohere_api_base: + type: string + cohere_api_key: + type: string + description: 'The Databricks secret key reference for a Cohere API key. If you prefer to paste + your API key directly, see `cohere_api_key_plaintext`. You must provide an API key using + one of the following fields: `cohere_api_key` or `cohere_api_key_plaintext`.' + cohere_api_key_plaintext: + type: string + description: 'The Cohere API key provided as a plaintext string. If you prefer to reference + your key using Databricks Secrets, see `cohere_api_key`. You must provide an API key using + one of the following fields: `cohere_api_key` or `cohere_api_key_plaintext`.' + description: Cohere Config. Only required if the provider is 'cohere'. + custom_provider_config: + type: object + properties: + custom_provider_url: + type: string + description: This is a field to provide the URL of the custom provider API. + api_key_auth: + type: object + properties: + key: + type: string + value: + type: string + description: The Databricks secret key reference for an API Key. If you prefer to paste + your token directly, see `value_plaintext`. + value_plaintext: + type: string + description: The API Key provided as a plaintext string. If you prefer to reference your + token using Databricks Secrets, see `value`. + required: + - key + description: This is a field to provide API key authentication for the custom provider API. + You can only specify one authentication method. + bearer_token_auth: + type: object + properties: + token: + type: string + token_plaintext: + type: string + description: The token provided as a plaintext string. If you prefer to reference your + token using Databricks Secrets, see `token`. + description: This is a field to provide bearer token authentication for the custom provider + API. You can only specify one authentication method. + required: + - custom_provider_url + description: Custom Provider Config. Only required if the provider is 'custom'. + databricks_model_serving_config: + type: object + properties: + databricks_workspace_url: + type: string + databricks_api_token: + type: string + description: 'The Databricks secret key reference for a Databricks API token that corresponds + to a user or service principal with Can Query access to the model serving endpoint pointed + to by this external model. If you prefer to paste your API key directly, see `databricks_api_token_plaintext`. + You must provide an API key using one of the following fields: `databricks_api_token` or + `databricks_api_token_plaintext`.' + databricks_api_token_plaintext: + type: string + description: 'The Databricks API token that corresponds to a user or service principal with + Can Query access to the model serving endpoint pointed to by this external model provided + as a plaintext string. If you prefer to reference your key using Databricks Secrets, see + `databricks_api_token`. You must provide an API key using one of the following fields: `databricks_api_token` + or `databricks_api_token_plaintext`.' + required: + - databricks_workspace_url + description: Databricks Model Serving Config. Only required if the provider is 'databricks-model-serving'. + google_cloud_vertex_ai_config: + type: object + properties: + project_id: + type: string + region: + type: string + description: 'This is the region for the Google Cloud Vertex AI Service. See [supported regions] + for more details. Some models are only available in specific regions. [supported regions]: + https://cloud.google.com/vertex-ai/docs/general/locations' + private_key: + type: string + description: 'The Databricks secret key reference for a private key for the service account + which has access to the Google Cloud Vertex AI Service. See [Best practices for managing + service account keys]. If you prefer to paste your API key directly, see `private_key_plaintext`. + You must provide an API key using one of the following fields: `private_key` or `private_key_plaintext` + [Best practices for managing service account keys]: https://cloud.google.com/iam/docs/best-practices-for-managing-service-account-keys' + private_key_plaintext: + type: string + description: 'The private key for the service account which has access to the Google Cloud + Vertex AI Service provided as a plaintext secret. See [Best practices for managing service + account keys]. If you prefer to reference your key using Databricks Secrets, see `private_key`. + You must provide an API key using one of the following fields: `private_key` or `private_key_plaintext`. + [Best practices for managing service account keys]: https://cloud.google.com/iam/docs/best-practices-for-managing-service-account-keys' + required: + - project_id + - region + description: Google Cloud Vertex AI Config. Only required if the provider is 'google-cloud-vertex-ai'. + openai_config: + type: object + properties: + microsoft_entra_client_id: + type: string + description: This field is only required for Azure AD OpenAI and is the Microsoft Entra Client + ID. + microsoft_entra_client_secret: + type: string + description: 'The Databricks secret key reference for a client secret used for Microsoft Entra + ID authentication. If you prefer to paste your client secret directly, see `microsoft_entra_client_secret_plaintext`. + You must provide an API key using one of the following fields: `microsoft_entra_client_secret` + or `microsoft_entra_client_secret_plaintext`.' + microsoft_entra_client_secret_plaintext: + type: string + description: 'The client secret used for Microsoft Entra ID authentication provided as a plaintext + string. If you prefer to reference your key using Databricks Secrets, see `microsoft_entra_client_secret`. + You must provide an API key using one of the following fields: `microsoft_entra_client_secret` + or `microsoft_entra_client_secret_plaintext`.' + microsoft_entra_tenant_id: + type: string + description: This field is only required for Azure AD OpenAI and is the Microsoft Entra Tenant + ID. + openai_api_base: + type: string + description: This is a field to provide a customized base URl for the OpenAI API. For Azure + OpenAI, this field is required, and is the base URL for the Azure OpenAI API service provided + by Azure. For other OpenAI API types, this field is optional, and if left unspecified, the + standard OpenAI base URL is used. + openai_api_key: + type: string + description: 'The Databricks secret key reference for an OpenAI API key using the OpenAI or + Azure service. If you prefer to paste your API key directly, see `openai_api_key_plaintext`. + You must provide an API key using one of the following fields: `openai_api_key` or `openai_api_key_plaintext`.' + openai_api_key_plaintext: + type: string + description: 'The OpenAI API key using the OpenAI or Azure service provided as a plaintext + string. If you prefer to reference your key using Databricks Secrets, see `openai_api_key`. + You must provide an API key using one of the following fields: `openai_api_key` or `openai_api_key_plaintext`.' + openai_api_type: + type: string + description: This is an optional field to specify the type of OpenAI API to use. For Azure + OpenAI, this field is required, and adjust this parameter to represent the preferred security + access validation protocol. For access token validation, use azure. For authentication using + Azure Active Directory (Azure AD) use, azuread. + openai_api_version: + type: string + description: This is an optional field to specify the OpenAI API version. For Azure OpenAI, + this field is required, and is the version of the Azure OpenAI service to utilize, specified + by a date. + openai_deployment_name: + type: string + description: This field is only required for Azure OpenAI and is the name of the deployment + resource for the Azure OpenAI service. + openai_organization: + type: string + description: This is an optional field to specify the organization in OpenAI or Azure OpenAI. + description: OpenAI Config. Only required if the provider is 'openai'. + palm_config: + type: object + properties: + palm_api_key: + type: string + palm_api_key_plaintext: + type: string + description: 'The PaLM API key provided as a plaintext string. If you prefer to reference + your key using Databricks Secrets, see `palm_api_key`. You must provide an API key using + one of the following fields: `palm_api_key` or `palm_api_key_plaintext`.' + description: PaLM Config. Only required if the provider is 'palm'. + required: + - provider + - name + - task + description: 'The external model to be served. NOTE: Only one of external_model and (entity_name, + entity_version, workload_size, workload_type, and scale_to_zero_enabled) can be specified with the + latter set being used for custom model serving for a Databricks registered model. For an existing + endpoint with external_model, it cannot be updated to an endpoint without external_model. If the + endpoint is created without external_model, users cannot update it to add external_model later. + The task type of all external models within an endpoint must be the same.' + instance_profile_arn: + type: string + description: ARN of the instance profile that the served entity uses to access AWS resources. + max_provisioned_concurrency: + type: integer + description: The maximum provisioned concurrency that the endpoint can scale up to. Do not use if + workload_size is specified. + max_provisioned_throughput: + type: integer + description: The maximum tokens per second that the endpoint can scale up to. + min_provisioned_concurrency: + type: integer + description: The minimum provisioned concurrency that the endpoint can scale down to. Do not use if + workload_size is specified. + min_provisioned_throughput: + type: integer + description: The minimum tokens per second that the endpoint can scale down to. + name: + type: string + description: The name of a served entity. It must be unique across an endpoint. A served entity name + can consist of alphanumeric characters, dashes, and underscores. If not specified for an external + model, this field defaults to external_model.name, with '.' and ':' replaced with '-', and if not + specified for other entities, it defaults to entity_name-entity_version. + provisioned_model_units: + type: integer + description: The number of model units provisioned. + scale_to_zero_enabled: + type: boolean + description: Whether the compute resources for the served entity should scale down to zero. + workload_size: + type: string + description: The workload size of the served entity. The workload size corresponds to a range of provisioned + concurrency that the compute autoscales between. A single unit of provisioned concurrency can process + one request at a time. Valid workload sizes are "Small" (4 - 4 provisioned concurrency), "Medium" + (8 - 16 provisioned concurrency), and "Large" (16 - 64 provisioned concurrency). Additional custom + workload sizes can also be used when available in the workspace. If scale-to-zero is enabled, the + lower bound of the provisioned concurrency for each workload size is 0. Do not use if min_provisioned_concurrency + and max_provisioned_concurrency are specified. + workload_type: + type: string + x-enum: + - CPU + - GPU_LARGE + - GPU_MEDIUM + - GPU_SMALL + - MULTIGPU_MEDIUM + description: 'The workload type of the served entity. The workload type selects which type of compute + to use in the endpoint. The default value for this parameter is "CPU". For deep learning workloads, + GPU acceleration is available by selecting workload types like GPU_SMALL and others. See the available + [GPU types]. [GPU types]: https://docs.databricks.com/en/machine-learning/model-serving/create-manage-serving-endpoints.html#gpu-workload-types' description: The list of served entities under the serving endpoint config. served_models: - type: string + type: array + items: + type: object + properties: + scale_to_zero_enabled: + type: boolean + model_name: + type: string + model_version: + type: string + burst_scaling_enabled: + type: boolean + description: Whether burst scaling is enabled. When enabled (default), the endpoint can automatically + scale up beyond provisioned capacity to handle traffic spikes. When disabled, the endpoint maintains + fixed capacity at provisioned_model_units. + environment_vars: + type: object + description: 'An object containing a set of optional, user-specified environment variable key-value + pairs used for serving this entity. Note: this is an experimental feature and subject to change. + Example entity environment variables that refer to Databricks secrets: `{"OPENAI_API_KEY": "{{secrets/my_scope/my_key}}", + "DATABRICKS_TOKEN": "{{secrets/my_scope2/my_key2}}"}`' + instance_profile_arn: + type: string + description: ARN of the instance profile that the served entity uses to access AWS resources. + max_provisioned_concurrency: + type: integer + description: The maximum provisioned concurrency that the endpoint can scale up to. Do not use if + workload_size is specified. + max_provisioned_throughput: + type: integer + description: The maximum tokens per second that the endpoint can scale up to. + min_provisioned_concurrency: + type: integer + description: The minimum provisioned concurrency that the endpoint can scale down to. Do not use if + workload_size is specified. + min_provisioned_throughput: + type: integer + description: The minimum tokens per second that the endpoint can scale down to. + name: + type: string + description: The name of a served entity. It must be unique across an endpoint. A served entity name + can consist of alphanumeric characters, dashes, and underscores. If not specified for an external + model, this field defaults to external_model.name, with '.' and ':' replaced with '-', and if not + specified for other entities, it defaults to entity_name-entity_version. + provisioned_model_units: + type: integer + description: The number of model units provisioned. + workload_size: + type: string + description: The workload size of the served entity. The workload size corresponds to a range of provisioned + concurrency that the compute autoscales between. A single unit of provisioned concurrency can process + one request at a time. Valid workload sizes are "Small" (4 - 4 provisioned concurrency), "Medium" + (8 - 16 provisioned concurrency), and "Large" (16 - 64 provisioned concurrency). Additional custom + workload sizes can also be used when available in the workspace. If scale-to-zero is enabled, the + lower bound of the provisioned concurrency for each workload size is 0. Do not use if min_provisioned_concurrency + and max_provisioned_concurrency are specified. + workload_type: + type: string + x-enum: + - CPU + - GPU_LARGE + - GPU_MEDIUM + - GPU_SMALL + - MULTIGPU_MEDIUM + description: 'The workload type of the served entity. The workload type selects which type of compute + to use in the endpoint. The default value for this parameter is "CPU". For deep learning workloads, + GPU acceleration is available by selecting workload types like GPU_SMALL and others. See the available + [GPU types]. [GPU types]: https://docs.databricks.com/en/machine-learning/model-serving/create-manage-serving-endpoints.html#gpu-workload-types' + required: + - scale_to_zero_enabled + - model_name + - model_version description: (Deprecated, use served_entities instead) The list of served models under the serving endpoint config. traffic_config: - type: string + type: object + properties: + routes: + type: array + items: + type: object + properties: + traffic_percentage: + type: integer + served_entity_name: + type: string + served_model_name: + type: string + description: The name of the served model this route configures traffic for. + required: + - traffic_percentage description: The traffic configuration associated with the serving endpoint config. responses: '200': @@ -1014,7 +3116,18 @@ paths: type: object properties: email_notifications: - type: string + type: object + properties: + on_update_failure: + type: array + items: + type: string + on_update_success: + type: array + items: + type: string + description: A list of email addresses to be notified when an endpoint successfully updates its configuration + or state. description: The email notification settings to update. Specify email addresses to notify when endpoint state changes occur. responses: @@ -1062,7 +3175,51 @@ paths: type: object properties: config: - type: string + type: object + properties: + served_entities: + type: array + items: + type: object + properties: + entity_name: + type: string + provisioned_model_units: + type: integer + description: The number of model units to be provisioned. + burst_scaling_enabled: + type: boolean + description: Whether burst scaling is enabled. When enabled (default), the endpoint can automatically + scale up beyond provisioned capacity to handle traffic spikes. When disabled, the endpoint maintains + fixed capacity at provisioned_model_units. + entity_version: + type: string + name: + type: string + description: The name of a served entity. It must be unique across an endpoint. A served entity + name can consist of alphanumeric characters, dashes, and underscores. If not specified for an + external model, this field defaults to external_model.name, with '.' and ':' replaced with '-', + and if not specified for other entities, it defaults to entity_name-entity_version. + required: + - entity_name + - provisioned_model_units + traffic_config: + type: object + properties: + routes: + type: array + items: + type: object + properties: + traffic_percentage: + type: integer + served_entity_name: + type: string + served_model_name: + type: string + description: The name of the served model this route configures traffic for. + required: + - traffic_percentage description: ':returns: Long-running operation waiter for :class:`ServingEndpointDetailed`. See :method:wait_get_serving_endpoint_not_updating for more details.' required: @@ -2365,12 +4522,64 @@ components: - BLOCK - MASK - NONE - description: "Create a collection of name/value pairs.\n\nExample enumeration:\n\n>>> class Color(Enum):\n... RED\ - \ = 1\n... BLUE = 2\n... GREEN = 3\n\nAccess them by:\n\n- attribute access:\n\n >>> Color.RED\n \n\n- value lookup:\n\n >>> Color(1)\n \n\n- name lookup:\n\n >>> Color['RED']\n \n\nEnumerations can be iterated over, and know how many members they have:\n\n>>> len(Color)\n3\n\n>>> list(Color)\n\ - [, , ]\n\nMethods can be added to enumerations, and members can have\ - \ their own\nattributes -- see the documentation for details." + description: 'Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color[''RED''] + + + + + Enumerations can be iterated over, and know how many members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members can have their own + + attributes -- see the documentation for details.' AiGatewayRateLimitKey: type: string x-enum: @@ -2378,43 +4587,199 @@ components: - service_principal - user - user_group - description: "Create a collection of name/value pairs.\n\nExample enumeration:\n\n>>> class Color(Enum):\n... RED\ - \ = 1\n... BLUE = 2\n... GREEN = 3\n\nAccess them by:\n\n- attribute access:\n\n >>> Color.RED\n \n\n- value lookup:\n\n >>> Color(1)\n \n\n- name lookup:\n\n >>> Color['RED']\n \n\nEnumerations can be iterated over, and know how many members they have:\n\n>>> len(Color)\n3\n\n>>> list(Color)\n\ - [, , ]\n\nMethods can be added to enumerations, and members can have\ - \ their own\nattributes -- see the documentation for details." + description: 'Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color[''RED''] + + + + + Enumerations can be iterated over, and know how many members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members can have their own + + attributes -- see the documentation for details.' AiGatewayRateLimitRenewalPeriod: type: string x-enum: - minute - description: "Create a collection of name/value pairs.\n\nExample enumeration:\n\n>>> class Color(Enum):\n... RED\ - \ = 1\n... BLUE = 2\n... GREEN = 3\n\nAccess them by:\n\n- attribute access:\n\n >>> Color.RED\n \n\n- value lookup:\n\n >>> Color(1)\n \n\n- name lookup:\n\n >>> Color['RED']\n \n\nEnumerations can be iterated over, and know how many members they have:\n\n>>> len(Color)\n3\n\n>>> list(Color)\n\ - [, , ]\n\nMethods can be added to enumerations, and members can have\ - \ their own\nattributes -- see the documentation for details." - AmazonBedrockConfigBedrockProvider: - type: string - x-enum: - - ai21labs - - amazon - - anthropic - - cohere - description: "Create a collection of name/value pairs.\n\nExample enumeration:\n\n>>> class Color(Enum):\n... RED\ - \ = 1\n... BLUE = 2\n... GREEN = 3\n\nAccess them by:\n\n- attribute access:\n\n >>> Color.RED\n \n\n- value lookup:\n\n >>> Color(1)\n \n\n- name lookup:\n\n >>> Color['RED']\n \n\nEnumerations can be iterated over, and know how many members they have:\n\n>>> len(Color)\n3\n\n>>> list(Color)\n\ - [, , ]\n\nMethods can be added to enumerations, and members can have\ - \ their own\nattributes -- see the documentation for details." - ChatMessageRole: - type: string - x-enum: - - assistant - - system - - user - description: The role of the message. One of [system, user, assistant]. - EmbeddingsV1ResponseEmbeddingElementObject: + description: 'Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color[''RED''] + + + + + Enumerations can be iterated over, and know how many members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members can have their own + + attributes -- see the documentation for details.' + AmazonBedrockConfigBedrockProvider: + type: string + x-enum: + - ai21labs + - amazon + - anthropic + - cohere + description: 'Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color[''RED''] + + + + + Enumerations can be iterated over, and know how many members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members can have their own + + attributes -- see the documentation for details.' + ChatMessageRole: + type: string + x-enum: + - assistant + - system + - user + description: The role of the message. One of [system, user, assistant]. + EmbeddingsV1ResponseEmbeddingElementObject: type: string x-enum: - embedding @@ -2426,23 +4791,127 @@ components: - NOT_UPDATING - UPDATE_CANCELED - UPDATE_FAILED - description: "Create a collection of name/value pairs.\n\nExample enumeration:\n\n>>> class Color(Enum):\n... RED\ - \ = 1\n... BLUE = 2\n... GREEN = 3\n\nAccess them by:\n\n- attribute access:\n\n >>> Color.RED\n \n\n- value lookup:\n\n >>> Color(1)\n \n\n- name lookup:\n\n >>> Color['RED']\n \n\nEnumerations can be iterated over, and know how many members they have:\n\n>>> len(Color)\n3\n\n>>> list(Color)\n\ - [, , ]\n\nMethods can be added to enumerations, and members can have\ - \ their own\nattributes -- see the documentation for details." + description: 'Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color[''RED''] + + + + + Enumerations can be iterated over, and know how many members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members can have their own + + attributes -- see the documentation for details.' EndpointStateReady: type: string x-enum: - NOT_READY - READY - description: "Create a collection of name/value pairs.\n\nExample enumeration:\n\n>>> class Color(Enum):\n... RED\ - \ = 1\n... BLUE = 2\n... GREEN = 3\n\nAccess them by:\n\n- attribute access:\n\n >>> Color.RED\n \n\n- value lookup:\n\n >>> Color(1)\n \n\n- name lookup:\n\n >>> Color['RED']\n \n\nEnumerations can be iterated over, and know how many members they have:\n\n>>> len(Color)\n3\n\n>>> list(Color)\n\ - [, , ]\n\nMethods can be added to enumerations, and members can have\ - \ their own\nattributes -- see the documentation for details." + description: 'Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color[''RED''] + + + + + Enumerations can be iterated over, and know how many members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members can have their own + + attributes -- see the documentation for details.' ExternalFunctionRequestHttpMethod: type: string x-enum: @@ -2451,12 +4920,64 @@ components: - PATCH - POST - PUT - description: "Create a collection of name/value pairs.\n\nExample enumeration:\n\n>>> class Color(Enum):\n... RED\ - \ = 1\n... BLUE = 2\n... GREEN = 3\n\nAccess them by:\n\n- attribute access:\n\n >>> Color.RED\n \n\n- value lookup:\n\n >>> Color(1)\n \n\n- name lookup:\n\n >>> Color['RED']\n \n\nEnumerations can be iterated over, and know how many members they have:\n\n>>> len(Color)\n3\n\n>>> list(Color)\n\ - [, , ]\n\nMethods can be added to enumerations, and members can have\ - \ their own\nattributes -- see the documentation for details." + description: 'Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color[''RED''] + + + + + Enumerations can be iterated over, and know how many members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members can have their own + + attributes -- see the documentation for details.' ExternalModelProvider: type: string x-enum: @@ -2469,12 +4990,64 @@ components: - google-cloud-vertex-ai - openai - palm - description: "Create a collection of name/value pairs.\n\nExample enumeration:\n\n>>> class Color(Enum):\n... RED\ - \ = 1\n... BLUE = 2\n... GREEN = 3\n\nAccess them by:\n\n- attribute access:\n\n >>> Color.RED\n \n\n- value lookup:\n\n >>> Color(1)\n \n\n- name lookup:\n\n >>> Color['RED']\n \n\nEnumerations can be iterated over, and know how many members they have:\n\n>>> len(Color)\n3\n\n>>> list(Color)\n\ - [, , ]\n\nMethods can be added to enumerations, and members can have\ - \ their own\nattributes -- see the documentation for details." + description: 'Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color[''RED''] + + + + + Enumerations can be iterated over, and know how many members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members can have their own + + attributes -- see the documentation for details.' QueryEndpointResponseObject: type: string x-enum: @@ -2489,22 +5062,126 @@ components: x-enum: - endpoint - user - description: "Create a collection of name/value pairs.\n\nExample enumeration:\n\n>>> class Color(Enum):\n... RED\ - \ = 1\n... BLUE = 2\n... GREEN = 3\n\nAccess them by:\n\n- attribute access:\n\n >>> Color.RED\n \n\n- value lookup:\n\n >>> Color(1)\n \n\n- name lookup:\n\n >>> Color['RED']\n \n\nEnumerations can be iterated over, and know how many members they have:\n\n>>> len(Color)\n3\n\n>>> list(Color)\n\ - [, , ]\n\nMethods can be added to enumerations, and members can have\ - \ their own\nattributes -- see the documentation for details." + description: 'Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color[''RED''] + + + + + Enumerations can be iterated over, and know how many members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members can have their own + + attributes -- see the documentation for details.' RateLimitRenewalPeriod: type: string x-enum: - minute - description: "Create a collection of name/value pairs.\n\nExample enumeration:\n\n>>> class Color(Enum):\n... RED\ - \ = 1\n... BLUE = 2\n... GREEN = 3\n\nAccess them by:\n\n- attribute access:\n\n >>> Color.RED\n \n\n- value lookup:\n\n >>> Color(1)\n \n\n- name lookup:\n\n >>> Color['RED']\n \n\nEnumerations can be iterated over, and know how many members they have:\n\n>>> len(Color)\n3\n\n>>> list(Color)\n\ - [, , ]\n\nMethods can be added to enumerations, and members can have\ - \ their own\nattributes -- see the documentation for details." + description: 'Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color[''RED''] + + + + + Enumerations can be iterated over, and know how many members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members can have their own + + attributes -- see the documentation for details.' ServedModelInputWorkloadType: type: string x-enum: @@ -2522,24 +5199,128 @@ components: - DEPLOYMENT_FAILED - DEPLOYMENT_READY - DEPLOYMENT_RECOVERING - description: "Create a collection of name/value pairs.\n\nExample enumeration:\n\n>>> class Color(Enum):\n... RED\ - \ = 1\n... BLUE = 2\n... GREEN = 3\n\nAccess them by:\n\n- attribute access:\n\n >>> Color.RED\n \n\n- value lookup:\n\n >>> Color(1)\n \n\n- name lookup:\n\n >>> Color['RED']\n \n\nEnumerations can be iterated over, and know how many members they have:\n\n>>> len(Color)\n3\n\n>>> list(Color)\n\ - [, , ]\n\nMethods can be added to enumerations, and members can have\ - \ their own\nattributes -- see the documentation for details." + description: 'Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color[''RED''] + + + + + Enumerations can be iterated over, and know how many members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members can have their own + + attributes -- see the documentation for details.' ServingEndpointDetailedPermissionLevel: type: string x-enum: - CAN_MANAGE - CAN_QUERY - CAN_VIEW - description: "Create a collection of name/value pairs.\n\nExample enumeration:\n\n>>> class Color(Enum):\n... RED\ - \ = 1\n... BLUE = 2\n... GREEN = 3\n\nAccess them by:\n\n- attribute access:\n\n >>> Color.RED\n \n\n- value lookup:\n\n >>> Color(1)\n \n\n- name lookup:\n\n >>> Color['RED']\n \n\nEnumerations can be iterated over, and know how many members they have:\n\n>>> len(Color)\n3\n\n>>> list(Color)\n\ - [, , ]\n\nMethods can be added to enumerations, and members can have\ - \ their own\nattributes -- see the documentation for details." + description: 'Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color[''RED''] + + + + + Enumerations can be iterated over, and know how many members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members can have their own + + attributes -- see the documentation for details.' ServingEndpointPermissionLevel: type: string x-enum: diff --git a/providers/src/databricks_workspace/v00.00.00000/services/settings.yaml b/providers/src/databricks_workspace/v00.00.00000/services/settings.yaml index 95d420ad..acdf9fc6 100644 --- a/providers/src/databricks_workspace/v00.00.00000/services/settings.yaml +++ b/providers/src/databricks_workspace/v00.00.00000/services/settings.yaml @@ -5,7 +5,7 @@ info: Python SDK. version: 0.1.0 x-stackql-sdk-version: 0.86.0 - x-stackql-date-generated: '2026-02-19' + x-stackql-date-generated: '2026-02-24' x-stackql-sdk-namespace: databricks.sdk.service.settings servers: - url: https://{deployment_name}.cloud.databricks.com @@ -144,7 +144,71 @@ paths: type: boolean description: This should always be set to true for Settings API. Added for AIP compliance. setting: - type: string + type: object + properties: + aibi_dashboard_embedding_access_policy: + type: object + properties: + access_policy_type: + type: string + x-enum: + - ALLOW_ALL_DOMAINS + - ALLOW_APPROVED_DOMAINS + - DENY_ALL_DOMAINS + description: |- + Create a collection of name/value pairs. + + Example enumeration: + + >>> class Color(Enum): + ... RED = 1 + ... BLUE = 2 + ... GREEN = 3 + + Access them by: + + - attribute access:: + + >>> Color.RED + + + - value lookup: + + >>> Color(1) + + + - name lookup: + + >>> Color['RED'] + + + Enumerations can be iterated over, and know how many members they have: + + >>> len(Color) + 3 + + >>> list(Color) + [, , ] + + Methods can be added to enumerations, and members can have their own + attributes -- see the documentation for details. + required: + - access_policy_type + etag: + type: string + description: etag used for versioning. The response is at least as fresh as the eTag provided. This + is used for optimistic concurrency control as a way to help prevent simultaneous writes of a setting + overwriting each other. It is strongly suggested that systems make use of the etag in the read -> + update pattern to perform setting updates in order to avoid race conditions. That is, get an etag + from a GET request, and pass it with the PATCH request to identify the setting version you are updating. + setting_name: + type: string + description: Name of the corresponding setting. This field is populated in the response, but it will + not be respected even if it's set in the request body. The setting name in the path parameter will + be respected instead. Setting name is required to be 'default' if the setting only has one instance + per workspace. + required: + - aibi_dashboard_embedding_access_policy description: ':param field_mask: str The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, @@ -308,7 +372,30 @@ paths: type: boolean description: This should always be set to true for Settings API. Added for AIP compliance. setting: - type: string + type: object + properties: + aibi_dashboard_embedding_approved_domains: + type: object + properties: + approved_domains: + type: array + items: + type: string + etag: + type: string + description: etag used for versioning. The response is at least as fresh as the eTag provided. This + is used for optimistic concurrency control as a way to help prevent simultaneous writes of a setting + overwriting each other. It is strongly suggested that systems make use of the etag in the read -> + update pattern to perform setting updates in order to avoid race conditions. That is, get an etag + from a GET request, and pass it with the PATCH request to identify the setting version you are updating. + setting_name: + type: string + description: Name of the corresponding setting. This field is populated in the response, but it will + not be respected even if it's set in the request body. The setting name in the path parameter will + be respected instead. Setting name is required to be 'default' if the setting only has one instance + per workspace. + required: + - aibi_dashboard_embedding_approved_domains description: ':param field_mask: str The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, @@ -426,7 +513,157 @@ paths: type: boolean description: This should always be set to true for Settings API. Added for AIP compliance. setting: - type: string + type: object + properties: + automatic_cluster_update_workspace: + type: object + properties: + can_toggle: + type: boolean + enabled: + type: boolean + enablement_details: + type: object + properties: + forced_for_compliance_mode: + type: boolean + description: The feature is force enabled if compliance mode is active + unavailable_for_disabled_entitlement: + type: boolean + description: The feature is unavailable if the corresponding entitlement disabled (see getShieldEntitlementEnable) + unavailable_for_non_enterprise_tier: + type: boolean + description: The feature is unavailable if the customer doesn't have enterprise tier + description: |- + Contains an information about the enablement status judging (e.g. whether the enterprise tier is + enabled) This is only additional information that MUST NOT be used to decide whether the setting + is enabled or not. This is intended to use only for purposes like showing an error message to + the customer with the additional details. For example, using these details we can check why + exactly the feature is disabled for this customer. + maintenance_window: + type: object + properties: + week_day_based_schedule: + type: object + properties: + day_of_week: + type: string + x-enum: + - FRIDAY + - MONDAY + - SATURDAY + - SUNDAY + - THURSDAY + - TUESDAY + - WEDNESDAY + description: |- + Create a collection of name/value pairs. + + Example enumeration: + + >>> class Color(Enum): + ... RED = 1 + ... BLUE = 2 + ... GREEN = 3 + + Access them by: + + - attribute access:: + + >>> Color.RED + + + - value lookup: + + >>> Color(1) + + + - name lookup: + + >>> Color['RED'] + + + Enumerations can be iterated over, and know how many members they have: + + >>> len(Color) + 3 + + >>> list(Color) + [, , ] + + Methods can be added to enumerations, and members can have their own + attributes -- see the documentation for details. + frequency: + type: string + x-enum: + - EVERY_WEEK + - FIRST_AND_THIRD_OF_MONTH + - FIRST_OF_MONTH + - FOURTH_OF_MONTH + - SECOND_AND_FOURTH_OF_MONTH + - SECOND_OF_MONTH + - THIRD_OF_MONTH + description: |- + Create a collection of name/value pairs. + + Example enumeration: + + >>> class Color(Enum): + ... RED = 1 + ... BLUE = 2 + ... GREEN = 3 + + Access them by: + + - attribute access:: + + >>> Color.RED + + + - value lookup: + + >>> Color(1) + + + - name lookup: + + >>> Color['RED'] + + + Enumerations can be iterated over, and know how many members they have: + + >>> len(Color) + 3 + + >>> list(Color) + [, , ] + + Methods can be added to enumerations, and members can have their own + attributes -- see the documentation for details. + window_start_time: + type: object + properties: + hours: + type: integer + minutes: + type: integer + restart_even_if_no_updates_available: + type: boolean + etag: + type: string + description: etag used for versioning. The response is at least as fresh as the eTag provided. This + is used for optimistic concurrency control as a way to help prevent simultaneous writes of a setting + overwriting each other. It is strongly suggested that systems make use of the etag in the read -> + update pattern to perform setting updates in order to avoid race conditions. That is, get an etag + from a GET request, and pass it with the PATCH request to identify the setting version you are updating. + setting_name: + type: string + description: Name of the corresponding setting. This field is populated in the response, but it will + not be respected even if it's set in the request body. The setting name in the path parameter will + be respected instead. Setting name is required to be 'default' if the setting only has one instance + per workspace. + required: + - automatic_cluster_update_workspace description: ':param field_mask: str The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, @@ -544,7 +781,53 @@ paths: type: boolean description: This should always be set to true for Settings API. Added for AIP compliance. setting: - type: string + type: object + properties: + compliance_security_profile_workspace: + type: object + properties: + compliance_standards: + type: array + items: + type: string + x-enum: + - CANADA_PROTECTED_B + - CYBER_ESSENTIAL_PLUS + - FEDRAMP_HIGH + - FEDRAMP_IL5 + - FEDRAMP_MODERATE + - GERMANY_C5 + - GERMANY_TISAX + - HIPAA + - HITRUST + - IRAP_PROTECTED + - ISMAP + - ITAR_EAR + - K_FSI + - NONE + - PCI_DSS + description: |- + Compliance standard for SHIELD customers. See README.md for how instructions of how to add new + standards. + description: Set by customers when they request Compliance Security Profile (CSP) + is_enabled: + type: boolean + description: 'SHIELD feature: CSP' + etag: + type: string + description: etag used for versioning. The response is at least as fresh as the eTag provided. This + is used for optimistic concurrency control as a way to help prevent simultaneous writes of a setting + overwriting each other. It is strongly suggested that systems make use of the etag in the read -> + update pattern to perform setting updates in order to avoid race conditions. That is, get an etag + from a GET request, and pass it with the PATCH request to identify the setting version you are updating. + setting_name: + type: string + description: Name of the corresponding setting. This field is populated in the response, but it will + not be respected even if it's set in the request body. The setting name in the path parameter will + be respected instead. Setting name is required to be 'default' if the setting only has one instance + per workspace. + required: + - compliance_security_profile_workspace description: ':param field_mask: str The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, @@ -603,13 +886,28 @@ paths: type: object properties: partition_id: - type: string + type: object + properties: + workspaceId: + type: integer + description: The ID of the workspace. description: The partition of Credentials store token_type: - type: string + type: array + items: + type: string + x-enum: + - ARCLIGHT_AZURE_EXCHANGE_TOKEN + - ARCLIGHT_AZURE_EXCHANGE_TOKEN_WITH_USER_DELEGATION_KEY + - ARCLIGHT_MULTI_TENANT_AZURE_EXCHANGE_TOKEN + - ARCLIGHT_MULTI_TENANT_AZURE_EXCHANGE_TOKEN_WITH_USER_DELEGATION_KEY + - AZURE_ACTIVE_DIRECTORY_TOKEN + description: The type of token request. As of now, only `AZURE_ACTIVE_DIRECTORY_TOKEN` is supported. description: A list of token types being requested scopes: - type: string + type: array + items: + type: string description: Array of scopes for the token request. required: - partition_id @@ -727,7 +1025,55 @@ paths: type: boolean description: This should always be set to true for Settings API. Added for AIP compliance. setting: - type: string + type: object + properties: + csp_enablement_account: + type: object + properties: + compliance_standards: + type: array + items: + type: string + x-enum: + - CANADA_PROTECTED_B + - CYBER_ESSENTIAL_PLUS + - FEDRAMP_HIGH + - FEDRAMP_IL5 + - FEDRAMP_MODERATE + - GERMANY_C5 + - GERMANY_TISAX + - HIPAA + - HITRUST + - IRAP_PROTECTED + - ISMAP + - ITAR_EAR + - K_FSI + - NONE + - PCI_DSS + description: |- + Compliance standard for SHIELD customers. See README.md for how instructions of how to add new + standards. + description: Set by customers when they request Compliance Security Profile (CSP) Invariants are + enforced in Settings policy. + is_enforced: + type: boolean + description: Enforced = it cannot be overriden at workspace level. + description: Account level policy for CSP + etag: + type: string + description: etag used for versioning. The response is at least as fresh as the eTag provided. This + is used for optimistic concurrency control as a way to help prevent simultaneous writes of a setting + overwriting each other. It is strongly suggested that systems make use of the etag in the read -> + update pattern to perform setting updates in order to avoid race conditions. That is, get an etag + from a GET request, and pass it with the PATCH request to identify the setting version you are updating. + setting_name: + type: string + description: Name of the corresponding setting. This field is populated in the response, but it will + not be respected even if it's set in the request body. The setting name in the path parameter will + be respected instead. Setting name is required to be 'default' if the setting only has one instance + per workspace. + required: + - csp_enablement_account description: ':param field_mask: str The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, @@ -889,7 +1235,28 @@ paths: type: boolean description: This should always be set to true for Settings API. Added for AIP compliance. setting: - type: string + type: object + properties: + boolean_val: + type: object + properties: + value: + type: boolean + etag: + type: string + description: etag used for versioning. The response is at least as fresh as the eTag provided. This + is used for optimistic concurrency control as a way to help prevent simultaneous writes of a setting + overwriting each other. It is strongly suggested that systems make use of the etag in the read -> + update pattern to perform setting updates in order to avoid race conditions. That is, get an etag + from a GET request, and pass it with the PATCH request to identify the setting version you are updating. + setting_name: + type: string + description: Name of the corresponding setting. This field is populated in the response, but it will + not be respected even if it's set in the request body. The setting name in the path parameter will + be respected instead. Setting name is required to be 'default' if the setting only has one instance + per workspace. + required: + - boolean_val description: ':param field_mask: str The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, @@ -1059,7 +1426,28 @@ paths: type: boolean description: This should always be set to true for Settings API. Added for AIP compliance. setting: - type: string + type: object + properties: + namespace: + type: object + properties: + value: + type: string + etag: + type: string + description: etag used for versioning. The response is at least as fresh as the eTag provided. This + is used for optimistic concurrency control as a way to help prevent simultaneous writes of a setting + overwriting each other. It is strongly suggested that systems make use of the etag in the read -> + update pattern to perform setting updates in order to avoid race conditions. That is, get an etag + from a GET request, and pass it with the PATCH request to identify the setting version you are updating. + setting_name: + type: string + description: Name of the corresponding setting. This field is populated in the response, but it will + not be respected even if it's set in the request body. The setting name in the path parameter will + be respected instead. Setting name is required to be 'default' if the setting only has one instance + per workspace. + required: + - namespace description: ':param field_mask: str The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, @@ -1221,7 +1609,28 @@ paths: type: boolean description: This should always be set to true for Settings API. Added for AIP compliance. setting: - type: string + type: object + properties: + string_val: + type: object + properties: + value: + type: string + etag: + type: string + description: etag used for versioning. The response is at least as fresh as the eTag provided. This + is used for optimistic concurrency control as a way to help prevent simultaneous writes of a setting + overwriting each other. It is strongly suggested that systems make use of the etag in the read -> + update pattern to perform setting updates in order to avoid race conditions. That is, get an etag + from a GET request, and pass it with the PATCH request to identify the setting version you are updating. + setting_name: + type: string + description: Name of the corresponding setting. This field is populated in the response, but it will + not be respected even if it's set in the request body. The setting name in the path parameter will + be respected instead. Setting name is required to be 'default' if the setting only has one instance + per workspace. + required: + - string_val description: ':param field_mask: str The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, @@ -1383,7 +1792,28 @@ paths: type: boolean description: This should always be set to true for Settings API. Added for AIP compliance. setting: - type: string + type: object + properties: + disable_legacy_access: + type: object + properties: + value: + type: boolean + etag: + type: string + description: etag used for versioning. The response is at least as fresh as the eTag provided. This + is used for optimistic concurrency control as a way to help prevent simultaneous writes of a setting + overwriting each other. It is strongly suggested that systems make use of the etag in the read -> + update pattern to perform setting updates in order to avoid race conditions. That is, get an etag + from a GET request, and pass it with the PATCH request to identify the setting version you are updating. + setting_name: + type: string + description: Name of the corresponding setting. This field is populated in the response, but it will + not be respected even if it's set in the request body. The setting name in the path parameter will + be respected instead. Setting name is required to be 'default' if the setting only has one instance + per workspace. + required: + - disable_legacy_access description: ':param field_mask: str The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, @@ -1545,7 +1975,28 @@ paths: type: boolean description: This should always be set to true for Settings API. Added for AIP compliance. setting: - type: string + type: object + properties: + disable_legacy_dbfs: + type: object + properties: + value: + type: boolean + etag: + type: string + description: etag used for versioning. The response is at least as fresh as the eTag provided. This + is used for optimistic concurrency control as a way to help prevent simultaneous writes of a setting + overwriting each other. It is strongly suggested that systems make use of the etag in the read -> + update pattern to perform setting updates in order to avoid race conditions. That is, get an etag + from a GET request, and pass it with the PATCH request to identify the setting version you are updating. + setting_name: + type: string + description: Name of the corresponding setting. This field is populated in the response, but it will + not be respected even if it's set in the request body. The setting name in the path parameter will + be respected instead. Setting name is required to be 'default' if the setting only has one instance + per workspace. + required: + - disable_legacy_dbfs description: ':param field_mask: str The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, @@ -1723,7 +2174,28 @@ paths: type: boolean description: This should always be set to true for Settings API. Added for AIP compliance. setting: - type: string + type: object + properties: + disable_legacy_features: + type: object + properties: + value: + type: boolean + etag: + type: string + description: etag used for versioning. The response is at least as fresh as the eTag provided. This + is used for optimistic concurrency control as a way to help prevent simultaneous writes of a setting + overwriting each other. It is strongly suggested that systems make use of the etag in the read -> + update pattern to perform setting updates in order to avoid race conditions. That is, get an etag + from a GET request, and pass it with the PATCH request to identify the setting version you are updating. + setting_name: + type: string + description: Name of the corresponding setting. This field is populated in the response, but it will + not be respected even if it's set in the request body. The setting name in the path parameter will + be respected instead. Setting name is required to be 'default' if the setting only has one instance + per workspace. + required: + - disable_legacy_features description: ':param field_mask: str The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, @@ -1822,7 +2294,19 @@ paths: type: boolean description: This should always be set to true for Settings API. Added for AIP compliance. setting: - type: string + type: object + properties: + boolean_val: + type: object + properties: + value: + type: boolean + setting_name: + type: string + description: Name of the corresponding setting. This field is populated in the response, but it will + not be respected even if it's set in the request body. The setting name in the path parameter will + be respected instead. Setting name is required to be 'default' if the setting only has one instance + per workspace. description: ':param field_mask: str The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, @@ -2000,7 +2484,28 @@ paths: type: boolean description: This should always be set to true for Settings API. Added for AIP compliance. setting: - type: string + type: object + properties: + acct_ip_acl_enable: + type: object + properties: + value: + type: boolean + etag: + type: string + description: etag used for versioning. The response is at least as fresh as the eTag provided. This + is used for optimistic concurrency control as a way to help prevent simultaneous writes of a setting + overwriting each other. It is strongly suggested that systems make use of the etag in the read -> + update pattern to perform setting updates in order to avoid race conditions. That is, get an etag + from a GET request, and pass it with the PATCH request to identify the setting version you are updating. + setting_name: + type: string + description: Name of the corresponding setting. This field is populated in the response, but it will + not be respected even if it's set in the request body. The setting name in the path parameter will + be respected instead. Setting name is required to be 'default' if the setting only has one instance + per workspace. + required: + - acct_ip_acl_enable description: ':param field_mask: str The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, @@ -2099,7 +2604,19 @@ paths: type: boolean description: This should always be set to true for Settings API. Added for AIP compliance. setting: - type: string + type: object + properties: + boolean_val: + type: object + properties: + value: + type: boolean + setting_name: + type: string + description: Name of the corresponding setting. This field is populated in the response, but it will + not be respected even if it's set in the request body. The setting name in the path parameter will + be respected instead. Setting name is required to be 'default' if the setting only has one instance + per workspace. description: ':param field_mask: str The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, @@ -2198,7 +2715,19 @@ paths: type: boolean description: This should always be set to true for Settings API. Added for AIP compliance. setting: - type: string + type: object + properties: + boolean_val: + type: object + properties: + value: + type: boolean + setting_name: + type: string + description: Name of the corresponding setting. This field is populated in the response, but it will + not be respected even if it's set in the request body. The setting name in the path parameter will + be respected instead. Setting name is required to be 'default' if the setting only has one instance + per workspace. description: ':param field_mask: str The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, @@ -2316,7 +2845,29 @@ paths: type: boolean description: This should always be set to true for Settings API. Added for AIP compliance. setting: - type: string + type: object + properties: + enhanced_security_monitoring_workspace: + type: object + properties: + is_enabled: + type: boolean + description: 'SHIELD feature: ESM' + etag: + type: string + description: etag used for versioning. The response is at least as fresh as the eTag provided. This + is used for optimistic concurrency control as a way to help prevent simultaneous writes of a setting + overwriting each other. It is strongly suggested that systems make use of the etag in the read -> + update pattern to perform setting updates in order to avoid race conditions. That is, get an etag + from a GET request, and pass it with the PATCH request to identify the setting version you are updating. + setting_name: + type: string + description: Name of the corresponding setting. This field is populated in the response, but it will + not be respected even if it's set in the request body. The setting name in the path parameter will + be respected instead. Setting name is required to be 'default' if the setting only has one instance + per workspace. + required: + - enhanced_security_monitoring_workspace description: ':param field_mask: str The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, @@ -2442,7 +2993,29 @@ paths: type: boolean description: This should always be set to true for Settings API. Added for AIP compliance. setting: - type: string + type: object + properties: + esm_enablement_account: + type: object + properties: + is_enforced: + type: boolean + description: Account level policy for ESM + etag: + type: string + description: etag used for versioning. The response is at least as fresh as the eTag provided. This + is used for optimistic concurrency control as a way to help prevent simultaneous writes of a setting + overwriting each other. It is strongly suggested that systems make use of the etag in the read -> + update pattern to perform setting updates in order to avoid race conditions. That is, get an etag + from a GET request, and pass it with the PATCH request to identify the setting version you are updating. + setting_name: + type: string + description: Name of the corresponding setting. This field is populated in the response, but it will + not be respected even if it's set in the request body. The setting name in the path parameter will + be respected instead. Setting name is required to be 'default' if the setting only has one instance + per workspace. + required: + - esm_enablement_account description: ':param field_mask: str The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, @@ -2515,9 +3088,14 @@ paths: description: Label for the IP access list. This **cannot** be empty. list_type: type: string + x-enum: + - ALLOW + - BLOCK description: ':param ip_addresses: List[str] (optional)' ip_addresses: - type: string + type: array + items: + type: string required: - label - list_type @@ -2687,11 +3265,16 @@ paths: description: Label for the IP access list. This **cannot** be empty. list_type: type: string + x-enum: + - ALLOW + - BLOCK description: ':param enabled: bool Specifies whether this IP access list is enabled.' enabled: type: boolean ip_addresses: - type: string + type: array + items: + type: string description: List[str] (optional) required: - label @@ -2756,15 +3339,20 @@ paths: type: object properties: enabled: - type: string + type: boolean description: Specifies whether this IP access list is enabled. ip_addresses: - type: string + type: array + items: + type: string description: ':param label: str (optional) Label for the IP access list. This **cannot** be empty.' label: type: string list_type: type: string + x-enum: + - ALLOW + - BLOCK description: :class:`ListType` (optional) responses: '200': @@ -2874,7 +3462,28 @@ paths: type: boolean description: This should always be set to true for Settings API. Added for AIP compliance. setting: - type: string + type: object + properties: + boolean_val: + type: object + properties: + value: + type: boolean + etag: + type: string + description: etag used for versioning. The response is at least as fresh as the eTag provided. This + is used for optimistic concurrency control as a way to help prevent simultaneous writes of a setting + overwriting each other. It is strongly suggested that systems make use of the etag in the read -> + update pattern to perform setting updates in order to avoid race conditions. That is, get an etag + from a GET request, and pass it with the PATCH request to identify the setting version you are updating. + setting_name: + type: string + description: Name of the corresponding setting. This field is populated in the response, but it will + not be respected even if it's set in the request body. The setting name in the path parameter will + be respected instead. Setting name is required to be 'default' if the setting only has one instance + per workspace. + required: + - boolean_val description: ':param field_mask: str The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, @@ -3000,7 +3609,28 @@ paths: type: boolean description: This should always be set to true for Settings API. Added for AIP compliance. setting: - type: string + type: object + properties: + boolean_val: + type: object + properties: + value: + type: boolean + etag: + type: string + description: etag used for versioning. The response is at least as fresh as the eTag provided. This + is used for optimistic concurrency control as a way to help prevent simultaneous writes of a setting + overwriting each other. It is strongly suggested that systems make use of the etag in the read -> + update pattern to perform setting updates in order to avoid race conditions. That is, get an etag + from a GET request, and pass it with the PATCH request to identify the setting version you are updating. + setting_name: + type: string + description: Name of the corresponding setting. This field is populated in the response, but it will + not be respected even if it's set in the request body. The setting name in the path parameter will + be respected instead. Setting name is required to be 'default' if the setting only has one instance + per workspace. + required: + - boolean_val description: ':param field_mask: str The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, @@ -3162,7 +3792,28 @@ paths: type: boolean description: This should always be set to true for Settings API. Added for AIP compliance. setting: - type: string + type: object + properties: + boolean_val: + type: object + properties: + value: + type: boolean + etag: + type: string + description: etag used for versioning. The response is at least as fresh as the eTag provided. This + is used for optimistic concurrency control as a way to help prevent simultaneous writes of a setting + overwriting each other. It is strongly suggested that systems make use of the etag in the read -> + update pattern to perform setting updates in order to avoid race conditions. That is, get an etag + from a GET request, and pass it with the PATCH request to identify the setting version you are updating. + setting_name: + type: string + description: Name of the corresponding setting. This field is populated in the response, but it will + not be respected even if it's set in the request body. The setting name in the path parameter will + be respected instead. Setting name is required to be 'default' if the setting only has one instance + per workspace. + required: + - boolean_val description: ':param field_mask: str The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, @@ -3218,7 +3869,95 @@ paths: type: object properties: config: - type: string + type: object + properties: + email: + type: object + properties: + addresses: + type: array + items: + type: string + generic_webhook: + type: object + properties: + password: + type: string + password_set: + type: boolean + description: '[Output-Only] Whether password is set.' + url: + type: string + description: '[Input-Only] URL for webhook.' + url_set: + type: boolean + description: '[Output-Only] Whether URL is set.' + username: + type: string + description: '[Input-Only][Optional] Username for webhook.' + username_set: + type: boolean + description: '[Output-Only] Whether username is set.' + microsoft_teams: + type: object + properties: + app_id: + type: string + app_id_set: + type: boolean + description: '[Output-Only] Whether App ID is set.' + auth_secret: + type: string + description: '[Input-Only] Secret for Microsoft Teams App authentication.' + auth_secret_set: + type: boolean + description: '[Output-Only] Whether secret is set.' + channel_url: + type: string + description: '[Input-Only] Channel URL for Microsoft Teams App.' + channel_url_set: + type: boolean + description: '[Output-Only] Whether Channel URL is set.' + tenant_id: + type: string + description: '[Input-Only] Tenant ID for Microsoft Teams App.' + tenant_id_set: + type: boolean + description: '[Output-Only] Whether Tenant ID is set.' + url: + type: string + description: '[Input-Only] URL for Microsoft Teams webhook.' + url_set: + type: boolean + description: '[Output-Only] Whether URL is set.' + pagerduty: + type: object + properties: + integration_key: + type: string + integration_key_set: + type: boolean + description: '[Output-Only] Whether integration key is set.' + slack: + type: object + properties: + channel_id: + type: string + channel_id_set: + type: boolean + description: '[Output-Only] Whether channel ID is set.' + oauth_token: + type: string + description: '[Input-Only] OAuth token for Slack authentication.' + oauth_token_set: + type: boolean + description: '[Output-Only] Whether OAuth token is set.' + url: + type: string + description: '[Input-Only] URL for Slack destination.' + url_set: + type: boolean + description: '[Output-Only] Whether URL is set.' description: The configuration for the notification destination. Must wrap EXACTLY one of the nested configs. display_name: type: string @@ -3260,7 +3999,7 @@ paths: in: query required: false schema: - type: string + type: integer description: ':param page_token: str (optional)' - name: page_token in: query @@ -3389,7 +4128,95 @@ paths: type: object properties: config: - type: string + type: object + properties: + email: + type: object + properties: + addresses: + type: array + items: + type: string + generic_webhook: + type: object + properties: + password: + type: string + password_set: + type: boolean + description: '[Output-Only] Whether password is set.' + url: + type: string + description: '[Input-Only] URL for webhook.' + url_set: + type: boolean + description: '[Output-Only] Whether URL is set.' + username: + type: string + description: '[Input-Only][Optional] Username for webhook.' + username_set: + type: boolean + description: '[Output-Only] Whether username is set.' + microsoft_teams: + type: object + properties: + app_id: + type: string + app_id_set: + type: boolean + description: '[Output-Only] Whether App ID is set.' + auth_secret: + type: string + description: '[Input-Only] Secret for Microsoft Teams App authentication.' + auth_secret_set: + type: boolean + description: '[Output-Only] Whether secret is set.' + channel_url: + type: string + description: '[Input-Only] Channel URL for Microsoft Teams App.' + channel_url_set: + type: boolean + description: '[Output-Only] Whether Channel URL is set.' + tenant_id: + type: string + description: '[Input-Only] Tenant ID for Microsoft Teams App.' + tenant_id_set: + type: boolean + description: '[Output-Only] Whether Tenant ID is set.' + url: + type: string + description: '[Input-Only] URL for Microsoft Teams webhook.' + url_set: + type: boolean + description: '[Output-Only] Whether URL is set.' + pagerduty: + type: object + properties: + integration_key: + type: string + integration_key_set: + type: boolean + description: '[Output-Only] Whether integration key is set.' + slack: + type: object + properties: + channel_id: + type: string + channel_id_set: + type: boolean + description: '[Output-Only] Whether channel ID is set.' + oauth_token: + type: string + description: '[Input-Only] OAuth token for Slack authentication.' + oauth_token_set: + type: boolean + description: '[Output-Only] Whether OAuth token is set.' + url: + type: string + description: '[Input-Only] URL for Slack destination.' + url_set: + type: boolean + description: '[Output-Only] Whether URL is set.' description: The configuration for the notification destination. Must wrap EXACTLY one of the nested configs. display_name: type: string @@ -3558,7 +4385,39 @@ paths: type: boolean description: This should always be set to true for Settings API. Added for AIP compliance. setting: - type: string + type: object + properties: + personal_compute: + type: object + properties: + value: + type: string + x-enum: + - DELEGATE + - 'ON' + description: |- + ON: Grants all users in all workspaces access to the Personal Compute default policy, allowing + all users to create single-machine compute resources. DELEGATE: Moves access control for the + Personal Compute default policy to individual workspaces and requires a workspace’s users or + groups to be added to the ACLs of that workspace’s Personal Compute default policy before they + will be able to create compute resources through that policy. + required: + - value + etag: + type: string + description: etag used for versioning. The response is at least as fresh as the eTag provided. This + is used for optimistic concurrency control as a way to help prevent simultaneous writes of a setting + overwriting each other. It is strongly suggested that systems make use of the etag in the read -> + update pattern to perform setting updates in order to avoid race conditions. That is, get an etag + from a GET request, and pass it with the PATCH request to identify the setting version you are updating. + setting_name: + type: string + description: Name of the corresponding setting. This field is populated in the response, but it will + not be respected even if it's set in the request body. The setting name in the path parameter will + be respected instead. Setting name is required to be 'default' if the setting only has one instance + per workspace. + required: + - personal_compute description: ':param field_mask: str The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, @@ -3726,7 +4585,70 @@ paths: type: boolean description: This should always be set to true for Settings API. Added for AIP compliance. setting: - type: string + type: object + properties: + restrict_workspace_admins: + type: object + properties: + status: + type: string + x-enum: + - ALLOW_ALL + - RESTRICT_TOKENS_AND_JOB_RUN_AS + description: |- + Create a collection of name/value pairs. + + Example enumeration: + + >>> class Color(Enum): + ... RED = 1 + ... BLUE = 2 + ... GREEN = 3 + + Access them by: + + - attribute access:: + + >>> Color.RED + + + - value lookup: + + >>> Color(1) + + + - name lookup: + + >>> Color['RED'] + + + Enumerations can be iterated over, and know how many members they have: + + >>> len(Color) + 3 + + >>> list(Color) + [, , ] + + Methods can be added to enumerations, and members can have their own + attributes -- see the documentation for details. + required: + - status + etag: + type: string + description: etag used for versioning. The response is at least as fresh as the eTag provided. This + is used for optimistic concurrency control as a way to help prevent simultaneous writes of a setting + overwriting each other. It is strongly suggested that systems make use of the etag in the read -> + update pattern to perform setting updates in order to avoid race conditions. That is, get an etag + from a GET request, and pass it with the PATCH request to identify the setting version you are updating. + setting_name: + type: string + description: Name of the corresponding setting. This field is populated in the response, but it will + not be respected even if it's set in the request body. The setting name in the path parameter will + be respected instead. Setting name is required to be 'default' if the setting only has one instance + per workspace. + required: + - restrict_workspace_admins description: ':param field_mask: str The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, @@ -3888,7 +4810,28 @@ paths: type: boolean description: This should always be set to true for Settings API. Added for AIP compliance. setting: - type: string + type: object + properties: + boolean_val: + type: object + properties: + value: + type: boolean + etag: + type: string + description: etag used for versioning. The response is at least as fresh as the eTag provided. This + is used for optimistic concurrency control as a way to help prevent simultaneous writes of a setting + overwriting each other. It is strongly suggested that systems make use of the etag in the read -> + update pattern to perform setting updates in order to avoid race conditions. That is, get an etag + from a GET request, and pass it with the PATCH request to identify the setting version you are updating. + setting_name: + type: string + description: Name of the corresponding setting. This field is populated in the response, but it will + not be respected even if it's set in the request body. The setting name in the path parameter will + be respected instead. Setting name is required to be 'default' if the setting only has one instance + per workspace. + required: + - boolean_val description: ':param field_mask: str The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, @@ -3952,7 +4895,7 @@ paths: type: string description: Comment that describes the purpose of the token. lifetime_seconds: - type: string + type: integer description: The number of seconds before the token expires. required: - application_id @@ -4130,7 +5073,23 @@ paths: type: object properties: access_control_list: - type: string + type: array + items: + type: object + properties: + group_name: + type: string + permission_level: + type: string + x-enum: + - CAN_USE + description: Permission level + service_principal_name: + type: string + description: application ID of a service principal + user_name: + type: string + description: name of the user description: ':returns: :class:`TokenPermissions`' responses: '200': @@ -4170,7 +5129,23 @@ paths: type: object properties: access_control_list: - type: string + type: array + items: + type: object + properties: + group_name: + type: string + permission_level: + type: string + x-enum: + - CAN_USE + description: Permission level + service_principal_name: + type: string + description: application ID of a service principal + user_name: + type: string + description: name of the user description: ':returns: :class:`TokenPermissions`' responses: '200': @@ -4212,7 +5187,7 @@ paths: in: query required: false schema: - type: string + type: integer description: User ID of the user that created the token. - name: created_by_username in: query @@ -4269,7 +5244,7 @@ paths: type: string description: Optional description to attach to the token. lifetime_seconds: - type: string + type: integer description: The lifetime of the token, in seconds. If the lifetime is not specified, this token remains valid for 2 years. responses: @@ -4570,7 +5545,7 @@ paths: type: object properties: contents: - type: string + type: object required: - contents responses: @@ -6261,20 +7236,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -6308,20 +7283,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -6355,20 +7330,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -6423,20 +7398,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -6468,20 +7443,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -6518,20 +7493,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -6560,20 +7535,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -6622,20 +7597,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -6663,20 +7638,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -6711,20 +7686,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -6764,20 +7739,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -6830,20 +7805,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -6877,20 +7852,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -6930,20 +7905,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -8019,6 +8994,10 @@ components: - name: value type: string description: The value of the workspace setting (only non-null values are included). + requiredParams: + - name: deployment_name + type: string + description: Workspace deployment name used to scope the query. views: select: predicate: sqlDialect == "sqlite3" diff --git a/providers/src/databricks_workspace/v00.00.00000/services/settingsv2.yaml b/providers/src/databricks_workspace/v00.00.00000/services/settingsv2.yaml index e7383047..3a8aae7a 100644 --- a/providers/src/databricks_workspace/v00.00.00000/services/settingsv2.yaml +++ b/providers/src/databricks_workspace/v00.00.00000/services/settingsv2.yaml @@ -6,7 +6,7 @@ info: APIs), generated from the Databricks Python SDK. version: 0.1.0 x-stackql-sdk-version: 0.86.0 - x-stackql-date-generated: '2026-02-19' + x-stackql-date-generated: '2026-02-24' x-stackql-sdk-namespace: databricks.sdk.service.settingsv2 servers: - url: https://{deployment_name}.cloud.databricks.com @@ -105,7 +105,842 @@ paths: type: object properties: setting: - type: string + type: object + properties: + aibi_dashboard_embedding_access_policy: + type: object + properties: + access_policy_type: + type: string + x-enum: + - ALLOW_ALL_DOMAINS + - ALLOW_APPROVED_DOMAINS + - DENY_ALL_DOMAINS + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know how many + members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members + can have their own + + attributes -- see the documentation for details. + required: + - access_policy_type + aibi_dashboard_embedding_approved_domains: + type: object + properties: + approved_domains: + type: array + items: + type: string + description: >- + Setting value for + aibi_dashboard_embedding_approved_domains setting. This + is the setting value set by consumers, check + effective_aibi_dashboard_embedding_approved_domains for + final setting value. + automatic_cluster_update_workspace: + type: object + properties: + can_toggle: + type: boolean + enabled: + type: boolean + enablement_details: + type: object + properties: + forced_for_compliance_mode: + type: boolean + description: >- + The feature is force enabled if compliance mode + is active + unavailable_for_disabled_entitlement: + type: boolean + description: >- + The feature is unavailable if the corresponding + entitlement disabled (see + getShieldEntitlementEnable) + unavailable_for_non_enterprise_tier: + type: boolean + description: >- + The feature is unavailable if the customer + doesn't have enterprise tier + description: >- + Contains an information about the enablement status + judging (e.g. whether the enterprise tier is + enabled) This is only additional information that MUST NOT be used to decide whether the setting + is enabled or not. This is intended to use only for purposes like showing an error message to + the customer with the additional details. For example, using these details we can check why + exactly the feature is disabled for this customer. + maintenance_window: + type: object + properties: + week_day_based_schedule: + type: object + properties: + day_of_week: + type: string + x-enum: + - FRIDAY + - MONDAY + - SATURDAY + - SUNDAY + - THURSDAY + - TUESDAY + - WEDNESDAY + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know + how many members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , + ] + + + Methods can be added to enumerations, and + members can have their own + + attributes -- see the documentation for + details. + frequency: + type: string + x-enum: + - EVERY_WEEK + - FIRST_AND_THIRD_OF_MONTH + - FIRST_OF_MONTH + - FOURTH_OF_MONTH + - SECOND_AND_FOURTH_OF_MONTH + - SECOND_OF_MONTH + - THIRD_OF_MONTH + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know + how many members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , + ] + + + Methods can be added to enumerations, and + members can have their own + + attributes -- see the documentation for + details. + window_start_time: + type: object + properties: + hours: + type: integer + minutes: + type: integer + restart_even_if_no_updates_available: + type: boolean + description: >- + Setting value for automatic_cluster_update_workspace + setting. This is the setting value set by consumers, + check effective_automatic_cluster_update_workspace for + final setting value. + boolean_val: + type: object + properties: + value: + type: boolean + description: >- + Setting value for boolean type setting. This is the + setting value set by consumers, check + effective_boolean_val for final setting value. + effective_aibi_dashboard_embedding_access_policy: + type: object + properties: + access_policy_type: + type: string + x-enum: + - ALLOW_ALL_DOMAINS + - ALLOW_APPROVED_DOMAINS + - DENY_ALL_DOMAINS + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know how many + members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members + can have their own + + attributes -- see the documentation for details. + required: + - access_policy_type + description: >- + Effective setting value for + aibi_dashboard_embedding_access_policy setting. This is + the final effective value of setting. To set a value use + aibi_dashboard_embedding_access_policy. + effective_aibi_dashboard_embedding_approved_domains: + type: object + properties: + approved_domains: + type: array + items: + type: string + description: >- + Effective setting value for + aibi_dashboard_embedding_approved_domains setting. This + is the final effective value of setting. To set a value + use aibi_dashboard_embedding_approved_domains. + effective_automatic_cluster_update_workspace: + type: object + properties: + can_toggle: + type: boolean + enabled: + type: boolean + enablement_details: + type: object + properties: + forced_for_compliance_mode: + type: boolean + description: >- + The feature is force enabled if compliance mode + is active + unavailable_for_disabled_entitlement: + type: boolean + description: >- + The feature is unavailable if the corresponding + entitlement disabled (see + getShieldEntitlementEnable) + unavailable_for_non_enterprise_tier: + type: boolean + description: >- + The feature is unavailable if the customer + doesn't have enterprise tier + description: >- + Contains an information about the enablement status + judging (e.g. whether the enterprise tier is + enabled) This is only additional information that MUST NOT be used to decide whether the setting + is enabled or not. This is intended to use only for purposes like showing an error message to + the customer with the additional details. For example, using these details we can check why + exactly the feature is disabled for this customer. + maintenance_window: + type: object + properties: + week_day_based_schedule: + type: object + properties: + day_of_week: + type: string + x-enum: + - FRIDAY + - MONDAY + - SATURDAY + - SUNDAY + - THURSDAY + - TUESDAY + - WEDNESDAY + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know + how many members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , + ] + + + Methods can be added to enumerations, and + members can have their own + + attributes -- see the documentation for + details. + frequency: + type: string + x-enum: + - EVERY_WEEK + - FIRST_AND_THIRD_OF_MONTH + - FIRST_OF_MONTH + - FOURTH_OF_MONTH + - SECOND_AND_FOURTH_OF_MONTH + - SECOND_OF_MONTH + - THIRD_OF_MONTH + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know + how many members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , + ] + + + Methods can be added to enumerations, and + members can have their own + + attributes -- see the documentation for + details. + window_start_time: + type: object + properties: + hours: + type: integer + minutes: + type: integer + restart_even_if_no_updates_available: + type: boolean + description: >- + Effective setting value for + automatic_cluster_update_workspace setting. This is the + final effective value of setting. To set a value use + automatic_cluster_update_workspace. + effective_boolean_val: + type: object + properties: + value: + type: boolean + description: >- + Effective setting value for boolean type setting. This + is the final effective value of setting. To set a value + use boolean_val. + effective_integer_val: + type: object + properties: + value: + type: integer + description: >- + Effective setting value for integer type setting. This + is the final effective value of setting. To set a value + use integer_val. + effective_personal_compute: + type: object + properties: + value: + type: string + x-enum: + - DELEGATE + - 'ON' + description: >- + ON: Grants all users in all workspaces access to the + Personal Compute default policy, allowing + + all users to create single-machine compute + resources. DELEGATE: Moves access control for the + + Personal Compute default policy to individual + workspaces and requires a workspace’s users or + + groups to be added to the ACLs of that workspace’s + Personal Compute default policy before they + + will be able to create compute resources through + that policy. + description: >- + Effective setting value for personal_compute setting. + This is the final effective value of setting. To set a + value use personal_compute. + effective_restrict_workspace_admins: + type: object + properties: + status: + type: string + x-enum: + - ALLOW_ALL + - RESTRICT_TOKENS_AND_JOB_RUN_AS + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know how many + members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members + can have their own + + attributes -- see the documentation for details. + required: + - status + description: >- + Effective setting value for restrict_workspace_admins + setting. This is the final effective value of setting. + To set a value use restrict_workspace_admins. + effective_string_val: + type: object + properties: + value: + type: string + description: >- + Effective setting value for string type setting. This is + the final effective value of setting. To set a value use + string_val. + integer_val: + type: object + properties: + value: + type: integer + description: >- + Setting value for integer type setting. This is the + setting value set by consumers, check + effective_integer_val for final setting value. + name: + type: string + description: Name of the setting. + personal_compute: + type: object + properties: + value: + type: string + x-enum: + - DELEGATE + - 'ON' + description: >- + ON: Grants all users in all workspaces access to the + Personal Compute default policy, allowing + + all users to create single-machine compute + resources. DELEGATE: Moves access control for the + + Personal Compute default policy to individual + workspaces and requires a workspace’s users or + + groups to be added to the ACLs of that workspace’s + Personal Compute default policy before they + + will be able to create compute resources through + that policy. + description: >- + Setting value for personal_compute setting. This is the + setting value set by consumers, check + effective_personal_compute for final setting value. + restrict_workspace_admins: + type: object + properties: + status: + type: string + x-enum: + - ALLOW_ALL + - RESTRICT_TOKENS_AND_JOB_RUN_AS + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know how many + members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members + can have their own + + attributes -- see the documentation for details. + required: + - status + description: >- + Setting value for restrict_workspace_admins setting. + This is the setting value set by consumers, check + effective_restrict_workspace_admins for final setting + value. + string_val: + type: object + properties: + value: + type: string + description: >- + Setting value for string type setting. This is the + setting value set by consumers, check + effective_string_val for final setting value. description: ':returns: :class:`Setting`' required: - setting @@ -164,7 +999,7 @@ paths: in: query required: false schema: - type: string + type: integer description: >- The maximum number of settings to return. The service may return fewer than this value. If unspecified, at most 200 settings will be @@ -489,20 +1324,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -536,20 +1371,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -583,20 +1418,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -644,20 +1479,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: diff --git a/providers/src/databricks_workspace/v00.00.00000/services/sharing.yaml b/providers/src/databricks_workspace/v00.00.00000/services/sharing.yaml index b98a81bb..48ee2084 100644 --- a/providers/src/databricks_workspace/v00.00.00000/services/sharing.yaml +++ b/providers/src/databricks_workspace/v00.00.00000/services/sharing.yaml @@ -6,7 +6,7 @@ info: APIs), generated from the Databricks Python SDK. version: 0.1.0 x-stackql-sdk-version: 0.86.0 - x-stackql-date-generated: '2026-02-19' + x-stackql-date-generated: '2026-02-24' x-stackql-sdk-namespace: databricks.sdk.service.sharing servers: - url: https://{deployment_name}.cloud.databricks.com @@ -53,6 +53,11 @@ paths: description: The name of the Provider. authentication_type: type: string + x-enum: + - DATABRICKS + - OAUTH_CLIENT_CREDENTIALS + - OIDC_FEDERATION + - TOKEN description: >- :param comment: str (optional) Description about the provider. @@ -135,7 +140,7 @@ paths: in: query required: false schema: - type: string + type: integer description: >- Maximum number of providers to return. - when set to 0, the page length is set to a server configured value (recommended); - when set @@ -381,25 +386,25 @@ paths: in: query required: false schema: - type: string + type: integer description: Maximum number of functions to return. - name: notebook_max_results in: query required: false schema: - type: string + type: integer description: Maximum number of notebooks to return. - name: table_max_results in: query required: false schema: - type: string + type: integer description: Maximum number of tables to return. - name: volume_max_results in: query required: false schema: - type: string + type: integer description: Maximum number of volumes to return. responses: '200': @@ -462,7 +467,7 @@ paths: in: query required: false schema: - type: string + type: integer description: >- Maximum number of shares to return. - when set to 0, the page length is set to a server configured value (recommended); - when set to a @@ -661,7 +666,86 @@ paths: type: object properties: policy: - type: string + type: object + properties: + comment: + type: string + create_time: + type: string + description: >- + System-generated timestamp indicating when the policy + was created. + id: + type: string + description: >- + Unique, immutable system-generated identifier for the + federation policy. + name: + type: string + description: >- + Name of the federation policy. A recipient can have + multiple policies with different names. The name must + contain only lowercase alphanumeric characters, numbers, + and hyphens. + oidc_policy: + type: object + properties: + issuer: + type: string + description: >- + The required token issuer, as specified in the 'iss' + claim of federated tokens. + subject_claim: + type: string + description: >- + The claim that contains the subject of the token. + Depending on the identity provider and the use case + (U2M or M2M), this can vary: - For Entra ID (AAD): * + U2M flow (group access): Use `groups`. * U2M flow + (user access): Use `oid`. * M2M flow (OAuth App + access): Use `azp`. - For other IdPs, refer to the + specific IdP documentation. Supported + `subject_claim` values are: - `oid`: Object ID of + the user. - `azp`: Client ID of the OAuth app. - + `groups`: Object ID of the group. - `sub`: Subject + identifier for other use cases. + subject: + type: string + description: >- + The required token subject, as specified in the + subject claim of federated tokens. The subject claim + identifies the identity of the user or machine + accessing the resource. Examples for Entra ID (AAD): + - U2M flow (group access): If the subject claim is + `groups`, this must be the Object ID of the group in + Entra ID. - U2M flow (user access): If the subject + claim is `oid`, this must be the Object ID of the + user in Entra ID. - M2M flow (OAuth App access): If + the subject claim is `azp`, this must be the client + ID of the OAuth app registered in Entra ID. + audiences: + type: array + items: + type: string + description: >- + The allowed token audiences, as specified in the + 'aud' claim of federated tokens. The audience + identifier is intended to represent the recipient of + the token. Can be any non-empty string value. As + long as the audience in the token matches at least + one audience in the policy, + required: + - issuer + - subject_claim + - subject + description: >- + Specifies the policy to use for validating OIDC claims + in the federated tokens. + update_time: + type: string + description: >- + System-generated timestamp indicating when the policy + was last updated. description: >- Name of the policy. This is the name of the policy to be created. @@ -723,7 +807,7 @@ paths: in: query required: false schema: - type: string + type: integer description: ':param page_token: str (optional)' - name: page_token in: query @@ -911,6 +995,11 @@ paths: description: Name of Recipient. authentication_type: type: string + x-enum: + - DATABRICKS + - OAUTH_CLIENT_CREDENTIALS + - OIDC_FEDERATION + - TOKEN description: >- :param comment: str (optional) Description about the recipient. @@ -924,19 +1013,30 @@ paths: __authentication_type__ is **DATABRICKS**. The identifier is of format __cloud__:__region__:__metastore-uuid__. expiration_time: - type: string + type: integer description: Expiration timestamp of the token, in epoch milliseconds. id: type: string description: '[Create,Update:IGN] common - id of the recipient' ip_access_list: - type: string + type: object + properties: + allowed_ip_addresses: + type: array + items: + type: string description: IP Access List owner: type: string description: Username of the recipient owner. properties_kvpairs: - type: string + type: object + properties: + properties: + type: object + description: A map of key-value properties attached to the securable. + required: + - properties description: >- Recipient properties as map of string key-value pairs. When provided in update request, the specified properties will @@ -1017,7 +1117,7 @@ paths: in: query required: false schema: - type: string + type: integer description: >- Maximum number of recipients to return. - when set to 0, the page length is set to a server configured value (recommended); - when set @@ -1194,13 +1294,18 @@ paths: type: string description: Description about the recipient. expiration_time: - type: string + type: integer description: Expiration timestamp of the token, in epoch milliseconds. id: type: string description: '[Create,Update:IGN] common - id of the recipient' ip_access_list: - type: string + type: object + properties: + allowed_ip_addresses: + type: array + items: + type: string description: IP Access List new_name: type: string @@ -1209,7 +1314,13 @@ paths: type: string description: Username of the recipient owner. properties_kvpairs: - type: string + type: object + properties: + properties: + type: object + description: A map of key-value properties attached to the securable. + required: + - properties description: >- Recipient properties as map of string key-value pairs. When provided in update request, the specified properties will @@ -1341,7 +1452,7 @@ paths: in: query required: false schema: - type: string + type: integer description: >- Maximum number of permissions to return. - when set to 0, the page length is set to a server configured value (recommended); - when set @@ -1474,7 +1585,7 @@ paths: in: query required: false schema: - type: string + type: integer description: >- Maximum number of shares to return. - when set to 0, the page length is set to a server configured value (recommended); - when set to a @@ -1580,7 +1691,7 @@ paths: in: query required: false schema: - type: string + type: boolean description: Query for data to include in the share. responses: '200': @@ -1682,7 +1793,254 @@ paths: type: string description: Storage root URL for the share. updates: - type: string + type: array + items: + type: object + properties: + action: + type: string + x-enum: + - ADD + - REMOVE + - UPDATE + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know how many + members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members can + have their own + + attributes -- see the documentation for details. + data_object: + type: object + properties: + name: + type: string + added_at: + type: integer + description: >- + The time when this data object is added to the + share, in epoch milliseconds. + added_by: + type: string + description: Username of the sharer. + cdf_enabled: + type: boolean + description: >- + Whether to enable cdf or indicate if cdf is + enabled on the shared object. + comment: + type: string + description: >- + A user-provided comment when adding the data + object to the share. + content: + type: string + description: >- + The content of the notebook file when the data + object type is NOTEBOOK_FILE. This should be + base64 encoded. Required for adding a + NOTEBOOK_FILE, optional for updating, ignored for + other types. + data_object_type: + type: string + x-enum: + - FEATURE_SPEC + - FOREIGN_TABLE + - FUNCTION + - MATERIALIZED_VIEW + - MODEL + - NOTEBOOK_FILE + - SCHEMA + - STREAMING_TABLE + - TABLE + - VIEW + - VOLUME + description: The type of the data object. + history_data_sharing_status: + type: string + x-enum: + - DISABLED + - ENABLED + description: >- + Whether to enable or disable sharing of data + history. If not specified, the default is + **DISABLED**. + partitions: + type: array + items: + type: object + properties: + values: + type: array + items: + type: object + properties: + name: + type: string + op: + type: string + x-enum: + - EQUAL + - LIKE + description: The operator to apply for the value. + recipient_property_key: + type: string + description: >- + The key of a Delta Sharing recipient's + property. For example + "databricks-account-id". When this field + is set, field `value` can not be set. + value: + type: string + description: >- + The value of the partition column. When + this value is not set, it means `null` + value. When this field is set, field + `recipient_property_key` can not be set. + description: Array of partitions for the shared data. + shared_as: + type: string + description: >- + A user-provided alias name for table-like data + objects within the share. Use this field for + table-like objects (for example: TABLE, VIEW, + MATERIALIZED_VIEW, STREAMING_TABLE, + FOREIGN_TABLE). For non-table objects (for + example: VOLUME, MODEL, NOTEBOOK_FILE, FUNCTION), + use `string_shared_as` instead. Important: For + non-table objects, this field must be omitted + entirely. Format: Must be a 2-part name + `.` (e.g., + "sales_schema.orders_table") - Both schema and + table names must contain only alphanumeric + characters and underscores - No periods, spaces, + forward slashes, or control characters are allowed + within each part - Do not include the catalog name + (use 2 parts, not 3) Behavior: - If not provided, + the service automatically generates the alias as + `.` from the object's original name + - If you don't want to specify this field, omit it + entirely from the request (do not pass an empty + string) - The `shared_as` name must be unique + within the share Examples: - Valid: + "analytics_schema.customer_view" - Invalid: + "catalog.analytics_schema.customer_view" (3 parts + not allowed) - Invalid: + "analytics-schema.customer-view" (hyphens not + allowed) + start_version: + type: integer + description: >- + The start version associated with the object. This + allows data providers to control the lowest object + version that is accessible by clients. If + specified, clients can query snapshots or changes + for versions >= start_version. If not specified, + clients can only query starting from the version + of the object at the time it was added to the + share. NOTE: The start_version should be <= the + `current` version of the object. + status: + type: string + x-enum: + - ACTIVE + - PERMISSION_DENIED + description: 'One of: **ACTIVE**, **PERMISSION_DENIED**.' + string_shared_as: + type: string + description: >- + A user-provided alias name for non-table data + objects within the share. Use this field for + non-table objects (for example: VOLUME, MODEL, + NOTEBOOK_FILE, FUNCTION). For table-like objects + (for example: TABLE, VIEW, MATERIALIZED_VIEW, + STREAMING_TABLE, FOREIGN_TABLE), use `shared_as` + instead. Important: For table-like objects, this + field must be omitted entirely. Format: - For + VOLUME: Must be a 2-part name + `.` (e.g., + "data_schema.ml_models") - For FUNCTION: Must be a + 2-part name `.` (e.g., + "udf_schema.calculate_tax") - For MODEL: Must be a + 2-part name `.` (e.g., + "models.prediction_model") - For NOTEBOOK_FILE: + Should be the notebook file name (e.g., + "analysis_notebook.py") - All names must contain + only alphanumeric characters and underscores - No + periods, spaces, forward slashes, or control + characters are allowed within each part Behavior: + - If not provided, the service automatically + generates the alias from the object's original + name - If you don't want to specify this field, + omit it entirely from the request (do not pass an + empty string) - The `string_shared_as` name must + be unique for objects of the same type within the + share Examples: - Valid for VOLUME: + "data_schema.training_data" - Valid for FUNCTION: + "analytics.calculate_revenue" - Invalid: + "catalog.data_schema.training_data" (3 parts not + allowed for volumes) - Invalid: + "data-schema.training-data" (hyphens not allowed) + required: + - name + description: >- + The data object that is being added, removed, or + updated. The maximum number update data objects + allowed is a 100. description: Array of shared data object updates. responses: '200': @@ -1744,7 +2102,7 @@ paths: in: query required: false schema: - type: string + type: integer description: >- Maximum number of permissions to return. - when set to 0, the page length is set to a server configured value (recommended); - when set @@ -1825,10 +2183,28 @@ paths: type: object properties: changes: - type: string + type: array + items: + type: object + properties: + add: + type: array + items: + type: string + principal: + type: string + description: >- + The principal whose privileges we are changing. Only + one of principal or principal_id should be specified, + never both at the same time. + remove: + type: array + items: + type: string + description: The set of privileges to remove. description: Array of permissions change objects. omit_permissions_list: - type: string + type: boolean description: >- Optional. Whether to return the latest permissions list of the share in the response. @@ -2811,20 +3187,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -2853,20 +3229,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -2895,20 +3271,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -2980,20 +3356,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -3031,20 +3407,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -3073,20 +3449,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -3115,20 +3491,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -3158,20 +3534,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -3214,20 +3590,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: diff --git a/providers/src/databricks_workspace/v00.00.00000/services/sql.yaml b/providers/src/databricks_workspace/v00.00.00000/services/sql.yaml index aa312ab9..9a257294 100644 --- a/providers/src/databricks_workspace/v00.00.00000/services/sql.yaml +++ b/providers/src/databricks_workspace/v00.00.00000/services/sql.yaml @@ -6,7 +6,7 @@ info: generated from the Databricks Python SDK. version: 0.1.0 x-stackql-sdk-version: 0.86.0 - x-stackql-date-generated: '2026-02-19' + x-stackql-date-generated: '2026-02-24' x-stackql-sdk-namespace: databricks.sdk.service.sql servers: - url: https://{deployment_name}.cloud.databricks.com @@ -38,14 +38,157 @@ paths: type: object properties: alert: - type: string + type: object + properties: + condition: + type: object + properties: + empty_result_state: + type: string + x-enum: + - OK + - TRIGGERED + - UNKNOWN + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know how many + members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members + can have their own + + attributes -- see the documentation for details. + op: + type: string + x-enum: + - EQUAL + - GREATER_THAN + - GREATER_THAN_OR_EQUAL + - IS_NULL + - LESS_THAN + - LESS_THAN_OR_EQUAL + - NOT_EQUAL + description: Operator used for comparison in alert evaluation. + operand: + type: object + properties: + column: + type: object + properties: + name: + type: string + description: >- + Name of the column from the query result to use for + comparison in alert evaluation. + threshold: + type: object + properties: + value: + type: object + properties: + bool_value: + type: boolean + double_value: + type: number + string_value: + type: string + description: >- + Threshold value used for comparison in alert + evaluation. + custom_body: + type: string + description: >- + Custom body of alert notification, if it exists. See + [here] for custom templating instructions. [here]: + https://docs.databricks.com/sql/user/alerts/index.html + custom_subject: + type: string + description: >- + Custom subject of alert notification, if it exists. This + can include email subject entries and Slack notification + headers, for example. See [here] for custom templating + instructions. [here]: + https://docs.databricks.com/sql/user/alerts/index.html + display_name: + type: string + description: The display name of the alert. + notify_on_ok: + type: boolean + description: >- + Whether to notify alert subscribers when alert returns + back to normal. + parent_path: + type: string + description: The workspace path of the folder containing the alert. + query_id: + type: string + description: UUID of the query attached to the alert. + seconds_to_retrigger: + type: integer + description: >- + Number of seconds an alert must wait after being + triggered to rearm itself. After rearming, it can be + triggered again. If 0 or not specified, the alert will + not be triggered again. description: >- :param auto_resolve_display_name: bool (optional) If true, automatically resolve alert display name conflicts. Otherwise, fail the request if the alert's display name conflicts with an existing alert's display name. auto_resolve_display_name: - type: string + type: boolean responses: '200': description: Success @@ -92,7 +235,7 @@ paths: in: query required: false schema: - type: string + type: integer description: ':param page_token: str (optional)' - name: page_token in: query @@ -250,14 +393,159 @@ paths: update_mask: type: string alert: - type: string + type: object + properties: + condition: + type: object + properties: + empty_result_state: + type: string + x-enum: + - OK + - TRIGGERED + - UNKNOWN + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know how many + members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members + can have their own + + attributes -- see the documentation for details. + op: + type: string + x-enum: + - EQUAL + - GREATER_THAN + - GREATER_THAN_OR_EQUAL + - IS_NULL + - LESS_THAN + - LESS_THAN_OR_EQUAL + - NOT_EQUAL + description: Operator used for comparison in alert evaluation. + operand: + type: object + properties: + column: + type: object + properties: + name: + type: string + description: >- + Name of the column from the query result to use for + comparison in alert evaluation. + threshold: + type: object + properties: + value: + type: object + properties: + bool_value: + type: boolean + double_value: + type: number + string_value: + type: string + description: >- + Threshold value used for comparison in alert + evaluation. + custom_body: + type: string + description: >- + Custom body of alert notification, if it exists. See + [here] for custom templating instructions. [here]: + https://docs.databricks.com/sql/user/alerts/index.html + custom_subject: + type: string + description: >- + Custom subject of alert notification, if it exists. This + can include email subject entries and Slack notification + headers, for example. See [here] for custom templating + instructions. [here]: + https://docs.databricks.com/sql/user/alerts/index.html + display_name: + type: string + description: The display name of the alert. + notify_on_ok: + type: boolean + description: >- + Whether to notify alert subscribers when alert returns + back to normal. + owner_user_name: + type: string + description: >- + The owner's username. This field is set to "Unavailable" + if the user has been deleted. + query_id: + type: string + description: UUID of the query attached to the alert. + seconds_to_retrigger: + type: integer + description: >- + Number of seconds an alert must wait after being + triggered to rearm itself. After rearming, it can be + triggered again. If 0 or not specified, the alert will + not be triggered again. description: >- :param auto_resolve_display_name: bool (optional) If true, automatically resolve alert display name conflicts. Otherwise, fail the request if the alert's display name conflicts with an existing alert's display name. auto_resolve_display_name: - type: string + type: boolean required: - update_mask responses: @@ -326,7 +614,56 @@ paths: type: string description: Name of the alert. options: - type: string + type: object + properties: + column: + type: string + description: >- + Name of column in the query result to compare in alert + evaluation. + op: + type: string + description: >- + Operator used to compare in alert evaluation: `>`, `>=`, + `<`, `<=`, `==`, `!=` + value: + type: object + description: >- + Value used to compare in alert evaluation. Supported + types include strings (eg. 'foobar'), floats (eg. + 123.4), and booleans (true). + custom_body: + type: string + description: >- + Custom body of alert notification, if it exists. See + [here] for custom templating instructions. [here]: + https://docs.databricks.com/sql/user/alerts/index.html + custom_subject: + type: string + description: >- + Custom subject of alert notification, if it exists. This + includes email subject, Slack notification header, etc. + See [here] for custom templating instructions. [here]: + https://docs.databricks.com/sql/user/alerts/index.html + empty_result_state: + type: string + x-enum: + - ok + - triggered + - unknown + description: >- + State that alert evaluates to when query result is + empty. + muted: + type: boolean + description: >- + Whether or not the alert is muted. If an alert is muted, + it will not notify users and notification destinations + when triggered. + required: + - column + - op + - value description: Alert configuration options. query_id: type: string @@ -337,7 +674,7 @@ paths: The identifier of the workspace folder containing the object. rearm: - type: string + type: integer description: >- Number of seconds after being triggered before the alert rearms itself and can be triggered again. If `null`, alert @@ -540,13 +877,62 @@ paths: name: type: string options: - type: string + type: object + properties: + column: + type: string + description: >- + Name of column in the query result to compare in alert + evaluation. + op: + type: string + description: >- + Operator used to compare in alert evaluation: `>`, `>=`, + `<`, `<=`, `==`, `!=` + value: + type: object + description: >- + Value used to compare in alert evaluation. Supported + types include strings (eg. 'foobar'), floats (eg. + 123.4), and booleans (true). + custom_body: + type: string + description: >- + Custom body of alert notification, if it exists. See + [here] for custom templating instructions. [here]: + https://docs.databricks.com/sql/user/alerts/index.html + custom_subject: + type: string + description: >- + Custom subject of alert notification, if it exists. This + includes email subject, Slack notification header, etc. + See [here] for custom templating instructions. [here]: + https://docs.databricks.com/sql/user/alerts/index.html + empty_result_state: + type: string + x-enum: + - ok + - triggered + - unknown + description: >- + State that alert evaluates to when query result is + empty. + muted: + type: boolean + description: >- + Whether or not the alert is muted. If an alert is muted, + it will not notify users and notification destinations + when triggered. + required: + - column + - op + - value description: Alert configuration options. query_id: type: string description: Query ID. rearm: - type: string + type: integer description: >- Number of seconds after being triggered before the alert rearms itself and can be triggered again. If `null`, alert @@ -590,7 +976,251 @@ paths: type: object properties: alert: - type: string + type: object + properties: + display_name: + type: string + query_text: + type: string + description: Text of the query to be run. + warehouse_id: + type: string + description: ID of the SQL warehouse attached to the alert. + evaluation: + type: object + properties: + source: + type: object + properties: + name: + type: string + aggregation: + type: string + x-enum: + - AVG + - COUNT + - COUNT_DISTINCT + - MAX + - MEDIAN + - MIN + - STDDEV + - SUM + description: >- + If not set, the behavior is equivalent to using + `First row` in the UI. + display: + type: string + required: + - name + comparison_operator: + type: string + x-enum: + - EQUAL + - GREATER_THAN + - GREATER_THAN_OR_EQUAL + - IS_NOT_NULL + - IS_NULL + - LESS_THAN + - LESS_THAN_OR_EQUAL + - NOT_EQUAL + description: Operator used for comparison in alert evaluation. + empty_result_state: + type: string + x-enum: + - ERROR + - OK + - TRIGGERED + - UNKNOWN + description: >- + Alert state if result is empty. Please avoid setting + this field to be `UNKNOWN` because `UNKNOWN` state + is planned to be deprecated. + last_evaluated_at: + type: string + description: Timestamp of the last evaluation. + notification: + type: object + properties: + notify_on_ok: + type: boolean + retrigger_seconds: + type: integer + description: >- + Number of seconds an alert waits after being + triggered before it is allowed to send another + notification. If set to 0 or omitted, the alert + will not send any further notifications after + the first trigger Setting this value to 1 allows + the alert to send a notification on every + evaluation where the condition is met, + effectively making it always retrigger for + notification purposes. + subscriptions: + type: array + items: + type: object + properties: + destination_id: + type: string + user_email: + type: string + description: >- + User or Notification Destination to notify when + alert is triggered. + state: + type: string + x-enum: + - ERROR + - OK + - TRIGGERED + - UNKNOWN + description: Latest state of alert evaluation. + threshold: + type: object + properties: + column: + type: object + properties: + name: + type: string + aggregation: + type: string + x-enum: + - AVG + - COUNT + - COUNT_DISTINCT + - MAX + - MEDIAN + - MIN + - STDDEV + - SUM + description: >- + If not set, the behavior is equivalent to + using `First row` in the UI. + display: + type: string + required: + - name + value: + type: object + properties: + bool_value: + type: boolean + double_value: + type: number + string_value: + type: string + description: >- + Threshold to user for alert evaluation, can be a + column or a value. + required: + - source + - comparison_operator + schedule: + type: object + properties: + quartz_cron_schedule: + type: string + timezone_id: + type: string + description: >- + A Java timezone id. The schedule will be resolved + using this timezone. This will be combined with the + quartz_cron_schedule to determine the schedule. See + https://docs.databricks.com/sql/language-manual/sql-ref-syntax-aux-conf-mgmt-set-timezone.html + for details. + pause_status: + type: string + x-enum: + - PAUSED + - UNPAUSED + description: Indicate whether this schedule is paused or not. + required: + - quartz_cron_schedule + - timezone_id + create_time: + type: string + description: The timestamp indicating when the alert was created. + custom_description: + type: string + description: >- + Custom description for the alert. support mustache + template. + custom_summary: + type: string + description: Custom summary for the alert. support mustache template. + effective_run_as: + type: object + properties: + service_principal_name: + type: string + user_name: + type: string + description: >- + The email of an active workspace user. Can only set + this field to their own email. + description: >- + The actual identity that will be used to execute the + alert. This is an output-only field that shows the + resolved run-as identity after applying permissions and + defaults. + id: + type: string + description: UUID identifying the alert. + lifecycle_state: + type: string + x-enum: + - ACTIVE + - DELETED + description: Indicates whether the query is trashed. + owner_user_name: + type: string + description: >- + The owner's username. This field is set to "Unavailable" + if the user has been deleted. + parent_path: + type: string + description: >- + The workspace path of the folder containing the alert. + Can only be set on create, and cannot be updated. + run_as: + type: object + properties: + service_principal_name: + type: string + user_name: + type: string + description: >- + The email of an active workspace user. Can only set + this field to their own email. + description: >- + Specifies the identity that will be used to run the + alert. This field allows you to configure alerts to run + as a specific user or service principal. - For user + identity: Set `user_name` to the email of an active + workspace user. Users can only set this to their own + email. - For service principal: Set + `service_principal_name` to the application ID. Requires + the `servicePrincipal/user` role. If not specified, the + alert will run as the request user. + run_as_user_name: + type: string + description: >- + The run as username or application ID of service + principal. On Create and Update, this field can be set + to application ID of an active service principal. + Setting this field requires the servicePrincipal/user + role. Deprecated: Use `run_as` field instead. This field + will be removed in a future release. + update_time: + type: string + description: The timestamp indicating when the alert was updated. + required: + - display_name + - query_text + - warehouse_id + - evaluation + - schedule description: ':returns: :class:`AlertV2`' required: - alert @@ -631,7 +1261,7 @@ paths: in: query required: false schema: - type: string + type: integer description: ':param page_token: str (optional)' - name: page_token in: query @@ -731,7 +1361,7 @@ paths: in: query required: false schema: - type: string + type: boolean responses: '200': description: Success @@ -790,7 +1420,251 @@ paths: type: object properties: alert: - type: string + type: object + properties: + display_name: + type: string + query_text: + type: string + description: Text of the query to be run. + warehouse_id: + type: string + description: ID of the SQL warehouse attached to the alert. + evaluation: + type: object + properties: + source: + type: object + properties: + name: + type: string + aggregation: + type: string + x-enum: + - AVG + - COUNT + - COUNT_DISTINCT + - MAX + - MEDIAN + - MIN + - STDDEV + - SUM + description: >- + If not set, the behavior is equivalent to using + `First row` in the UI. + display: + type: string + required: + - name + comparison_operator: + type: string + x-enum: + - EQUAL + - GREATER_THAN + - GREATER_THAN_OR_EQUAL + - IS_NOT_NULL + - IS_NULL + - LESS_THAN + - LESS_THAN_OR_EQUAL + - NOT_EQUAL + description: Operator used for comparison in alert evaluation. + empty_result_state: + type: string + x-enum: + - ERROR + - OK + - TRIGGERED + - UNKNOWN + description: >- + Alert state if result is empty. Please avoid setting + this field to be `UNKNOWN` because `UNKNOWN` state + is planned to be deprecated. + last_evaluated_at: + type: string + description: Timestamp of the last evaluation. + notification: + type: object + properties: + notify_on_ok: + type: boolean + retrigger_seconds: + type: integer + description: >- + Number of seconds an alert waits after being + triggered before it is allowed to send another + notification. If set to 0 or omitted, the alert + will not send any further notifications after + the first trigger Setting this value to 1 allows + the alert to send a notification on every + evaluation where the condition is met, + effectively making it always retrigger for + notification purposes. + subscriptions: + type: array + items: + type: object + properties: + destination_id: + type: string + user_email: + type: string + description: >- + User or Notification Destination to notify when + alert is triggered. + state: + type: string + x-enum: + - ERROR + - OK + - TRIGGERED + - UNKNOWN + description: Latest state of alert evaluation. + threshold: + type: object + properties: + column: + type: object + properties: + name: + type: string + aggregation: + type: string + x-enum: + - AVG + - COUNT + - COUNT_DISTINCT + - MAX + - MEDIAN + - MIN + - STDDEV + - SUM + description: >- + If not set, the behavior is equivalent to + using `First row` in the UI. + display: + type: string + required: + - name + value: + type: object + properties: + bool_value: + type: boolean + double_value: + type: number + string_value: + type: string + description: >- + Threshold to user for alert evaluation, can be a + column or a value. + required: + - source + - comparison_operator + schedule: + type: object + properties: + quartz_cron_schedule: + type: string + timezone_id: + type: string + description: >- + A Java timezone id. The schedule will be resolved + using this timezone. This will be combined with the + quartz_cron_schedule to determine the schedule. See + https://docs.databricks.com/sql/language-manual/sql-ref-syntax-aux-conf-mgmt-set-timezone.html + for details. + pause_status: + type: string + x-enum: + - PAUSED + - UNPAUSED + description: Indicate whether this schedule is paused or not. + required: + - quartz_cron_schedule + - timezone_id + create_time: + type: string + description: The timestamp indicating when the alert was created. + custom_description: + type: string + description: >- + Custom description for the alert. support mustache + template. + custom_summary: + type: string + description: Custom summary for the alert. support mustache template. + effective_run_as: + type: object + properties: + service_principal_name: + type: string + user_name: + type: string + description: >- + The email of an active workspace user. Can only set + this field to their own email. + description: >- + The actual identity that will be used to execute the + alert. This is an output-only field that shows the + resolved run-as identity after applying permissions and + defaults. + id: + type: string + description: UUID identifying the alert. + lifecycle_state: + type: string + x-enum: + - ACTIVE + - DELETED + description: Indicates whether the query is trashed. + owner_user_name: + type: string + description: >- + The owner's username. This field is set to "Unavailable" + if the user has been deleted. + parent_path: + type: string + description: >- + The workspace path of the folder containing the alert. + Can only be set on create, and cannot be updated. + run_as: + type: object + properties: + service_principal_name: + type: string + user_name: + type: string + description: >- + The email of an active workspace user. Can only set + this field to their own email. + description: >- + Specifies the identity that will be used to run the + alert. This field allows you to configure alerts to run + as a specific user or service principal. - For user + identity: Set `user_name` to the email of an active + workspace user. Users can only set this to their own + email. - For service principal: Set + `service_principal_name` to the application ID. Requires + the `servicePrincipal/user` role. If not specified, the + alert will run as the request user. + run_as_user_name: + type: string + description: >- + The run as username or application ID of service + principal. On Create and Update, this field can be set + to application ID of an active service principal. + Setting this field requires the servicePrincipal/user + role. Deprecated: Use `run_as` field instead. This field + will be removed in a future release. + update_time: + type: string + description: The timestamp indicating when the alert was updated. + required: + - display_name + - query_text + - warehouse_id + - evaluation + - schedule description: >- :param update_mask: str The field mask must be a single string, with multiple fields separated by commas (no @@ -857,7 +1731,51 @@ paths: type: string description: Dashboard ID returned by :method:dashboards/create. options: - type: string + type: object + properties: + created_at: + type: string + description: + type: string + description: Custom description of the widget + isHidden: + type: boolean + description: Whether this widget is hidden on the dashboard. + parameterMappings: + type: object + description: >- + How parameters used by the visualization in this widget + relate to other widgets on the dashboard. Databricks + does not recommend modifying this definition in JSON. + position: + type: object + properties: + autoHeight: + type: boolean + description: reserved for internal use + col: + type: integer + description: column in the dashboard grid. Values start with 0 + row: + type: integer + description: row in the dashboard grid. Values start with 0 + sizeX: + type: integer + description: width of the widget measured in dashboard grid cells + sizeY: + type: integer + description: >- + height of the widget measured in dashboard grid + cells + description: >- + Coordinates of this widget on a dashboard. This portion + of the API changes frequently and is unsupported. + title: + type: string + description: Custom title of the widget + updated_at: + type: string + description: Timestamp of the last time this object was updated. description: ':param width: int Width of a widget' width: type: integer @@ -969,7 +1887,51 @@ paths: type: string description: Dashboard ID returned by :method:dashboards/create. options: - type: string + type: object + properties: + created_at: + type: string + description: + type: string + description: Custom description of the widget + isHidden: + type: boolean + description: Whether this widget is hidden on the dashboard. + parameterMappings: + type: object + description: >- + How parameters used by the visualization in this widget + relate to other widgets on the dashboard. Databricks + does not recommend modifying this definition in JSON. + position: + type: object + properties: + autoHeight: + type: boolean + description: reserved for internal use + col: + type: integer + description: column in the dashboard grid. Values start with 0 + row: + type: integer + description: row in the dashboard grid. Values start with 0 + sizeX: + type: integer + description: width of the widget measured in dashboard grid cells + sizeY: + type: integer + description: >- + height of the widget measured in dashboard grid + cells + description: >- + Coordinates of this widget on a dashboard. This portion + of the API changes frequently and is unsupported. + title: + type: string + description: Custom title of the widget + updated_at: + type: string + description: Timestamp of the last time this object was updated. description: ':param width: int Width of a widget' width: type: integer @@ -1137,12 +2099,17 @@ paths: type: string run_as_role: type: string + x-enum: + - owner + - viewer description: >- Sets the **Run as** role for the object. Must be set to one of `"viewer"` (signifying "run as viewer" behavior) or `"owner"` (signifying "run as owner" behavior) tags: - type: string + type: array + items: + type: string description: ':returns: :class:`Dashboard`' responses: '200': @@ -1195,19 +2162,19 @@ paths: in: query required: false schema: - type: string + $ref: '#/components/schemas/ListOrder' description: Name of dashboard attribute to order by. - name: page in: query required: false schema: - type: string + type: integer description: Page number to retrieve. - name: page_size in: query required: false schema: - type: string + type: integer description: Number of dashboards to return per page. - name: q in: query @@ -1361,7 +2328,7 @@ paths: in: query required: true schema: - type: string + $ref: '#/components/schemas/ObjectTypePlural' description: The type of object permissions to check. responses: '200': @@ -1434,9 +2401,32 @@ paths: properties: object_type: type: string + x-enum: + - alerts + - dashboards + - data_sources + - queries description: The type of object permission to set. access_control_list: - type: string + type: array + items: + type: object + properties: + group_name: + type: string + permission_level: + type: string + x-enum: + - CAN_EDIT + - CAN_MANAGE + - CAN_RUN + - CAN_VIEW + description: >- + * `CAN_VIEW`: Can view the query * `CAN_RUN`: Can run + the query * `CAN_EDIT`: Can edit the query * + `CAN_MANAGE`: Can manage the query + user_name: + type: string description: ':returns: :class:`SetResponse`' required: - object_type @@ -1500,7 +2490,7 @@ paths: in: path required: true schema: - type: string + $ref: '#/components/schemas/TransferOwnershipObjectId' description: The ID of the object on which to change ownership. requestBody: content: @@ -1510,6 +2500,10 @@ paths: properties: object_type: type: string + x-enum: + - alert + - dashboard + - query description: The type of object on which to change ownership. new_owner: type: string @@ -1560,13 +2554,213 @@ paths: type: object properties: auto_resolve_display_name: - type: string + type: boolean description: >- If true, automatically resolve query display name conflicts. Otherwise, fail the request if the query's display name conflicts with an existing query's display name. query: - type: string + type: object + properties: + apply_auto_limit: + type: boolean + catalog: + type: string + description: Name of the catalog where this query will be executed. + description: + type: string + description: >- + General description that conveys additional information + about this query such as usage notes. + display_name: + type: string + description: >- + Display name of the query that appears in list views, + widget headings, and on the query page. + parameters: + type: array + items: + type: object + properties: + date_range_value: + type: object + properties: + date_range_value: + type: object + properties: + start: + type: string + end: + type: string + required: + - start + - end + dynamic_date_range_value: + type: string + x-enum: + - LAST_12_MONTHS + - LAST_14_DAYS + - LAST_24_HOURS + - LAST_30_DAYS + - LAST_60_DAYS + - LAST_7_DAYS + - LAST_8_HOURS + - LAST_90_DAYS + - LAST_HOUR + - LAST_MONTH + - LAST_WEEK + - LAST_YEAR + - THIS_MONTH + - THIS_WEEK + - THIS_YEAR + - TODAY + - YESTERDAY + description: >- + Dynamic date-time range value based on current + date-time. + precision: + type: string + x-enum: + - DAY_PRECISION + - MINUTE_PRECISION + - SECOND_PRECISION + description: >- + Date-time precision to format the value into + when the query is run. Defaults to + DAY_PRECISION (YYYY-MM-DD). + start_day_of_week: + type: integer + date_value: + type: object + properties: + date_value: + type: string + dynamic_date_value: + type: string + x-enum: + - NOW + - YESTERDAY + description: >- + Dynamic date-time value based on current + date-time. + precision: + type: string + x-enum: + - DAY_PRECISION + - MINUTE_PRECISION + - SECOND_PRECISION + description: >- + Date-time precision to format the value into + when the query is run. Defaults to + DAY_PRECISION (YYYY-MM-DD). + description: >- + Date query parameter value. Can only specify one + of `dynamic_date_value` or `date_value`. + enum_value: + type: object + properties: + enum_options: + type: string + multi_values_options: + type: object + properties: + prefix: + type: string + separator: + type: string + description: >- + Character that separates each selected + parameter value. Defaults to a comma. + suffix: + type: string + description: >- + Character that suffixes each selected + parameter value. + description: >- + If specified, allows multiple values to be + selected for this parameter. + values: + type: array + items: + type: string + description: List of selected query parameter values. + description: Dropdown query parameter value. + name: + type: string + description: >- + Literal parameter marker that appears between + double curly braces in the query text. + numeric_value: + type: object + properties: + value: + type: number + description: Numeric query parameter value. + query_backed_value: + type: object + properties: + multi_values_options: + type: object + properties: + prefix: + type: string + separator: + type: string + description: >- + Character that separates each selected + parameter value. Defaults to a comma. + suffix: + type: string + description: >- + Character that suffixes each selected + parameter value. + query_id: + type: string + description: >- + UUID of the query that provides the parameter + values. + values: + type: array + items: + type: string + description: List of selected query parameter values. + description: Query-based dropdown query parameter value. + text_value: + type: object + properties: + value: + type: string + description: Text query parameter value. + title: + type: string + description: >- + Text displayed in the user-facing parameter widget + in the UI. + description: List of query parameter definitions. + parent_path: + type: string + description: >- + Workspace path of the workspace folder containing the + object. + query_text: + type: string + description: Text of the query to be run. + run_as_mode: + type: string + x-enum: + - OWNER + - VIEWER + description: Sets the "Run as" role for the object. + schema: + type: string + description: Name of the schema where this query will be executed. + tags: + type: array + items: + type: string + warehouse_id: + type: string + description: ID of the SQL warehouse attached to the query. description: ':returns: :class:`Query`' responses: '200': @@ -1614,7 +2808,7 @@ paths: in: query required: false schema: - type: string + type: integer description: ':param page_token: str (optional)' - name: page_token in: query @@ -1772,13 +2966,211 @@ paths: update_mask: type: string auto_resolve_display_name: - type: string + type: boolean description: >- If true, automatically resolve alert display name conflicts. Otherwise, fail the request if the alert's display name conflicts with an existing alert's display name. query: - type: string + type: object + properties: + apply_auto_limit: + type: boolean + catalog: + type: string + description: Name of the catalog where this query will be executed. + description: + type: string + description: >- + General description that conveys additional information + about this query such as usage notes. + display_name: + type: string + description: >- + Display name of the query that appears in list views, + widget headings, and on the query page. + owner_user_name: + type: string + description: Username of the user that owns the query. + parameters: + type: array + items: + type: object + properties: + date_range_value: + type: object + properties: + date_range_value: + type: object + properties: + start: + type: string + end: + type: string + required: + - start + - end + dynamic_date_range_value: + type: string + x-enum: + - LAST_12_MONTHS + - LAST_14_DAYS + - LAST_24_HOURS + - LAST_30_DAYS + - LAST_60_DAYS + - LAST_7_DAYS + - LAST_8_HOURS + - LAST_90_DAYS + - LAST_HOUR + - LAST_MONTH + - LAST_WEEK + - LAST_YEAR + - THIS_MONTH + - THIS_WEEK + - THIS_YEAR + - TODAY + - YESTERDAY + description: >- + Dynamic date-time range value based on current + date-time. + precision: + type: string + x-enum: + - DAY_PRECISION + - MINUTE_PRECISION + - SECOND_PRECISION + description: >- + Date-time precision to format the value into + when the query is run. Defaults to + DAY_PRECISION (YYYY-MM-DD). + start_day_of_week: + type: integer + date_value: + type: object + properties: + date_value: + type: string + dynamic_date_value: + type: string + x-enum: + - NOW + - YESTERDAY + description: >- + Dynamic date-time value based on current + date-time. + precision: + type: string + x-enum: + - DAY_PRECISION + - MINUTE_PRECISION + - SECOND_PRECISION + description: >- + Date-time precision to format the value into + when the query is run. Defaults to + DAY_PRECISION (YYYY-MM-DD). + description: >- + Date query parameter value. Can only specify one + of `dynamic_date_value` or `date_value`. + enum_value: + type: object + properties: + enum_options: + type: string + multi_values_options: + type: object + properties: + prefix: + type: string + separator: + type: string + description: >- + Character that separates each selected + parameter value. Defaults to a comma. + suffix: + type: string + description: >- + Character that suffixes each selected + parameter value. + description: >- + If specified, allows multiple values to be + selected for this parameter. + values: + type: array + items: + type: string + description: List of selected query parameter values. + description: Dropdown query parameter value. + name: + type: string + description: >- + Literal parameter marker that appears between + double curly braces in the query text. + numeric_value: + type: object + properties: + value: + type: number + description: Numeric query parameter value. + query_backed_value: + type: object + properties: + multi_values_options: + type: object + properties: + prefix: + type: string + separator: + type: string + description: >- + Character that separates each selected + parameter value. Defaults to a comma. + suffix: + type: string + description: >- + Character that suffixes each selected + parameter value. + query_id: + type: string + description: >- + UUID of the query that provides the parameter + values. + values: + type: array + items: + type: string + description: List of selected query parameter values. + description: Query-based dropdown query parameter value. + text_value: + type: object + properties: + value: + type: string + description: Text query parameter value. + title: + type: string + description: >- + Text displayed in the user-facing parameter widget + in the UI. + description: List of query parameter definitions. + query_text: + type: string + description: Text of the query to be run. + run_as_mode: + type: string + x-enum: + - OWNER + - VIEWER + description: Sets the "Run as" role for the object. + schema: + type: string + description: Name of the schema where this query will be executed. + tags: + type: array + items: + type: string + warehouse_id: + type: string + description: ID of the SQL warehouse attached to the query. description: ':returns: :class:`Query`' required: - update_mask @@ -1827,7 +3219,7 @@ paths: in: query required: false schema: - type: string + type: integer - name: page_token in: query required: false @@ -1936,7 +3328,7 @@ paths: The title of this query that appears in list views, widget headings, and on the query page. options: - type: string + type: object description: >- Exclusively used for storing a list parameter definitions. A parameter is an object with `title`, `name`, `type`, and @@ -1952,12 +3344,17 @@ paths: description: The text of the query to be run. run_as_role: type: string + x-enum: + - owner + - viewer description: >- Sets the **Run as** role for the object. Must be set to one of `"viewer"` (signifying "run as viewer" behavior) or `"owner"` (signifying "run as owner" behavior) tags: - type: string + type: array + items: + type: string description: ':returns: :class:`LegacyQuery`' responses: '200': @@ -2045,13 +3442,13 @@ paths: in: query required: false schema: - type: string + type: integer description: Page number to retrieve. - name: page_size in: query required: false schema: - type: string + type: integer description: Number of queries to return per page. - name: q in: query @@ -2250,7 +3647,7 @@ paths: The title of this query that appears in list views, widget headings, and on the query page. options: - type: string + type: object description: >- Exclusively used for storing a list parameter definitions. A parameter is an object with `title`, `name`, `type`, and @@ -2261,12 +3658,17 @@ paths: description: The text of the query to be run. run_as_role: type: string + x-enum: + - owner + - viewer description: >- Sets the **Run as** role for the object. Must be set to one of `"viewer"` (signifying "run as viewer" behavior) or `"owner"` (signifying "run as owner" behavior) tags: - type: string + type: array + items: + type: string description: ':returns: :class:`LegacyQuery`' responses: '200': @@ -2376,7 +3778,7 @@ paths: in: query required: false schema: - type: string + $ref: '#/components/schemas/QueryFilter' description: >- An optional filter object to limit query history results. Accepts parameters such as user IDs, endpoint IDs, and statuses to narrow @@ -2386,7 +3788,7 @@ paths: in: query required: false schema: - type: string + type: boolean description: >- Whether to include the query metrics with each query. Only use this for a small subset of queries (max_results). Defaults to false. @@ -2394,7 +3796,7 @@ paths: in: query required: false schema: - type: string + type: integer description: >- Limit the number of results returned in one page. Must be less than 1000 and the default is 100. @@ -2450,7 +3852,32 @@ paths: type: object properties: visualization: - type: string + type: object + properties: + display_name: + type: string + query_id: + type: string + description: UUID of the query that the visualization is attached to. + serialized_options: + type: string + description: >- + The visualization options varies widely from one + visualization type to the next and is unsupported. + Databricks does not recommend modifying visualization + options directly. + serialized_query_plan: + type: string + description: >- + The visualization query plan varies widely from one + visualization type to the next and is unsupported. + Databricks does not recommend modifying the + visualization query plan directly. + type: + type: string + description: >- + The type of visualization: counter, table, funnel, and + so on. description: ':returns: :class:`Visualization`' responses: '200': @@ -2557,7 +3984,29 @@ paths: update_mask: type: string visualization: - type: string + type: object + properties: + display_name: + type: string + serialized_options: + type: string + description: >- + The visualization options varies widely from one + visualization type to the next and is unsupported. + Databricks does not recommend modifying visualization + options directly. + serialized_query_plan: + type: string + description: >- + The visualization query plan varies widely from one + visualization type to the next and is unsupported. + Databricks does not recommend modifying the + visualization query plan directly. + type: + type: string + description: >- + The type of visualization: counter, table, funnel, and + so on. description: ':returns: :class:`Visualization`' required: - update_mask @@ -2620,7 +4069,7 @@ paths: type: object properties: options: - type: string + type: object description: >- The options object varies widely from one visualization type to the next and is unsupported. Databricks does not @@ -2774,13 +4223,249 @@ paths: The name of the visualization that appears on dashboards and the query screen. options: - type: string + type: object description: >- The options object varies widely from one visualization type to the next and is unsupported. Databricks does not recommend modifying visualization settings in JSON. query: - type: string + type: object + properties: + can_edit: + type: boolean + created_at: + type: string + description: The timestamp when this query was created. + data_source_id: + type: string + description: >- + Data source ID maps to the ID of the data source used by + the resource and is distinct from the warehouse ID. + [Learn more] [Learn more]: + https://docs.databricks.com/api/workspace/datasources/list + description: + type: string + description: >- + General description that conveys additional information + about this query such as usage notes. + id: + type: string + description: Query ID. + is_archived: + type: boolean + description: >- + Indicates whether the query is trashed. Trashed queries + can't be used in dashboards, or appear in search + results. If this boolean is `true`, the `options` + property for this query includes a `moved_to_trash_at` + timestamp. Trashed queries are permanently deleted after + 30 days. + is_draft: + type: boolean + description: >- + Whether the query is a draft. Draft queries only appear + in list views for their owners. Visualizations from + draft queries cannot appear on dashboards. + is_favorite: + type: boolean + description: >- + Whether this query object appears in the current user's + favorites list. This flag determines whether the star + icon for favorites is selected. + is_safe: + type: boolean + description: >- + Text parameter types are not safe from SQL injection for + all types of data source. Set this Boolean parameter to + `true` if a query either does not use any text type + parameters or uses a data source type where text type + parameters are handled safely. + last_modified_by: + type: object + properties: + email: + type: string + id: + type: integer + name: + type: string + last_modified_by_id: + type: integer + description: The ID of the user who last saved changes to this query. + latest_query_data_id: + type: string + description: >- + If there is a cached result for this query and user, + this field includes the query result ID. If this query + uses parameters, this field is always null. + name: + type: string + description: >- + The title of this query that appears in list views, + widget headings, and on the query page. + options: + type: object + properties: + catalog: + type: string + moved_to_trash_at: + type: string + description: >- + The timestamp when this query was moved to trash. + Only present when the `is_archived` property is + `true`. Trashed items are deleted after thirty days. + parameters: + type: array + items: + type: object + properties: + enumOptions: + type: string + multiValuesOptions: + type: object + properties: + prefix: + type: string + separator: + type: string + description: >- + Character that separates each selected + parameter value. Defaults to a comma. + suffix: + type: string + description: >- + Character that suffixes each selected + parameter value. + description: >- + If specified, allows multiple values to be + selected for this parameter. Only applies to + dropdown list and query-based dropdown list + parameters. + name: + type: string + description: >- + The literal parameter marker that appears + between double curly braces in the query text. + queryId: + type: string + description: >- + The UUID of the query that provides the + parameter values. Only applies for query-based + dropdown list parameters. + title: + type: string + description: >- + The text displayed in a parameter picking + widget. + type: + type: string + x-enum: + - datetime + - enum + - number + - query + - text + description: Parameters can have several different types. + value: + type: object + description: The default value for this parameter. + schema: + type: string + description: The name of the schema to execute this query in. + parent: + type: string + description: >- + The identifier of the workspace folder containing the + object. + permission_tier: + type: string + x-enum: + - CAN_EDIT + - CAN_MANAGE + - CAN_RUN + - CAN_VIEW + description: >- + * `CAN_VIEW`: Can view the query * `CAN_RUN`: Can run + the query * `CAN_EDIT`: Can edit the query * + `CAN_MANAGE`: Can manage the query + query: + type: string + description: The text of the query to be run. + query_hash: + type: string + description: >- + A SHA-256 hash of the query text along with the + authenticated user ID. + run_as_role: + type: string + x-enum: + - owner + - viewer + description: >- + Sets the **Run as** role for the object. Must be set to + one of `"viewer"` (signifying "run as viewer" behavior) + or `"owner"` (signifying "run as owner" behavior) + tags: + type: array + items: + type: string + updated_at: + type: string + description: The timestamp at which this query was last updated. + user: + type: object + properties: + email: + type: string + id: + type: integer + name: + type: string + user_id: + type: integer + description: The ID of the user who owns the query. + visualizations: + type: array + items: + type: object + properties: + created_at: + type: string + description: + type: string + description: >- + A short description of this visualization. This is + not displayed in the UI. + id: + type: string + description: The UUID for this visualization. + name: + type: string + description: >- + The name of the visualization that appears on + dashboards and the query screen. + options: + type: object + description: >- + The options object varies widely from one + visualization type to the next and is unsupported. + Databricks does not recommend modifying + visualization settings in JSON. + query: + $ref: '#/components/schemas/LegacyQuery' + type: + type: string + description: >- + The type of visualization: chart, table, pivot + table, and so on. + updated_at: + type: string + description: >- + The visualization description API changes frequently + and is unsupported. You can duplicate a + visualization by copying description objects received _from the API_ and then using them to + create a new one with a POST request to the same endpoint. Databricks does not recommend + constructing ad-hoc visualizations entirely in JSON. description: >- :param type: str (optional) The type of visualization: chart, table, pivot table, and so on. @@ -3144,7 +4829,7 @@ paths: are SQL warehouses?] [What are SQL warehouses?]: https://docs.databricks.com/sql/admin/warehouse-type.html byte_limit: - type: string + type: integer description: >- Applies the given byte limit to the statement's result size. Byte counts are based on internal data representations and @@ -3161,6 +4846,9 @@ paths: https://docs.databricks.com/sql/language-manual/sql-ref-syntax-ddl-use-catalog.html disposition: type: string + x-enum: + - EXTERNAL_LINKS + - INLINE description: >- The fetch disposition provides two modes of fetching results: `INLINE` and `EXTERNAL_LINKS`. Statements executed @@ -3186,6 +4874,10 @@ paths: link is cloud specific. format: type: string + x-enum: + - ARROW_STREAM + - CSV + - JSON_ARRAY description: >- Statement execution supports three result formats: `JSON_ARRAY` (default), `ARROW_STREAM`, and `CSV`. @@ -3220,6 +4912,9 @@ paths: [RFC 4180]: https://www.rfc-editor.org/rfc/rfc4180 on_wait_timeout: type: string + x-enum: + - CANCEL + - CONTINUE description: >- When `wait_timeout > 0s`, the call will block up to the specified time. If the statement execution doesn't finish @@ -3231,7 +4926,29 @@ paths: set to `CANCEL`, the statement execution is canceled and the call returns with a `CANCELED` state. parameters: - type: string + type: array + items: + type: object + properties: + name: + type: string + type: + type: string + description: >- + The data type, given as a string. For example: `INT`, + `STRING`, `DECIMAL(10,2)`. If no type is given the + type is assumed to be `STRING`. Complex types, such as + `ARRAY`, `MAP`, and `STRUCT` are not supported. For + valid types, refer to the section [Data types] of the + SQL language reference. [Data types]: + https://docs.databricks.com/sql/language-manual/functions/cast.html + value: + type: string + description: >- + The value to substitute, represented as a string. If + omitted, the value is interpreted as NULL. + required: + - name description: >- A list of parameters to pass into a SQL statement containing parameter markers. A parameter consists of a name, a value, @@ -3259,7 +4976,21 @@ paths: [`cast` function]: https://docs.databricks.com/sql/language-manual/functions/cast.html query_tags: - type: string + type: array + items: + type: object + properties: + key: + type: string + value: + type: string + required: + - key + description: >- + * A query execution can be annotated with an optional + key-value pair to allow users to attribute + the executions by key and optional value to filter by. QueryTag is the user-facing + representation. description: >- An array of query tags to annotate a SQL statement. A query tag consists of a non-empty key and, optionally, a value. To @@ -3272,7 +5003,7 @@ paths: "query_tags": [ { "key": "team", "value": "eng" }, { "key": "some key only tag" } ] } row_limit: - type: string + type: integer description: >- Applies the given row limit to the statement's result set, but unlike the `LIMIT` clause in SQL, it also sets the @@ -3538,14 +5269,85 @@ paths: type: object properties: auto_stop_mins: - type: string + type: integer description: >- The amount of time in minutes that a SQL warehouse must be idle (i.e., no RUNNING queries) before it is automatically stopped. Supported values: - Must be == 0 or >= 10 mins - 0 indicates no autostop. Defaults to 120 mins channel: - type: string + type: object + properties: + dbsql_version: + type: string + name: + type: string + x-enum: + - CHANNEL_NAME_CURRENT + - CHANNEL_NAME_CUSTOM + - CHANNEL_NAME_PREVIEW + - CHANNEL_NAME_PREVIOUS + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know how many + members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members can + have their own + + attributes -- see the documentation for details. description: Channel Details cluster_size: type: string @@ -3560,12 +5362,12 @@ paths: type: string description: warehouse creator name enable_photon: - type: string + type: boolean description: >- Configures whether the warehouse should use Photon optimized clusters. Defaults to false. enable_serverless_compute: - type: string + type: boolean description: >- Configures whether the warehouse should use serverless compute @@ -3575,14 +5377,14 @@ paths: Deprecated. Instance profile used to pass IAM role to the cluster max_num_clusters: - type: string + type: integer description: >- Maximum number of clusters that the autoscaler will create to handle concurrent queries. Supported values: - Must be >= min_num_clusters - Must be <= 40. Defaults to min_clusters if unset. min_num_clusters: - type: string + type: integer description: >- Minimum number of available clusters that will be maintained for this SQL warehouse. Increasing this will ensure that a @@ -3598,11 +5400,25 @@ paths: unique within an org. - Must be less than 100 characters. spot_instance_policy: type: string + x-enum: + - COST_OPTIMIZED + - POLICY_UNSPECIFIED + - RELIABILITY_OPTIMIZED description: >- Configurations whether the endpoint should use spot instances. tags: - type: string + type: object + properties: + custom_tags: + type: array + items: + type: object + properties: + key: + type: string + value: + type: string description: >- A set of key-value pairs that will be tagged on all resources (e.g., AWS instances and EBS volumes) associated @@ -3610,6 +5426,10 @@ paths: < 45. warehouse_type: type: string + x-enum: + - CLASSIC + - PRO + - TYPE_UNSPECIFIED description: >- Warehouse type: `PRO` or `CLASSIC`. If you want to use serverless compute, you must set to `PRO` and also set the @@ -3660,7 +5480,7 @@ paths: in: query required: false schema: - type: string + type: integer description: The max number of warehouses to return. - name: page_token in: query @@ -3676,7 +5496,7 @@ paths: in: query required: false schema: - type: string + type: integer description: >- Service Principal which will be used to fetch the list of endpoints. If not specified, SQL Gateway will use the user from the session @@ -3740,7 +5560,30 @@ paths: type: object properties: default_warehouse_override: - type: string + type: object + properties: + type: + type: string + x-enum: + - CUSTOM + - LAST_SELECTED + description: The type of override behavior. + default_warehouse_override_id: + type: string + description: The ID component of the resource name (user ID). + name: + type: string + description: >- + The resource name of the default warehouse override. + Format: + default-warehouse-overrides/{default_warehouse_override_id} + warehouse_id: + type: string + description: >- + The specific warehouse ID when type is CUSTOM. Not set + for LAST_SELECTED type. + required: + - type description: Required. The default warehouse override to create. required: - default_warehouse_override @@ -3795,7 +5638,7 @@ paths: in: query required: false schema: - type: string + type: integer description: >- The maximum number of overrides to return. The service may return fewer than this value. If unspecified, at most 100 overrides will be @@ -4051,7 +5894,7 @@ paths: in: query required: true schema: - type: string + type: object description: >- Required. Field mask specifying which fields to update. Only the fields specified in the mask will be updated. Use "*" to update all @@ -4061,7 +5904,7 @@ paths: in: query required: false schema: - type: string + type: boolean description: >- If set to true, and the override is not found, a new override will be created. In this situation, `update_mask` is ignored and all @@ -4073,7 +5916,30 @@ paths: type: object properties: default_warehouse_override: - type: string + type: object + properties: + type: + type: string + x-enum: + - CUSTOM + - LAST_SELECTED + description: The type of override behavior. + default_warehouse_override_id: + type: string + description: The ID component of the resource name (user ID). + name: + type: string + description: >- + The resource name of the default warehouse override. + Format: + default-warehouse-overrides/{default_warehouse_override_id} + warehouse_id: + type: string + description: >- + The specific warehouse ID when type is CUSTOM. Not set + for LAST_SELECTED type. + required: + - type description: >- Required. The default warehouse override to update. The name field must be set in the format: @@ -4187,14 +6053,85 @@ paths: type: object properties: auto_stop_mins: - type: string + type: integer description: >- The amount of time in minutes that a SQL warehouse must be idle (i.e., no RUNNING queries) before it is automatically stopped. Supported values: - Must be == 0 or >= 10 mins - 0 indicates no autostop. Defaults to 120 mins channel: - type: string + type: object + properties: + dbsql_version: + type: string + name: + type: string + x-enum: + - CHANNEL_NAME_CURRENT + - CHANNEL_NAME_CUSTOM + - CHANNEL_NAME_PREVIEW + - CHANNEL_NAME_PREVIOUS + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know how many + members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members can + have their own + + attributes -- see the documentation for details. description: Channel Details cluster_size: type: string @@ -4209,12 +6146,12 @@ paths: type: string description: warehouse creator name enable_photon: - type: string + type: boolean description: >- Configures whether the warehouse should use Photon optimized clusters. Defaults to false. enable_serverless_compute: - type: string + type: boolean description: >- Configures whether the warehouse should use serverless compute @@ -4224,14 +6161,14 @@ paths: Deprecated. Instance profile used to pass IAM role to the cluster max_num_clusters: - type: string + type: integer description: >- Maximum number of clusters that the autoscaler will create to handle concurrent queries. Supported values: - Must be >= min_num_clusters - Must be <= 40. Defaults to min_clusters if unset. min_num_clusters: - type: string + type: integer description: >- Minimum number of available clusters that will be maintained for this SQL warehouse. Increasing this will ensure that a @@ -4247,11 +6184,25 @@ paths: unique within an org. - Must be less than 100 characters. spot_instance_policy: type: string + x-enum: + - COST_OPTIMIZED + - POLICY_UNSPECIFIED + - RELIABILITY_OPTIMIZED description: >- Configurations whether the endpoint should use spot instances. tags: - type: string + type: object + properties: + custom_tags: + type: array + items: + type: object + properties: + key: + type: string + value: + type: string description: >- A set of key-value pairs that will be tagged on all resources (e.g., AWS instances and EBS volumes) associated @@ -4259,6 +6210,10 @@ paths: < 45. warehouse_type: type: string + x-enum: + - CLASSIC + - PRO + - TYPE_UNSPECIFIED description: >- Warehouse type: `PRO` or `CLASSIC`. If you want to use serverless compute, you must set to `PRO` and also set the @@ -4405,7 +6360,27 @@ paths: type: object properties: access_control_list: - type: string + type: array + items: + type: object + properties: + group_name: + type: string + permission_level: + type: string + x-enum: + - CAN_MANAGE + - CAN_MONITOR + - CAN_USE + - CAN_VIEW + - IS_OWNER + description: Permission level + service_principal_name: + type: string + description: application ID of a service principal + user_name: + type: string + description: name of the user description: ':returns: :class:`WarehousePermissions`' responses: '200': @@ -4462,7 +6437,27 @@ paths: type: object properties: access_control_list: - type: string + type: array + items: + type: object + properties: + group_name: + type: string + permission_level: + type: string + x-enum: + - CAN_MANAGE + - CAN_MONITOR + - CAN_USE + - CAN_VIEW + - IS_OWNER + description: Permission level + service_principal_name: + type: string + description: application ID of a service principal + user_name: + type: string + description: name of the user description: ':returns: :class:`WarehousePermissions`' responses: '200': @@ -4566,21 +6561,198 @@ paths: type: object properties: channel: - type: string + type: object + properties: + dbsql_version: + type: string + name: + type: string + x-enum: + - CHANNEL_NAME_CURRENT + - CHANNEL_NAME_CUSTOM + - CHANNEL_NAME_PREVIEW + - CHANNEL_NAME_PREVIOUS + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know how many + members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members can + have their own + + attributes -- see the documentation for details. description: 'Optional: Channel selection details' config_param: - type: string + type: object + properties: + config_pair: + type: array + items: + type: object + properties: + key: + type: string + value: + type: string + configuration_pairs: + type: array + items: + type: object + properties: + key: + type: string + value: + type: string description: 'Deprecated: Use sql_configuration_parameters' data_access_config: - type: string + type: array + items: + type: object + properties: + key: + type: string + value: + type: string description: >- Spark confs for external hive metastore configuration JSON serialized size must be less than <= 512K enable_serverless_compute: - type: string + type: boolean description: Enable Serverless compute for SQL warehouses enabled_warehouse_types: - type: string + type: array + items: + type: object + properties: + enabled: + type: boolean + description: >- + If set to false the specific warehouse type will not + be be allowed as a value for warehouse_type in + CreateWarehouse and EditWarehouse + warehouse_type: + type: string + x-enum: + - CLASSIC + - PRO + - TYPE_UNSPECIFIED + description: >- + Create a collection of name/value pairs. + + + Example enumeration: + + + >>> class Color(Enum): + + ... RED = 1 + + ... BLUE = 2 + + ... GREEN = 3 + + + Access them by: + + + - attribute access:: + + + >>> Color.RED + + + + + - value lookup: + + + >>> Color(1) + + + + + - name lookup: + + + >>> Color['RED'] + + + + + Enumerations can be iterated over, and know how many + members they have: + + + >>> len(Color) + + 3 + + + >>> list(Color) + + [, , ] + + + Methods can be added to enumerations, and members can + have their own + + attributes -- see the documentation for details. + description: >- + * Configuration values to enable or disable the access to + specific warehouse types in the + workspace. description: >- List of Warehouse Types allowed in this workspace (limits allowed value of the type field in CreateWarehouse and @@ -4590,7 +6762,26 @@ paths: converted to another type. Used by frontend to save specific type availability in the warehouse create and edit form UI. global_param: - type: string + type: object + properties: + config_pair: + type: array + items: + type: object + properties: + key: + type: string + value: + type: string + configuration_pairs: + type: array + items: + type: object + properties: + key: + type: string + value: + type: string description: 'Deprecated: Use sql_configuration_parameters' google_service_account: type: string @@ -4605,9 +6796,32 @@ paths: the workspace's serverless compute for notebooks and jobs. security_policy: type: string + x-enum: + - DATA_ACCESS_CONTROL + - NONE + - PASSTHROUGH description: Security policy for warehouses sql_configuration_parameters: - type: string + type: object + properties: + config_pair: + type: array + items: + type: object + properties: + key: + type: string + value: + type: string + configuration_pairs: + type: array + items: + type: object + properties: + key: + type: string + value: + type: string description: SQL configuration parameters responses: '200': @@ -7331,20 +9545,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -7388,20 +9602,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -7435,20 +9649,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -7485,20 +9699,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -7529,20 +9743,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -7604,20 +9818,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -7647,20 +9861,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -7690,20 +9904,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -7747,20 +9961,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -7789,20 +10003,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -7837,20 +10051,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -7880,20 +10094,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -7923,20 +10137,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -7988,20 +10202,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -8031,20 +10245,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -8081,20 +10295,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -8123,20 +10337,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -8165,20 +10379,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -8224,20 +10438,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -8269,20 +10483,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -8353,20 +10567,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -8407,20 +10621,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -8449,20 +10663,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -8491,20 +10705,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -8545,20 +10759,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -8646,20 +10860,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -8689,20 +10903,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -8730,20 +10944,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -8980,20 +11194,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: diff --git a/providers/src/databricks_workspace/v00.00.00000/services/tags.yaml b/providers/src/databricks_workspace/v00.00.00000/services/tags.yaml index 67142e2c..9aacabb5 100644 --- a/providers/src/databricks_workspace/v00.00.00000/services/tags.yaml +++ b/providers/src/databricks_workspace/v00.00.00000/services/tags.yaml @@ -6,7 +6,7 @@ info: APIs), generated from the Databricks Python SDK. version: 0.1.0 x-stackql-sdk-version: 0.86.0 - x-stackql-date-generated: '2026-02-19' + x-stackql-date-generated: '2026-02-24' x-stackql-sdk-namespace: databricks.sdk.service.tags servers: - url: https://{deployment_name}.cloud.databricks.com @@ -52,7 +52,31 @@ paths: type: object properties: tag_policy: - type: string + type: object + properties: + tag_key: + type: string + create_time: + type: string + description: Timestamp when the tag policy was created + description: + type: string + id: + type: string + update_time: + type: string + description: Timestamp when the tag policy was last updated + values: + type: array + items: + type: object + properties: + name: + type: string + required: + - name + required: + - tag_key description: ':returns: :class:`TagPolicy`' required: - tag_policy @@ -113,7 +137,7 @@ paths: in: query required: false schema: - type: string + type: integer description: >- The maximum number of results to return in this request. Fewer results may be returned than requested. If unspecified or set to 0, @@ -315,7 +339,31 @@ paths: type: object properties: tag_policy: - type: string + type: object + properties: + tag_key: + type: string + create_time: + type: string + description: Timestamp when the tag policy was created + description: + type: string + id: + type: string + update_time: + type: string + description: Timestamp when the tag policy was last updated + values: + type: array + items: + type: object + properties: + name: + type: string + required: + - name + required: + - tag_key required: - tag_policy responses: @@ -357,7 +405,27 @@ paths: type: object properties: tag_assignment: - type: string + type: object + properties: + entity_type: + type: string + entity_id: + type: string + description: >- + The identifier of the entity to which the tag is + assigned + tag_key: + type: string + description: >- + The key of the tag. The characters , . : / - = and + leading/trailing spaces are not allowed + tag_value: + type: string + description: The value of the tag + required: + - entity_type + - entity_id + - tag_key description: ':returns: :class:`TagAssignment`' required: - tag_assignment @@ -556,7 +624,27 @@ paths: type: object properties: tag_assignment: - type: string + type: object + properties: + entity_type: + type: string + entity_id: + type: string + description: >- + The identifier of the entity to which the tag is + assigned + tag_key: + type: string + description: >- + The key of the tag. The characters , . : / - = and + leading/trailing spaces are not allowed + tag_value: + type: string + description: The value of the tag + required: + - entity_type + - entity_id + - tag_key description: >- :param update_mask: str The field mask must be a single string, with multiple fields separated by commas (no @@ -630,7 +718,7 @@ paths: in: query required: false schema: - type: string + type: integer description: >- Optional. Maximum number of tag assignments to return in a single page diff --git a/providers/src/databricks_workspace/v00.00.00000/services/vectorsearch.yaml b/providers/src/databricks_workspace/v00.00.00000/services/vectorsearch.yaml index cbb5fd65..97582232 100644 --- a/providers/src/databricks_workspace/v00.00.00000/services/vectorsearch.yaml +++ b/providers/src/databricks_workspace/v00.00.00000/services/vectorsearch.yaml @@ -6,7 +6,7 @@ info: (workspace-level APIs), generated from the Databricks Python SDK. version: 0.1.0 x-stackql-sdk-version: 0.86.0 - x-stackql-date-generated: '2026-02-19' + x-stackql-date-generated: '2026-02-24' x-stackql-sdk-namespace: databricks.sdk.service.vectorsearch servers: - url: https://{deployment_name}.cloud.databricks.com @@ -46,6 +46,8 @@ paths: description: Name of the vector search endpoint endpoint_type: type: string + x-enum: + - STANDARD description: Type of endpoint budget_policy_id: type: string @@ -225,10 +227,33 @@ paths: type: string description: End time for metrics query granularity_in_seconds: - type: string + type: integer description: Granularity in seconds metrics: - type: string + type: array + items: + type: object + properties: + labels: + type: array + items: + type: object + properties: + name: + type: string + description: Label name + value: + type: string + description: Label value + description: Label for a metric + description: Metric labels + name: + type: string + description: Metric name + percentile: + type: number + description: Percentile for the metric + description: Metric specification description: List of metrics to retrieve page_token: type: string @@ -338,7 +363,19 @@ paths: type: object properties: custom_tags: - type: string + type: array + items: + type: object + properties: + key: + type: string + value: + type: string + description: >- + [Optional] Value field for a vector search endpoint + tag. + required: + - key description: The new custom tags for the vector search endpoint required: - custom_tags @@ -405,15 +442,108 @@ paths: description: Primary key of the index index_type: type: string + x-enum: + - DELTA_SYNC + - DIRECT_ACCESS description: >- :param delta_sync_index_spec: :class:`DeltaSyncVectorIndexSpecRequest` (optional) Specification for Delta Sync Index. Required if `index_type` is `DELTA_SYNC`. delta_sync_index_spec: - type: string + type: object + properties: + columns_to_sync: + type: array + items: + type: string + embedding_source_columns: + type: array + items: + type: object + properties: + embedding_model_endpoint_name: + type: string + model_endpoint_name_for_query: + type: string + description: >- + Name of the embedding model endpoint which, if + specified, is used for querying (not ingestion). + name: + type: string + description: Name of the column + description: The columns that contain the embedding source. + embedding_vector_columns: + type: array + items: + type: object + properties: + embedding_dimension: + type: integer + name: + type: string + description: Name of the column + description: The columns that contain the embedding vectors. + embedding_writeback_table: + type: string + description: >- + [Optional] Name of the Delta table to sync the vector + index contents and computed embeddings to. + pipeline_type: + type: string + x-enum: + - CONTINUOUS + - TRIGGERED + description: >- + Pipeline execution mode. - `TRIGGERED`: If the pipeline + uses the triggered execution mode, the system stops + processing after successfully refreshing the source + table in the pipeline once, ensuring the table is + updated based on the data available when the update + started. - `CONTINUOUS`: If the pipeline uses continuous + execution, the pipeline processes new data as it arrives + in the source table to keep vector index fresh. + source_table: + type: string + description: The name of the source table. direct_access_index_spec: - type: string + type: object + properties: + embedding_source_columns: + type: array + items: + type: object + properties: + embedding_model_endpoint_name: + type: string + model_endpoint_name_for_query: + type: string + description: >- + Name of the embedding model endpoint which, if + specified, is used for querying (not ingestion). + name: + type: string + description: Name of the column + embedding_vector_columns: + type: array + items: + type: object + properties: + embedding_dimension: + type: integer + name: + type: string + description: Name of the column + description: >- + The columns that contain the embedding vectors. The + format should be array[double]. + schema_json: + type: string + description: >- + The schema of the index in JSON format. Supported types + are `integer`, `long`, `float`, `double`, `boolean`, + `string`, `date`, `timestamp`. Supported types for + vector column: `array`, `array`,`. description: >- Specification for Direct Vector Access Index. Required if `index_type` is `DIRECT_ACCESS`. @@ -517,7 +647,9 @@ paths: in: query required: true schema: - type: string + type: array + items: + type: string description: List of primary keys for the data to be deleted. responses: '200': @@ -600,7 +732,7 @@ paths: in: query required: false schema: - type: string + type: boolean description: >- If true, the URL returned for the index is guaranteed to be compatible with the reranker. Currently this means we return the CP @@ -683,10 +815,14 @@ paths: type: object properties: columns: - type: string + type: array + items: + type: string description: List of column names to include in the response. columns_to_rerank: - type: string + type: array + items: + type: string description: Column names used to retrieve data to send to the reranker. filters_json: type: string @@ -698,7 +834,7 @@ paths: greater than equal to 5. - `{"id": 5}`: Filter for id equal to 5. num_results: - type: string + type: integer description: Number of results to return. Defaults to 10. query_text: type: string @@ -711,12 +847,24 @@ paths: The query type to use. Choices are `ANN` and `HYBRID` and `FULL_TEXT`. Defaults to `ANN`. query_vector: - type: string + type: array + items: + type: number description: >- Query vector. Required for Direct Vector Access Index and Delta Sync Index using self-managed vectors. reranker: - type: string + type: object + properties: + model: + type: string + parameters: + type: object + properties: + columns_to_rerank: + type: array + items: + type: string description: >- If set, the top 50 results are reranked with the Databricks Reranker model before returning the `num_results` results to @@ -727,7 +875,7 @@ paths: https://docs.databricks.com/aws/en/vector-search/query-vector-search#rerank for more information. score_threshold: - type: string + type: number description: >- Threshold for the approximate nearest neighbor search. Defaults to 0.0. @@ -857,7 +1005,7 @@ paths: type: string description: Primary key of the last entry returned in the previous scan. num_results: - type: string + type: integer description: Number of results to return. Defaults to 10. responses: '200': @@ -1463,20 +1611,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: @@ -1540,20 +1688,20 @@ components: Access them by: - - attribute access: + - attribute access:: - >>> Color.RED - + >>> Color.RED + - value lookup: - >>> Color(1) - + >>> Color(1) + - name lookup: - >>> Color['RED'] - + >>> Color['RED'] + Enumerations can be iterated over, and know how many members they have: diff --git a/providers/src/databricks_workspace/v00.00.00000/services/workspace.yaml b/providers/src/databricks_workspace/v00.00.00000/services/workspace.yaml index 9a233a5f..d21f2c0b 100644 --- a/providers/src/databricks_workspace/v00.00.00000/services/workspace.yaml +++ b/providers/src/databricks_workspace/v00.00.00000/services/workspace.yaml @@ -6,7 +6,7 @@ info: APIs), generated from the Databricks Python SDK. version: 0.1.0 x-stackql-sdk-version: 0.86.0 - x-stackql-date-generated: '2026-02-19' + x-stackql-date-generated: '2026-02-24' x-stackql-sdk-namespace: databricks.sdk.service.workspace servers: - url: https://{deployment_name}.cloud.databricks.com @@ -96,7 +96,7 @@ paths: depending on your Git provider / token requirements. Required for AWS CodeCommit. is_default_for_provider: - type: string + type: boolean description: if the credential is the default for the given provider name: type: string @@ -112,7 +112,7 @@ paths: more]. [Learn more]: https://docs.databricks.com/repos/get-access-tokens-from-git-provider.html principal_id: - type: string + type: integer description: >- The ID of the service principal whose credentials will be modified. Only service principal managers can perform this @@ -157,7 +157,7 @@ paths: in: query required: false schema: - type: string + type: integer description: >- The ID of the service principal whose credentials will be listed. Only service principal managers can perform this action. @@ -206,7 +206,7 @@ paths: in: query required: false schema: - type: string + type: integer description: >- The ID of the service principal whose credentials will be modified. Only service principal managers can perform this action. @@ -252,7 +252,7 @@ paths: in: query required: false schema: - type: string + type: integer description: >- The ID of the service principal whose credentials will be modified. Only service principal managers can perform this action. @@ -352,7 +352,7 @@ paths: depending on your Git provider / token requirements. Required for AWS CodeCommit. is_default_for_provider: - type: string + type: boolean description: if the credential is the default for the given provider name: type: string @@ -368,7 +368,7 @@ paths: more]. [Learn more]: https://docs.databricks.com/repos/get-access-tokens-from-git-provider.html principal_id: - type: string + type: integer description: >- The ID of the service principal whose credentials will be modified. Only service principal managers can perform this @@ -446,7 +446,16 @@ paths: `/Repos`, path must be in the format `/Repos/{folder}/{repo-name}`. sparse_checkout: - type: string + type: object + properties: + patterns: + type: array + items: + type: string + description: >- + List of sparse checkout cone patterns, see [cone mode + handling] for details. [cone mode handling]: + https://git-scm.com/docs/git-sparse-checkout#_internalscone_mode_handling description: >- If specified, the repo will be created with sparse checkout enabled. You cannot enable/disable sparse checkout after the @@ -652,7 +661,16 @@ paths: type: string description: Branch that the local version of the repo is checked out to. sparse_checkout: - type: string + type: object + properties: + patterns: + type: array + items: + type: string + description: >- + List of sparse checkout cone patterns, see [cone mode + handling] for details. [cone mode handling]: + https://git-scm.com/docs/git-sparse-checkout#_internalscone_mode_handling description: >- If specified, update the sparse checkout settings. The update will fail if sparse checkout is not enabled for the @@ -800,7 +818,26 @@ paths: type: object properties: access_control_list: - type: string + type: array + items: + type: object + properties: + group_name: + type: string + permission_level: + type: string + x-enum: + - CAN_EDIT + - CAN_MANAGE + - CAN_READ + - CAN_RUN + description: Permission level + service_principal_name: + type: string + description: application ID of a service principal + user_name: + type: string + description: name of the user description: ':returns: :class:`RepoPermissions`' responses: '200': @@ -855,7 +892,26 @@ paths: type: object properties: access_control_list: - type: string + type: array + items: + type: object + properties: + group_name: + type: string + permission_level: + type: string + x-enum: + - CAN_EDIT + - CAN_MANAGE + - CAN_READ + - CAN_RUN + description: Permission level + service_principal_name: + type: string + description: application ID of a service principal + user_name: + type: string + description: name of the user description: ':returns: :class:`RepoPermissions`' responses: '200': @@ -977,7 +1033,19 @@ paths: type: string description: Scope name requested by the user. Scope names are unique. backend_azure_keyvault: - type: string + type: object + properties: + resource_id: + type: string + description: >- + The resource id of the azure KeyVault that user wants to + associate the scope with. + dns_name: + type: string + description: The DNS of the KeyVault + required: + - resource_id + - dns_name description: >- The metadata for the secret scope if the type is ``AZURE_KEYVAULT`` @@ -988,6 +1056,9 @@ paths: permission to the created scope. scope_backend_type: type: string + x-enum: + - AZURE_KEYVAULT + - DATABRICKS description: >- The backend type the scope will be created with. If not specified, will default to ``DATABRICKS`` @@ -1644,6 +1715,10 @@ paths: description: The principal in which the permission is applied. permission: type: string + x-enum: + - MANAGE + - READ + - WRITE description: The permission level applied to the principal. required: - scope @@ -1816,7 +1891,7 @@ paths: type: string description: The absolute path of the notebook or directory. recursive: - type: string + type: boolean description: >- The flag that specifies whether to delete the object recursively. It is `false` by default. Please note this @@ -1889,7 +1964,7 @@ paths: in: query required: false schema: - type: string + $ref: '#/components/schemas/ExportFormat' description: >- This specifies the format of the exported file. By default, this is `SOURCE`. The value is case sensitive. - `SOURCE`: The notebook is @@ -2086,7 +2161,26 @@ paths: type: object properties: access_control_list: - type: string + type: array + items: + type: object + properties: + group_name: + type: string + permission_level: + type: string + x-enum: + - CAN_EDIT + - CAN_MANAGE + - CAN_READ + - CAN_RUN + description: Permission level + service_principal_name: + type: string + description: application ID of a service principal + user_name: + type: string + description: name of the user description: ':returns: :class:`WorkspaceObjectPermissions`' responses: '200': @@ -2156,7 +2250,26 @@ paths: type: object properties: access_control_list: - type: string + type: array + items: + type: object + properties: + group_name: + type: string + permission_level: + type: string + x-enum: + - CAN_EDIT + - CAN_MANAGE + - CAN_READ + - CAN_RUN + description: Permission level + service_principal_name: + type: string + description: application ID of a service principal + user_name: + type: string + description: name of the user description: ':returns: :class:`WorkspaceObjectPermissions`' responses: '200': @@ -2291,6 +2404,14 @@ paths: might be absent, and instead a posted file is used. format: type: string + x-enum: + - AUTO + - DBC + - HTML + - JUPYTER + - RAW + - R_MARKDOWN + - SOURCE description: >- This specifies the format of the file to be imported. The value is case sensitive. - `AUTO`: The item is imported @@ -2306,11 +2427,16 @@ paths: from R Markdown format. language: type: string + x-enum: + - PYTHON + - R + - SCALA + - SQL description: >- The language of the object. This value is set only if the object type is `NOTEBOOK`. overwrite: - type: string + type: boolean description: >- The flag that specifies whether to overwrite existing object. It is `false` by default. For `DBC` format, @@ -2365,7 +2491,7 @@ paths: in: query required: false schema: - type: string + type: integer description: UTC timestamp in milliseconds responses: '200':