Documentation ¶
Index ¶
- Constants
- func DataSourceCatalogs() *schema.Resource
- func DataSourceMetastore() *schema.Resource
- func DataSourceMetastores() *schema.Resource
- func DataSourceSchemas() *schema.Resource
- func DataSourceShare() *schema.Resource
- func DataSourceShares() *schema.Resource
- func DataSourceTables() *schema.Resource
- func DataSourceViews() *schema.Resource
- func ResourceCatalog() *schema.Resource
- func ResourceCatalogWorkspaceBinding() *schema.Resource
- func ResourceExternalLocation() *schema.Resource
- func ResourceGrants() *schema.Resource
- func ResourceMetastore() *schema.Resource
- func ResourceMetastoreAssignment() *schema.Resource
- func ResourceMetastoreDataAccess() *schema.Resource
- func ResourceProvider() *schema.Resource
- func ResourceRecipient() *schema.Resource
- func ResourceSchema() *schema.Resource
- func ResourceShare() *schema.Resource
- func ResourceSqlTable() *schema.Resource
- func ResourceStorageCredential() *schema.Resource
- func ResourceTable() *schema.Resource
- func ResourceVolume() *schema.Resource
- func SuppressGcpSAKeyDiff(k, old, new string, d *schema.ResourceData) bool
- type AwsIamRole
- type AzureManagedIdentity
- type AzureServicePrincipal
- type CatalogInfo
- type ColumnInfo
- type CreateMetastore
- type DataAccessConfiguration
- type DataAccessConfigurationsAPI
- type DbGcpServiceAccount
- type ExternalLocationInfo
- type ExternalLocationsAPI
- type GcpServiceAccountKey
- type IpAccessList
- type MetastoreAssignment
- type MetastoreAssignmentAPI
- type MetastoreInfo
- type MetastoresAPI
- type Partition
- type PartitionValue
- type PermissionsAPI
- type PermissionsList
- type PrivilegeAssignment
- type ProviderInfo
- type Providers
- type ProvidersAPI
- type RecipientInfo
- type Recipients
- type RecipientsAPI
- type SchemaInfo
- type Schemas
- type SchemasAPI
- type ShareDataChange
- type ShareInfo
- type ShareUpdates
- type SharedDataObject
- type Shares
- type SharesAPI
- type SqlColumnInfo
- type SqlTableInfo
- type SqlTablesAPI
- type StorageCredentialInfo
- type StorageCredentialsAPI
- type TableInfo
- type Tables
- type TablesAPI
- type Token
- type VolumeInfo
Constants ¶
View Source
const ()
Variables ¶
This section is empty.
Functions ¶
func DataSourceCatalogs ¶
func DataSourceMetastore ¶ added in v1.22.0
func DataSourceMetastores ¶ added in v1.22.0
func DataSourceSchemas ¶
func DataSourceShare ¶ added in v1.6.0
func DataSourceShares ¶ added in v1.6.0
func DataSourceTables ¶
func DataSourceViews ¶
func ResourceCatalog ¶
func ResourceCatalogWorkspaceBinding ¶ added in v1.20.0
func ResourceGrants ¶
func ResourceMetastore ¶
func ResourceProvider ¶ added in v1.8.0
func ResourceRecipient ¶ added in v1.3.0
func ResourceSchema ¶
func ResourceShare ¶ added in v1.6.0
func ResourceSqlTable ¶ added in v1.15.0
func ResourceTable ¶
func ResourceVolume ¶ added in v1.18.0
func SuppressGcpSAKeyDiff ¶ added in v1.7.0
func SuppressGcpSAKeyDiff(k, old, new string, d *schema.ResourceData) bool
Types ¶
type AwsIamRole ¶
type AwsIamRole struct {
RoleARN string `json:"role_arn"`
}
type AzureManagedIdentity ¶
type AzureManagedIdentity struct {
AccessConnectorID string `json:"access_connector_id"`
}
type AzureServicePrincipal ¶
type CatalogInfo ¶
type CatalogInfo struct { Name string `json:"name"` Comment string `json:"comment,omitempty"` StorageRoot string `json:"storage_root,omitempty" tf:"force_new"` ProviderName string `json:"provider_name,omitempty" tf:"force_new,conflicts:storage_root"` Properties map[string]string `json:"properties,omitempty"` Owner string `json:"owner,omitempty" tf:"computed"` IsolationMode string `json:"isolation_mode,omitempty" tf:"computed"` MetastoreID string `json:"metastore_id,omitempty" tf:"computed"` }
type ColumnInfo ¶
type ColumnInfo struct { Name string `json:"name"` TypeText string `json:"type_text"` TypeJson string `json:"type_json,omitempty"` TypeName string `json:"type_name"` TypePrecision int32 `json:"type_precision,omitempty"` TypeScale int32 `json:"type_scale,omitempty"` TypeIntervalType string `json:"type_interval_type,omitempty"` Position int32 `json:"position"` Comment string `json:"comment,omitempty"` Nullable bool `json:"nullable,omitempty" tf:"default:true"` PartitionIndex int32 `json:"partition_index,omitempty"` }
type CreateMetastore ¶
type DataAccessConfiguration ¶
type DataAccessConfiguration struct { ID string `json:"id,omitempty" tf:"computed"` Name string `json:"name"` ConfigurationType string `json:"configuration_type,omitempty" tf:"computed"` Aws *AwsIamRole `json:"aws_iam_role,omitempty" tf:"group:access"` Azure *AzureServicePrincipal `json:"azure_service_principal,omitempty" tf:"group:access"` AzMI *AzureManagedIdentity `json:"azure_managed_identity,omitempty" tf:"group:access"` GcpSAKey *GcpServiceAccountKey `json:"gcp_service_account_key,omitempty" tf:"group:access"` DBGcpSA *DbGcpServiceAccount `json:"databricks_gcp_service_account,omitempty" tf:"group:access"` }
type DataAccessConfigurationsAPI ¶
type DataAccessConfigurationsAPI struct {
// contains filtered or unexported fields
}
func NewDataAccessConfigurationsAPI ¶
func NewDataAccessConfigurationsAPI(ctx context.Context, m any) DataAccessConfigurationsAPI
func (DataAccessConfigurationsAPI) Create ¶
func (a DataAccessConfigurationsAPI) Create(metastoreID string, dac *DataAccessConfiguration) error
func (DataAccessConfigurationsAPI) Delete ¶
func (a DataAccessConfigurationsAPI) Delete(metastoreID, dacID string) error
func (DataAccessConfigurationsAPI) Get ¶
func (a DataAccessConfigurationsAPI) Get(metastoreID, dacID string) (dac DataAccessConfiguration, err error)
type DbGcpServiceAccount ¶ added in v1.12.0
type DbGcpServiceAccount struct {
Email string `json:"email,omitempty" tf:"computed"`
}
type ExternalLocationInfo ¶
type ExternalLocationInfo struct { Name string `json:"name" tf:"force_new"` URL string `json:"url"` CredentialName string `json:"credential_name"` Comment string `json:"comment,omitempty"` SkipValidation bool `json:"skip_validation,omitempty"` Owner string `json:"owner,omitempty" tf:"computed"` MetastoreID string `json:"metastore_id,omitempty" tf:"computed"` ReadOnly bool `json:"read_only,omitempty"` }
type ExternalLocationsAPI ¶
type ExternalLocationsAPI struct {
// contains filtered or unexported fields
}
func NewExternalLocationsAPI ¶
func NewExternalLocationsAPI(ctx context.Context, m any) ExternalLocationsAPI
type GcpServiceAccountKey ¶ added in v1.7.0
type IpAccessList ¶ added in v1.3.0
type IpAccessList struct {
AllowedIpAddresses []string `json:"allowed_ip_addresses"`
}
type MetastoreAssignment ¶
type MetastoreAssignmentAPI ¶
type MetastoreAssignmentAPI struct {
// contains filtered or unexported fields
}
func NewMetastoreAssignmentAPI ¶
func NewMetastoreAssignmentAPI(ctx context.Context, m any) MetastoreAssignmentAPI
type MetastoreInfo ¶
type MetastoreInfo struct { Name string `json:"name"` StorageRoot string `json:"storage_root" tf:"force_new"` DefaultDacID string `json:"default_data_access_config_id,omitempty" tf:"suppress_diff"` Owner string `json:"owner,omitempty" tf:"computed"` MetastoreID string `json:"metastore_id,omitempty" tf:"computed"` WorkspaceIDs []int64 `json:"workspace_ids,omitempty" tf:"computed"` Region string `json:"region,omitempty" tf:"computed"` Cloud string `json:"cloud,omitempty" tf:"computed"` GlobalMetastoreId string `json:"global_metastore_id,omitempty" tf:"computed"` CreatedAt int64 `json:"created_at,omitempty" tf:"computed"` CreatedBy string `json:"created_by,omitempty" tf:"computed"` UpdatedAt int64 `json:"updated_at,omitempty" tf:"computed"` UpdatedBy string `json:"updated_by,omitempty" tf:"computed"` DeltaSharingScope string `json:"delta_sharing_scope,omitempty" tf:"suppress_diff"` DeltaSharingRecipientTokenLifetimeInSeconds int64 `json:"delta_sharing_recipient_token_lifetime_in_seconds,omitempty"` DeltaSharingOrganizationName string `json:"delta_sharing_organization_name,omitempty"` }
type MetastoresAPI ¶
type MetastoresAPI struct {
// contains filtered or unexported fields
}
func NewMetastoresAPI ¶
func NewMetastoresAPI(ctx context.Context, m any) MetastoresAPI
type Partition ¶ added in v1.10.0
type Partition struct {
Values []PartitionValue `json:"values" tf:"alias:value"`
}
type PartitionValue ¶ added in v1.10.0
type PermissionsAPI ¶
type PermissionsAPI struct {
// contains filtered or unexported fields
}
func NewPermissionsAPI ¶
func NewPermissionsAPI(ctx context.Context, m any) PermissionsAPI
type PermissionsList ¶
type PermissionsList struct {
Assignments []PrivilegeAssignment `json:"privilege_assignments" tf:"slice_set,alias:grant"`
}
PermissionsList reflects it's shape on terraform resource with privilege_assignments column renamed to `grant` block for simplicity
type PrivilegeAssignment ¶
type PrivilegeAssignment struct { Principal string `json:"principal"` Privileges []string `json:"privileges" tf:"slice_set"` }
PrivilegeAssignment reflects on `grant` block
type ProviderInfo ¶ added in v1.8.0
type Providers ¶ added in v1.8.0
type Providers struct {
Providers []ProviderInfo `json:"providers"`
}
type ProvidersAPI ¶ added in v1.8.0
type ProvidersAPI struct {
// contains filtered or unexported fields
}
func NewProvidersAPI ¶ added in v1.8.0
func NewProvidersAPI(ctx context.Context, m interface{}) ProvidersAPI
type RecipientInfo ¶ added in v1.3.0
type RecipientInfo struct { Name string `json:"name" tf:"force_new"` Comment string `json:"comment,omitempty"` SharingCode string `json:"sharing_code,omitempty" tf:"sensitive,force_new,suppress_diff"` AuthenticationType string `json:"authentication_type" tf:"force_new"` Tokens []Token `json:"tokens,omitempty" tf:"computed"` DataRecipientGlobalMetastoreId string `json:"data_recipient_global_metastore_id,omitempty" tf:"force_new,conflicts:ip_access_list"` IpAccessList *IpAccessList `json:"ip_access_list,omitempty"` }
type Recipients ¶ added in v1.3.0
type Recipients struct {
Recipients []RecipientInfo `json:"recipients"`
}
type RecipientsAPI ¶ added in v1.3.0
type RecipientsAPI struct {
// contains filtered or unexported fields
}
func NewRecipientsAPI ¶ added in v1.3.0
func NewRecipientsAPI(ctx context.Context, m any) RecipientsAPI
type SchemaInfo ¶
type SchemaInfo struct { Name string `json:"name" tf:"force_new"` CatalogName string `json:"catalog_name"` StorageRoot string `json:"storage_root,omitempty" tf:"force_new"` Comment string `json:"comment,omitempty"` Properties map[string]string `json:"properties,omitempty"` Owner string `json:"owner,omitempty" tf:"computed"` MetastoreID string `json:"metastore_id,omitempty" tf:"computed"` FullName string `json:"full_name,omitempty" tf:"computed"` }
type Schemas ¶
type Schemas struct {
Schemas []SchemaInfo `json:"schemas"`
}
type SchemasAPI ¶
type SchemasAPI struct {
// contains filtered or unexported fields
}
func NewSchemasAPI ¶
func NewSchemasAPI(ctx context.Context, m any) SchemasAPI
type ShareDataChange ¶ added in v1.6.0
type ShareDataChange struct {}
type ShareInfo ¶ added in v1.6.0
type ShareInfo struct {}
func (ShareInfo) Diff ¶ added in v1.6.0
func (beforeSi ShareInfo) Diff(afterSi ShareInfo) []ShareDataChange
type ShareUpdates ¶ added in v1.6.0
type ShareUpdates struct {
}type SharedDataObject ¶ added in v1.6.0
type SharedDataObject struct {}
func (SharedDataObject) Equal ¶ added in v1.18.0
func (sdo SharedDataObject) Equal(other SharedDataObject) bool
type SharesAPI ¶ added in v1.6.0
type SharesAPI struct {
// contains filtered or unexported fields
}
type SqlColumnInfo ¶ added in v1.15.0
type SqlTableInfo ¶ added in v1.15.0
type SqlTableInfo struct { Name string `json:"name"` CatalogName string `json:"catalog_name" tf:"force_new"` SchemaName string `json:"schema_name" tf:"force_new"` TableType string `json:"table_type" tf:"force_new"` DataSourceFormat string `json:"data_source_format,omitempty" tf:"force_new"` ColumnInfos []SqlColumnInfo `json:"columns,omitempty" tf:"alias:column,computed,force_new"` StorageLocation string `json:"storage_location,omitempty" tf:"suppress_diff"` StorageCredentialName string `json:"storage_credential_name,omitempty" tf:"force_new"` ViewDefinition string `json:"view_definition,omitempty"` Comment string `json:"comment,omitempty"` Properties map[string]string `json:"properties,omitempty" tf:"computed"` ClusterID string `json:"cluster_id,omitempty" tf:"computed"` // contains filtered or unexported fields }
func (*SqlTableInfo) FullName ¶ added in v1.15.0
func (ti *SqlTableInfo) FullName() string
type SqlTablesAPI ¶ added in v1.15.0
type SqlTablesAPI struct {
// contains filtered or unexported fields
}
func NewSqlTablesAPI ¶ added in v1.15.0
func NewSqlTablesAPI(ctx context.Context, m any) SqlTablesAPI
type StorageCredentialInfo ¶
type StorageCredentialInfo struct { Name string `json:"name" tf:"force_new"` Owner string `json:"owner,omitempty" tf:"computed"` Comment string `json:"comment,omitempty"` Aws *AwsIamRole `json:"aws_iam_role,omitempty" tf:"group:access"` Azure *AzureServicePrincipal `json:"azure_service_principal,omitempty" tf:"group:access"` AzMI *AzureManagedIdentity `json:"azure_managed_identity,omitempty" tf:"group:access"` GcpSAKey *GcpServiceAccountKey `json:"gcp_service_account_key,omitempty" tf:"group:access"` DBGcpSA *DbGcpServiceAccount `json:"databricks_gcp_service_account,omitempty" tf:"computed"` MetastoreID string `json:"metastore_id,omitempty" tf:"computed"` ReadOnly bool `json:"read_only,omitempty"` }
type StorageCredentialsAPI ¶
type StorageCredentialsAPI struct {
// contains filtered or unexported fields
}
func NewStorageCredentialsAPI ¶
func NewStorageCredentialsAPI(ctx context.Context, m any) StorageCredentialsAPI
type TableInfo ¶
type TableInfo struct { Name string `json:"name"` CatalogName string `json:"catalog_name" tf:"force_new"` SchemaName string `json:"schema_name" tf:"force_new"` TableType string `json:"table_type" tf:"force_new"` DataSourceFormat string `json:"data_source_format"` ColumnInfos []ColumnInfo `json:"columns" tf:"alias:column"` StorageLocation string `json:"storage_location,omitempty" tf:"suppress_diff"` StorageCredentialName string `json:"storage_credential_name,omitempty" tf:"force_new"` ViewDefinition string `json:"view_definition,omitempty"` Owner string `json:"owner,omitempty" tf:"computed"` Comment string `json:"comment,omitempty"` Properties map[string]string `json:"properties,omitempty"` }
type Token ¶ added in v1.3.0
type Token struct { Id string `json:"id,omitempty" tf:"computed"` CreatedAt int64 `json:"created_at,omitempty" tf:"computed"` CreatedBy string `json:"created_by,omitempty" tf:"computed"` ActivationUrl string `json:"activation_url,omitempty" tf:"computed"` ExpirationTime int64 `json:"expiration_time,omitempty" tf:"computed"` UpdatedAt int64 `json:"updated_at,omitempty" tf:"computed"` UpdatedBy string `json:"updated_by,omitempty" tf:"computed"` }
type VolumeInfo ¶ added in v1.18.0
type VolumeInfo struct { // The name of the catalog where the schema and the volume are CatalogName string `json:"catalog_name"` // The comment attached to the volume Comment string `json:"comment,omitempty"` // The name of the schema where the volume is SchemaName string `json:"schema_name"` FullNameArg string `json:"-" url:"-"` // The name of the volume Name string `json:"name"` // The identifier of the user who owns the volume Owner string `json:"owner,omitempty" tf:"computed"` // The storage location on the cloud StorageLocation string `json:"storage_location,omitempty"` VolumeType catalog.VolumeType `json:"volume_type"` }
This structure contains the fields of catalog.UpdateVolumeRequestContent and catalog.CreateVolumeRequestContent We need to create this because we need Owner, FullNameArg, SchemaName and CatalogName which aren't present in a single of them. We also need to annotate tf:"computed" for the Owner field.
Source Files ¶
- data_catalogs.go
- data_metastore.go
- data_metastores.go
- data_schemas.go
- data_share.go
- data_shares.go
- data_tables.go
- data_views.go
- resource_catalog.go
- resource_catalog_workspace_binding.go
- resource_external_location.go
- resource_grants.go
- resource_metastore.go
- resource_metastore_assignment.go
- resource_metastore_data_access.go
- resource_provider.go
- resource_recipient.go
- resource_schema.go
- resource_share.go
- resource_sql_table.go
- resource_storage_credential.go
- resource_table.go
- resource_volume.go
- update.go
Click to show internal directories.
Click to hide internal directories.