digraph G { ucloud_scheduler [shape=box]; ucloud_api [shape=box]; ucloud_vm [shape=box]; ucloud_scheduler -> SCHEDULED_FOR_DEPLOY [style="dotted"]; ucloud_api -> NEW [label="Requested by user" style="dotted"]; ucloud_api -> SUSPENDED [label="Requested by user" style="dotted"]; ucloud_api -> DELETED [label="Requested by user" style="dotted"]; ucloud_vm -> RUNNING [style="dotted"]; { rank = same; ucloud_scheduler; ucloud_api; ucloud_vm; } NEW -> SCHEDULED_FOR_DEPLOY [label="ucloud_scheduler selects hosts"]; SCHEDULED_FOR_DEPLOY -> RUNNING [label="ucloud_vm starts VM"]; RUNNING -> SUSPENDED; SUSPENDED -> SCHEDULED_FOR_DEPLOY; RUNNING -> DELETED; }