Support acloud list command.

Enable the ability to list remote instances created by the user
and disply the info of instances including avd spec and status.

Bug: 118405737
Test: acloud list && acloud list -v && acloud delete
atest acloud_test

Change-Id: I8420f69c8f8c30046eeffe95c5b5d2d184ec4738
diff --git a/public/acloud_main.py b/public/acloud_main.py
index 2e31da5..bc392e7 100644
--- a/public/acloud_main.py
+++ b/public/acloud_main.py
@@ -62,6 +62,8 @@
 from acloud.delete import delete
 from acloud.delete import delete_args
 from acloud.internal import constants
+from acloud.list import list as list_instances
+from acloud.list import list_args
 from acloud.metrics import metrics
 from acloud.public import acloud_common
 from acloud.public import config
@@ -78,7 +80,6 @@
 # Commands
 CMD_CREATE_CUTTLEFISH = "create_cf"
 CMD_CREATE_GOLDFISH = "create_gf"
-CMD_DELETE = "delete"
 CMD_CLEANUP = "cleanup"
 CMD_SSHKEY = "project_sshkey"
 
@@ -98,6 +99,7 @@
         create_args.CMD_CREATE,
         CMD_CREATE_CUTTLEFISH,
         CMD_CREATE_GOLDFISH,
+        list_args.CMD_LIST,
         delete_args.CMD_DELETE,
     ])
     parser = argparse.ArgumentParser(
@@ -228,9 +230,12 @@
     # Command "setup"
     subparser_list.append(setup_args.GetSetupArgParser(subparsers))
 
-    # Command "Delete"
+    # Command "delete"
     subparser_list.append(delete_args.GetDeleteArgParser(subparsers))
 
+    # Command "list"
+    subparser_list.append(list_args.GetListArgParser(subparsers))
+
     # Add common arguments.
     for subparser in subparser_list:
         acloud_common.AddCommonArguments(subparser)
@@ -407,10 +412,12 @@
             autoconnect=args.autoconnect,
             branch=args.branch,
             report_internal_ip=args.report_internal_ip)
-    elif args.which == CMD_DELETE:
+    elif args.which == delete_args.CMD_DELETE:
         report = delete.Run(args)
     elif args.which == CMD_CLEANUP:
         report = device_driver.Cleanup(cfg, args.expiration_mins)
+    elif args.which == list_args.CMD_LIST:
+        list_instances.Run(args)
     elif args.which == CMD_SSHKEY:
         report = device_driver.AddSshRsa(cfg, args.user, args.ssh_rsa_path)
     elif args.which == setup_args.CMD_SETUP: