Documentation
¶
Overview ¶
role_name_generator provides role name generation with uniqueness guarantees for Snowflake account roles, database roles, and application roles.
It lazily loads existing roles from Snowflake per scope, caches them in memory, and generates unique names by appending hex postfixes when collisions occur. The generator is safe for concurrent use.
Index ¶
- Constants
- Variables
- func CheckSFLimitExceeded(query string, size int) error
- func ConnectToSnowflake(params map[string]string, role string) (*sql.DB, string, error)
- func DataObjectTypeOrder() []string
- func DataObjectTypes() []*ds.DataObjectType
- func ExecuteSnowflake(ctx context.Context, conn *sql.DB, query string, args ...any) error
- func GetQueryDbEntitiesColumnNames(tag string, includeTag string) []string
- func LoadPrivateKey(pemData []byte, passphrase string) (*rsa.PrivateKey, error)
- func LoadPrivateKeyFromFile(file string, passphrase string) (*rsa.PrivateKey, error)
- func QuerySnowflake(conn *sql.DB, query string, args ...any) (*sql.Rows, error)
- type AccessFromTargetSyncer
- type AccessSyncer
- type AccessToTargetSyncer
- func (s *AccessToTargetSyncer) SyncAccessProviderFiltersToTarget(ctx context.Context, apToRemoveMap map[string]*importer.AccessProvider, ...) error
- func (s *AccessToTargetSyncer) SyncAccessProviderMasksToTarget(apToRemoveMap map[string]*importer.AccessProvider, ...) error
- func (s *AccessToTargetSyncer) SyncAccessProviderRolesToTarget(ctx context.Context, toRemoveAps map[string]*importer.AccessProvider, ...) error
- func (s *AccessToTargetSyncer) SyncAccessProviderSharesToTarget(apToRemoveMap map[string]*importer.AccessProvider, ...) error
- type ApplicationRoleEntity
- type ApplictionEntity
- type ColumnEntity
- type DataSourceSyncer
- type DataUsageSyncer
- type DbEntity
- type DescribePolicyEntity
- type EntityCreator
- type EntityHandler
- type ExtendedDbEntity
- type FilterCriteriaBuilder
- func (f *FilterCriteriaBuilder) EnterExpressionElement(_ context.Context, element base.VisitableElement) error
- func (f *FilterCriteriaBuilder) GetQueryAndArguments() (string, set.Set[string])
- func (f *FilterCriteriaBuilder) LeaveExpressionElement(_ context.Context, element base.VisitableElement)
- func (f *FilterCriteriaBuilder) Literal(_ context.Context, l interface{}) error
- type FunctionEntity
- type GetSnowFlakeAccountNameOptions
- type Grant
- type GrantOfRole
- type GrantSet
- type GrantToRole
- type IdentityStoreSyncer
- type MaskFactory
- type MaskGenerator
- type MaskingBeneficiaries
- type MaskingPolicy
- type MockMaskGenerator
- type MockMaskGenerator_Expecter
- type MockMaskGenerator_Generate_Call
- func (_c *MockMaskGenerator_Generate_Call) Return(_a0 MaskingPolicy, _a1 error) *MockMaskGenerator_Generate_Call
- func (_c *MockMaskGenerator_Generate_Call) Run(...) *MockMaskGenerator_Generate_Call
- func (_c *MockMaskGenerator_Generate_Call) RunAndReturn(run func(string, string, *MaskingBeneficiaries) (MaskingPolicy, error)) *MockMaskGenerator_Generate_Call
- type MockSimpleMaskMethod
- type MockSimpleMaskMethod_Expecter
- type MockSimpleMaskMethod_MaskMethod_Call
- func (_c *MockSimpleMaskMethod_MaskMethod_Call) Return(_a0 string) *MockSimpleMaskMethod_MaskMethod_Call
- func (_c *MockSimpleMaskMethod_MaskMethod_Call) Run(run func(variableName string)) *MockSimpleMaskMethod_MaskMethod_Call
- func (_c *MockSimpleMaskMethod_MaskMethod_Call) RunAndReturn(run func(string) string) *MockSimpleMaskMethod_MaskMethod_Call
- type MockSimpleMaskMethod_SupportedType_Call
- func (_c *MockSimpleMaskMethod_SupportedType_Call) Return(_a0 bool) *MockSimpleMaskMethod_SupportedType_Call
- func (_c *MockSimpleMaskMethod_SupportedType_Call) Run(run func(columnType string)) *MockSimpleMaskMethod_SupportedType_Call
- func (_c *MockSimpleMaskMethod_SupportedType_Call) RunAndReturn(run func(string) bool) *MockSimpleMaskMethod_SupportedType_Call
- type NullString
- type PolicyEntity
- type PolicyReferenceEntity
- type ProcedureEntity
- type QueryDbEntities
- type RoleEntity
- type RoleNameGenerationResultType
- type RoleNameGenerator
- func (g *RoleNameGenerator) GenerateAccountRole(ap *importer.AccessProvider) (string, RoleNameGenerationResultType, error)
- func (g *RoleNameGenerator) GenerateApplicationRole(ap *importer.AccessProvider, application string) (string, RoleNameGenerationResultType, error)
- func (g *RoleNameGenerator) GenerateDatabaseRole(ap *importer.AccessProvider, database string) (string, RoleNameGenerationResultType, error)
- type RoleNameGeneratorRepository
- type SchemaEntity
- type ShareEntity
- type SimpleMaskGenerator
- type SimpleMaskMethod
- type SnowflakeRepository
- func (repo *SnowflakeRepository) Close() error
- func (repo *SnowflakeRepository) CommentAccountRoleIfExists(comment, objectName string) error
- func (repo *SnowflakeRepository) CommentDatabaseRoleIfExists(comment, database, roleName string) error
- func (repo *SnowflakeRepository) CreateAccountRole(roleName string) error
- func (repo *SnowflakeRepository) CreateDatabaseRole(database string, roleName string) error
- func (repo *SnowflakeRepository) CreateMaskPolicy(databaseName string, schema string, maskName string, columnsFullName []string, ...) (err error)
- func (repo *SnowflakeRepository) CreateShare(shareName string) (err error)
- func (repo *SnowflakeRepository) DescribePolicy(policyType, dbName, schema, policyName string) ([]DescribePolicyEntity, error)
- func (repo *SnowflakeRepository) DropAccountRole(roleName string) error
- func (repo *SnowflakeRepository) DropDatabaseRole(database string, roleName string) error
- func (repo *SnowflakeRepository) DropFilter(databaseName string, schema string, tableName string, filterName string) error
- func (repo *SnowflakeRepository) DropMaskingPolicy(databaseName string, schema string, maskName string) (err error)
- func (repo *SnowflakeRepository) DropShare(shareName string) (err error)
- func (repo *SnowflakeRepository) ExecuteGrantOnAccountRole(perm, on, accountRole string, isSystemGrant bool) error
- func (repo *SnowflakeRepository) ExecuteGrantOnDatabaseRole(perm, on, database, databaseRole string) error
- func (repo *SnowflakeRepository) ExecuteGrantOnShare(perm, on, shareName string) error
- func (repo *SnowflakeRepository) ExecuteRevokeOnAccountRole(perm, on, accountRole string, isSystemRevoke bool) error
- func (repo *SnowflakeRepository) ExecuteRevokeOnDatabaseRole(perm, on, database, databaseRole string) error
- func (repo *SnowflakeRepository) ExecuteRevokeOnShare(perm, on, shareName string) error
- func (repo *SnowflakeRepository) GetAccountRoles() ([]RoleEntity, error)
- func (repo *SnowflakeRepository) GetAccountRolesWithPrefix(prefix string) ([]RoleEntity, error)
- func (repo *SnowflakeRepository) GetApplicationRoles(application string) ([]ApplicationRoleEntity, error)
- func (repo *SnowflakeRepository) GetApplications() ([]ApplictionEntity, error)
- func (repo *SnowflakeRepository) GetColumnsInDatabase(databaseName string, handleEntity EntityHandler) error
- func (repo *SnowflakeRepository) GetDataUsage(ctx context.Context, minTime time.Time, maxTime *time.Time, ...) <-chan stream.MaybeError[UsageQueryResult]
- func (repo *SnowflakeRepository) GetDatabaseRoleTags(databaseName string, roleName string) (map[string][]*tag.Tag, error)
- func (repo *SnowflakeRepository) GetDatabaseRoles(database string) ([]RoleEntity, error)
- func (repo *SnowflakeRepository) GetDatabaseRolesWithPrefix(database string, prefix string) ([]RoleEntity, error)
- func (repo *SnowflakeRepository) GetDatabases() ([]DbEntity, error)
- func (repo *SnowflakeRepository) GetDatabasesByKind(kind string) ([]DbEntity, error)
- func (repo *SnowflakeRepository) GetDirectObjectTagValues(tagName, objectName, objectDomain string) ([]string, error)
- func (repo *SnowflakeRepository) GetFunctionsInDatabase(databaseName string, handleEntity EntityHandler) error
- func (repo *SnowflakeRepository) GetFunctionsInSchema(databaseName string, schema string, handleEntity EntityHandler) error
- func (repo *SnowflakeRepository) GetGrantsOfAccountRole(roleName string) ([]GrantOfRole, error)
- func (repo *SnowflakeRepository) GetGrantsOfApplicationRole(application, role string) ([]GrantOfRole, error)
- func (repo *SnowflakeRepository) GetGrantsOfDatabaseRole(database, roleName string) ([]GrantOfRole, error)
- func (repo *SnowflakeRepository) GetGrantsToAccountRole(roleName string) ([]GrantToRole, error)
- func (repo *SnowflakeRepository) GetGrantsToDatabaseRole(database, roleName string) ([]GrantToRole, error)
- func (repo *SnowflakeRepository) GetGrantsToShare(shareName string) ([]GrantToRole, error)
- func (repo *SnowflakeRepository) GetInboundShares() ([]DbEntity, error)
- func (repo *SnowflakeRepository) GetIntegrations() ([]DbEntity, error)
- func (repo *SnowflakeRepository) GetOutboundShares() ([]ShareEntity, error)
- func (repo *SnowflakeRepository) GetPolicies(policy string) ([]PolicyEntity, error)
- func (repo *SnowflakeRepository) GetPoliciesLike(policy string, like string) ([]PolicyEntity, error)
- func (repo *SnowflakeRepository) GetPolicyReferences(dbName, schema, policyName string) ([]PolicyReferenceEntity, error)
- func (repo *SnowflakeRepository) GetProceduresInDatabase(databaseName string, handleEntity EntityHandler) error
- func (repo *SnowflakeRepository) GetProceduresInSchema(databaseName string, schema string, handleEntity EntityHandler) error
- func (repo *SnowflakeRepository) GetSchemasInDatabase(databaseName string, handleEntity EntityHandler) error
- func (repo *SnowflakeRepository) GetSnowFlakeAccountName(ops ...func(options *GetSnowFlakeAccountNameOptions)) (string, error)
- func (repo *SnowflakeRepository) GetTablesInDatabase(databaseName string, schemaName string, handleEntity EntityHandler) error
- func (repo *SnowflakeRepository) GetTagsByDomain(domain string) (map[string][]*tag.Tag, error)
- func (repo *SnowflakeRepository) GetTagsLinkedToDatabaseName(databaseName string) (map[string][]*tag.Tag, error)
- func (repo *SnowflakeRepository) GetUsers() ([]UserEntity, error)
- func (repo *SnowflakeRepository) GetWarehouses() ([]DbEntity, error)
- func (repo *SnowflakeRepository) GrantAccountRolesToAccountRole(ctx context.Context, role string, roles ...string) error
- func (repo *SnowflakeRepository) GrantAccountRolesToApplicationRole(ctx context.Context, application string, applicationRole string, ...) error
- func (repo *SnowflakeRepository) GrantAccountRolesToDatabaseRole(ctx context.Context, database string, databaseRole string, ...) error
- func (repo *SnowflakeRepository) GrantApplicationRolesToApplicationRole(ctx context.Context, application string, applicationRole string, ...) error
- func (repo *SnowflakeRepository) GrantDatabaseRolesToDatabaseRole(ctx context.Context, database string, databaseRole string, ...) error
- func (repo *SnowflakeRepository) GrantSharesToDatabaseRole(ctx context.Context, database string, databaseRole string, shares ...string) error
- func (repo *SnowflakeRepository) GrantUsersToAccountRole(ctx context.Context, role string, users ...string) error
- func (repo *SnowflakeRepository) RenameAccountRole(oldName, newName string) error
- func (repo *SnowflakeRepository) RenameDatabaseRole(database, oldName, newName string) error
- func (repo *SnowflakeRepository) RevokeAccountRolesFromAccountRole(ctx context.Context, accountRole string, accountRoles ...string) error
- func (repo *SnowflakeRepository) RevokeAccountRolesFromApplicationRole(ctx context.Context, application string, applicationRole string, ...) error
- func (repo *SnowflakeRepository) RevokeAccountRolesFromDatabaseRole(ctx context.Context, database string, databaseRole string, ...) error
- func (repo *SnowflakeRepository) RevokeApplicationRolesFromApplicationRole(ctx context.Context, application string, applicationRole string, ...) error
- func (repo *SnowflakeRepository) RevokeDatabaseRolesFromDatabaseRole(ctx context.Context, database string, databaseRole string, ...) error
- func (repo *SnowflakeRepository) RevokeSharesFromDatabaseRole(ctx context.Context, database string, databaseRole string, shares ...string) error
- func (repo *SnowflakeRepository) RevokeUsersFromAccountRole(ctx context.Context, role string, users ...string) error
- func (repo *SnowflakeRepository) SetShareAccounts(shareName string, accounts []string) (err error)
- func (repo *SnowflakeRepository) SetTagOnRole(roleName, tagName, tagValue string, isDatabaseRole bool) error
- func (repo *SnowflakeRepository) TotalQueryTime() time.Duration
- func (repo *SnowflakeRepository) UpdateFilter(databaseName string, schema string, tableName string, filterName string, ...) error
- type TableEntity
- type TagEntity
- type UsageQueryResult
- type UserDetails
- type UserEntity
Constants ¶
const ( SfAccount = "sf-account" SfUser = "sf-user" SfPassword = "sf-password" SfPrivateKey = "sf-private-key" SfPrivateKeyPassphrase = "sf-private-key-passphrase" //nolint:gosec SfRole = "sf-role" SfWarehouse = "sf-warehouse" SfExcludedDatabases = "sf-excluded-databases" SfExcludedSchemas = "sf-excluded-schemas" SfExcludedRoles = "sf-excluded-roles" SfExternalIdentityStoreOwners = "sf-external-identity-store-owners" SfStandardEdition = "sf-standard-edition" SfLinkToExternalIdentityStoreGroups = "sf-link-to-external-identity-store-groups" SfSkipTags = "sf-skip-tags" SfSkipColumns = "sf-skip-columns" SfDataUsageWindow = "sf-data-usage-window" SfDatabaseRoles = "sf-database-roles" SfApplications = "sf-applications" SfDriverDebug = "sf-driver-debug" SfDriverInsecureMode = "sf-driver-insecure-mode" SfIgnoreLinksToRoles = "sf-ignore-links-to-roles" SfUsageBatchSize = "sf-usage-batch-size" SfUsageUserExcludes = "sf-usage-user-excludes" SfWorkerPoolSize = "sf-worker-pool-size" SfRoleOwnerEmailTag = "sf-role-owner-email-tag" SfRoleOwnerNameTag = "sf-role-owner-name-tag" SfRoleOwnerGroupTag = "sf-role-owner-group-tag" SfMaskDecryptFunction = "sf-mask-decrypt-function" SfMaskDecryptColumnTag = "sf-mask-decrypt-column-tag" TagSource = "Snowflake" AccountAdminRole = "ACCOUNTADMIN" GrantTypeDatabaseRole = "DATABASE_ROLE" GrantTypeApplicationRole = "APPLICATION_ROLE" )
const ( NullMaskId = "NULL" SHA256MaskId = "SHA256" EncryptMaskId = "ENCRYPT" )
const AccountAdmin = "ACCOUNTADMIN"
const Application = "application"
const ConnectionStringIdentifier = "Raito_CLI"
const ExternalTable = "external-" + ds.Table
const Function = "function"
const IcebergTable = "iceberg-" + ds.Table
const Integration = "integration"
const MaterializedView = "materialized-" + ds.View
const Procedure = "procedure"
const SfLimit = 10000
const USAGE = "USAGE"
const USAGE_ON_DATABASE = "USAGE on DATABASE"
const USAGE_ON_SCHEMA = "USAGE on SCHEMA"
Variables ¶
var AcceptedTypes = map[string]struct{}{"ACCOUNT": {}, "WAREHOUSE": {}, "DATABASE": {}, "SCHEMA": {}, "TABLE": {}, "VIEW": {}, "COLUMN": {}, "SHARED-DATABASE": {}, "EXTERNAL_TABLE": {}, "MATERIALIZED_VIEW": {}, "FUNCTION": {}, "PROCEDURE": {}, "INTEGRATION": {}}
var Logger hclog.Logger
var RoleNameConstraints = naming_hint.NamingConstraints{ UpperCaseLetters: true, LowerCaseLetters: false, Numbers: true, SpecialCharacters: "_$", MaxLength: 255, }
RoleNameConstraints is based on https://docs.snowflake.com/en/sql-reference/identifiers-syntax.html#identifier-requirements
var RolesNotInternalizable = []string{"ORGADMIN", "ACCOUNTADMIN", "SECURITYADMIN", "USERADMIN", "SYSADMIN", "PUBLIC"}
Functions ¶
func CheckSFLimitExceeded ¶
func ConnectToSnowflake ¶
func DataObjectTypeOrder ¶ added in v0.45.0
func DataObjectTypeOrder() []string
func DataObjectTypes ¶ added in v0.45.0
func DataObjectTypes() []*ds.DataObjectType
func ExecuteSnowflake ¶ added in v0.35.0
func GetQueryDbEntitiesColumnNames ¶ added in v0.11.0
func LoadPrivateKey ¶ added in v0.46.0
func LoadPrivateKey(pemData []byte, passphrase string) (*rsa.PrivateKey, error)
func LoadPrivateKeyFromFile ¶ added in v0.46.0
func LoadPrivateKeyFromFile(file string, passphrase string) (*rsa.PrivateKey, error)
Types ¶
type AccessFromTargetSyncer ¶ added in v0.42.0
type AccessFromTargetSyncer struct {
// contains filtered or unexported fields
}
func NewAccessFromTargetSyncer ¶ added in v0.42.0
func NewAccessFromTargetSyncer(accessSyncer *AccessSyncer, repo dataAccessRepository, accessProviderHandler wrappers.AccessProviderHandler, configMap *config.ConfigMap) *AccessFromTargetSyncer
type AccessSyncer ¶
type AccessSyncer struct {
// contains filtered or unexported fields
}
func NewDataAccessSyncer ¶ added in v0.10.8
func NewDataAccessSyncer(namingConstraints naming_hint.NamingConstraints) *AccessSyncer
func (*AccessSyncer) SyncAccessProviderToTarget ¶ added in v0.35.5
func (s *AccessSyncer) SyncAccessProviderToTarget(ctx context.Context, accessProviders *sync_to_target.AccessProviderImport, accessProviderFeedbackHandler wrappers.AccessProviderFeedbackHandler, configMap *config.ConfigMap) error
func (*AccessSyncer) SyncAccessProvidersFromTarget ¶ added in v0.10.8
func (s *AccessSyncer) SyncAccessProvidersFromTarget(ctx context.Context, accessProviderHandler wrappers.AccessProviderHandler, configMap *config.ConfigMap) error
type AccessToTargetSyncer ¶ added in v0.42.0
type AccessToTargetSyncer struct {
// contains filtered or unexported fields
}
func NewAccessToTargetSyncer ¶ added in v0.42.0
func NewAccessToTargetSyncer(accessSyncer *AccessSyncer, namingConstraints naming_hint.NamingConstraints, repo dataAccessRepository, accessProviders *importer.AccessProviderImport, accessProviderFeedbackHandler wrappers.AccessProviderFeedbackHandler, configMap *config.ConfigMap) *AccessToTargetSyncer
func (*AccessToTargetSyncer) SyncAccessProviderFiltersToTarget ¶ added in v0.42.0
func (s *AccessToTargetSyncer) SyncAccessProviderFiltersToTarget(ctx context.Context, apToRemoveMap map[string]*importer.AccessProvider, apMap map[string]*importer.AccessProvider, roleNameMap map[string]string) error
func (*AccessToTargetSyncer) SyncAccessProviderMasksToTarget ¶ added in v0.42.0
func (s *AccessToTargetSyncer) SyncAccessProviderMasksToTarget(apToRemoveMap map[string]*importer.AccessProvider, apMap map[string]*importer.AccessProvider, roleNameMap map[string]string) error
func (*AccessToTargetSyncer) SyncAccessProviderRolesToTarget ¶ added in v0.42.0
func (s *AccessToTargetSyncer) SyncAccessProviderRolesToTarget(ctx context.Context, toRemoveAps map[string]*importer.AccessProvider, toProcessAps map[string]*importer.AccessProvider) error
func (*AccessToTargetSyncer) SyncAccessProviderSharesToTarget ¶ added in v0.45.0
func (s *AccessToTargetSyncer) SyncAccessProviderSharesToTarget(apToRemoveMap map[string]*importer.AccessProvider, apMap map[string]*importer.AccessProvider) error
type ApplicationRoleEntity ¶ added in v0.47.0
type ApplictionEntity ¶ added in v0.47.0
type ColumnEntity ¶ added in v0.22.0
type DataSourceSyncer ¶
type DataSourceSyncer struct {
SfSyncRole string
// contains filtered or unexported fields
}
func NewDataSourceSyncer ¶ added in v0.10.7
func NewDataSourceSyncer() *DataSourceSyncer
func (*DataSourceSyncer) GetDataSourceMetaData ¶ added in v0.12.0
func (*DataSourceSyncer) SyncDataSource ¶
func (s *DataSourceSyncer) SyncDataSource(ctx context.Context, dataSourceHandler wrappers.DataSourceObjectHandler, config *ds.DataSourceSyncConfig) error
type DataUsageSyncer ¶
type DataUsageSyncer struct {
// contains filtered or unexported fields
}
func NewDataUsageSyncer ¶
func NewDataUsageSyncer() *DataUsageSyncer
func (*DataUsageSyncer) SyncDataUsage ¶
func (s *DataUsageSyncer) SyncDataUsage(ctx context.Context, fileCreator wrappers.DataUsageStatementHandler, configParams *config.ConfigMap) error
type DescribePolicyEntity ¶ added in v0.37.2
type EntityCreator ¶ added in v0.22.0
type EntityCreator func() interface{}
type EntityHandler ¶ added in v0.22.0
type EntityHandler func(entity interface{}) error
type ExtendedDbEntity ¶ added in v0.36.2
type FilterCriteriaBuilder ¶ added in v0.35.0
type FilterCriteriaBuilder struct {
// contains filtered or unexported fields
}
func NewFilterCriteriaBuilder ¶ added in v0.35.0
func NewFilterCriteriaBuilder() *FilterCriteriaBuilder
func (*FilterCriteriaBuilder) EnterExpressionElement ¶ added in v0.35.0
func (f *FilterCriteriaBuilder) EnterExpressionElement(_ context.Context, element base.VisitableElement) error
func (*FilterCriteriaBuilder) GetQueryAndArguments ¶ added in v0.35.0
func (f *FilterCriteriaBuilder) GetQueryAndArguments() (string, set.Set[string])
func (*FilterCriteriaBuilder) LeaveExpressionElement ¶ added in v0.35.0
func (f *FilterCriteriaBuilder) LeaveExpressionElement(_ context.Context, element base.VisitableElement)
type FunctionEntity ¶ added in v0.44.0
type GetSnowFlakeAccountNameOptions ¶ added in v0.45.0
type GetSnowFlakeAccountNameOptions struct {
Delimiter rune
}
type Grant ¶
type Grant struct {
Permissions string
// OnType represents the raito data object type of the targeted object
OnType string
On string
}
func (*Grant) GetGrantOnType ¶ added in v0.24.0
GetGrantOnType returns the type to use in a GRANT query.
func (*Grant) OnWithType ¶ added in v0.45.0
type GrantOfRole ¶ added in v0.11.0
type GrantSet ¶ added in v0.45.0
type GrantSet struct {
// contains filtered or unexported fields
}
func NewGrantSet ¶ added in v0.45.0
func NewGrantSet() GrantSet
type GrantToRole ¶ added in v0.11.0
type IdentityStoreSyncer ¶
type IdentityStoreSyncer struct {
// contains filtered or unexported fields
}
func NewIdentityStoreSyncer ¶ added in v0.10.6
func NewIdentityStoreSyncer() *IdentityStoreSyncer
func (*IdentityStoreSyncer) GetIdentityStoreMetaData ¶ added in v0.12.0
func (*IdentityStoreSyncer) SyncIdentityStore ¶
func (s *IdentityStoreSyncer) SyncIdentityStore(ctx context.Context, identityHandler wrappers.IdentityStoreIdentityHandler, configMap *config.ConfigMap) error
type MaskFactory ¶ added in v0.29.0
type MaskFactory struct {
// contains filtered or unexported fields
}
func NewMaskFactory ¶ added in v0.29.0
func NewMaskFactory(params map[string]string) *MaskFactory
func (*MaskFactory) CreateMask ¶ added in v0.29.0
func (f *MaskFactory) CreateMask(maskName string, columnType string, maskType *string, beneficiaries *MaskingBeneficiaries) (string, MaskingPolicy, error)
func (*MaskFactory) RegisterMaskGenerator ¶ added in v0.29.0
func (f *MaskFactory) RegisterMaskGenerator(maskType string, maskGenerator MaskGenerator)
type MaskGenerator ¶ added in v0.29.0
type MaskGenerator interface {
Generate(maskName string, columnType string, beneficiaries *MaskingBeneficiaries) (MaskingPolicy, error)
}
func EncryptMask ¶ added in v0.43.0
func EncryptMask(decryptFunction string, columnTag string) MaskGenerator
func NullMask ¶ added in v0.29.0
func NullMask() MaskGenerator
func Sha256Mask ¶ added in v0.33.0
func Sha256Mask() MaskGenerator
type MaskingBeneficiaries ¶ added in v0.29.0
type MaskingPolicy ¶ added in v0.29.0
type MaskingPolicy string
type MockMaskGenerator ¶ added in v0.29.0
MockMaskGenerator is an autogenerated mock type for the MaskGenerator type
func NewMockMaskGenerator ¶ added in v0.29.0
func NewMockMaskGenerator(t interface {
mock.TestingT
Cleanup(func())
}) *MockMaskGenerator
NewMockMaskGenerator creates a new instance of MockMaskGenerator. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. The first argument is typically a *testing.T value.
func (*MockMaskGenerator) EXPECT ¶ added in v0.29.0
func (_m *MockMaskGenerator) EXPECT() *MockMaskGenerator_Expecter
func (*MockMaskGenerator) Generate ¶ added in v0.29.0
func (_m *MockMaskGenerator) Generate(maskName string, columnType string, beneficiaries *MaskingBeneficiaries) (MaskingPolicy, error)
Generate provides a mock function with given fields: maskName, columnType, beneficiaries
type MockMaskGenerator_Expecter ¶ added in v0.29.0
type MockMaskGenerator_Expecter struct {
// contains filtered or unexported fields
}
func (*MockMaskGenerator_Expecter) Generate ¶ added in v0.29.0
func (_e *MockMaskGenerator_Expecter) Generate(maskName interface{}, columnType interface{}, beneficiaries interface{}) *MockMaskGenerator_Generate_Call
Generate is a helper method to define mock.On call
- maskName string
- columnType string
- beneficiaries *MaskingBeneficiaries
type MockMaskGenerator_Generate_Call ¶ added in v0.29.0
MockMaskGenerator_Generate_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Generate'
func (*MockMaskGenerator_Generate_Call) Return ¶ added in v0.29.0
func (_c *MockMaskGenerator_Generate_Call) Return(_a0 MaskingPolicy, _a1 error) *MockMaskGenerator_Generate_Call
func (*MockMaskGenerator_Generate_Call) Run ¶ added in v0.29.0
func (_c *MockMaskGenerator_Generate_Call) Run(run func(maskName string, columnType string, beneficiaries *MaskingBeneficiaries)) *MockMaskGenerator_Generate_Call
func (*MockMaskGenerator_Generate_Call) RunAndReturn ¶ added in v0.29.0
func (_c *MockMaskGenerator_Generate_Call) RunAndReturn(run func(string, string, *MaskingBeneficiaries) (MaskingPolicy, error)) *MockMaskGenerator_Generate_Call
type MockSimpleMaskMethod ¶ added in v0.29.0
MockSimpleMaskMethod is an autogenerated mock type for the SimpleMaskMethod type
func NewMockSimpleMaskMethod ¶ added in v0.29.0
func NewMockSimpleMaskMethod(t interface {
mock.TestingT
Cleanup(func())
}) *MockSimpleMaskMethod
NewMockSimpleMaskMethod creates a new instance of MockSimpleMaskMethod. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. The first argument is typically a *testing.T value.
func (*MockSimpleMaskMethod) EXPECT ¶ added in v0.29.0
func (_m *MockSimpleMaskMethod) EXPECT() *MockSimpleMaskMethod_Expecter
func (*MockSimpleMaskMethod) MaskMethod ¶ added in v0.29.0
func (_m *MockSimpleMaskMethod) MaskMethod(variableName string) string
MaskMethod provides a mock function with given fields: variableName
func (*MockSimpleMaskMethod) SupportedType ¶ added in v0.29.0
func (_m *MockSimpleMaskMethod) SupportedType(columnType string) bool
SupportedType provides a mock function with given fields: columnType
type MockSimpleMaskMethod_Expecter ¶ added in v0.29.0
type MockSimpleMaskMethod_Expecter struct {
// contains filtered or unexported fields
}
func (*MockSimpleMaskMethod_Expecter) MaskMethod ¶ added in v0.29.0
func (_e *MockSimpleMaskMethod_Expecter) MaskMethod(variableName interface{}) *MockSimpleMaskMethod_MaskMethod_Call
MaskMethod is a helper method to define mock.On call
- variableName string
func (*MockSimpleMaskMethod_Expecter) SupportedType ¶ added in v0.29.0
func (_e *MockSimpleMaskMethod_Expecter) SupportedType(columnType interface{}) *MockSimpleMaskMethod_SupportedType_Call
SupportedType is a helper method to define mock.On call
- columnType string
type MockSimpleMaskMethod_MaskMethod_Call ¶ added in v0.29.0
MockSimpleMaskMethod_MaskMethod_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'MaskMethod'
func (*MockSimpleMaskMethod_MaskMethod_Call) Return ¶ added in v0.29.0
func (_c *MockSimpleMaskMethod_MaskMethod_Call) Return(_a0 string) *MockSimpleMaskMethod_MaskMethod_Call
func (*MockSimpleMaskMethod_MaskMethod_Call) Run ¶ added in v0.29.0
func (_c *MockSimpleMaskMethod_MaskMethod_Call) Run(run func(variableName string)) *MockSimpleMaskMethod_MaskMethod_Call
func (*MockSimpleMaskMethod_MaskMethod_Call) RunAndReturn ¶ added in v0.29.0
func (_c *MockSimpleMaskMethod_MaskMethod_Call) RunAndReturn(run func(string) string) *MockSimpleMaskMethod_MaskMethod_Call
type MockSimpleMaskMethod_SupportedType_Call ¶ added in v0.29.0
MockSimpleMaskMethod_SupportedType_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'SupportedType'
func (*MockSimpleMaskMethod_SupportedType_Call) Return ¶ added in v0.29.0
func (_c *MockSimpleMaskMethod_SupportedType_Call) Return(_a0 bool) *MockSimpleMaskMethod_SupportedType_Call
func (*MockSimpleMaskMethod_SupportedType_Call) Run ¶ added in v0.29.0
func (_c *MockSimpleMaskMethod_SupportedType_Call) Run(run func(columnType string)) *MockSimpleMaskMethod_SupportedType_Call
func (*MockSimpleMaskMethod_SupportedType_Call) RunAndReturn ¶ added in v0.29.0
func (_c *MockSimpleMaskMethod_SupportedType_Call) RunAndReturn(run func(string) bool) *MockSimpleMaskMethod_SupportedType_Call
type NullString ¶
type NullString sql.NullString
Implementation of Scanner interface for NullString
func (*NullString) Scan ¶
func (nullString *NullString) Scan(value interface{}) error
type PolicyEntity ¶ added in v0.29.0
type PolicyReferenceEntity ¶ added in v0.37.2
type PolicyReferenceEntity struct {
POLICY_DB string `db:"POLICY_DB"`
POLICY_SCHEMA string `db:"POLICY_SCHEMA"`
POLICY_NAME string `db:"POLICY_NAME"`
POLICY_KIND string `db:"POLICY_KIND"`
REF_DATABASE_NAME string `db:"REF_DATABASE_NAME"`
REF_SCHEMA_NAME string `db:"REF_SCHEMA_NAME"`
REF_ENTITY_NAME string `db:"REF_ENTITY_NAME"`
REF_ENTITY_DOMAIN string `db:"REF_ENTITY_DOMAIN"`
REF_COLUMN_NAME NullString `db:"REF_COLUMN_NAME"`
REF_ARG_COLUMN_NAMES NullString `db:"REF_ARG_COLUMN_NAMES"`
TAG_DATABASE NullString `db:"TAG_DATABASE"`
TAG_SCHEMA NullString `db:"TAG_SCHEMA"`
TAG_NAME NullString `db:"TAG_NAME"`
POLICY_STATUS string `db:"POLICY_STATUS"`
}
type ProcedureEntity ¶ added in v0.45.0
type QueryDbEntities ¶
type QueryDbEntities struct {
ExternalId string `db:"QUERY_ID" useColumnName:"true"`
Status string `db:"EXECUTION_STATUS" useColumnName:"true"`
Query string `db:"QUERY_TEXT" useColumnName:"true"`
ErrorMessage NullString `db:"ERROR_MESSAGE" useColumnName:"true"`
DatabaseName NullString `db:"DATABASE_NAME" useColumnName:"true"`
SchemaName NullString `db:"SCHEMA_NAME" useColumnName:"true"`
User string `db:"USER_NAME" useColumnName:"true"`
Role NullString `db:"ROLE_NAME" useColumnName:"true"`
StartTime string `db:"START_TIME" useColumnName:"true"`
EndTime string `db:"END_TIME" useColumnName:"true"`
BytesTranferred int `db:"OUTBOUND_DATA_TRANSFER_BYTES" useColumnName:"true"`
RowsReturned int `db:"EXTERNAL_FUNCTION_TOTAL_SENT_ROWS" useColumnName:"true"`
CloudCreditsUsed float32 `db:"CREDITS_USED_CLOUD_SERVICES" useColumnName:"true"`
AccessId NullString `db:"QID"`
DirectObjectsAccessed *string `db:"DIRECT_OBJECTS_ACCESSED"`
BaseObjectsAccessed *string `db:"BASE_OBJECTS_ACCESSED"`
ObjectsModified *string `db:"OBJECTS_MODIFIED"`
}
Data Usage
func (QueryDbEntities) String ¶
func (entity QueryDbEntities) String() string
type RoleEntity ¶ added in v0.11.0
type RoleEntity struct {
Name string `db:"name"`
AssignedToUsers int `db:"assigned_to_users"`
GrantedToRoles int `db:"granted_to_roles"`
GrantedRoles int `db:"granted_roles"`
Owner string `db:"owner"`
}
Data Access
type RoleNameGenerationResultType ¶ added in v0.48.12
type RoleNameGenerationResultType int
RoleNameGenerationResultType indicates the outcome of a role name generation.
const ( // RoleNameGenerationResultNew indicates a new role name was generated (no prior role existed). RoleNameGenerationResultNew RoleNameGenerationResultType = iota // RoleNameGenerationResultExisting indicates the role already exists with the correct name; no action needed. RoleNameGenerationResultExisting // RoleNameGenerationResultRename indicates the role exists but its name has changed and needs to be renamed. RoleNameGenerationResultRename )
type RoleNameGenerator ¶ added in v0.48.12
type RoleNameGenerator struct {
// contains filtered or unexported fields
}
RoleNameGenerator generates unique role names for Snowflake account, database, and application roles. It lazily loads existing roles from the repository on first access per scope, caches them, and ensures all generated names are unique within their scope by appending hex postfixes when needed. It is safe for concurrent use across multiple goroutines.
func NewRoleNameGenerator ¶ added in v0.48.12
func NewRoleNameGenerator(namingConstraints *naming_hint.NamingConstraints, repository RoleNameGeneratorRepository) (*RoleNameGenerator, error)
NewRoleNameGenerator creates a new RoleNameGenerator with the given naming constraints and repository. The naming constraints control character set, case, max length, and split character for postfixes. Returns an error if the naming constraints are invalid (e.g. no allowed characters).
func (*RoleNameGenerator) GenerateAccountRole ¶ added in v0.48.12
func (g *RoleNameGenerator) GenerateAccountRole(ap *importer.AccessProvider) (string, RoleNameGenerationResultType, error)
GenerateAccountRole generates a unique account-scoped role name for the given access control. If the access control has an actual name (HasActualName) and the base name hasn't changed, it returns the existing name with RoleNameGenerationResultExisting. If the base name changed, it generates a new unique name and returns RoleNameGenerationResultRename. For new roles, it returns RoleNameGenerationResultNew.
func (*RoleNameGenerator) GenerateApplicationRole ¶ added in v0.48.12
func (g *RoleNameGenerator) GenerateApplicationRole(ap *importer.AccessProvider, application string) (string, RoleNameGenerationResultType, error)
GenerateApplicationRole generates a unique application-scoped role name for the given access control. The application parameter specifies which Snowflake application the role belongs to. Roles in different applications are tracked independently and cannot collide.
func (*RoleNameGenerator) GenerateDatabaseRole ¶ added in v0.48.12
func (g *RoleNameGenerator) GenerateDatabaseRole(ap *importer.AccessProvider, database string) (string, RoleNameGenerationResultType, error)
GenerateDatabaseRole generates a unique database-scoped role name for the given access control. The database parameter specifies which Snowflake database the role belongs to. Roles in different databases are tracked independently and cannot collide.
type RoleNameGeneratorRepository ¶ added in v0.48.12
type RoleNameGeneratorRepository interface {
GetAccountRoles() ([]RoleEntity, error)
GetDatabaseRoles(database string) ([]RoleEntity, error)
GetApplicationRoles(application string) ([]ApplicationRoleEntity, error)
}
RoleNameGeneratorRepository provides access to existing Snowflake roles. It is used to load current role names so the generator can avoid collisions and detect renames.
type SchemaEntity ¶ added in v0.22.0
type ShareEntity ¶ added in v0.45.0
type ShareEntity struct {
}
type SimpleMaskGenerator ¶ added in v0.29.0
type SimpleMaskGenerator struct {
SimpleMaskMethod
}
func NewSimpleMaskGenerator ¶ added in v0.29.0
func NewSimpleMaskGenerator(method SimpleMaskMethod) *SimpleMaskGenerator
func (*SimpleMaskGenerator) Generate ¶ added in v0.29.0
func (g *SimpleMaskGenerator) Generate(maskName string, columnType string, beneficiaries *MaskingBeneficiaries) (MaskingPolicy, error)
type SimpleMaskMethod ¶ added in v0.29.0
type SnowflakeRepository ¶
type SnowflakeRepository struct {
// contains filtered or unexported fields
}
func NewSnowflakeRepository ¶
func NewSnowflakeRepository(params map[string]string, role string) (*SnowflakeRepository, error)
func (*SnowflakeRepository) Close ¶
func (repo *SnowflakeRepository) Close() error
func (*SnowflakeRepository) CommentAccountRoleIfExists ¶ added in v0.35.5
func (repo *SnowflakeRepository) CommentAccountRoleIfExists(comment, objectName string) error
func (*SnowflakeRepository) CommentDatabaseRoleIfExists ¶ added in v0.35.5
func (repo *SnowflakeRepository) CommentDatabaseRoleIfExists(comment, database, roleName string) error
func (*SnowflakeRepository) CreateAccountRole ¶ added in v0.35.1
func (repo *SnowflakeRepository) CreateAccountRole(roleName string) error
func (*SnowflakeRepository) CreateDatabaseRole ¶ added in v0.35.5
func (repo *SnowflakeRepository) CreateDatabaseRole(database string, roleName string) error
func (*SnowflakeRepository) CreateMaskPolicy ¶ added in v0.29.0
func (repo *SnowflakeRepository) CreateMaskPolicy(databaseName string, schema string, maskName string, columnsFullName []string, maskType *string, beneficiaries *MaskingBeneficiaries) (err error)
func (*SnowflakeRepository) CreateShare ¶ added in v0.45.0
func (repo *SnowflakeRepository) CreateShare(shareName string) (err error)
func (*SnowflakeRepository) DescribePolicy ¶ added in v0.10.8
func (repo *SnowflakeRepository) DescribePolicy(policyType, dbName, schema, policyName string) ([]DescribePolicyEntity, error)
func (*SnowflakeRepository) DropAccountRole ¶ added in v0.35.1
func (repo *SnowflakeRepository) DropAccountRole(roleName string) error
func (*SnowflakeRepository) DropDatabaseRole ¶ added in v0.35.5
func (repo *SnowflakeRepository) DropDatabaseRole(database string, roleName string) error
func (*SnowflakeRepository) DropFilter ¶ added in v0.35.0
func (*SnowflakeRepository) DropMaskingPolicy ¶ added in v0.29.0
func (repo *SnowflakeRepository) DropMaskingPolicy(databaseName string, schema string, maskName string) (err error)
func (*SnowflakeRepository) DropShare ¶ added in v0.45.0
func (repo *SnowflakeRepository) DropShare(shareName string) (err error)
func (*SnowflakeRepository) ExecuteGrantOnAccountRole ¶ added in v0.35.1
func (repo *SnowflakeRepository) ExecuteGrantOnAccountRole(perm, on, accountRole string, isSystemGrant bool) error
func (*SnowflakeRepository) ExecuteGrantOnDatabaseRole ¶ added in v0.35.5
func (repo *SnowflakeRepository) ExecuteGrantOnDatabaseRole(perm, on, database, databaseRole string) error
func (*SnowflakeRepository) ExecuteGrantOnShare ¶ added in v0.45.0
func (repo *SnowflakeRepository) ExecuteGrantOnShare(perm, on, shareName string) error
func (*SnowflakeRepository) ExecuteRevokeOnAccountRole ¶ added in v0.35.1
func (repo *SnowflakeRepository) ExecuteRevokeOnAccountRole(perm, on, accountRole string, isSystemRevoke bool) error
func (*SnowflakeRepository) ExecuteRevokeOnDatabaseRole ¶ added in v0.35.5
func (repo *SnowflakeRepository) ExecuteRevokeOnDatabaseRole(perm, on, database, databaseRole string) error
func (*SnowflakeRepository) ExecuteRevokeOnShare ¶ added in v0.45.0
func (repo *SnowflakeRepository) ExecuteRevokeOnShare(perm, on, shareName string) error
func (*SnowflakeRepository) GetAccountRoles ¶ added in v0.35.1
func (repo *SnowflakeRepository) GetAccountRoles() ([]RoleEntity, error)
func (*SnowflakeRepository) GetAccountRolesWithPrefix ¶ added in v0.35.1
func (repo *SnowflakeRepository) GetAccountRolesWithPrefix(prefix string) ([]RoleEntity, error)
func (*SnowflakeRepository) GetApplicationRoles ¶ added in v0.47.0
func (repo *SnowflakeRepository) GetApplicationRoles(application string) ([]ApplicationRoleEntity, error)
func (*SnowflakeRepository) GetApplications ¶ added in v0.47.0
func (repo *SnowflakeRepository) GetApplications() ([]ApplictionEntity, error)
func (*SnowflakeRepository) GetColumnsInDatabase ¶ added in v0.22.0
func (repo *SnowflakeRepository) GetColumnsInDatabase(databaseName string, handleEntity EntityHandler) error
func (*SnowflakeRepository) GetDataUsage ¶ added in v0.38.0
func (repo *SnowflakeRepository) GetDataUsage(ctx context.Context, minTime time.Time, maxTime *time.Time, excludedUsers set.Set[string]) <-chan stream.MaybeError[UsageQueryResult]
func (*SnowflakeRepository) GetDatabaseRoleTags ¶ added in v0.37.6
func (*SnowflakeRepository) GetDatabaseRoles ¶ added in v0.35.5
func (repo *SnowflakeRepository) GetDatabaseRoles(database string) ([]RoleEntity, error)
func (*SnowflakeRepository) GetDatabaseRolesWithPrefix ¶ added in v0.35.5
func (repo *SnowflakeRepository) GetDatabaseRolesWithPrefix(database string, prefix string) ([]RoleEntity, error)
func (*SnowflakeRepository) GetDatabases ¶ added in v0.35.5
func (repo *SnowflakeRepository) GetDatabases() ([]DbEntity, error)
func (*SnowflakeRepository) GetDatabasesByKind ¶ added in v0.48.11
func (repo *SnowflakeRepository) GetDatabasesByKind(kind string) ([]DbEntity, error)
func (*SnowflakeRepository) GetDirectObjectTagValues ¶ added in v0.46.0
func (repo *SnowflakeRepository) GetDirectObjectTagValues(tagName, objectName, objectDomain string) ([]string, error)
func (*SnowflakeRepository) GetFunctionsInDatabase ¶ added in v0.44.0
func (repo *SnowflakeRepository) GetFunctionsInDatabase(databaseName string, handleEntity EntityHandler) error
func (*SnowflakeRepository) GetFunctionsInSchema ¶ added in v0.48.11
func (repo *SnowflakeRepository) GetFunctionsInSchema(databaseName string, schema string, handleEntity EntityHandler) error
func (*SnowflakeRepository) GetGrantsOfAccountRole ¶ added in v0.35.1
func (repo *SnowflakeRepository) GetGrantsOfAccountRole(roleName string) ([]GrantOfRole, error)
func (*SnowflakeRepository) GetGrantsOfApplicationRole ¶ added in v0.47.0
func (repo *SnowflakeRepository) GetGrantsOfApplicationRole(application, role string) ([]GrantOfRole, error)
func (*SnowflakeRepository) GetGrantsOfDatabaseRole ¶ added in v0.35.5
func (repo *SnowflakeRepository) GetGrantsOfDatabaseRole(database, roleName string) ([]GrantOfRole, error)
func (*SnowflakeRepository) GetGrantsToAccountRole ¶ added in v0.35.1
func (repo *SnowflakeRepository) GetGrantsToAccountRole(roleName string) ([]GrantToRole, error)
func (*SnowflakeRepository) GetGrantsToDatabaseRole ¶ added in v0.35.5
func (repo *SnowflakeRepository) GetGrantsToDatabaseRole(database, roleName string) ([]GrantToRole, error)
func (*SnowflakeRepository) GetGrantsToShare ¶ added in v0.45.0
func (repo *SnowflakeRepository) GetGrantsToShare(shareName string) ([]GrantToRole, error)
func (*SnowflakeRepository) GetInboundShares ¶ added in v0.45.0
func (repo *SnowflakeRepository) GetInboundShares() ([]DbEntity, error)
func (*SnowflakeRepository) GetIntegrations ¶ added in v0.45.0
func (repo *SnowflakeRepository) GetIntegrations() ([]DbEntity, error)
func (*SnowflakeRepository) GetOutboundShares ¶ added in v0.45.0
func (repo *SnowflakeRepository) GetOutboundShares() ([]ShareEntity, error)
func (*SnowflakeRepository) GetPolicies ¶ added in v0.10.8
func (repo *SnowflakeRepository) GetPolicies(policy string) ([]PolicyEntity, error)
func (*SnowflakeRepository) GetPoliciesLike ¶ added in v0.29.0
func (repo *SnowflakeRepository) GetPoliciesLike(policy string, like string) ([]PolicyEntity, error)
func (*SnowflakeRepository) GetPolicyReferences ¶ added in v0.10.8
func (repo *SnowflakeRepository) GetPolicyReferences(dbName, schema, policyName string) ([]PolicyReferenceEntity, error)
func (*SnowflakeRepository) GetProceduresInDatabase ¶ added in v0.45.0
func (repo *SnowflakeRepository) GetProceduresInDatabase(databaseName string, handleEntity EntityHandler) error
func (*SnowflakeRepository) GetProceduresInSchema ¶ added in v0.48.11
func (repo *SnowflakeRepository) GetProceduresInSchema(databaseName string, schema string, handleEntity EntityHandler) error
func (*SnowflakeRepository) GetSchemasInDatabase ¶ added in v0.14.1
func (repo *SnowflakeRepository) GetSchemasInDatabase(databaseName string, handleEntity EntityHandler) error
func (*SnowflakeRepository) GetSnowFlakeAccountName ¶ added in v0.10.7
func (repo *SnowflakeRepository) GetSnowFlakeAccountName(ops ...func(options *GetSnowFlakeAccountNameOptions)) (string, error)
func (*SnowflakeRepository) GetTablesInDatabase ¶ added in v0.22.0
func (repo *SnowflakeRepository) GetTablesInDatabase(databaseName string, schemaName string, handleEntity EntityHandler) error
func (*SnowflakeRepository) GetTagsByDomain ¶ added in v0.35.5
func (*SnowflakeRepository) GetTagsLinkedToDatabaseName ¶ added in v0.35.5
func (*SnowflakeRepository) GetUsers ¶ added in v0.10.6
func (repo *SnowflakeRepository) GetUsers() ([]UserEntity, error)
func (*SnowflakeRepository) GetWarehouses ¶ added in v0.10.7
func (repo *SnowflakeRepository) GetWarehouses() ([]DbEntity, error)
func (*SnowflakeRepository) GrantAccountRolesToAccountRole ¶ added in v0.35.1
func (*SnowflakeRepository) GrantAccountRolesToApplicationRole ¶ added in v0.47.0
func (*SnowflakeRepository) GrantAccountRolesToDatabaseRole ¶ added in v0.35.5
func (*SnowflakeRepository) GrantApplicationRolesToApplicationRole ¶ added in v0.47.0
func (*SnowflakeRepository) GrantDatabaseRolesToDatabaseRole ¶ added in v0.35.5
func (*SnowflakeRepository) GrantSharesToDatabaseRole ¶ added in v0.45.0
func (*SnowflakeRepository) GrantUsersToAccountRole ¶ added in v0.35.1
func (*SnowflakeRepository) RenameAccountRole ¶ added in v0.35.1
func (repo *SnowflakeRepository) RenameAccountRole(oldName, newName string) error
func (*SnowflakeRepository) RenameDatabaseRole ¶ added in v0.35.5
func (repo *SnowflakeRepository) RenameDatabaseRole(database, oldName, newName string) error
func (*SnowflakeRepository) RevokeAccountRolesFromAccountRole ¶ added in v0.35.1
func (*SnowflakeRepository) RevokeAccountRolesFromApplicationRole ¶ added in v0.47.0
func (*SnowflakeRepository) RevokeAccountRolesFromDatabaseRole ¶ added in v0.35.5
func (*SnowflakeRepository) RevokeApplicationRolesFromApplicationRole ¶ added in v0.47.0
func (*SnowflakeRepository) RevokeDatabaseRolesFromDatabaseRole ¶ added in v0.35.5
func (*SnowflakeRepository) RevokeSharesFromDatabaseRole ¶ added in v0.45.0
func (*SnowflakeRepository) RevokeUsersFromAccountRole ¶ added in v0.35.1
func (*SnowflakeRepository) SetShareAccounts ¶ added in v0.45.0
func (repo *SnowflakeRepository) SetShareAccounts(shareName string, accounts []string) (err error)
func (*SnowflakeRepository) SetTagOnRole ¶ added in v0.46.0
func (repo *SnowflakeRepository) SetTagOnRole(roleName, tagName, tagValue string, isDatabaseRole bool) error
func (*SnowflakeRepository) TotalQueryTime ¶
func (repo *SnowflakeRepository) TotalQueryTime() time.Duration
func (*SnowflakeRepository) UpdateFilter ¶ added in v0.35.0
type TableEntity ¶ added in v0.22.0
type TableEntity struct {
Database string `db:"TABLE_CATALOG"`
Schema string `db:"TABLE_SCHEMA"`
Name string `db:"TABLE_NAME"`
TableType string `db:"TABLE_TYPE"`
Comment *string `db:"COMMENT"`
IsIcebergStr string `db:"IS_ICEBERG"`
}
func (*TableEntity) IsIceberg ¶ added in v0.42.8
func (t *TableEntity) IsIceberg() bool
type TagEntity ¶ added in v0.22.0
type TagEntity struct {
Database *string `db:"OBJECT_DATABASE"`
Schema *string `db:"OBJECT_SCHEMA"`
Name string `db:"OBJECT_NAME"`
Domain string `db:"DOMAIN"`
TagName string `db:"TAG_NAME"`
TagValue string `db:"TAG_VALUE"`
Column *string `db:"COLUMN_NAME"`
}
func (*TagEntity) GetFullName ¶ added in v0.22.0
type UsageQueryResult ¶ added in v0.38.0
type UsageQueryResult struct {
ExternalId string `db:"QUERY_ID" useColumnName:"true"`
Query NullString `db:"QUERY_TEXT" useColumnName:"true"`
DatabaseName NullString `db:"DATABASE_NAME" useColumnName:"true"`
SchemaName NullString `db:"SCHEMA_NAME" useColumnName:"true"`
QueryType NullString `db:"QUERY_TYPE" useColumnName:"true"`
SessionID NullString `db:"SESSION_ID" useColumnName:"true"`
User NullString `db:"USER_NAME" useColumnName:"true"`
Role NullString `db:"ROLE_NAME" useColumnName:"true"`
Status NullString `db:"EXECUTION_STATUS" useColumnName:"true"`
StartTime sql.NullTime `db:"START_TIME" useColumnName:"true"`
EndTime sql.NullTime `db:"END_TIME" useColumnName:"true"`
TotalElapsedTime int64 `db:"TOTAL_ELAPSED_TIME" useColumnName:"true"`
BytesScanned int64 `db:"BYTES_SCANNED" useColumnName:"true"`
BytesWritten int64 `db:"BYTES_WRITTEN" useColumnName:"true"`
BytesWrittenToResult int64 `db:"BYTES_WRITTEN_TO_RESULT" useColumnName:"true"`
RowsProduced sql.NullInt64 `db:"ROWS_PRODUCED" useColumnName:"true"`
RowsInserted int64 `db:"ROWS_INSERTED" useColumnName:"true"`
RowsUpdated int64 `db:"ROWS_UPDATED" useColumnName:"true"`
RowsDeleted int64 `db:"ROWS_DELETED" useColumnName:"true"`
RowsUnloaded int64 `db:"ROWS_UNLOADED" useColumnName:"true"`
CloudCreditsUsed float64 `db:"CREDITS_USED_CLOUD_SERVICES" useColumnName:"true"`
DirectObjectsAccessed NullString `db:"DIRECT_OBJECTS_ACCESSED" useColumnName:"true"`
BaseObjectsAccessed NullString `db:"BASE_OBJECTS_ACCESSED" useColumnName:"true"`
ObjectsModified NullString `db:"OBJECTS_MODIFIED" useColumnName:"true"`
ObjectsModifiedByDdl NullString `db:"OBJECTS_MODIFIED_BY_DDL" useColumnName:"true"`
ParentQueryID NullString `db:"PARENT_QUERY_ID" useColumnName:"true"`
RootQueryID NullString `db:"ROOT_QUERY_ID" useColumnName:"true"`
}
type UserDetails ¶ added in v0.40.1
Source Files
¶
- constants.go
- data_access.go
- data_access_sync_from_target.go
- data_access_sync_to_target.go
- data_source.go
- data_source_meta_data.go
- data_usage.go
- filter_criteria_builder.go
- identity_store.go
- mask_factory.go
- mock_MaskGenerator.go
- mock_SimpleMaskMethod.go
- mock_dataAccessRepository.go
- mock_dataSourceRepository.go
- mock_dataUsageRepository.go
- mock_identityStoreRepository.go
- models.go
- repository.go
- role_name_generator.go
- snowflake.go
- type_mapping.go
- utils.go