Overview

The command-line interface (CLI) provides an interface to the suite of RESTful application programming interfaces (APIs) exposed by the platform for managing resources.

Quick Start

Step 1: Initialize Config

$ ica
Creating /Users/me/.ica/config.yaml
Initialize configuration settings [default]
server-url [use1.platform.illumina.com]:
domain [None]: mydomain

Upon launching ica for the first time, the configuration yaml file is created and the default config settings are set. Enter an alternative server URL or press enter to leave it as the default. Then enter your domain and press enter.

After installing the CLI, open a terminal window and enter the ica command. This will initialize a configuration file in the home directory at .ica/config.yaml. By default, the config.yaml file will set the server-url to use1.platform.illumina.com and will prompt you to change the region, if needed. After the region is set, the software will prompt you for your domain. (If you do not know the domain, contact your tenant admin.)

The config.yaml file will then contain the following entries:

server-url: <region>.platform.illumina.com
domain: <domain>

Step 2: Login

$ ica login user@mydomain.com --project-name example-project
Server: use1.platform.illumina.com
Domain: mydomain
Project: example-project
Username: user@mydomain.com
Enter Password:
Successful login into your project context

Login with your username and enter your password in the prompt.

Alternatively, enter the project after logging in:

$ ica projects enter example-project
Context switched to example-project

Step 3. Upload data

Step 1: Retrieve project volume name

$ ica volumes list
ID                                      NAME                                    TIMECREATED                       
vol.9bb82ad83535430a612408d8EXAMPLE     example-project                         2020-09-15 15:45:22.111 -0700 PDT

The destination path for uploading files/folders will include the volume name in the form gds://example-project/.

Step 2: Upload a folder

In this example, a local folder, which exists at ~/myfiles, is uploaded. Choose a local folder that exists on your machine.

$ ls ~/myfiles/
a.txt b.txt
$ ica folders upload ~/myfiles/ gds://example-project/myfiles/
Using: 2 workers to upload 2 files
21:13:09: [1]  Uploading /Users/me/myfiles/a.txt
21:13:09: [0]  Uploading /Users/me/myfiles/b.txt
21:13:09: [0]  Uploaded /Users/me/myfiles/b.txt to gds://example-project/myfiles/ in 863.808004ms
21:13:10: [1]  Uploaded /Users/me/myfiles/a.txt to gds://example-project/myfiles/ in 991.852416ms
Finished uploading 2 files in 993.864563ms
Uploaded 2 files. Session status: Closed. Sync pending.
To query session status, use the following:
ica folders sessions get fol.123 0859447347ec472b845fa39ecf8c0552

Step 3: List files in volume

$ ica files list gds://example-project/myfiles/
ID       URL                                    SIZE (BYTES)    ARCHIVESTATUS     TIMECREATED
fil.a    gds://example-project/myfiles/a.txt    0               None              2020-06-22 21:13:11 -0700 PDT
fil.b    gds://example-project/myfiles/b.txt    0               None              2020-06-22 21:13:11 -0700 PDT

Last updated