Most ICM commands do not result in any output upon success, in which case the exit value will be 0, no output will be written to stderr, and the JSON will be the empty array:
ICM commands that produce useful output on success are detailed in the following. Note that the order of fields is not guaranteed.
icm provision
The format of the icm provision output is an object containing name-value pairs which describe the input (that is, configuration) and output (that is, state) files used during provisioning. The names, which match their corresponding command-line argument, are defaults, definitions, instances, and stateDir, as shown in this example:
# icm provision -json
...
Machine IP Address DNS Name Region Zone
------- ---------- -------- ------ ----
Acme-DATA-TEST-0001 54.191.233.2 ec2-54-191-233-2.amazonaws.com us-east1 b
Acme-DATA-TEST-0002 54.202.223.57 ec2-54-202-223-57.amazonaws.com us-east1 b
Acme-DATA-TEST-0003 54.202.223.58 ec2-54-202-223-58.amazonaws.com us-east1 b
To destroy: icm unprovision [-cleanUp] [-force]
# cat response.json
{
"defaults" : "defaults.json",
"definitions" : "definitions.json",
"instances" : "instances.json",
"stateDir" : "/Samples/AWS/state/"
}
icm inventory
The format of the icm inventory command is an array whose elements correspond to each provisioned instance; each element in turn contains a list of the name-value pairs MachineName, Role, IPAddress, and DNSName, as shown in the following:
# icm inventory -json
Machine IP Address DNS Name Region Zone
------- ---------- -------- ------ ----
Acme-DATA-TEST-0001 54.191.233.2 ec2-54-191-233-2.amazonaws.com us-east1 b
Acme-DATA-TEST-0002 54.202.223.57 ec2-54-202-223-57.amazonaws.com us-east1 b
Acme-DATA-TEST-0003 54.202.223.58 ec2-54-202-223-58.amazonaws.com us-east1 b
# cat response.json
[
{
“Provider”: “AWS”,
"MachineName":"Acme-DATA-TEST-0001",
"Role":"DATA",
"IPAddress":"54.191.233.2",
"DNSName":"54_191_233_2.amazonaws.com",
“Region”: “us-east-1”,
“Zone”: “us-east-1b”
},
{
“Provider”: “AWS”,
"MachineName ":"Acme-DATA-TEST-0002",
"Role":"DATA",
"IPAddress":"54.202.223.57",
"DNSName":"54_202_223_57.amazonaws.com,
“Region”: “us-east-1”,
“Zone”: “us-east-1b”"
},
{
“Provider”: “AWS”,
"MachineName":"Acme-DATA-TEST-0003",
"Role":"DATA",
"IPAddress":"54202.223.58",
"DNSName":"54_202_223_58.amazonaws.com,
“Region”: “us-east-1”,
“Zone”: “us-east-1b”"
}
]
icm ps
In container mode, the output of the icm ps command is an array whose elements correspond to each container; each element in turn is a list of the name-value pairs MachineName, Role, IPAddress, DNSName, Container, DockerImage, Status, and MirrorStatus (if applicable):
# icm ps -container iris -json
Machine IP Address Container Status Health Image
------- ---------- --------- ------ ----- -----
Acme-DATA-TEST-0001 54.191.233.2 iris Up healthy isc/iris:2022.2.0.221.0
Acme-DATA-TEST-0002 54.202.223.57 iris Up healthy isc/iris:2022.2.0.221.0
Acme-DATA-TEST-0003 54.202.223.58 iris Up healthy isc/iris:2022.2.0.221.0
# cat response.json
[
{
"MachineName":"Acme-DATA-TEST-0001",
"Role":"DATA",
"IPAddress":"54.191.233.2",
"DNSName":"54_191_233_2.amazonaws.com"
"Container":"iris",
"DockerImage":"isc/iris:2022.2.0.221.0",
"Status":"Up",
"Health":"healthy"
},
{
"MachineName ":"Acme-DATA-TEST-0002",
"Role":"DATA",
"IPAddress":"54.202.223.57",
"DNSName":"54_202_223_57.amazonaws.com"
"Container":"iris",
"DockerImage":"isc/iris:2022.2.0.221.0",
"Status":"Up"",
"Health":"healthy"
},
{
"MachineName ":"Acme-DATA-TEST-0003",
"Role":"DATA",
"IPAddress":"54.202.223.57",
"DNSName":"54_202_223_57.amazonaws.com"
"Container":"iris",
"DockerImage":"isc/iris:2022.2.0.221.0",
"Status":"Up",
"Health":"healthy"
},
]
The icm ps output fields in containerless mode are MachineName, Role, IPAddress, DNSName, ISCInstance (always IRIS in a container provided by InterSystems), Kit, Status, and MirrorStatus (if applicable):
# icm ps -json
Machine IP Address Instance Kit Status Health
------- ---------- -------- --- ------ ------
Acme-DATA-TEST-0001 54.67.2.117 IRIS 2017.3.0.392.0 running ok
Acme-DATA-TEST-0002 54.153.96.236 IRIS 2017.3.0.392.0 running ok
Acme-DATA-TEST-0002 54.153.90.66 IRIS 2017.3.0.392.0 running ok
# cat response.json
[
{
"MachineName":"Acme-DATA-TEST-0001",
"Role":"DATA",
"IPAddress":"54.191.233.2",
"DNSName":"54_191_233_2.amazonaws.com"
"ISCInstance":"IRIS",
"Kit":"2017.3.0.392.0",
"Status":"running",
"Health":"ok"
},
{
"MachineName ":"Acme-DATA-TEST-0002",
"Role":"DATA",
"IPAddress":"54.202.223.57",
"DNSName":"54_202_223_57.amazonaws.com"
"ISCInstance":"IRIS",
"Kit":"2017.3.0.392.0",
"Status":"running"",
"Health":"ok"
},
{
"MachineName ":"Acme-DATA-TEST-0003",
"Role":"DATA",
"IPAddress":"54.202.223.57",
"DNSName":"54_202_223_57.amazonaws.com"
"ISCInstance":"IRIS",
"Kit":"2017.3.0.392.0",
"Status":"running"",
"Health":"ok"
}
]