Documentation
      ¶
    
    
  
    
  
    Index ¶
Constants ¶
This section is empty.
Variables ¶
      View Source
      
  
    var AuthTypes = []string{
	"password",
	"keypair",
}
    
      View Source
      
  
var SnowflakeCredentialResourceSchema = resource_schema.Schema{ Description: "Snowflake credential resource. This resource is used both as a stand-alone credential, but also as part of the Semantic Layer credential definition for Snowflake.", Attributes: map[string]resource_schema.Attribute{ "id": resource_schema.StringAttribute{ Computed: true, Description: "The ID of this resource. Contains the project ID and the credential ID.", PlanModifiers: []planmodifier.String{ stringplanmodifier.UseStateForUnknown(), }, }, "is_active": resource_schema.BoolAttribute{ Optional: true, Computed: true, Default: booldefault.StaticBool(true), Description: "Whether the Snowflake credential is active", }, "project_id": resource_schema.Int64Attribute{ Required: true, Description: "Project ID to create the Snowflake credential in", PlanModifiers: []planmodifier.Int64{ int64planmodifier.RequiresReplace(), }, }, "credential_id": resource_schema.Int64Attribute{ Computed: true, Description: "The internal credential ID", PlanModifiers: []planmodifier.Int64{ int64planmodifier.UseStateForUnknown(), }, }, "auth_type": resource_schema.StringAttribute{ Required: true, Description: "The type of Snowflake credential ('password' or 'keypair')", Validators: []validator.String{ stringvalidator.OneOf(AuthTypes...), }, }, "database": resource_schema.StringAttribute{ Optional: true, Description: "The catalog to connect use", }, "role": resource_schema.StringAttribute{ Optional: true, Description: "The role to assume", }, "warehouse": resource_schema.StringAttribute{ Optional: true, Description: "The warehouse to use", }, "schema": resource_schema.StringAttribute{ Optional: true, Computed: true, Default: stringdefault.StaticString("default_schema"), Description: "The schema where to create models. This is an optional field ONLY if the credential is used for Semantic Layer configuration, otherwise it is required.", }, "user": resource_schema.StringAttribute{ Optional: true, Computed: true, Default: stringdefault.StaticString("default_user"), Description: "The username for the Snowflake account. This is an optional field ONLY if the credential is used for Semantic Layer configuration, otherwise it is required. ", }, "password": resource_schema.StringAttribute{ Optional: true, Sensitive: true, Description: "The password for the Snowflake account", Computed: true, Default: stringdefault.StaticString(""), Validators: []validator.String{ snowflake_credential.ConflictValidator{ConflictingFields: []string{"private_key", "private_key_passphrase"}}, }, }, "private_key": resource_schema.StringAttribute{ Optional: true, Sensitive: true, Computed: true, Default: stringdefault.StaticString(""), Description: "The private key for the Snowflake account", Validators: []validator.String{ snowflake_credential.ConflictValidator{ConflictingFields: []string{"password"}}, }, }, "private_key_passphrase": resource_schema.StringAttribute{ Optional: true, Sensitive: true, Computed: true, Default: stringdefault.StaticString(""), Description: "The passphrase for the private key", Validators: []validator.String{ snowflake_credential.ConflictValidator{ConflictingFields: []string{"password"}}, }, }, "num_threads": resource_schema.Int64Attribute{ Required: true, Description: "Number of threads to use", }, "semantic_layer_credential": resource_schema.BoolAttribute{ Optional: true, Description: "This field indicates that the credential is used as part of the Semantic Layer configuration. It is used to create a Snowflake credential for the Semantic Layer.", Computed: true, Default: booldefault.StaticBool(false), Validators: []validator.Bool{ snowflake_credential.SemanticLayerCredentialValidator{}, }, }, }, }
Functions ¶
func SnowflakeCredentialDataSource ¶
func SnowflakeCredentialDataSource() datasource.DataSource
SnowflakeCredentialDataSource is a helper function to simplify the provider implementation.
func SnowflakeCredentialResource ¶
SnowflakeCredentialResource is a helper function to simplify the provider implementation.
Types ¶
type SnowflakeCredentialDataSourceModel ¶
type SnowflakeCredentialDataSourceModel struct {
	ID           types.String `tfsdk:"id"`
	CredentialID types.Int64  `tfsdk:"credential_id"`
	IsActive     types.Bool   `tfsdk:"is_active"`
	AuthType     types.String `tfsdk:"auth_type"`
	ProjectID    types.Int64  `tfsdk:"project_id"`
	Schema       types.String `tfsdk:"schema"`
	User         types.String `tfsdk:"user"`
	NumThreads   types.Int64  `tfsdk:"num_threads"`
}
    SnowflakeCredentialDataSourceModel is the model for the data source
type SnowflakeCredentialResourceModel ¶
type SnowflakeCredentialResourceModel struct {
	ID                      types.String `tfsdk:"id"`
	CredentialID            types.Int64  `tfsdk:"credential_id"`
	ProjectID               types.Int64  `tfsdk:"project_id"`
	User                    types.String `tfsdk:"user"`
	Password                types.String `tfsdk:"password"`
	AuthType                types.String `tfsdk:"auth_type"`
	Database                types.String `tfsdk:"database"`
	Role                    types.String `tfsdk:"role"`
	Warehouse               types.String `tfsdk:"warehouse"`
	Schema                  types.String `tfsdk:"schema"`
	PrivateKey              types.String `tfsdk:"private_key"`
	PrivateKeyPassphrase    types.String `tfsdk:"private_key_passphrase"`
	IsActive                types.Bool   `tfsdk:"is_active"`
	NumThreads              types.Int64  `tfsdk:"num_threads"`
	SemanticLayerCredential types.Bool   `tfsdk:"semantic_layer_credential"`
}
    SnowflakeCredentialResourceModel is the model for the resource
 Click to show internal directories. 
   Click to hide internal directories.