status

Usage

fugue [global options] status [options] [<alias> | <FID>]

Arguments

[<alias> | <FID>]
Optional FID or alias of the process whose status is being checked

Options

Global options are detailed here.

--json
Emit output as JSON. The JSON flag displays command output in JSON format, which is useful for automation.
-h | --help
Show help text. The help flag is available throughout the CLI in both an application-level and command-level context. It enables a user to view help text for any command within the Fugue CLI.

Definition

The status command displays status information about each currently running, killing, and suspended composition instance, or process.

The status table includes the following details for each process:

State
The current state of the process (Running, Killing, or Suspended)
Updated
When the user last initiated a state change
Created
When the composition was launched as a process
FID
Fugue ID, or the process’s unique identifier
Alias
Optional alias associated with the process
Last Message
Content of most recent internal message, if applicable; either SUCCESS or an error message

Process States and Transitions

  ...to Running ...to Suspended ...to Killing
From nothing... run
From Running... suspend kill
From Suspended... resume kill
From Killing... suspend

The status display groups processes according to state:

  • Running processes
  • Suspended processes
  • Killing processes

status example output:

Fugue Status Report for <user>/<account> - Wed Aug 31 2016 2:54pm

State      Updated    Created    FID                                   Alias    Last Message
---------  ---------  ---------  ------------------------------------  -------  --------------
Running    1:49pm     11:16am    ce757615-5b75-49eb-a5a5-0733eed8b0d3  staging  SUCCESS

Suspended  2:52pm     5:33pm     81d8b3c2-d3bc-45c4-9015-10b9a13036bd  develop  SUCCESS

Killing    2:54pm     2:52pm     6b32626b-84d4-4475-8c02-1fbcc0231313  prod     SUCCESS

status output with no processes running:

Fugue Status Report for <user>/<account> - Wed Aug 31 2016 3:26pm

State    Updated    Created    FID    Alias    Last Message
-------  ---------  ---------  -----  -------  --------------
Nothing to see here. Go create something! :-)

Examples

Getting the status of a specific process

To get the status of one specific process instead of all running, killing, or suspended processes, enter the status command with the FID or alias as an argument. The Fugue CLI returns the status in JSON format.

$ fugue status [<alias> | <FID>]

Example usage with FID:

$ fugue status 81d8b3c2-d3bc-45c4-9015-10b9a13036bd

Example usage with alias:

$ fugue status develop

Example output:

{
    "alias": "develop",
    "created": 1472592799,
    "fid": "81d8b3c2-d3bc-45c4-9015-10b9a13036bd",
    "last_job_id": 1472669504,
    "last_message": "SUCCESS",
    "resources": {
        "vpcs": {
            "81d8b3c2-d3bc-45c4-9015-10b9a13036bd.8c7ed2c4-e702-52d1-8aa3-47d5aed4a947": {
                "region": "us-west-2",
                "resource": "vpc",
                "value": {
                    "CidrBlock": "10.0.0.0/16",
                    "DhcpOptionsId": "dopt-175bb772",
                    "InstanceTenancy": "default",
                    "IsDefault": false,
                    "State": "available",
                    "Tags": [
                        {
                            "Key": "Name",
                            "Value": "hello-world-vpc2"
                        },
                        {
                            "Key": "Application",
                            "Value": "Hello World 2"
                        },
                        {
                            "Key": "Fugue ID",
                            "Value": "81d8b3c2-d3bc-45c4-9015-10b9a13036bd.8c7ed2c4-e702-52d1-8aa3-47d5aed4a947"
                        }
                    ],
                    "VpcId": "vpc-32675b56",
                    "timestamp": 1472669828
                }
            }
        }
    },
    "state": "HALT",
    "updated": 1472669540
}

Emitting status output as JSON

To output the status of all running, killing, and suspended processes as JSON, use the --json flag:

$ fugue status --json

Example output:

[
    {
        "alias": "develop",
        "created": 1472592799,
        "fid": "81d8b3c2-d3bc-45c4-9015-10b9a13036bd",
        "last_job_id": 1472669504,
        "last_message": "SUCCESS",
        "resources": null,
        "state": "HALT",
        "updated": 1472669540
    },
    {
        "alias": "staging",
        "created": 1472656564,
        "fid": "ce757615-5b75-49eb-a5a5-0733eed8b0d3",
        "last_job_id": 1472669924,
        "last_message": "SUCCESS",
        "resources": null,
        "state": "BUSY",
        "updated": 1472665762
    }
]

JSON-formatted status output

The following fields are returned with fugue status <FID | alias> and fugue status --json:

state
Current state of the process * BUSY and IDLE: process is in Running state * HALT: process is in Suspended state * KILL: process is in Killing state
last_job_id
Unique ID of the most recent internal operation Fugue’s components have executed
created
Unix timestamp of when the process was created
alias
Alias of process, if applicable; otherwise null
updated
Unix timestamp of when the user last initiated a state change for the process
fid
Fugue ID, or the process’s unique identifier
last_message

Content of most recent internal message, if applicable; either SUCCESS or an error message. Example error message:

"An error occurred (InvalidParameterCombination) when calling the CreateDBInstance operation: VPC Multi-AZ DB Instances are not available for engine: sqlserver-web"
resources
Dictionary of a process’s AWS resources, sorted by resource type; includes a union of internal component plans and AWS metadata formatted as key/value pairs (e.g., resource IDs, resource state, resource region, etc.)

Note: The resources field is only returned with fugue status <FID | alias>.

Using status to confirm the Fugue Conductor is done booting

If you exit the install command with CTRL+C while the Conductor is still installing or booting, you may run fugue status to determine whether the Conductor is ready to receive commands. If the Conductor hasn’t finished installing or booting, status returns an error message:

[ ERROR ] There was a problem executing this command.
   Reason: The Conductor is in the process of installing.

If the Conductor is ready to receive commands, status returns this message:

Fugue Status Report for <user>/<account> - Wed Aug 31 2016 3:26pm

State    Updated    Created    FID    Alias    Last Message
-------  ---------  ---------  -----  -------  --------------
Nothing to see here. Go create something! :-)