snow app setup

Initializes a snowflake.yml for a Snowflake App Runtime project. Creates a snowflake.yml file in the current directory with a snowflake-app entity preconfigured from account parameters and the current connection. This command does not apply to Snowflake Native Apps projects.

Syntax

snow app setup
  --app-name <app_name>
  --dry-run
  --compute-pool <compute_pool>
  --build-eai <build_eai>
  --connection <connection>
  --host <host>
  --port <port>
  --account <account>
  --user <user>
  --password <password>
  --authenticator <authenticator>
  --workload-identity-provider <workload_identity_provider>
  --private-key-file <private_key_file>
  --token <token>
  --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>
  --format <format>
  --verbose
  --debug
  --silent
  --enhanced-exit-codes

Arguments

None

Options

--app-name TEXT

Name of the Snowflake App Runtime application to initialize. Defaults to the current directory name.

--dry-run

Only print the resolved configuration values without writing snowflake.yml. Default: False.

--compute-pool TEXT

Compute pool for building and running the app.

--build-eai TEXT

External access integration used during the app build.

--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.

--workload-identity-provider TEXT

Workload identity provider (AWS, AZURE, GCP, OIDC). 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 TEXT

OAuth token to use when connecting to Snowflake.

--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.

--diag-allowlist-path TEXT

Path to a JSON file that contains allowlist parameters.

--format [TABLE|JSON|JSON_EXT|CSV]

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

The snow app setup command bootstraps a new Snowflake App Runtime project by generating a snowflake.yml file that contains a snowflake-app entity and the default deployment details based on the defaults set by your administrator. After the file exists, edit snowflake.yml as needed, then run snow app deploy to ship your changes.

For a concrete snowflake.yml example after setup, see Getting started with Snowflake App Runtime. For entity keys, identifiers, mixins, and other patterns the CLI applies to project files, see Specify entities.

Examples

Initialize snowflake.yml for a Snowflake App Runtime project in the current directory:

snow app setup

After running the command, edit snowflake.yml to configure your app, then deploy it:

snow app deploy

Show the resolved configuration without writing snowflake.yml:

snow app setup --dry-run