> ## Documentation Index
> Fetch the complete documentation index at: https://docs.incredibuild.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Command Line Interface (CLI)

The CLI for Incredibuild Cloud allows you to perform a number of commands such as pausing and deleting, and scaling to the cloud. The CLI tool can be run from any machine that has access to your Coordinator and all machines and URLs mentioned in the [network requirements](/cloud/network-requirements).

<Note>
  Download the latest version of the [CLI tool for windows](https://incredibuild.com/downloads/ibc-cli/windows/ibc-cli-windows.exe) or the [CLI tool for Linux](https://incredibuild.com/downloads/ibc-cli/linux/ibc-cli-linux). For Linux, you can verify the tool using our [MD5](https://incredibuild.com/downloads/ibc-cli/linux/md5sum).
</Note>

When running these commands, you use different commands depending on where you are running the commands from: 

* Running from Windows machine: **ibc-cli-windows.exe**

* Running from Linux machine: **ibc-cli-linux**

## Export Cloud Settings

In order to use the CLI tool to either scale to the cloud, or update your settings, you need to first export a set of valid settings from an existing cloud account:

1. Log in to your cloud account and go to the [Cloud Settings](/cloud/settings).

2. Click **Export** to export a JSON file with your settings.

<img src="https://mintcdn.com/incredibuild-docs-migrated/J_iESDJtkumUEvdP/images/images/Cloud/cloud_cli_export_2.jpeg?fit=max&auto=format&n=J_iESDJtkumUEvdP&q=85&s=a99c68ae65a4612d666a09834e9b80c0" alt="" width="1367" height="942" data-path="images/images/Cloud/cloud_cli_export_2.jpeg" />

## CLI Actions

<Accordion title="Scale to the Cloud">
  This option allows you to scale to the cloud using the command line. It requires an exported set of Cloud Settings, which means you had to have previously scaled to the cloud. For details, see [Exporting Cloud Settings](#Export) below.

  Run the CLI tool from the command line using the following flags after the main command (ibc-cli.exe for windows or ibc-cli-linux), depending on your Cloud Provider and operating system of your Incredibuild Coordinator: 

  1. **AWS**

     Windows:

     ```text theme={null}
     ibc-cli-windows.exe -action=ONBOARD -os=windows -cloudUser=<your IncrediUser name> -cloudPass=<your Incrediuser password> -policy=<path to JSON with cloud settings> -coordMachine=<name or IP of Coordinator machine> -coordPort=<Coordinator port> -coordUser=<Coordinator username> -coordPass=<Coordinator password> -vendor=AWS -certificate=<SSL certificate (optional)> -privateKey=<SSL private key (optional)> -awsRoleARN=<ARN for your AWS role> -awsExternalId=<AWS External ID for your AWS role>
     ```

     Linux:

     ```text theme={null}
     ibc-cli-linux -action=ONBOARD -os=linux -cloudUser=<your IncrediUser name> -cloudPass=<your Incrediuser password> -policy=<path to JSON with cloud settings> -coordMachine=<name or IP of Coordinator machine> -coordPort=<Coordinator port> -vendor=AWS -certificate=<SSL certificate (optional)> -privateKey=<SSL private key (optional)> -awsRoleARN=<ARN for your AWS role> -awsExternalId=<AWS External ID for your AWS role>
     ```

  2. **Azure**

     Windows:

     ```text theme={null}
     ibc-cli-windows.exe -action=ONBOARD -os=windows -cloudUser=<your cloud user> -cloudPass=<your cloud password> -policy=<path to JSON with cloud settings> -coordMachine=<name or IP of Coordinator machine> -coordPort=<Coordinator port> -coordUser=<Coordinator username> -coordPass=<Coordinator password> -vendor=AZURE -certificate=<SSL certificate (optional)> -privateKey=<SSL private key (optional)> -azureTenant=<Azure Tentant ID> -azureAppId=<new Azure AD app ID> -azureSecret=<azure client secret>
     ```

     Linux:

     ```text theme={null}
     ibc-cli-linux -action=ONBOARD -os=linux -cloudUser=<your cloud user> -cloudPass=<your cloud password> -policy=<path to JSON with cloud settings> -coordMachine=<name or IP of Coordinator machine> -coordPort=<Coordinator port> -vendor=AZURE -certificate=<SSL certificate (optional)> -privateKey=<SSL private key (optional)> -azureTenant=<Azure Tentant ID> -azureAppId=<new Azure AD app ID> -azureSecret=<azure client secret>
     ```

  3. **GCP**

     Windows:

     ```text theme={null}
     ibc-cli-windows.exe -action=ONBOARD -os=windows -cloudUser=<your cloud user> -cloudPass=<your cloud password> -policy=<path to JSON with cloud settings> -coordMachine=<name or IP of Coordinator machine> -coordPort=<Coordinator port> -coordUser=<Coordinator username> -coordPass=<Coordinator password> -vendor=GCP-certificate=<SSL certificate (optional)> -privateKey=<SSL private key (optional)> -gcpProject=<GCP project ID> -gcpServiceAccountId=<gcp service account ID> 
     ```

     Linux:

     ```text theme={null}
     ibc-cli-linux -action=ONBOARD -os=linux -cloudUser=<your cloud user> -cloudPass=<your cloud password> -policy=<path to JSON with cloud settings> -coordMachine=<name or IP of Coordinator machine> -coordPort=<Coordinator port> -vendor=GCP-certificate=<SSL certificate (optional)> -privateKey=<SSL private key (optional)> -gcpProject=<GCP project ID> -gcpServiceAccountId=<gcp service account ID> 
     ```
</Accordion>

 

<Accordion title="Modify Cloud Settings">
  If you have more than one Coordinator, this option allows you edit one of their cloud settings and copy those changes to another Coordinator.

  1. On the original Coordinator, edit and export your cloud settings. For details, see below.

  2. Run the CLI tool from the command line using the following flags after the main command (ibc-cli.exe for windows or ibc-cli-linux), depending on the operating system of your Incredibuild Coordinator: 

     Windows:

     ```text theme={null}
     ibc-cli-windows.exe -action=UPDATE -os=windows -cloudUser=<your IncrediUser name> -cloudPass=<your Incrediuser password> -policy=<path to JSON with cloud settings> -coordMachine=<name or IP of Coordinator machine> -coordPort=<Coordinator port> -coordUser=<Coordinator username> -coordPass=<Coordinator password> -certificate=<SSL certificate (optional)> -privateKey=<SSL private key (optional)> 
     ```

     Linux:

     ```text theme={null}
     ibc-cli-linux -action=UPDATE -os=linux -cloudUser=<your IncrediUser name> -cloudPass=<your Incrediuser password> -policy=<path to JSON with cloud settings> -coordMachine=<name or IP of Coordinator machine> -coordPort=<Coordinator port> -certificate=<SSL certificate (optional)> -privateKey=<SSL private key (optional)> 
     ```
</Accordion>

<Accordion title="Pausing and Deleting">
  Run the CLI tool from the command line using the following flags after the main command (ibc-cli.exe for windows or ibc-cli-linux), depending on the operating system of your Incredibuild Coordinator: 

  Windows:

  ```text theme={null}
  ibc-cli-windows.exe -action=PAUSE -os=windows -cloudUser=<your cloud user> -cloudPass=<your cloud password> -coordUser=<Coordinator username> -coordPass=<Coordinator password> -coordMachine=<name or IP of Coordinator machine> -coordPort=<Coordinator port>
  ```

  Linux:

  ```text theme={null}
  ibc-cli-linux -action=PAUSE -os=linux -cloudUser=<your cloud user> -cloudPass=<your cloud password> -coordMachine=<name or IP of Coordinator machine> -coordPort=<Coordinator port> 
  ```
</Accordion>

 

<Accordion title="Deactivating">
  Run the CLI tool from the command line using the following flags after the main command (ibc-cli.exe for windows or ibc-cli-linux), depending on the operating system of your Incredibuild Coordinator: 

  Windows:

  ```text theme={null}
  ibc-cli-windows.exe -action=DEACTIVATE -os=windows -cloudUser=<your cloud user> -cloudPass=<your cloud password> -coordUser=<Coordinator username> -coordPass=<Coordinator password> -coordMachine=<name or IP of Coordinator machine> -coordPort=<Coordinator port>
  ```

  Linux:

  ```text theme={null}
  ibc-cli-linux -action=DEACTIVATE -os=linux -cloudUser=<your cloud user> -cloudPass=<your cloud password> -coordMachine=<name or IP of Coordinator machine> -coordPort=<Coordinator port>
  ```
</Accordion>
