A comprehensive command-line interface for the Informatica Intelligent Cloud Services (IICS) platform REST API v3. Manage assets, users, connections, export/import packages, and more - from your terminal or CI/CD pipelines.
- Full API v3 coverage - objects, connections, schedules, export/import, users, roles, permissions, runtime environments, agents, tags, source control, and more
- Interactive setup - guided profile wizard on first run, or via
iics profile add - Multi-profile configuration - switch between dev/staging/prod orgs with
--profile - Session caching - reuses sessions across invocations (30-min window) to avoid repeated logins
- Automatic session refresh - transparent 401 retry with re-authentication
- Flexible output - human-readable tables (default) or JSON (
--output json) - CI/CD friendly - environment variable overrides,
--yesflag for non-interactive use, JSON output for scripting - Cross-platform - builds for Linux, macOS, and Windows (amd64 & arm64)
Requires Go 1.25 or later.
go install github.com/jbrazda/iics-cli@latestDownload the pre-built binary for your platform from the Releases page.
git clone https://github.com/jbrazda/iics-cli.git
cd iics-cli
make buildiics profile addThe wizard prompts for your username, password, and region, then saves the profile to
~/.iics/config.yaml. You can also set up multiple named profiles:
iics profile add dev
iics profile add prod
iics profile set-default devAlternatively, create the config file manually - see the Configuration section.
# Uses default profile; prompts for password if not in config
iics login
# Use a specific profile
iics login --profile prod
# Override credentials via environment
IICS_USERNAME=user@company.com IICS_PASSWORD=secret iics login# List objects
iics objects list --type MTT
iics objects list # all objects, auto-paginated
iics objects list --type MTT # all mappings, auto-paginated
iics objects list --type MTT --limit 50 # first 50 only
iics objects list --limit 50 --skip 100 # results 101-150
# List objects as JSON
iics objects list --type DTEMPLATE --output json
# List connections
iics connection list
# Get a specific connection
iics connection get --id <connection-id>
# Export assets
iics export create --name "my-export" --ids <asset-id-1>,<asset-id-2>
iics export status --id <job-id>
iics export download --id <job-id> --output export.zip
# Import assets
iics import upload --file export.zip
iics import start --id <job-id>
iics import status --id <job-id>
# List users
iics user list
# Logout
iics logoutdefaultProfile: dev
style:
theme: default # default | minimal | compact | plain
noColor: false # true = disable color permanently (same as --no-color)
profiles:
dev:
name: "Development Org"
region: "USE4"
username: "user@company.com"
password: ""
loginUrl: "https://use4.dm-us.informaticacloud.com/saas/public/core/v3/login"
baseApiUrl: "https://use4.dm-us.informaticacloud.com/saas"
caiUrl: "https://use4-cai.dm-us.informaticacloud.com"
prod:
name: "Production Org"
region: "EMEA"
username: "admin@company.com"
password: ""
loginUrl: "https://dm-em.informaticacloud.com/saas/public/core/v3/login"
baseApiUrl: "https://dm-em.informaticacloud.com/saas"
caiUrl: "https://dm-em-cai.informaticacloud.com"The loginUrl, baseApiUrl, and caiUrl fields are populated automatically after the first
iics login - you do not need to set them manually.
The style section controls table output appearance. Available themes:
| Theme | Description |
|---|---|
default |
Unicode rounded borders, cyan bold headers (TTY only) |
minimal |
No borders, colored bold headers with unicode underline |
compact |
No borders, bold headers, dense layout |
plain |
ASCII borders, no color - used automatically for non-TTY output |
Non-TTY output (piped, redirected) always uses plain regardless of the configured theme.
The NO_COLOR environment variable is also respected.
| Variable | Description |
|---|---|
IICS_PROFILE |
Override default profile |
IICS_USERNAME |
Override profile username |
IICS_PASSWORD |
Override profile password |
IICS_REGION |
Override profile region |
IICS_LOGIN_URL |
Override computed login URL |
IICS_CAI_URL |
Override profile caiUrl |
IICS_OUTPUT |
Override default output format |
Environment variables take precedence over config file values.
| Region | ssLogin Host |
|---|---|
| US, USW1, USE2, USW3, USE4, USW5, USE6 | dm-us.informaticacloud.com |
| USW1-1, USW3-1 | dm1-us.informaticacloud.com |
| USW1-2 | dm2-us.informaticacloud.com |
| CAC1 | dm-na.informaticacloud.com |
| APSE1, APJ | dm-ap.informaticacloud.com |
| APNE1 | dm1-ap.informaticacloud.com |
| EMEA, EMWE1 | dm-em.informaticacloud.com |
| Command | Alias | Subcommands | Description |
|---|---|---|---|
| profile | add, list, delete, set-default, show |
Manage connection profiles | |
| login | Authenticate and cache session | ||
| logout | Invalidate session | ||
| objects | list, dependencies |
List/search assets, find dependencies | |
| lookup | Resolve object IDs, names, and paths | ||
| connection | conn |
list, get, create, update, delete |
Manage connections |
| export | run, start, status, download, create |
Export asset packages | |
| import | imp |
run, upload, start, status, download-log |
Import asset packages |
| publish | start, status, run |
Publish CAI assets to the runtime | |
| unpublish | start, status, run |
Unpublish CAI assets from the runtime | |
| package | expand, create |
Extract or assemble IICS export package files (local, no API) | |
| project | create, update, delete |
Manage projects | |
| folder | create, update, delete |
Manage folders | |
| schedule | list, get, create, update, delete |
Manage schedules | |
| user | list, get, create, update, delete |
Manage users | |
| usergroup | ug |
list, get, create, update, delete |
Manage user groups |
| role | list, get, create, update, delete |
Manage roles | |
| privilege | list |
List available privileges | |
| runtime | rt |
list, get, create, update |
Manage runtime environments |
| agent | list, get, details, start, stop |
Manage Secure Agents | |
| tag | assign, remove |
Assign/remove tags on objects | |
| permission | perm |
get, set, delete |
Manage object-level permissions |
| activitylog | list, get |
Query activity logs for completed jobs | |
| securitylog | auditlog |
list |
Query security audit log |
| metering | get, download |
Query usage and metering data | |
| sourcecontrol | sc |
checkout, checkin, pull, commit |
Source control operations |
| state | fetch, load |
Fetch/load object state snapshots | |
| completion | bash, zsh, fish, powershell |
Generate shell completion scripts |
Keeping completions up to date: After adding or changing any command or flag, regenerate the shell completion scripts by running
make completions. The pre-generated scripts live in thecompletions/directory and must be committed together with the code change.
| Flag | Short | Description |
|---|---|---|
--profile |
-p |
Profile to use (overrides default) |
--output |
-o |
Output format: table (default), json, csv, yaml |
--verbose |
-v |
Enable verbose output |
--no-color |
Disable colored output and force plain table theme |
|
--config |
Config file path (default ~/.iics/config.yaml) |
|
--debug |
Print full HTTP request/response trace to stderr |
- Go 1.25+
- Make
# Build
make build
# Run tests
make test
# Run linter
make lint
# Run all checks
make allmake installCompiles the binary and installs it to $GOPATH/bin (typically ~/go/bin), making iics available system-wide without specifying a path. The build injects the current git tag or commit SHA as the version string via -ldflags, and strips debug symbols (-s -w) to reduce binary size.
See docs/DESIGN.md for the full design document.
See CONTRIBUTING.md for guidelines.
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.