platform_metadata_credentials

package
v1.8.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 25, 2026 License: MIT Imports: 17 Imported by: 0

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.",
			Required:    true,
			Sensitive:   true,
		},
		"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.",
			Optional:    true,
			Sensitive:   true,
			Validators: []validator.String{
				snowflake_credential_validators.ConflictValidator{
					ConflictingFields: []string{"private_key", "private_key_passphrase"},
				},
			},
		},
		"private_key": schema.StringAttribute{
			Description: "The private key for keypair authentication. Required when auth_type is 'keypair'. Cannot be used with password.",
			Optional:    true,
			Sensitive:   true,
			Validators: []validator.String{
				snowflake_credential_validators.ConflictValidator{
					ConflictingFields: []string{"password"},
				},
			},
		},
		"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.",
			Optional:    true,
			Sensitive:   true,
			Validators: []validator.String{
				snowflake_credential_validators.ConflictValidator{
					ConflictingFields: []string{"password"},
				},
			},
		},
		"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

func DatabricksPlatformMetadataCredentialResource() resource.Resource

DatabricksPlatformMetadataCredentialResource returns a new resource instance

func SnowflakePlatformMetadataCredentialResource

func SnowflakePlatformMetadataCredentialResource() resource.Resource

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"`
	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"`
	PrivateKey           types.String `tfsdk:"private_key"`
	PrivateKeyPassphrase types.String `tfsdk:"private_key_passphrase"`
	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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL