status

Usage

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

Arguments

[<alias> | <FID>]

Optional FID or alias of the process whose status is being checked

Flags Legend

l | lock_state
When enabled all commands that may be issued for a process are rejected.
e | enforcement_level
When disabled Fugue will not attempt to correct any configuration drift.

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.
--verbose
Print full process summary.
--account <account>
Only show processes associated with account id or name.
-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.

Note: Blank columns will not display in the status table. To see full status details use the flag --verbose to display verbose output.

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
Account
The account the process was launched in (Use the fugue status --verbose to see full names including the appended Fugue ID)
FID or Alias
Displays the optional alias associated with the process (if supplied), otherwise displays the Fugue ID, or the process’s unique identifier
Flags
Displays lock_state and enforcement_level details, l and/or e when set to ON
Last Message
Status of the last job (SUCCEEDED, HALTED, or FAILED)
Next Command
The next queued action the Conductor will take on a process

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> - Mon Nov 13 2017 11:47am

State      Updated    Created    Account    FID/Alias                             Flags    Last Message
---------  ---------  ---------  ---------  ------------------------------------  -------  --------------
Running    1:04pm     1:04pm     fugue      HelloWorld                            -e       SUCCEEDED

Suspended  1:21pm     1:20pm     fugue      myvpc                                 -e       SUCCEEDED

Killing    1:21pm     1:04pm     fugue      d45a1222-e7a6-453e-b420-3fc2f487855e  -e       SUCCEEDED

status output with a locked process:

Fugue Status Report for  <user>/<account> - Mon Nov 13 2017 11:57am

State      Updated    Created    Account    FID/Alias                             Flags    Last Message
---------  ---------  ---------  ---------  ------------------------------------  -------  --------------
Running    1:24pm     1:24pm     fugue      bfa10506-8dba-4e97-87d8-4fd95b4a723c  le       SUCCEEDED

status output with no processes running:

Fugue Status Report for <user>/<account> - Fri Mar 17 2017 5:31pm

State    Updated    Created    Account    FID/Alias    Flags    Last Message    Next Command
-------  ---------  ---------  ---------  -----------  -------  --------------  --------------
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 a short, parsable YAML report of the process’s status, including a list of resources.

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

Example usage with FID:

$ fugue status 84955312-3ea0-4538-9de0-5f493cd9e867

Example usage with alias:

$ fugue status myprocess

Example output:

$ fugue status myprocess
AccountId:   fugue-12345768978989
FID:         64580e38-d89e-4c90-9b5e-7e165ef2129d
LastMessage: SUCCESS
Status:      SUCCEEDED
Enforcement: ENABLED
Lock Status: DISABLED

Resources:
  DhcpOptions:
  - DomainName:    us-west-2.compute.internal
    Region:        us-west-2
    DhcpOptionsId: dopt-85165ae3
    Tags:
      Fugue ID: 64580e38-d89e-4c90-9b5e-7e165ef2129d.e736595a-0041-57d5-bd0a-b42928b2ae42

  VPCs:
  - VpcId:     vpc-1085bb76
    Region:    us-west-2
    CidrBlock: 10.0.0.0/16

This presents a compact view of your infrastructure.

AccountId
The account the process was launched in
FID
Fugue ID, or the process’s unique identifier
LastMessage
Content of most recent internal message, if applicable; either SUCCESS or an error message
Status
Status of the last job (SUCCEEDED, HALTED, or FAILED)
Enforcement
Status of enforcement (ENABLED or DISABLED)
Lock Status
Status of the process lock (ENABLED or DISABLED)
Resources
A list of a process’s AWS resources, organized by resource type

In the above example, you can see two resources: a DHCP options set, and a VPC.

To see a more detailed view of your infrastructure, request status output as JSON.

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:

[
    {
        "account_id": "fugue-1489441398224",
        "alias": "develop",
        "created": 1490024252,
        "current_job_status": {
            "current_time": 1490024621,
            "dry_run": false,
            "job_id": null,
            "start_time": null
        },
        "enforcement_level": "ON",
        "fid": "5bc78ae7-f039-47c4-bf65-ca43d6604067",
        "last_job_id": 1490024313,
        "last_job_status": {
            "description": "JobSucceeded",
            "dry_run": false,
            "finish_time": 1490024316,
            "job_id": 1490024313,
            "job_status": "SUCCEEDED",
            "message": "SUCCESS",
            "start_time": 1490024313,
            "status_code": 200
        },
        "last_message": "SUCCESS",
        "lock_state": "OFF",
        "resources": null,
        "state": "HALT",
        "updated": 1490024349
    },
    {
        "account_id": "fugue-1489441398224",
        "alias": "staging",
        "created": 1490024231,
        "current_job_status": {
            "current_time": 1490024621,
            "dry_run": false,
            "job_id": 1490024613,
            "start_time": 1490024613
        },
        "enforcement_level": "ON",
        "fid": "c62147e0-3d3b-4ba7-ad57-8914c25f8b4f",
        "last_job_id": 1490024583,
        "last_job_status": {
            "description": "JobSucceeded",
            "dry_run": false,
            "finish_time": 1490024585,
            "job_id": 1490024583,
            "job_status": "SUCCEEDED",
            "message": "SUCCESS",
            "start_time": 1490024583,
            "status_code": 200
        },
        "last_message": "SUCCESS",
        "resources": null,
        "lock_state": "OFF",
        "state": "BUSY",
        "updated": 1490024231
    }
]

JSON-formatted status output

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

account_id
The account the process was launched in
alias
Alias of process, if applicable; otherwise null
created
Unix timestamp of when the process was created
current_job_status

Contains current_time, dry_run, job_id, and start_time

current_time
Unix timestamp of the current time
dry_run
Whether or not current job is a dry-run
job_id
Unique ID of the current job
start_time
Unix timestamp of when the current job began
enforcement_level
Whether process enforcement has been turned “ON” or “OFF”
fid
Fugue ID, or the process’s unique identifier
last_job_id
Unique ID of the most recent internal operation Fugue’s components have executed
last_job_status

Contains description, dry_run, finish_time, job_id, job_status, message, start_time, and status_code

description
Description of last job
dry_run
Whether or not last job was a dry-run
finish_time
Unix timestamp of when the last job completed
job_id
Unique ID of the last job
job_status
Status of the last job (SUCCEEDED, HALTED, or FAILED)
message
Content of last job’s internal message, if applicable; either SUCCESS or an error message
start_time
Unix timestamp of when the last job began
status_code
Internal status code for last job
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"
lock_state
Whether a process is locked, defaults to OFF
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.)
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
updated
Unix timestamp of when the user last initiated a state change for the process

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

Using status to confirm the Fugue Conductor is done booting

In general, it is not recommended to use CTRL+C to halt the installation process as this can prevent the creation of your credentials. However, 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.

In addition, you may be forced to manually create your credentials using fugue support reset-secret. (See RBAC policy error after install.) However, if the Conductor is ready to receive commands, status returns this message:

Fugue Status Report for <user>/<account> - Fri Mar 17 2017 5:31pm

State    Updated    Created    Account    FID/Alias    Flags    Last Message    Next Command
-------  ---------  ---------  ---------  -----------  -------  --------------  --------------
Nothing to see here. Go create something! :-)

As always, if you run into issues of any kind, reach out to us at support@fugue.co.

Checking status of processes running in a given account

To see the status of processes only running in a given account, use the --account parameter:

fugue status --account <account_id/account name>

You’ll see a table like this:

Fugue Status Report for user/xxxxxxxxxxxx - Thu Apr 12 2018 2:17pm

State    Updated    Created    Account    FID/Alias    Flags    Last Message
-------  ---------  ---------  ---------  -----------  -------  --------------
Running  2:04pm     2:04pm     personal   hello        -e       SUCCEEDED