The SIF Command Line Interface (sif-cli) is an open-source tool that empowers you to interact with SIF components through commands in your command-line shell. With minimal configuration, sif-cli
simplifies many of the complexities associated with managing SIF. Additionally, it incorporates various functionalities to ensure compatibility between your deployed version and the latest release of SIF.
Refer to the SIF Repository for a detailed walkthrough.
$ npm install -g @sif/cli
$ sif COMMAND
running command...
$ sif (--version)
@sif/cli/1.0.0 darwin-x64 node-v18.18.2
$ sif --help [COMMAND]
USAGE
$ sif COMMAND
...
sif core build
sif core clone
sif core releases
sif core switch
sif core version
sif environment configure
sif environment delete
sif environment install
sif environment list
sif environment upgrade
sif environment version
sif help [COMMANDS]
sif init
sif instance auth
sif instance configure
sif instance delete
sif instance insomnia
sif instance install
sif instance list
sif instance postman
sif instance start
sif instance upgrade
sif plugins
sif plugins:install PLUGIN...
sif plugins:inspect PLUGIN...
sif plugins:install PLUGIN...
sif plugins:link PLUGIN
sif plugins:uninstall PLUGIN...
sif plugins reset
sif plugins:uninstall PLUGIN...
sif plugins:uninstall PLUGIN...
sif plugins update
Performs incremental build of all SIF modules
USAGE
$ sif core build
DESCRIPTION
Performs incremental build of all SIF modules
EXAMPLES
$ sif core build
See code: src/commands/core/build.ts
Clone SIF into current folder
USAGE
$ sif core clone [-r <value>]
FLAGS
-r, --repositoryUrl=<value> Url of sif repository
DESCRIPTION
Clone SIF into current folder
EXAMPLES
$ sif core clone -r https://github.com/aws-solutions-library-samples/guidance-for-aws-sustainability-insights-framework
$ sif core clone
See code: src/commands/core/clone.ts
Listing the existing tags in the SIF repository
USAGE
$ sif core releases
DESCRIPTION
Listing the existing tags in the SIF repository
EXAMPLES
$ sif core releases
See code: src/commands/core/releases.ts
Switch the local SIF repository to the specified RELEASE, BRANCH or COMMIT ID
USAGE
$ sif core switch [-c <value> | [-r <value> | -b <value> | ] | ]
FLAGS
-b, --branch=<value> SIF repository branch
-c, --commitId=<value> SIF revision commit hash
-r, --release=<value> SIF release version
DESCRIPTION
Switch the local SIF repository to the specified RELEASE, BRANCH or COMMIT ID
EXAMPLES
$ sif core switch -b main
$ sif core switch -c ead2b1d
$ sif core switch -r v1.7.1
$ sif core switch -r LATEST
See code: src/commands/core/switch.ts
Print the release tag currently checked out. If there is no release tag, show the branch and commit id
USAGE
$ sif core version
DESCRIPTION
Print the release tag currently checked out. If there is no release tag, show the branch and commit id
EXAMPLES
$ sif core version
See code: src/commands/core/version.ts
Modify SIF configuration for the specified environment
USAGE
$ sif environment configure -e <value> [-r <value>] [-l <value>] [-h -c <value>]
FLAGS
-c, --config=<value> Path to configuration file used for deployment
-e, --environment=<value> (required) An environment represents an isolated deployment of tenantId(s)
-h, --headless If provided, you also need to specify the path configuration file using -c
-l, --role=<value> The RoleArn for the CLI to assume for deployment
-r, --region=<value> AWS region used when running the subcommands
DESCRIPTION
Modify SIF configuration for the specified environment
EXAMPLES
$ sif environment configure -e stage
$ sif environment configure -e stage -h -c <PATH_TO_CONFIG_FILE>
See code: src/commands/environment/configure.ts
Delete SIF environment
USAGE
$ sif environment delete -e <value> [-r <value>] [-l <value>] [-f]
FLAGS
-e, --environment=<value> (required) An environment represents an isolated deployment of tenantId(s)
-f, --force If specified, will also delete all tenants on the environment
-l, --role=<value> The RoleArn for the CLI to assume for deployment
-r, --region=<value> AWS region used when running the subcommands
DESCRIPTION
Delete SIF environment
EXAMPLES
$ sif environment delete -e stage
$ sif environment delete -e stage --force
See code: src/commands/environment/delete.ts
Install SIF for the specified environment
USAGE
$ sif environment install -e <value> [-r <value>] [-l <value>] [-h -c <value>]
FLAGS
-c, --config=<value> Path to configuration file used for environment upgrade
-e, --environment=<value> (required) An environment represents an isolated deployment of tenantId(s)
-h, --headless Perform SIF environment upgrade in headless mode, if specified you also need to specify the
configuration file
-l, --role=<value> The RoleArn for the CLI to assume for deployment
-r, --region=<value> AWS region used when running the subcommands
DESCRIPTION
Install SIF for the specified environment
EXAMPLES
$ sif environment install -e stage
$ sif environment install -e stage -h -c <PATH_TO_CONFIG_FILE>
See code: src/commands/environment/install.ts
List SIF installed environments
USAGE
$ sif environment list
DESCRIPTION
List SIF installed environments
EXAMPLES
$ sif environment list
See code: src/commands/environment/list.ts
Perform upgrade of SIF environment version
USAGE
$ sif environment upgrade -e <value> [-r <value>] [-l <value>] [-u <value>] [-h -c <value>]
FLAGS
-c, --config=<value> Path to configuration file used for environment upgrade
-e, --environment=<value> (required) An environment represents an isolated deployment of tenantId(s)
-h, --headless Perform SIF environment upgrade in headless mode, if specified you also need to specify
the configuration file
-l, --role=<value> The RoleArn for the CLI to assume for deployment
-r, --region=<value> AWS region used when running the subcommands
-u, --upgradeTenants=<value> Upgrade all tenants to match the local version
DESCRIPTION
Perform upgrade of SIF environment version
EXAMPLES
$ sif environment upgrade -e stage
$ sif environment upgrade -e stage -h -c <PATH_TO_CONFIG_FILE>
See code: src/commands/environment/upgrade.ts
Return the version of deployed environment
USAGE
$ sif environment version -e <value> [-r <value>] [-l <value>]
FLAGS
-e, --environment=<value> (required) An environment represents an isolated deployment of tenantId(s)
-l, --role=<value> The RoleArn for the CLI to assume for deployment
-r, --region=<value> AWS region used when running the subcommands
DESCRIPTION
Return the version of deployed environment
EXAMPLES
$ sif environment version -e stage
See code: src/commands/environment/version.ts
Display help for sif.
USAGE
$ sif help [COMMANDS] [-n]
ARGUMENTS
COMMANDS Command to show help for.
FLAGS
-n, --nested-commands Include all nested commands in the output.
DESCRIPTION
Display help for sif.
See code: @oclif/plugin-help
Install SIF dependencies
USAGE
$ sif init [-p <value>]
FLAGS
-p, --projectPath=<value> path of the sif core project to be used when you are not directly cloning
DESCRIPTION
Install SIF dependencies
EXAMPLES
$ sif init
See code: src/commands/init/index.ts
Walks the user through the authentication process to get a JWT token to be used for API calls.
USAGE
$ sif instance auth -e <value> -t <value> -u <value> -p <value> [-r <value>] [-l <value>] [-n <value>]
FLAGS
-e, --environment=<value> (required) The environment to authenticate against
-l, --role=<value> The RoleArn for the CLI to assume for deployment
-n, --newPassword=<value> The new password to be set for the user
-p, --password=<value> (required) The password of the user
-r, --region=<value> AWS region used when running the subcommands
-t, --tenantId=<value> (required) The id of the tenant to authenticate against
-u, --username=<value> (required) The username to generate the token for
DESCRIPTION
Walks the user through the authentication process to get a JWT token to be used for API calls.
EXAMPLES
$ sif instance auth -t demo -e prod -r us-west-2 -u username -p password
$ sif instance auth -t demo -e prod -r us-west-2 -u username -p password -n newPassword
See code: src/commands/instance/auth.ts
Redeploys the same instance version.
USAGE
$ sif instance configure -e <value> -t <value> [-r <value>] [-l <value>] [-h -c <value>]
FLAGS
-c, --config=<value> Path to configuration file used for deployment
-e, --environment=<value> (required) The environment to redeploy the same instance version to
-h, --headless If provided, bypass the questions. You will also need to specify the path configuration
file using -c
-l, --role=<value> The RoleArn for the CLI to assume for deployment
-r, --region=<value> AWS region used when running the subcommands
-t, --tenantId=<value> (required) The id of the tenant to redeploy
DESCRIPTION
Redeploys the same instance version.
EXAMPLES
$ sif instance configure -t demo -e prod -r us-west-2
See code: src/commands/instance/configure.ts
Delete the sif tenant.
USAGE
$ sif instance delete -e <value> -t <value> [-r <value>] [-l <value>]
FLAGS
-e, --environment=<value> (required) The environment to delete the tenant from
-l, --role=<value> The RoleArn for the CLI to assume for deployment
-r, --region=<value> AWS region used when running the subcommands
-t, --tenantId=<value> (required) The id of the tenant to delete
DESCRIPTION
Delete the sif tenant.
See code: src/commands/instance/delete.ts
Walks the user through the process to generate the insomnia environment file.
USAGE
$ sif instance insomnia -e <value> -t <value> [-r <value>] [-l <value>]
FLAGS
-e, --environment=<value> (required) The environment used to generate the insomnia environment file
-l, --role=<value> The RoleArn for the CLI to assume for deployment
-r, --region=<value> AWS region used when running the subcommands
-t, --tenantId=<value> (required) The id of the tenant used to generate the insomnia environment file
DESCRIPTION
Walks the user through the process to generate the insomnia environment file.
See code: src/commands/instance/insomnia.ts
Walks the user through an interactive list of questions needed to deploy sif core.
USAGE
$ sif instance install -e <value> -t <value> [-r <value>] [-l <value>] [-h -c <value>]
FLAGS
-c, --config=<value> Path to configuration file used for deployment
-e, --environment=<value> (required) The environment to deploy the tenant to
-h, --headless If provided, bypass the questions. You will also need to specify the path configuration
file using -c
-l, --role=<value> The RoleArn for the CLI to assume for deployment
-r, --region=<value> AWS region used when running the subcommands
-t, --tenantId=<value> (required) The id of the tenant to deploy
DESCRIPTION
Walks the user through an interactive list of questions needed to deploy sif core.
EXAMPLES
$ sif instance install -t demo -e prod -r us-west-2
See code: src/commands/instance/install.ts
Lists all deployed tenants within a specific environment
USAGE
$ sif instance list -e <value> [-r <value>]
FLAGS
-e, --environment=<value> (required) An environment represents an isolated deployment of tenantId(s)
-r, --region=<value> Region used for listing of sif tenants
DESCRIPTION
Lists all deployed tenants within a specific environment
EXAMPLES
$ sif instance list -t demo -e prod -r us-west-2 -a 1234567
See code: src/commands/instance/list.ts
Walks the user through the process to generate the postman environment file.
USAGE
$ sif instance postman -e <value> -t <value> [-r <value>] [-l <value>]
FLAGS
-e, --environment=<value> (required) The environment used to generate the postman environment file
-l, --role=<value> The RoleArn for the CLI to assume for deployment
-r, --region=<value> AWS region used when running the subcommands
-t, --tenantId=<value> (required) The tenantId used to generate the postman environment file
DESCRIPTION
Walks the user through the process to generate the postman environment file.
EXAMPLES
$ sif instance postman -t demo -e prod -r us-west-2 -a 1234567
See code: src/commands/instance/postman.ts
Run the selected SIF module locally
USAGE
$ sif instance start -e <value> -t <value> -m <value> [-r <value>] [-l <value>]
FLAGS
-e, --environment=<value> (required) SIF environment to use for starting the module
-l, --role=<value> The RoleArn for the CLI to assume for deployment
-m, --module=<value> (required) SIF module to run
-r, --region=<value> AWS region used when running the subcommands
-t, --tenantId=<value> (required) SIF tenantId to use for starting the module
DESCRIPTION
Run the selected SIF module locally
EXAMPLES
$ sif instance start -m pipelines
See code: src/commands/instance/start.ts
Perform upgrade of SIF instance version
USAGE
$ sif instance upgrade -e <value> -t <value> [-r <value>] [-l <value>] [-h -c <value>]
FLAGS
-c, --config=<value> Path to configuration file used for upgrade
-e, --environment=<value> (required) The environment to upgrade the tenant for
-h, --headless If provided, bypass the questions. You will also need to specify the path configuration
file using -c
-l, --role=<value> The RoleArn for the CLI to assume for deployment
-r, --region=<value> AWS region used when running the subcommands
-t, --tenantId=<value> (required) The id of the tenant to upgrade
DESCRIPTION
Perform upgrade of SIF instance version
EXAMPLES
$ sif instance upgrade -t demo -e prod -r us-west-2 -a 1234567
See code: src/commands/instance/upgrade.ts
List installed plugins.
USAGE
$ sif plugins [--json] [--core]
FLAGS
--core Show core plugins.
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
List installed plugins.
EXAMPLES
$ sif plugins
See code: @oclif/plugin-plugins
Installs a plugin into the CLI.
USAGE
$ sif plugins:install PLUGIN...
ARGUMENTS
PLUGIN Plugin to install.
FLAGS
-f, --force Run yarn install with force flag.
-h, --help Show CLI help.
-s, --silent Silences yarn output.
-v, --verbose Show verbose yarn output.
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
Installs a plugin into the CLI.
Can be installed from npm or a git url.
Installation of a user-installed plugin will override a core plugin.
e.g. If you have a core plugin that has a 'hello' command, installing a user-installed plugin with a 'hello' command
will override the core plugin implementation. This is useful if a user needs to update core plugin functionality in
the CLI without the need to patch and update the whole CLI.
ALIASES
$ sif plugins add
EXAMPLES
$ sif plugins add myplugin
$ sif plugins add https://github.com/someuser/someplugin
$ sif plugins add someuser/someplugin
Displays installation properties of a plugin.
USAGE
$ sif plugins:inspect PLUGIN...
ARGUMENTS
PLUGIN [default: .] Plugin to inspect.
FLAGS
-h, --help Show CLI help.
-v, --verbose
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
Displays installation properties of a plugin.
EXAMPLES
$ sif plugins inspect myplugin
See code: @oclif/plugin-plugins
Installs a plugin into the CLI.
USAGE
$ sif plugins:install PLUGIN...
ARGUMENTS
PLUGIN Plugin to install.
FLAGS
-f, --force Run yarn install with force flag.
-h, --help Show CLI help.
-s, --silent Silences yarn output.
-v, --verbose Show verbose yarn output.
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
Installs a plugin into the CLI.
Can be installed from npm or a git url.
Installation of a user-installed plugin will override a core plugin.
e.g. If you have a core plugin that has a 'hello' command, installing a user-installed plugin with a 'hello' command
will override the core plugin implementation. This is useful if a user needs to update core plugin functionality in
the CLI without the need to patch and update the whole CLI.
ALIASES
$ sif plugins add
EXAMPLES
$ sif plugins install myplugin
$ sif plugins install https://github.com/someuser/someplugin
$ sif plugins install someuser/someplugin
See code: @oclif/plugin-plugins
Links a plugin into the CLI for development.
USAGE
$ sif plugins:link PLUGIN
ARGUMENTS
PATH [default: .] path to plugin
FLAGS
-h, --help Show CLI help.
-v, --verbose
--[no-]install Install dependencies after linking the plugin.
DESCRIPTION
Links a plugin into the CLI for development.
Installation of a linked plugin will override a user-installed or core plugin.
e.g. If you have a user-installed or core plugin that has a 'hello' command, installing a linked plugin with a 'hello'
command will override the user-installed or core plugin implementation. This is useful for development work.
EXAMPLES
$ sif plugins link myplugin
See code: @oclif/plugin-plugins
Removes a plugin from the CLI.
USAGE
$ sif plugins:uninstall PLUGIN...
ARGUMENTS
PLUGIN plugin to uninstall
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Removes a plugin from the CLI.
ALIASES
$ sif plugins unlink
$ sif plugins remove
EXAMPLES
$ sif plugins remove myplugin
Remove all user-installed and linked plugins.
USAGE
$ sif plugins reset
See code: @oclif/plugin-plugins
Removes a plugin from the CLI.
USAGE
$ sif plugins:uninstall PLUGIN...
ARGUMENTS
PLUGIN plugin to uninstall
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Removes a plugin from the CLI.
ALIASES
$ sif plugins unlink
$ sif plugins remove
EXAMPLES
$ sif plugins uninstall myplugin
See code: @oclif/plugin-plugins
Removes a plugin from the CLI.
USAGE
$ sif plugins:uninstall PLUGIN...
ARGUMENTS
PLUGIN plugin to uninstall
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Removes a plugin from the CLI.
ALIASES
$ sif plugins unlink
$ sif plugins remove
EXAMPLES
$ sif plugins unlink myplugin
Update installed plugins.
USAGE
$ sif plugins update [-h] [-v]
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Update installed plugins.
See code: @oclif/plugin-plugins