Documentation ¶
Index ¶
- type AwsCredentials
- type AwsKeyInfo
- type AzureWorkspaceInfo
- type CloudResourceContainer
- type CreateAwsKeyInfo
- type CreateCredentialAwsCredentials
- type CreateCredentialRequest
- type CreateCredentialStsRole
- type CreateCustomerManagedKeyRequest
- type CreateGcpKeyInfo
- type CreateNetworkRequest
- type CreateStorageConfigurationRequest
- type CreateVpcEndpointRequest
- type CreateWorkspaceRequest
- type Credential
- type CustomerFacingGcpCloudResourceContainer
- type CustomerManagedKey
- type DeleteCredentialRequest
- type DeleteEncryptionKeyRequest
- type DeleteNetworkRequest
- type DeletePrivateAccesRequest
- type DeleteResponse
- type DeleteStorageRequest
- type DeleteVpcEndpointRequest
- type DeleteWorkspaceRequest
- type GcpKeyInfo
- type GcpManagedNetworkConfig
- type GcpNetworkInfo
- type GcpVpcEndpointInfo
- type GetCredentialRequest
- type GetEncryptionKeyRequest
- type GetNetworkRequest
- type GetPrivateAccesRequest
- type GetStorageRequest
- type GetVpcEndpointRequest
- type GetWorkspaceRequest
- type GkeConfig
- type Network
- type NetworkHealth
- type NetworkVpcEndpoints
- type NetworkWarning
- type PrivateAccessSettings
- type ReplaceResponse
- type RootBucketInfo
- type StorageConfiguration
- type StsRole
- type UpdateResponse
- type UpdateWorkspaceRequest
- type UpsertPrivateAccessSettingsRequest
- type VpcEndpoint
- type Workspace
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AwsCredentials ¶
type AwsCredentials struct {
StsRole *StsRole `tfsdk:"sts_role" tf:"optional"`
}
type AwsKeyInfo ¶
type AwsKeyInfo struct { // The AWS KMS key alias. KeyAlias types.String `tfsdk:"key_alias" tf:"optional"` // The AWS KMS key's Amazon Resource Name (ARN). KeyArn types.String `tfsdk:"key_arn" tf:""` // The AWS KMS key region. KeyRegion types.String `tfsdk:"key_region" tf:""` // 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`. ReuseKeyForClusterVolumes types.Bool `tfsdk:"reuse_key_for_cluster_volumes" tf:"optional"` }
type AzureWorkspaceInfo ¶
type CloudResourceContainer ¶
type CloudResourceContainer struct { // The general workspace configurations that are specific to Google Cloud. Gcp *CustomerFacingGcpCloudResourceContainer `tfsdk:"gcp" tf:"optional"` }
The general workspace configurations that are specific to cloud providers.
type CreateAwsKeyInfo ¶
type CreateAwsKeyInfo struct { // The AWS KMS key alias. KeyAlias types.String `tfsdk:"key_alias" tf:"optional"` // The AWS KMS key's Amazon Resource Name (ARN). Note that the key's AWS // region is inferred from the ARN. KeyArn types.String `tfsdk:"key_arn" tf:""` // 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. To not use this key also for encrypting EBS volumes, // set this to `false`. ReuseKeyForClusterVolumes types.Bool `tfsdk:"reuse_key_for_cluster_volumes" tf:"optional"` }
type CreateCredentialAwsCredentials ¶
type CreateCredentialAwsCredentials struct {
StsRole *CreateCredentialStsRole `tfsdk:"sts_role" tf:"optional"`
}
type CreateCredentialRequest ¶
type CreateCredentialRequest struct { AwsCredentials CreateCredentialAwsCredentials `tfsdk:"aws_credentials" tf:""` // The human-readable name of the credential configuration object. CredentialsName types.String `tfsdk:"credentials_name" tf:""` }
type CreateCredentialStsRole ¶
type CreateCustomerManagedKeyRequest ¶
type CreateCustomerManagedKeyRequest struct { AwsKeyInfo *CreateAwsKeyInfo `tfsdk:"aws_key_info" tf:"optional"` GcpKeyInfo *CreateGcpKeyInfo `tfsdk:"gcp_key_info" tf:"optional"` // The cases that the key can be used for. UseCases []types.String `tfsdk:"use_cases" tf:""` }
type CreateGcpKeyInfo ¶
type CreateNetworkRequest ¶
type CreateNetworkRequest struct { // The Google Cloud specific information for this network (for example, the // VPC ID, subnet ID, and secondary IP ranges). GcpNetworkInfo *GcpNetworkInfo `tfsdk:"gcp_network_info" tf:"optional"` // The human-readable name of the network configuration. NetworkName types.String `tfsdk:"network_name" tf:""` // IDs of one to five security groups associated with this network. Security // group IDs **cannot** be used in multiple network configurations. SecurityGroupIds []types.String `tfsdk:"security_group_ids" tf:"optional"` // IDs of at least two subnets associated with this network. Subnet IDs // **cannot** be used in multiple network configurations. SubnetIds []types.String `tfsdk:"subnet_ids" tf:"optional"` // If specified, contains the VPC endpoints used to allow cluster // communication from this VPC over [AWS PrivateLink]. // // [AWS PrivateLink]: https://aws.amazon.com/privatelink/ VpcEndpoints *NetworkVpcEndpoints `tfsdk:"vpc_endpoints" tf:"optional"` // The ID of the VPC associated with this network. VPC IDs can be used in // multiple network configurations. VpcId types.String `tfsdk:"vpc_id" tf:"optional"` }
type CreateStorageConfigurationRequest ¶
type CreateStorageConfigurationRequest struct { // Root S3 bucket information. RootBucketInfo RootBucketInfo `tfsdk:"root_bucket_info" tf:""` // The human-readable name of the storage configuration. StorageConfigurationName types.String `tfsdk:"storage_configuration_name" tf:""` }
type CreateVpcEndpointRequest ¶
type CreateVpcEndpointRequest struct { // The ID of the VPC endpoint object in AWS. AwsVpcEndpointId types.String `tfsdk:"aws_vpc_endpoint_id" tf:"optional"` // The Google Cloud specific information for this Private Service Connect // endpoint. GcpVpcEndpointInfo *GcpVpcEndpointInfo `tfsdk:"gcp_vpc_endpoint_info" tf:"optional"` // The AWS region in which this VPC endpoint object exists. Region types.String `tfsdk:"region" tf:"optional"` // The human-readable name of the storage configuration. VpcEndpointName types.String `tfsdk:"vpc_endpoint_name" tf:""` }
type CreateWorkspaceRequest ¶
type CreateWorkspaceRequest struct { // The AWS region of the workspace's data plane. AwsRegion types.String `tfsdk:"aws_region" tf:"optional"` // The cloud provider which the workspace uses. For Google Cloud workspaces, // always set this field to `gcp`. Cloud types.String `tfsdk:"cloud" tf:"optional"` // The general workspace configurations that are specific to cloud // providers. CloudResourceContainer *CloudResourceContainer `tfsdk:"cloud_resource_container" tf:"optional"` // ID of the workspace's credential configuration object. CredentialsId types.String `tfsdk:"credentials_id" tf:"optional"` // 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. CustomTags map[string]types.String `tfsdk:"custom_tags" tf:"optional"` // The deployment name defines part of the subdomain for the workspace. The // workspace URL for the web application and REST APIs is // `<workspace-deployment-name>.cloud.databricks.com`. For example, if the // deployment name is `abcsales`, your workspace URL will be // `https://abcsales.cloud.databricks.com`. Hyphens are allowed. This // property supports only the set of characters that are allowed in a // subdomain. // // To set this value, you must have a deployment name prefix. Contact your // Databricks account team to add an account deployment name prefix to your // account. // // Workspace deployment names follow the account prefix and a hyphen. For // example, if your account's deployment prefix is `acme` and the workspace // deployment name is `workspace-1`, the JSON response for the // `deployment_name` field becomes `acme-workspace-1`. The workspace URL // would be `acme-workspace-1.cloud.databricks.com`. // // You can also set the `deployment_name` to the reserved keyword `EMPTY` if // you want the deployment name to only include the deployment prefix. For // example, if your account's deployment prefix is `acme` and the workspace // deployment name is `EMPTY`, the `deployment_name` becomes `acme` only and // the workspace URL is `acme.cloud.databricks.com`. // // 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`. DeploymentName types.String `tfsdk:"deployment_name" tf:"optional"` // The network settings for the workspace. The configurations are only for // Databricks-managed VPCs. It is ignored if you specify a customer-managed // VPC in the `network_id` field.", All the IP range configurations must be // mutually exclusive. An attempt to create a workspace fails if Databricks // detects an IP range overlap. // // Specify custom IP ranges in CIDR format. The IP ranges for these fields // must not overlap, and all IP addresses must be entirely within the // following ranges: `10.0.0.0/8`, `100.64.0.0/10`, `172.16.0.0/12`, // `192.168.0.0/16`, and `240.0.0.0/4`. // // The sizes of these IP ranges affect the maximum number of nodes for the // workspace. // // **Important**: Confirm the IP ranges used by your Databricks workspace // before creating the workspace. You cannot change them after your // workspace is deployed. If the IP address ranges for your Databricks are // too small, IP exhaustion can occur, causing your Databricks jobs to fail. // To determine the address range sizes that you need, Databricks provides a // calculator as a Microsoft Excel spreadsheet. See [calculate subnet sizes // for a new workspace]. // // [calculate subnet sizes for a new workspace]: https://docs.gcp.databricks.com/administration-guide/cloud-configurations/gcp/network-sizing.html GcpManagedNetworkConfig *GcpManagedNetworkConfig `tfsdk:"gcp_managed_network_config" tf:"optional"` // The configurations for the GKE cluster of a Databricks workspace. GkeConfig *GkeConfig `tfsdk:"gke_config" tf:"optional"` // The Google Cloud region of the workspace data plane in your Google // account. For example, `us-east4`. Location types.String `tfsdk:"location" tf:"optional"` // The ID of the workspace's managed services encryption key configuration // object. This is used to help protect and control access to the // workspace's notebooks, secrets, Databricks SQL queries, and query // history. The provided key configuration object property `use_cases` must // contain `MANAGED_SERVICES`. ManagedServicesCustomerManagedKeyId types.String `tfsdk:"managed_services_customer_managed_key_id" tf:"optional"` NetworkId types.String `tfsdk:"network_id" tf:"optional"` // The pricing tier of the workspace. For pricing tier information, see [AWS // Pricing]. // // [AWS Pricing]: https://databricks.com/product/aws-pricing PricingTier types.String `tfsdk:"pricing_tier" tf:"optional"` // ID of the workspace's private access settings object. Only used for // PrivateLink. This ID must be specified for customers 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 PrivateAccessSettingsId types.String `tfsdk:"private_access_settings_id" tf:"optional"` // The ID of the workspace's storage configuration object. StorageConfigurationId types.String `tfsdk:"storage_configuration_id" tf:"optional"` // The ID of the workspace's storage encryption key configuration object. // This is used to encrypt the workspace's root S3 bucket (root DBFS and // system data) and, optionally, cluster EBS volumes. The provided key // configuration object property `use_cases` must contain `STORAGE`. StorageCustomerManagedKeyId types.String `tfsdk:"storage_customer_managed_key_id" tf:"optional"` // The workspace's human-readable name. WorkspaceName types.String `tfsdk:"workspace_name" tf:""` }
type Credential ¶
type Credential struct { // The Databricks account ID that hosts the credential. AccountId types.String `tfsdk:"account_id" tf:"optional"` AwsCredentials *AwsCredentials `tfsdk:"aws_credentials" tf:"optional"` // Time in epoch milliseconds when the credential was created. CreationTime types.Int64 `tfsdk:"creation_time" tf:"optional"` // Databricks credential configuration ID. CredentialsId types.String `tfsdk:"credentials_id" tf:"optional"` // The human-readable name of the credential configuration object. CredentialsName types.String `tfsdk:"credentials_name" tf:"optional"` }
type CustomerFacingGcpCloudResourceContainer ¶
type CustomerFacingGcpCloudResourceContainer struct { // The Google Cloud project ID, which the workspace uses to instantiate // cloud resources for your workspace. ProjectId types.String `tfsdk:"project_id" tf:"optional"` }
The general workspace configurations that are specific to Google Cloud.
type CustomerManagedKey ¶
type CustomerManagedKey struct { // The Databricks account ID that holds the customer-managed key. AccountId types.String `tfsdk:"account_id" tf:"optional"` AwsKeyInfo *AwsKeyInfo `tfsdk:"aws_key_info" tf:"optional"` // Time in epoch milliseconds when the customer key was created. CreationTime types.Int64 `tfsdk:"creation_time" tf:"optional"` // ID of the encryption key configuration object. CustomerManagedKeyId types.String `tfsdk:"customer_managed_key_id" tf:"optional"` GcpKeyInfo *GcpKeyInfo `tfsdk:"gcp_key_info" tf:"optional"` // The cases that the key can be used for. UseCases []types.String `tfsdk:"use_cases" tf:"optional"` }
type DeleteCredentialRequest ¶
type DeleteCredentialRequest struct { // Databricks Account API credential configuration ID CredentialsId types.String `tfsdk:"-"` }
Delete credential configuration
type DeleteEncryptionKeyRequest ¶
type DeleteEncryptionKeyRequest struct { // Databricks encryption key configuration ID. CustomerManagedKeyId types.String `tfsdk:"-"` }
Delete encryption key configuration
type DeleteNetworkRequest ¶
type DeleteNetworkRequest struct { // Databricks Account API network configuration ID. NetworkId types.String `tfsdk:"-"` }
Delete a network configuration
type DeletePrivateAccesRequest ¶
type DeletePrivateAccesRequest struct { // Databricks Account API private access settings ID. PrivateAccessSettingsId types.String `tfsdk:"-"` }
Delete a private access settings object
type DeleteResponse ¶
type DeleteResponse struct { }
type DeleteStorageRequest ¶
type DeleteStorageRequest struct { // Databricks Account API storage configuration ID. StorageConfigurationId types.String `tfsdk:"-"` }
Delete storage configuration
type DeleteVpcEndpointRequest ¶
type DeleteVpcEndpointRequest struct { // Databricks VPC endpoint ID. VpcEndpointId types.String `tfsdk:"-"` }
Delete VPC endpoint configuration
type DeleteWorkspaceRequest ¶
Delete a workspace
type GcpKeyInfo ¶
type GcpManagedNetworkConfig ¶
type GcpManagedNetworkConfig struct { // The IP range from which to allocate GKE cluster pods. No bigger than `/9` // and no smaller than `/21`. GkeClusterPodIpRange types.String `tfsdk:"gke_cluster_pod_ip_range" tf:"optional"` // The IP range from which to allocate GKE cluster services. No bigger than // `/16` and no smaller than `/27`. GkeClusterServiceIpRange types.String `tfsdk:"gke_cluster_service_ip_range" tf:"optional"` // The IP range from which to allocate GKE cluster nodes. No bigger than // `/9` and no smaller than `/29`. SubnetCidr types.String `tfsdk:"subnet_cidr" tf:"optional"` }
The network settings for the workspace. The configurations are only for Databricks-managed VPCs. It is ignored if you specify a customer-managed VPC in the `network_id` field.", All the IP range configurations must be mutually exclusive. An attempt to create a workspace fails if Databricks detects an IP range overlap.
Specify custom IP ranges in CIDR format. The IP ranges for these fields must not overlap, and all IP addresses must be entirely within the following ranges: `10.0.0.0/8`, `100.64.0.0/10`, `172.16.0.0/12`, `192.168.0.0/16`, and `240.0.0.0/4`.
The sizes of these IP ranges affect the maximum number of nodes for the workspace.
**Important**: Confirm the IP ranges used by your Databricks workspace before creating the workspace. You cannot change them after your workspace is deployed. If the IP address ranges for your Databricks are too small, IP exhaustion can occur, causing your Databricks jobs to fail. To determine the address range sizes that you need, Databricks provides a calculator as a Microsoft Excel spreadsheet. See calculate subnet sizes for a new workspace.
type GcpNetworkInfo ¶
type GcpNetworkInfo struct { // The Google Cloud project ID of the VPC network. NetworkProjectId types.String `tfsdk:"network_project_id" tf:""` // The name of the secondary IP range for pods. A Databricks-managed GKE // cluster uses this IP range for its pods. This secondary IP range can be // used by only one workspace. PodIpRangeName types.String `tfsdk:"pod_ip_range_name" tf:""` // The name of the secondary IP range for services. A Databricks-managed GKE // cluster uses this IP range for its services. This secondary IP range can // be used by only one workspace. ServiceIpRangeName types.String `tfsdk:"service_ip_range_name" tf:""` // The ID of the subnet associated with this network. SubnetId types.String `tfsdk:"subnet_id" tf:""` // The Google Cloud region of the workspace data plane (for example, // `us-east4`). SubnetRegion types.String `tfsdk:"subnet_region" tf:""` // The ID of the VPC associated with this network. VPC IDs can be used in // multiple network configurations. VpcId types.String `tfsdk:"vpc_id" tf:""` }
The Google Cloud specific information for this network (for example, the VPC ID, subnet ID, and secondary IP ranges).
type GcpVpcEndpointInfo ¶
type GcpVpcEndpointInfo struct { // Region of the PSC endpoint. EndpointRegion types.String `tfsdk:"endpoint_region" tf:""` // The Google Cloud project ID of the VPC network where the PSC connection // resides. ProjectId types.String `tfsdk:"project_id" tf:""` // The unique ID of this PSC connection. PscConnectionId types.String `tfsdk:"psc_connection_id" tf:"optional"` // The name of the PSC endpoint in the Google Cloud project. PscEndpointName types.String `tfsdk:"psc_endpoint_name" tf:""` // The service attachment this PSC connection connects to. ServiceAttachmentId types.String `tfsdk:"service_attachment_id" tf:"optional"` }
The Google Cloud specific information for this Private Service Connect endpoint.
type GetCredentialRequest ¶
type GetCredentialRequest struct { // Databricks Account API credential configuration ID CredentialsId types.String `tfsdk:"-"` }
Get credential configuration
type GetEncryptionKeyRequest ¶
type GetEncryptionKeyRequest struct { // Databricks encryption key configuration ID. CustomerManagedKeyId types.String `tfsdk:"-"` }
Get encryption key configuration
type GetNetworkRequest ¶
type GetNetworkRequest struct { // Databricks Account API network configuration ID. NetworkId types.String `tfsdk:"-"` }
Get a network configuration
type GetPrivateAccesRequest ¶
type GetPrivateAccesRequest struct { // Databricks Account API private access settings ID. PrivateAccessSettingsId types.String `tfsdk:"-"` }
Get a private access settings object
type GetStorageRequest ¶
type GetStorageRequest struct { // Databricks Account API storage configuration ID. StorageConfigurationId types.String `tfsdk:"-"` }
Get storage configuration
type GetVpcEndpointRequest ¶
type GetVpcEndpointRequest struct { // Databricks VPC endpoint ID. VpcEndpointId types.String `tfsdk:"-"` }
Get a VPC endpoint configuration
type GetWorkspaceRequest ¶
Get a workspace
type GkeConfig ¶
type GkeConfig struct { // Specifies the network connectivity types for the GKE nodes and the GKE // master network. // // Set to `PRIVATE_NODE_PUBLIC_MASTER` for a private GKE cluster for the // workspace. The GKE nodes will not have public IPs. // // Set to `PUBLIC_NODE_PUBLIC_MASTER` for a public GKE cluster. The nodes of // a public GKE cluster have public IP addresses. ConnectivityType types.String `tfsdk:"connectivity_type" tf:"optional"` // The IP range from which to allocate GKE cluster master resources. This // field will be ignored if GKE private cluster is not enabled. // // It must be exactly as big as `/28`. MasterIpRange types.String `tfsdk:"master_ip_range" tf:"optional"` }
The configurations for the GKE cluster of a Databricks workspace.
type Network ¶
type Network struct { // The Databricks account ID associated with this network configuration. AccountId types.String `tfsdk:"account_id" tf:"optional"` // Time in epoch milliseconds when the network was created. CreationTime types.Int64 `tfsdk:"creation_time" tf:"optional"` // Array of error messages about the network configuration. ErrorMessages []NetworkHealth `tfsdk:"error_messages" tf:"optional"` // The Google Cloud specific information for this network (for example, the // VPC ID, subnet ID, and secondary IP ranges). GcpNetworkInfo *GcpNetworkInfo `tfsdk:"gcp_network_info" tf:"optional"` // The Databricks network configuration ID. NetworkId types.String `tfsdk:"network_id" tf:"optional"` // The human-readable name of the network configuration. NetworkName types.String `tfsdk:"network_name" tf:"optional"` SecurityGroupIds []types.String `tfsdk:"security_group_ids" tf:"optional"` SubnetIds []types.String `tfsdk:"subnet_ids" tf:"optional"` // If specified, contains the VPC endpoints used to allow cluster // communication from this VPC over [AWS PrivateLink]. // // [AWS PrivateLink]: https://aws.amazon.com/privatelink/ VpcEndpoints *NetworkVpcEndpoints `tfsdk:"vpc_endpoints" tf:"optional"` // The ID of the VPC associated with this network configuration. VPC IDs can // be used in multiple networks. VpcId types.String `tfsdk:"vpc_id" tf:"optional"` // The status of this network configuration object in terms of its use in a // workspace: * `UNATTACHED`: Unattached. * `VALID`: Valid. * `BROKEN`: // Broken. * `WARNED`: Warned. VpcStatus types.String `tfsdk:"vpc_status" tf:"optional"` // Array of warning messages about the network configuration. WarningMessages []NetworkWarning `tfsdk:"warning_messages" tf:"optional"` // Workspace ID associated with this network configuration. WorkspaceId types.Int64 `tfsdk:"workspace_id" tf:"optional"` }
type NetworkHealth ¶
type NetworkVpcEndpoints ¶
type NetworkVpcEndpoints struct { // The VPC endpoint ID used by this network to access the Databricks secure // cluster connectivity relay. DataplaneRelay []types.String `tfsdk:"dataplane_relay" tf:""` // The VPC endpoint ID used by this network to access the Databricks REST // API. RestApi []types.String `tfsdk:"rest_api" tf:""` }
If specified, contains the VPC endpoints used to allow cluster communication from this VPC over AWS PrivateLink.
type NetworkWarning ¶
type PrivateAccessSettings ¶
type PrivateAccessSettings struct { // The Databricks account ID that hosts the credential. AccountId types.String `tfsdk:"account_id" tf:"optional"` // An array of Databricks VPC endpoint IDs. AllowedVpcEndpointIds []types.String `tfsdk:"allowed_vpc_endpoint_ids" tf:"optional"` // 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`. PrivateAccessLevel types.String `tfsdk:"private_access_level" tf:"optional"` // Databricks private access settings ID. PrivateAccessSettingsId types.String `tfsdk:"private_access_settings_id" tf:"optional"` // The human-readable name of the private access settings object. PrivateAccessSettingsName types.String `tfsdk:"private_access_settings_name" tf:"optional"` // 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. PublicAccessEnabled types.Bool `tfsdk:"public_access_enabled" tf:"optional"` // The cloud region for workspaces attached to this private access settings // object. Region types.String `tfsdk:"region" tf:"optional"` }
type ReplaceResponse ¶
type ReplaceResponse struct { }
type RootBucketInfo ¶
type RootBucketInfo struct { // The name of the S3 bucket. BucketName types.String `tfsdk:"bucket_name" tf:"optional"` }
Root S3 bucket information.
type StorageConfiguration ¶
type StorageConfiguration struct { // The Databricks account ID that hosts the credential. AccountId types.String `tfsdk:"account_id" tf:"optional"` // Time in epoch milliseconds when the storage configuration was created. CreationTime types.Int64 `tfsdk:"creation_time" tf:"optional"` // Root S3 bucket information. RootBucketInfo *RootBucketInfo `tfsdk:"root_bucket_info" tf:"optional"` // Databricks storage configuration ID. StorageConfigurationId types.String `tfsdk:"storage_configuration_id" tf:"optional"` // The human-readable name of the storage configuration. StorageConfigurationName types.String `tfsdk:"storage_configuration_name" tf:"optional"` }
type StsRole ¶
type StsRole struct { // The external ID that needs to be trusted by the cross-account role. This // is always your Databricks account ID. ExternalId types.String `tfsdk:"external_id" tf:"optional"` // The Amazon Resource Name (ARN) of the cross account role. RoleArn types.String `tfsdk:"role_arn" tf:"optional"` }
type UpdateResponse ¶
type UpdateResponse struct { }
type UpdateWorkspaceRequest ¶
type UpdateWorkspaceRequest struct { // The AWS region of the workspace's data plane (for example, `us-west-2`). // This parameter is available only for updating failed workspaces. AwsRegion types.String `tfsdk:"aws_region" tf:"optional"` // ID of the workspace's credential configuration object. This parameter is // available for updating both failed and running workspaces. CredentialsId types.String `tfsdk:"credentials_id" tf:"optional"` // 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. CustomTags map[string]types.String `tfsdk:"custom_tags" tf:"optional"` // The ID of the workspace's managed services encryption key configuration // object. This parameter is available only for updating failed workspaces. ManagedServicesCustomerManagedKeyId types.String `tfsdk:"managed_services_customer_managed_key_id" tf:"optional"` NetworkConnectivityConfigId types.String `tfsdk:"network_connectivity_config_id" tf:"optional"` // The ID of the workspace's network configuration object. Used only if you // already use a customer-managed VPC. For failed workspaces only, you can // switch from a Databricks-managed VPC to a customer-managed VPC by // updating the workspace to add a network configuration ID. NetworkId types.String `tfsdk:"network_id" tf:"optional"` // The ID of the workspace's storage configuration object. This parameter is // available only for updating failed workspaces. StorageConfigurationId types.String `tfsdk:"storage_configuration_id" tf:"optional"` // The ID of the key configuration object for workspace storage. This // parameter is available for updating both failed and running workspaces. StorageCustomerManagedKeyId types.String `tfsdk:"storage_customer_managed_key_id" tf:"optional"` // Workspace ID. WorkspaceId types.Int64 `tfsdk:"-"` }
type UpsertPrivateAccessSettingsRequest ¶
type UpsertPrivateAccessSettingsRequest struct { // 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]. // // [IP access lists]: https://docs.databricks.com/security/network/ip-access-list.html AllowedVpcEndpointIds []types.String `tfsdk:"allowed_vpc_endpoint_ids" tf:"optional"` // 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`. PrivateAccessLevel types.String `tfsdk:"private_access_level" tf:"optional"` // Databricks Account API private access settings ID. PrivateAccessSettingsId types.String `tfsdk:"-"` // The human-readable name of the private access settings object. PrivateAccessSettingsName types.String `tfsdk:"private_access_settings_name" tf:""` // 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. PublicAccessEnabled types.Bool `tfsdk:"public_access_enabled" tf:"optional"` // The cloud region for workspaces associated with this private access // settings object. Region types.String `tfsdk:"region" tf:""` }
type VpcEndpoint ¶
type VpcEndpoint struct { // The Databricks account ID that hosts the VPC endpoint configuration. AccountId types.String `tfsdk:"account_id" tf:"optional"` // The AWS Account in which the VPC endpoint object exists. AwsAccountId types.String `tfsdk:"aws_account_id" tf:"optional"` // The ID of the Databricks [endpoint service] that this VPC endpoint is // connected to. For a list of endpoint service IDs for each supported AWS // region, see the [Databricks PrivateLink documentation]. // // [Databricks PrivateLink documentation]: https://docs.databricks.com/administration-guide/cloud-configurations/aws/privatelink.html // [endpoint service]: https://docs.aws.amazon.com/vpc/latest/privatelink/endpoint-service.html AwsEndpointServiceId types.String `tfsdk:"aws_endpoint_service_id" tf:"optional"` // The ID of the VPC endpoint object in AWS. AwsVpcEndpointId types.String `tfsdk:"aws_vpc_endpoint_id" tf:"optional"` // The Google Cloud specific information for this Private Service Connect // endpoint. GcpVpcEndpointInfo *GcpVpcEndpointInfo `tfsdk:"gcp_vpc_endpoint_info" tf:"optional"` // The AWS region in which this VPC endpoint object exists. Region types.String `tfsdk:"region" tf:"optional"` // The current state (such as `available` or `rejected`) of the VPC // endpoint. Derived from AWS. For the full set of values, see [AWS // DescribeVpcEndpoint documentation]. // // [AWS DescribeVpcEndpoint documentation]: https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoints.html State types.String `tfsdk:"state" tf:"optional"` // This enumeration represents the type of Databricks VPC [endpoint service] // that was used when creating this VPC endpoint. // // [endpoint service]: https://docs.aws.amazon.com/vpc/latest/privatelink/endpoint-service.html UseCase types.String `tfsdk:"use_case" tf:"optional"` // Databricks VPC endpoint ID. This is the Databricks-specific name of the // VPC endpoint. Do not confuse this with the `aws_vpc_endpoint_id`, which // is the ID within AWS of the VPC endpoint. VpcEndpointId types.String `tfsdk:"vpc_endpoint_id" tf:"optional"` // The human-readable name of the storage configuration. VpcEndpointName types.String `tfsdk:"vpc_endpoint_name" tf:"optional"` }
type Workspace ¶
type Workspace struct { // Databricks account ID. AccountId types.String `tfsdk:"account_id" tf:"optional"` // The AWS region of the workspace data plane (for example, `us-west-2`). AwsRegion types.String `tfsdk:"aws_region" tf:"optional"` AzureWorkspaceInfo *AzureWorkspaceInfo `tfsdk:"azure_workspace_info" tf:"optional"` // The cloud name. This field always has the value `gcp`. Cloud types.String `tfsdk:"cloud" tf:"optional"` // The general workspace configurations that are specific to cloud // providers. CloudResourceContainer *CloudResourceContainer `tfsdk:"cloud_resource_container" tf:"optional"` // Time in epoch milliseconds when the workspace was created. CreationTime types.Int64 `tfsdk:"creation_time" tf:"optional"` // ID of the workspace's credential configuration object. CredentialsId types.String `tfsdk:"credentials_id" tf:"optional"` // 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. CustomTags map[string]types.String `tfsdk:"custom_tags" tf:"optional"` // The deployment name defines part of the subdomain for the workspace. The // workspace URL for web application and REST APIs is // `<deployment-name>.cloud.databricks.com`. // // This value must be unique across all non-deleted deployments across all // AWS regions. DeploymentName types.String `tfsdk:"deployment_name" tf:"optional"` // The network settings for the workspace. The configurations are only for // Databricks-managed VPCs. It is ignored if you specify a customer-managed // VPC in the `network_id` field.", All the IP range configurations must be // mutually exclusive. An attempt to create a workspace fails if Databricks // detects an IP range overlap. // // Specify custom IP ranges in CIDR format. The IP ranges for these fields // must not overlap, and all IP addresses must be entirely within the // following ranges: `10.0.0.0/8`, `100.64.0.0/10`, `172.16.0.0/12`, // `192.168.0.0/16`, and `240.0.0.0/4`. // // The sizes of these IP ranges affect the maximum number of nodes for the // workspace. // // **Important**: Confirm the IP ranges used by your Databricks workspace // before creating the workspace. You cannot change them after your // workspace is deployed. If the IP address ranges for your Databricks are // too small, IP exhaustion can occur, causing your Databricks jobs to fail. // To determine the address range sizes that you need, Databricks provides a // calculator as a Microsoft Excel spreadsheet. See [calculate subnet sizes // for a new workspace]. // // [calculate subnet sizes for a new workspace]: https://docs.gcp.databricks.com/administration-guide/cloud-configurations/gcp/network-sizing.html GcpManagedNetworkConfig *GcpManagedNetworkConfig `tfsdk:"gcp_managed_network_config" tf:"optional"` // The configurations for the GKE cluster of a Databricks workspace. GkeConfig *GkeConfig `tfsdk:"gke_config" tf:"optional"` // The Google Cloud region of the workspace data plane in your Google // account (for example, `us-east4`). Location types.String `tfsdk:"location" tf:"optional"` // ID of the key configuration for encrypting managed services. ManagedServicesCustomerManagedKeyId types.String `tfsdk:"managed_services_customer_managed_key_id" tf:"optional"` // The network configuration ID that is attached to the workspace. This // field is available only if the network is a customer-managed network. NetworkId types.String `tfsdk:"network_id" tf:"optional"` // The pricing tier of the workspace. For pricing tier information, see [AWS // Pricing]. // // [AWS Pricing]: https://databricks.com/product/aws-pricing PricingTier types.String `tfsdk:"pricing_tier" tf:"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 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 PrivateAccessSettingsId types.String `tfsdk:"private_access_settings_id" tf:"optional"` // ID of the workspace's storage configuration object. StorageConfigurationId types.String `tfsdk:"storage_configuration_id" tf:"optional"` // ID of the key configuration for encrypting workspace storage. StorageCustomerManagedKeyId types.String `tfsdk:"storage_customer_managed_key_id" tf:"optional"` // A unique integer ID for the workspace WorkspaceId types.Int64 `tfsdk:"workspace_id" tf:"optional"` // The human-readable name of the workspace. WorkspaceName types.String `tfsdk:"workspace_name" tf:"optional"` // The status of the workspace. For workspace creation, usually it is set to // `PROVISIONING` initially. Continue to check the status until the status // is `RUNNING`. WorkspaceStatus types.String `tfsdk:"workspace_status" tf:"optional"` // Message describing the current workspace status. WorkspaceStatusMessage types.String `tfsdk:"workspace_status_message" tf:"optional"` }