Documentation
¶
Overview ¶
Package snowflake implements a steampipe plugin for Snowflake.
This plugin provides data that Steampipe uses to present foreign tables that represent Snowflake resources.
Index ¶
- func ConfigInstance() interface{}
- func DSN(ctx context.Context, account, user, password string, browserAuth bool, ...) (string, error)
- func DescribeNetworkPolicy(ctx context.Context, d *plugin.QueryData, h *plugin.HydrateData) (interface{}, error)
- func DescribeSessionPolicy(ctx context.Context, d *plugin.QueryData, h *plugin.HydrateData) (interface{}, error)
- func DescribeUser(ctx context.Context, d *plugin.QueryData, h *plugin.HydrateData) (interface{}, error)
- func GetConfig(connection *plugin.Connection) snowflakeConfig
- func GetOauthAccessToken(endPoint, client_id, client_secret string, data url.Values) (string, error)
- func GetOauthData(refreshToken, redirectUrl string) url.Values
- func GetOauthRequest(dataContent io.Reader, endPoint, clientId, clientSecret string) (*http.Request, error)
- func LoginHistoryCol(colname string, item *LoginHistory) interface{}
- func ParameterCol(colname string, item *Parameter) interface{}
- func ParsePrivateKey(privateKeyBytes []byte, passhrase []byte) (*rsa.PrivateKey, error)
- func Plugin(ctx context.Context) *plugin.Plugin
- func ReadPrivateKeyFile(privateKeyPath string) ([]byte, error)
- func SchemataCol(colname string, item *Schemata) interface{}
- func SessionCol(colname string, item *Session) interface{}
- func SessionPolicyCol(colname string, sp *SessionPolicy) interface{}
- func UserGrantCol(colname string, sp *UserGrant) interface{}
- func WarehouseMeteringHistoryCol(colname string, item *WarehouseMeteringHistory) interface{}
- type AccountGrant
- type Database
- type DatabaseGrant
- type LoginHistory
- type NetworkPolicy
- type Parameter
- type Policy
- type ResourceMonitor
- type Result
- type Role
- type RoleGrant
- type Schemata
- type Session
- type SessionPolicy
- type User
- type UserGrant
- type View
- type ViewGrant
- type Warehouse
- type WarehouseMeteringHistory
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ConfigInstance ¶
func ConfigInstance() interface{}
func DescribeNetworkPolicy ¶
func DescribeSessionPolicy ¶
func DescribeUser ¶
func GetConfig ¶
func GetConfig(connection *plugin.Connection) snowflakeConfig
GetConfig :: retrieve and cast connection config from query data
func GetOauthAccessToken ¶
func GetOauthData ¶
func GetOauthRequest ¶
func LoginHistoryCol ¶ added in v0.0.2
func LoginHistoryCol(colname string, item *LoginHistory) interface{}
LoginHistoryCol returns a reference for a column of a LoginHistory
func ParameterCol ¶ added in v0.0.2
ParameterCol returns a reference for a column of a Parameter
func ParsePrivateKey ¶
func ParsePrivateKey(privateKeyBytes []byte, passhrase []byte) (*rsa.PrivateKey, error)
func ReadPrivateKeyFile ¶
func SchemataCol ¶ added in v0.0.2
SchemataCol returns a reference for a column of a Schemata
func SessionCol ¶ added in v0.0.2
SessionCol returns a reference for a column of a Session
func SessionPolicyCol ¶
func SessionPolicyCol(colname string, sp *SessionPolicy) interface{}
SessionPolicyCol returns a reference for a column of a SessionPolicy
func UserGrantCol ¶
UserGrantCol returns a reference for a column of a UserGrant
func WarehouseMeteringHistoryCol ¶ added in v0.6.0
func WarehouseMeteringHistoryCol(colname string, item *WarehouseMeteringHistory) interface{}
WarehouseMeteringHistoryCol returns a reference for a column of a WarehouseMeteringHistory
Types ¶
type AccountGrant ¶
type AccountGrant struct {
CreatedOn sql.NullTime `json:"created_on"`
Privilege sql.NullString `json:"privilege"`
GrantedOn sql.NullString `json:"granted_on"`
Name sql.NullString `json:"name"`
GrantedTo sql.NullString `json:"granted_to"`
GranteeName sql.NullString `json:"grantee_name"`
GrantOption sql.NullBool `json:"grant_option"`
GrantedBy sql.NullString `json:"granted_by"`
Role sql.NullString `json:"role"`
}
type Database ¶
type Database struct {
CreatedOn sql.NullString `json:"created_on"`
Name sql.NullString `json:"name"`
IsDefault sql.NullString `json:"is_default"`
IsCurrent sql.NullString `json:"is_current"`
Origin sql.NullString `json:"origin"`
Owner sql.NullString `json:"owner"`
Comment sql.NullString `json:"comment"`
Options sql.NullString `json:"options"`
RetentionTime sql.NullString `json:"retention_time"`
Kind sql.NullString `json:"kind"`
Budget sql.NullString `json:"budget"`
OwnerRoleType sql.NullString `json:"owner_role_type"`
}
type DatabaseGrant ¶
type DatabaseGrant AccountGrant
type LoginHistory ¶ added in v0.0.2
type LoginHistory struct {
EventId sql.NullInt64 `json:"EVENT_ID"`
EventTimestamp sql.NullTime `json:"EVENT_TIMESTAMP"`
EventType sql.NullString `json:"EVENT_TYPE"`
UserName sql.NullString `json:"USER_NAME"`
ClientIp sql.NullString `json:"CLIENT_IP"`
ReportedClientType sql.NullString `json:"REPORTED_CLIENT_TYPE"`
ReportedClientVersion sql.NullString `json:"REPORTED_CLIENT_VERSION"`
FirstAuthenticationFactor sql.NullString `json:"FIRST_AUTHENTICATION_FACTOR"`
SecondAuthenticationFactor sql.NullString `json:"SECOND_AUTHENTICATION_FACTOR"`
IsSuccess sql.NullString `json:"IS_SUCCESS"`
ErrorCode sql.NullInt64 `json:"ERROR_CODE"`
ErrorMessage sql.NullString `json:"ERROR_MESSAGE"`
RelatedEventId sql.NullInt64 `json:"RELATED_EVENT_ID"`
Connection sql.NullString `json:"CONNECTION"`
}
type NetworkPolicy ¶
type NetworkPolicy struct {
Name sql.NullString `json:"name"`
CreatedOn sql.NullTime `json:"created_on"`
Comment sql.NullString `json:"comment"`
EntriesInAllowedIPList sql.NullInt64 `json:"entries_in_allowed_ip_list"`
EntriesInBlockedIPList sql.NullInt64 `json:"entries_in_blocked_ip_list"`
EntriesInAllowedNetworkRules sql.NullString `json:"entries_in_allowed_network_rules"`
EntriesInBlockedNetworkRules sql.NullString `json:"entries_in_blocked_network_rules"`
}
type Parameter ¶ added in v0.0.2
type Parameter struct {
Key sql.NullString `json:"key"`
Value sql.NullString `json:"value"`
Default sql.NullString `json:"default"`
Level sql.NullString `json:"level"`
Description sql.NullString `json:"description"`
Type sql.NullString `json:"type"`
}
type Policy ¶
type Policy struct {
CreatedOn sql.NullString `db:"created_on"`
Name sql.NullString `db:"name"`
DatabaseName sql.NullString `db:"database_name"`
SchemaName sql.NullString `db:"schema_name"`
Kind sql.NullString `db:"kind"`
Owner sql.NullString `db:"owner"`
Comment sql.NullString `db:"comment"`
}
type ResourceMonitor ¶ added in v0.2.0
type ResourceMonitor struct {
Name sql.NullString `json:"name" db:"name"`
CreditQuota sql.NullString `json:"credit_quota" db:"credit_quota"`
UsedCredits sql.NullString `json:"used_credits" db:"used_credits"`
RemainingCredits sql.NullString `json:"remaining_credits" db:"remaining_credits"`
Level sql.NullString `json:"level" db:"level"`
Frequency sql.NullString `json:"frequency" db:"frequency"`
StartTime sql.NullTime `json:"start_time" db:"start_time"`
EndTime sql.NullTime `json:"end_time" db:"end_time"`
NotifyAt sql.NullString `json:"notify_at" db:"notify_at"`
SuspendAt sql.NullString `json:"suspend_at" db:"suspend_at"`
SuspendImmediatelyAt sql.NullString `json:"suspend_immediately_at" db:"suspend_immediately_at"`
CreatedOn sql.NullTime `json:"created_on" db:"created_on"`
Owner sql.NullString `json:"owner" db:"owner"`
Comment sql.NullString `json:"comment" db:"comment"`
NotifyUsers sql.NullString `json:"notify_users" db:"notify_users"`
}
type Role ¶
type Role struct {
CreatedOn sql.NullTime `json:"created_on"`
Name sql.NullString `json:"name"`
IsDefault sql.NullString `json:"is_default"`
IsCurrent sql.NullString `json:"is_current"`
IsInherited sql.NullString `json:"is_inherited"`
AssignedToUsers sql.NullInt64 `json:"assigned_to_users"`
GrantedToRoles sql.NullInt64 `json:"granted_to_roles"`
GrantedRoles sql.NullInt64 `json:"granted_roles"`
Owner sql.NullString `json:"owner"`
Comment sql.NullString `json:"comment"`
}
type RoleGrant ¶
type RoleGrant struct {
CreatedOn sql.NullTime `json:"created_on"`
Role sql.NullString `json:"role"`
GrantedTo sql.NullString `json:"granted_to"`
GranteeName sql.NullString `json:"grantee_name"`
GrantedBy sql.NullString `json:"granted_by"`
}
type Schemata ¶ added in v0.0.2
type Schemata struct {
SchemaId sql.NullInt64 `json:"SCHEMA_ID"`
SchemaName sql.NullString `json:"SCHEMA_NAME"`
CatalogId sql.NullInt64 `json:"CATALOG_ID"`
CatalogName sql.NullString `json:"CATALOG_NAME"`
SchemaOwner sql.NullString `json:"SCHEMA_OWNER"`
RetentionTime sql.NullInt64 `json:"RETENTION_TIME"`
IsTransient sql.NullString `json:"IS_TRANSIENT"`
IsManagedAccess sql.NullString `json:"IS_MANAGED_ACCESS"`
DefaultCharacterSetCatalog sql.NullString `json:"DEFAULT_CHARACTER_SET_CATALOG"`
DefaultCharacterSetSchema sql.NullString `json:"DEFAULT_CHARACTER_SET_SCHEMA"`
DefaultCharacterSetName sql.NullString `json:"DEFAULT_CHARACTER_SET_NAME"`
SqlPath sql.NullString `json:"SQL_PATH"`
Comment sql.NullString `json:"COMMENT"`
Created sql.NullTime `json:"CREATED"`
LastAltered sql.NullTime `json:"LAST_ALTERED"`
Deleted sql.NullTime `json:"DELETED"`
OwnerRoleType sql.NullString `json:"OWNER_ROLE_TYPE"`
SchemaType sql.NullString `json:"SCHEMA_TYPE"`
VersionName sql.NullString `json:"VERSION_NAME"`
VersionedSchemaId sql.NullString `json:"VERSIONED_SCHEMA_ID"`
}
type Session ¶ added in v0.0.2
type Session struct {
SessionId sql.NullInt64 `json:"SESSION_ID"`
CreatedOn sql.NullTime `json:"CREATED_ON"`
UserName sql.NullString `json:"USER_NAME"`
AuthenticationMethod sql.NullString `json:"AUTHENTICATION_METHOD"`
LoginEventId sql.NullInt64 `json:"LOGIN_EVENT_ID"`
ClientApplicationVersion sql.NullString `json:"CLIENT_APPLICATION_VERSION"`
ClientApplicationId sql.NullString `json:"CLIENT_APPLICATION_ID"`
ClientEnvironment sql.NullString `json:"CLIENT_ENVIRONMENT"`
ClientBuildId sql.NullString `json:"CLIENT_BUILD_ID"`
ClientVersion sql.NullString `json:"CLIENT_VERSION"`
ClosedReason sql.NullString `json:"CLOSED_REASON"`
}
type SessionPolicy ¶
type SessionPolicy Policy
type User ¶
type User struct {
Name sql.NullString `json:"name"`
CreatedOn sql.NullTime `json:"created_on"`
LoginName sql.NullString `json:"login_name"`
DisplayName sql.NullString `json:"display_name"`
FirstName sql.NullString `json:"first_name"`
LastName sql.NullString `json:"last_name"`
Email sql.NullString `json:"email"`
MinsToUnlock sql.NullString `json:"mins_to_unlock"`
DaysToExpiry sql.NullString `json:"days_to_expiry"`
Comment sql.NullString `json:"comment"`
Disabled sql.NullString `json:"disabled"`
MustChangePassword sql.NullString `json:"must_change_password"`
SnowflakeLock sql.NullString `json:"snowflake_lock"`
DefaultWarehouse sql.NullString `json:"default_warehouse"`
DefaultNamespace sql.NullString `json:"default_namespace"`
DefaultRole sql.NullString `json:"default_role"`
DefaultSecondaryRoles sql.NullString `json:"default_secondary_roles"`
ExtAuthnDuo sql.NullString `json:"ext_authn_duo"`
ExtAuthnUid sql.NullString `json:"ext_authn_uid"`
MinsToBypassMFA sql.NullString `json:"mins_to_bypass_mfa"`
Owner sql.NullString `json:"owner"`
LastSuccessLogin sql.NullTime `json:"last_success_login"`
ExpiresAtTime sql.NullTime `json:"expires_at_time"`
LockedUntilTime sql.NullTime `json:"locked_until_time"`
HasPassword sql.NullString `json:"has_password"`
HasRsaPublicKey sql.NullString `json:"has_rsa_public_key"`
Type sql.NullString `json:"type"`
HasMFA sql.NullBool `json:"has_mfa"`
}
type View ¶
type View struct {
CreatedOn sql.NullTime `json:"created_on"`
Name sql.NullString `json:"name"`
Reserved sql.NullString `json:"reserved"`
DatabaseName sql.NullString `json:"database_name"`
SchemaName sql.NullString `json:"schema_name"`
Owner sql.NullString `json:"owner"`
Comment sql.NullString `json:"comment"`
Text sql.NullString `json:"text"`
IsSecure sql.NullString `json:"is_secure"`
IsMaterialized sql.NullString `json:"is_materialized"`
TableName sql.NullString `json:"table_name"`
TableCatalog sql.NullString `json:"table_catalog"`
}
type ViewGrant ¶
type ViewGrant AccountGrant
type Warehouse ¶
type Warehouse struct {
Name sql.NullString `json:"name" db:"name"`
State sql.NullString `json:"state" db:"state"`
Type sql.NullString `json:"type" db:"type"`
Size sql.NullString `json:"size" db:"size"`
MinClusterCount sql.NullInt64 `json:"min_cluster_count" db:"min_cluster_count"`
MaxClusterCount sql.NullInt64 `json:"max_cluster_count" db:"max_cluster_count"`
StartedClusters sql.NullInt64 `json:"started_clusters" db:"started_clusters"`
Running sql.NullInt64 `json:"running" db:"running"`
Queued sql.NullInt64 `json:"queued" db:"queued"`
IsDefault sql.NullString `json:"is_default" db:"is_default"`
IsCurrent sql.NullString `json:"is_current" db:"is_current"`
AutoSuspend sql.NullInt64 `json:"auto_suspend" db:"auto_suspend"`
AutoResume sql.NullBool `json:"auto_resume" db:"auto_resume"`
Available sql.NullString `json:"available" db:"available"`
Provisioning sql.NullString `json:"provisioning" db:"provisioning"`
Quiescing sql.NullString `json:"quiescing" db:"quiescing"`
Other sql.NullString `json:"other" db:"other"`
CreatedOn sql.NullTime `json:"created_on" db:"created_on"`
ResumedOn sql.NullTime `json:"resumed_on" db:"resumed_on"`
UpdatedOn sql.NullTime `json:"updated_on" db:"updated_on"`
Owner sql.NullString `json:"owner" db:"owner"`
Comment sql.NullString `json:"comment" db:"comment"`
ResourceMonitor sql.NullString `json:"resource_monitor" db:"resource_monitor"`
Actives sql.NullInt64 `json:"actives" db:"actives"`
Pendings sql.NullInt64 `json:"pendings" db:"pendings"`
Failed sql.NullInt64 `json:"failed" db:"failed"`
Suspended sql.NullInt64 `json:"suspended" db:"suspended"`
UUID sql.NullString `json:"uuid" db:"uuid"`
ScalingPolicy sql.NullString `json:"scaling_policy" db:"scaling_policy"`
Budget sql.NullString `json:"budget" db:"budget"`
OwnerRoleType sql.NullString `json:"owner_role_type" db:"owner_role_type"`
}
type WarehouseMeteringHistory ¶ added in v0.6.0
type WarehouseMeteringHistory struct {
StartTime sql.NullTime `json:"START_TIME"`
EndTime sql.NullTime `json:"END_TIME"`
WarehouseName sql.NullString `json:"WAREHOUSE_NAME"`
WarehouseId sql.NullString `json:"WAREHOUSE_Id"`
CreditsUsed sql.NullString `json:"CREDITS_USED"`
CreditsUsedCompute sql.NullString `json:"CREDITS_USED_COMPUTE"`
CreditsUsedCloudServices sql.NullString `json:"CREDITS_USED_CLOUD_SERVICES"`
}
Source Files
¶
- common_columns.go
- connect.go
- connection_config.go
- plugin.go
- table_snowflake_account_grant.go
- table_snowflake_account_parameter.go
- table_snowflake_database.go
- table_snowflake_database_grant.go
- table_snowflake_login_history.go
- table_snowflake_network_policy.go
- table_snowflake_resource_monitor.go
- table_snowflake_role.go
- table_snowflake_role_grant.go
- table_snowflake_schemata.go
- table_snowflake_session.go
- table_snowflake_session_policy.go
- table_snowflake_user.go
- table_snowflake_user_grant.go
- table_snowflake_view.go
- table_snowflake_view_grant.go
- table_snowflake_warehouse.go
- table_snowflake_warehouse_metering_history.go
- utils.go