Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var DatabricksPlatformMetadataCredentialSchema = schema.Schema{ Description: helper.DocString( `Manages Databricks platform metadata credentials for external metadata ingestion in dbt Cloud. This resource configures credentials that allow dbt Cloud to connect directly to your Databricks workspace to ingest metadata outside of normal dbt project runs. This enables features like: - **Catalog Ingestion**: Ingest metadata about tables/views not defined in dbt - **Cost Optimization**: Query warehouse cost and performance data - **Cost Insights**: Enhanced cost visibility and analysis ~> **Note:** At least one of ~~~catalog_ingestion_enabled~~~, ~~~cost_optimization_enabled~~~, or ~~~cost_insights_enabled~~~ must be enabled for the credential to be usable. ~> **Note:** The ~~~connection_id~~~ cannot be changed after creation. To use a different connection, you must destroy and recreate the resource.`, ), Attributes: mergeAttributes(commonAttributes(), map[string]schema.Attribute{ "token": schema.StringAttribute{ Description: "The Databricks personal access token. Consider using `token_wo` instead, which is not stored in state.", Optional: true, Sensitive: true, Validators: []validator.String{ stringvalidator.ConflictsWith(path.MatchRoot("token_wo")), stringvalidator.PreferWriteOnlyAttribute(path.MatchRoot("token_wo")), }, }, "token_wo": schema.StringAttribute{ Optional: true, WriteOnly: true, Description: "Write-only alternative to `token`. The value is not stored in state. Requires `token_wo_version` to trigger updates.", }, "token_wo_version": schema.Int64Attribute{ Optional: true, Description: "Version number for `token_wo`. Increment this value to trigger an update of the token when using `token_wo`.", }, "catalog": schema.StringAttribute{ Description: "The Unity Catalog name to use.", Required: true, }, }), }
DatabricksPlatformMetadataCredentialSchema returns the schema for Databricks platform metadata credentials
View Source
var SnowflakePlatformMetadataCredentialSchema = schema.Schema{ Description: helper.DocString( `Manages Snowflake platform metadata credentials for external metadata ingestion in dbt Cloud. This resource configures credentials that allow dbt Cloud to connect directly to your Snowflake warehouse to ingest metadata outside of normal dbt project runs. This enables features like: - **Catalog Ingestion**: Ingest metadata about tables/views not defined in dbt - **Cost Optimization**: Query warehouse cost and performance data - **Cost Insights**: Enhanced cost visibility and analysis ~> **Note:** At least one of ~~~catalog_ingestion_enabled~~~, ~~~cost_optimization_enabled~~~, or ~~~cost_insights_enabled~~~ must be enabled for the credential to be usable. ~> **Note:** The ~~~connection_id~~~ cannot be changed after creation. To use a different connection, you must destroy and recreate the resource.`, ), Attributes: mergeAttributes(commonAttributes(), map[string]schema.Attribute{ "auth_type": schema.StringAttribute{ Description: "The authentication type. Must be 'password' or 'keypair'.", Required: true, Validators: []validator.String{ stringvalidator.OneOf("password", "keypair"), }, }, "user": schema.StringAttribute{ Description: "The Snowflake user name.", Required: true, }, "password": schema.StringAttribute{ Description: "The password for password authentication. Required when auth_type is 'password'. Cannot be used with private_key or private_key_passphrase. Consider using `password_wo` instead, which is not stored in state.", Optional: true, Sensitive: true, Validators: []validator.String{ snowflake_credential_validators.ConflictValidator{ ConflictingFields: []string{"private_key", "private_key_passphrase"}, }, stringvalidator.ConflictsWith(path.MatchRoot("password_wo")), stringvalidator.PreferWriteOnlyAttribute(path.MatchRoot("password_wo")), }, }, "password_wo": schema.StringAttribute{ Optional: true, WriteOnly: true, Description: "Write-only alternative to `password`. The value is not stored in state. Requires `password_wo_version` to trigger updates.", Validators: []validator.String{ snowflake_credential_validators.ConflictValidator{ ConflictingFields: []string{"private_key", "private_key_passphrase", "private_key_wo", "private_key_passphrase_wo"}, }, }, }, "password_wo_version": schema.Int64Attribute{ Optional: true, Description: "Version number for `password_wo`. Increment this value to trigger an update of the password when using `password_wo`.", }, "private_key": schema.StringAttribute{ Description: "The private key for keypair authentication. Required when auth_type is 'keypair'. Cannot be used with password. Consider using `private_key_wo` instead, which is not stored in state.", Optional: true, Sensitive: true, Validators: []validator.String{ snowflake_credential_validators.ConflictValidator{ ConflictingFields: []string{"password"}, }, stringvalidator.ConflictsWith(path.MatchRoot("private_key_wo")), stringvalidator.PreferWriteOnlyAttribute(path.MatchRoot("private_key_wo")), }, }, "private_key_wo": schema.StringAttribute{ Optional: true, WriteOnly: true, Description: "Write-only alternative to `private_key`. The value is not stored in state. Requires `private_key_wo_version` to trigger updates.", Validators: []validator.String{ snowflake_credential_validators.ConflictValidator{ ConflictingFields: []string{"password", "password_wo"}, }, }, }, "private_key_wo_version": schema.Int64Attribute{ Optional: true, Description: "Version number for `private_key_wo`. Increment this value to trigger an update of the private key when using `private_key_wo`.", }, "private_key_passphrase": schema.StringAttribute{ Description: "The passphrase for the private key, if encrypted. Optional when auth_type is 'keypair'. Cannot be used with password. Consider using `private_key_passphrase_wo` instead, which is not stored in state.", Optional: true, Sensitive: true, Validators: []validator.String{ snowflake_credential_validators.ConflictValidator{ ConflictingFields: []string{"password"}, }, stringvalidator.ConflictsWith(path.MatchRoot("private_key_passphrase_wo")), stringvalidator.PreferWriteOnlyAttribute(path.MatchRoot("private_key_passphrase_wo")), }, }, "private_key_passphrase_wo": schema.StringAttribute{ Optional: true, WriteOnly: true, Description: "Write-only alternative to `private_key_passphrase`. The value is not stored in state. Requires `private_key_passphrase_wo_version` to trigger updates.", Validators: []validator.String{ snowflake_credential_validators.ConflictValidator{ ConflictingFields: []string{"password", "password_wo"}, }, }, }, "private_key_passphrase_wo_version": schema.Int64Attribute{ Optional: true, Description: "Version number for `private_key_passphrase_wo`. Increment this value to trigger an update of the private key passphrase when using `private_key_passphrase_wo`.", }, "role": schema.StringAttribute{ Description: "The Snowflake role to use.", Required: true, }, "warehouse": schema.StringAttribute{ Description: "The Snowflake warehouse to use.", Required: true, }, }), }
SnowflakePlatformMetadataCredentialSchema returns the schema for Snowflake platform metadata credentials
Functions ¶
func DatabricksPlatformMetadataCredentialResource ¶
DatabricksPlatformMetadataCredentialResource returns a new resource instance
func SnowflakePlatformMetadataCredentialResource ¶
SnowflakePlatformMetadataCredentialResource returns a new resource instance
Types ¶
type DatabricksPlatformMetadataCredentialResourceModel ¶
type DatabricksPlatformMetadataCredentialResourceModel struct {
ID types.String `tfsdk:"id"`
CredentialID types.Int64 `tfsdk:"credential_id"`
ConnectionID types.Int64 `tfsdk:"connection_id"`
// Feature flags
CatalogIngestionEnabled types.Bool `tfsdk:"catalog_ingestion_enabled"`
CostOptimizationEnabled types.Bool `tfsdk:"cost_optimization_enabled"`
CostInsightsEnabled types.Bool `tfsdk:"cost_insights_enabled"`
// Databricks-specific fields
Token types.String `tfsdk:"token"`
TokenWo types.String `tfsdk:"token_wo"`
TokenWoVersion types.Int64 `tfsdk:"token_wo_version"`
Catalog types.String `tfsdk:"catalog"`
// Read-only fields
AdapterVersion types.String `tfsdk:"adapter_version"`
}
DatabricksPlatformMetadataCredentialResourceModel represents the Terraform state for Databricks
type SnowflakePlatformMetadataCredentialResourceModel ¶
type SnowflakePlatformMetadataCredentialResourceModel struct {
ID types.String `tfsdk:"id"`
CredentialID types.Int64 `tfsdk:"credential_id"`
ConnectionID types.Int64 `tfsdk:"connection_id"`
// Feature flags
CatalogIngestionEnabled types.Bool `tfsdk:"catalog_ingestion_enabled"`
CostOptimizationEnabled types.Bool `tfsdk:"cost_optimization_enabled"`
CostInsightsEnabled types.Bool `tfsdk:"cost_insights_enabled"`
// Snowflake-specific fields
AuthType types.String `tfsdk:"auth_type"`
User types.String `tfsdk:"user"`
Password types.String `tfsdk:"password"`
PasswordWo types.String `tfsdk:"password_wo"`
PasswordWoVersion types.Int64 `tfsdk:"password_wo_version"`
PrivateKey types.String `tfsdk:"private_key"`
PrivateKeyWo types.String `tfsdk:"private_key_wo"`
PrivateKeyWoVersion types.Int64 `tfsdk:"private_key_wo_version"`
PrivateKeyPassphrase types.String `tfsdk:"private_key_passphrase"`
PrivateKeyPassphraseWo types.String `tfsdk:"private_key_passphrase_wo"`
PrivateKeyPassphraseWoVersion types.Int64 `tfsdk:"private_key_passphrase_wo_version"`
Role types.String `tfsdk:"role"`
Warehouse types.String `tfsdk:"warehouse"`
// Read-only fields
AdapterVersion types.String `tfsdk:"adapter_version"`
}
SnowflakePlatformMetadataCredentialResourceModel represents the Terraform state for Snowflake
Click to show internal directories.
Click to hide internal directories.