snow app version drop¶
Drops a version defined in your application package. Versions can either be passed in as an argument to the command or read from the manifest.yml
file. Dropping patches is not allowed.
Syntax¶
snow app version drop
<version>
--interactive / --no-interactive
--force
--package-entity-id <package_entity_id>
--app-entity-id <app_entity_id>
--project <project_definition>
--env <env_overrides>
--connection <connection>
--host <host>
--port <port>
--account <account>
--user <user>
--password <password>
--authenticator <authenticator>
--private-key-file <private_key_file>
--token-file-path <token_file_path>
--database <database>
--schema <schema>
--role <role>
--warehouse <warehouse>
--temporary-connection
--mfa-passcode <mfa_passcode>
--enable-diag
--diag-log-path <diag_log_path>
--diag-allowlist-path <diag_allowlist_path>
--oauth-client-id <oauth_client_id>
--oauth-client-secret <oauth_client_secret>
--oauth-authorization-url <oauth_authorization_url>
--oauth-token-request-url <oauth_token_request_url>
--oauth-redirect-uri <oauth_redirect_uri>
--oauth-scope <oauth_scope>
--oauth-disable-pkce
--oauth-enable-refresh-tokens
--oauth-enable-single-use-refresh-tokens
--client-store-temporary-credential
--format <format>
--verbose
--debug
--silent
--enhanced-exit-codes
Arguments¶
version
Version defined in an application package that you want to drop. Defaults to the version specified in the
manifest.yml
file.
Options¶
--interactive / --no-interactive
When enabled, this option displays prompts even if the standard input and output are not terminal devices. Defaults to True in an interactive shell environment, and False otherwise.
--force
When enabled, this option causes the command to implicitly approve any prompts that arise. You should enable this option if interactive mode is not specified and if you want perform potentially destructive actions. Defaults to unset. Default: False.
--package-entity-id TEXT
The ID of the package entity on which to operate when the definition_version is 2 or higher.
--app-entity-id TEXT
The ID of the application entity on which to operate when the definition_version is 2 or higher.
-p, --project TEXT
Path where the Snowflake project is stored. Defaults to the current working directory.
--env TEXT
String in the format key=value. Overrides variables from the env section used for templates. Default: [].
--connection, -c, --environment TEXT
Name of the connection, as defined in your
config.toml
file. Default:default
.--host TEXT
Host address for the connection. Overrides the value specified for the connection.
--port INTEGER
Port for the connection. Overrides the value specified for the connection.
--account, --accountname TEXT
Name assigned to your Snowflake account. Overrides the value specified for the connection.
--user, --username TEXT
Username to connect to Snowflake. Overrides the value specified for the connection.
--password TEXT
Snowflake password. Overrides the value specified for the connection.
--authenticator TEXT
Snowflake authenticator. Overrides the value specified for the connection.
--private-key-file, --private-key-path TEXT
Snowflake private key file path. Overrides the value specified for the connection.
--token-file-path TEXT
Path to file with an OAuth token to use when connecting to Snowflake.
--database, --dbname TEXT
Database to use. Overrides the value specified for the connection.
--schema, --schemaname TEXT
Database schema to use. Overrides the value specified for the connection.
--role, --rolename TEXT
Role to use. Overrides the value specified for the connection.
--warehouse TEXT
Warehouse to use. Overrides the value specified for the connection.
--temporary-connection, -x
Uses a connection defined with command line parameters, instead of one defined in config. Default: False.
--mfa-passcode TEXT
Token to use for multi-factor authentication (MFA).
--enable-diag
Whether to generate a connection diagnostic report. Default: False.
--diag-log-path TEXT
Path for the generated report. Defaults to system temporary directory. Default: <system_temporary_directory>.
--diag-allowlist-path TEXT
Path to a JSON file that contains allowlist parameters.
--oauth-client-id TEXT
Value of client id provided by the Identity Provider for Snowflake integration.
--oauth-client-secret TEXT
Value of the client secret provided by the Identity Provider for Snowflake integration.
--oauth-authorization-url TEXT
Identity Provider endpoint supplying the authorization code to the driver.
--oauth-token-request-url TEXT
Identity Provider endpoint supplying the access tokens to the driver.
--oauth-redirect-uri TEXT
URI to use for authorization code redirection.
--oauth-scope TEXT
Scope requested in the Identity Provider authorization request.
--oauth-disable-pkce
Disables Proof Key for Code Exchange (PKCE). Default:
False
.--oauth-enable-refresh-tokens
Enables a silent re-authentication when the actual access token becomes outdated. Default:
False
.--oauth-enable-single-use-refresh-tokens
Whether to opt-in to single-use refresh token semantics. Default:
False
.--client-store-temporary-credential
Store the temporary credential.
--format [TABLE|JSON]
Specifies the output format. Default: TABLE.
--verbose, -v
Displays log entries for log levels
info
and higher. Default: False.--debug
Displays log entries for log levels
debug
and higher; debug logs contain additional information. Default: False.--silent
Turns off intermediate output to console. Default: False.
--enhanced-exit-codes
Differentiate exit error codes based on failure type. Default: False.
--help
Displays the help text for this command.
Usage notes¶
Note
This command does not accept a role or warehouse overrides to your config.toml
file. Please add them to the native app definition in the snowflake.yml
or snowflake.local.yml
instead.
The command warns you if the application package you are working with has a different value for distribution than is set in your resolved project definition, but continues execution.
If you do not provide a version, the command uses the version specified in the
manifest.yml
file. If the version is not present in themanifest.yml
file, the command throws an error.If you want to drop a version that is referenced by a release directive, you must first set that release directive to a different version and then run this command.
Because this action is destructive, the command prompts you to confirm dropping the version before it proceeds. Use
--force
option to bypass the prompt and drop the version.
Examples¶
These examples assume you have valid snowflake.yml
or snowflake.local.yml
project definition file(s).
If you want to drop an existing version V1 from your application package, use the following command:
snow app version drop V1 --connection="dev"
If you want to drop the version and invoke the interactive mode, use the following command:
snow app version drop V1 --interactive --connection="dev"
If you want to drop the version and bypass the interactive mode even if you are in an interactive shell, use the following command:
snow app version drop V1 --force --connection="dev"