Skip to main content

SOLE Object Group Hierarchy

The Snowflake Object Lifecycle Engine (SOLE) divides all Snowflake objects into four object groups, as follows:

The following image provides an overall view of the Snowflake object hierarchy:

snowflake-object-hierarchy __shadow__

note

The order of these object groups is critical as the lifecycle actions are performed on each object group in sequential order.

Account-Level Objects

This object group refers to all account-level Snowflake objects supported by SOLE, including:

This object group must run at the initial stages of a pipeline in parallel with the database object group. The generated object configuration and import statement files are stored in the account_level directory inside the cache directory, which is accessible to SOLE when executing the APPLY action.

Setting the parameter LIFECYCLE_MANAGE_OBJECT to ACCOUNT_LEVEL instructs SOLE to execute the lifecycle actions on this object group.

Database Objects

This object group's primary aim is to manage the organization's database objects (or databases).

The generated object definition and import statement files are stored in the database directory inside the cache directory. Actions executed on this object group should also occur at the initial stages of a pipeline in parallel with the account-level object group actions.

Setting the parameter LIFECYCLE_MANAGE_OBJECT to DATABASES instructs SOLE to execute the lifecycle actions on this object group.

Database-Level Objects

The database-level object group refers to all database-level Snowflake objects supported by SOLE, including:

The generated object definition and import statement files are stored in the database_level directory inside the cache directory. Actions executed on this object group should occur after performing the APPLY action for both account-level and database objects. This ensures that all referenced account-level objects are already created, and all database-level objects created indirectly (due to a cloned database) are managed effectively.

Setting the parameter LIFECYCLE_MANAGE_OBJECT to DATABASE_LEVEL instructs SOLE to execute the lifecycle actions on this object group.

Grant Objects

This object group encompasses all Snowflake privileges, grants, and Revokes supported by SOLE and for the following objects:

The generated object definition and import statement files are stored in the grants directory inside the cache directory. Actions executed on this object group should occur after performing the APPLY action for both account-level, database, and database-level objects.

Setting the parameter LIFECYCLE_MANAGE_OBJECT to GRANT instructs SOLE to execute the lifecycle actions on this object group.