Make delete a little bit handier.

Enable the ability to determine remote instances created by the user
without needing to specify instance names.

Bug: 117474343
Test: acloud delete
acloud delete --all
acloud delete --instance_names ...
atest acloud_test
Change-Id: Ia76fdb134092721b7d84a2f4c731f775d48a961c
diff --git a/public/acloud_main.py b/public/acloud_main.py
index f548789..1375236 100644
--- a/public/acloud_main.py
+++ b/public/acloud_main.py
@@ -86,6 +86,8 @@
 from acloud.public.actions import create_goldfish_action
 from acloud.create import create
 from acloud.create import create_args
+from acloud.delete import delete
+from acloud.delete import delete_args
 from acloud.setup import setup
 from acloud.setup import setup_args
 
@@ -114,9 +116,9 @@
         CMD_CLEANUP,
         CMD_CREATE_CUTTLEFISH,
         CMD_CREATE_GOLDFISH,
-        CMD_DELETE,
         CMD_SSHKEY,
         create_args.CMD_CREATE,
+        delete_args.CMD_DELETE,
         setup_args.CMD_SETUP,
     ])
     parser = argparse.ArgumentParser(
@@ -126,9 +128,6 @@
     subparsers = parser.add_subparsers()
     subparser_list = []
 
-    # Command "create"
-    subparser_list.append(create_args.GetCreateArgParser(subparsers))
-
     # Command "create_cf", create cuttlefish instances
     create_cf_parser = subparsers.add_parser(CMD_CREATE_CUTTLEFISH)
     create_cf_parser.required = False
@@ -211,19 +210,6 @@
     create_args.AddCommonCreateArgs(create_gf_parser)
     subparser_list.append(create_gf_parser)
 
-    # Command "Delete"
-    delete_parser = subparsers.add_parser(CMD_DELETE)
-    delete_parser.required = False
-    delete_parser.set_defaults(which=CMD_DELETE)
-    delete_parser.add_argument(
-        "--instance_names",
-        dest="instance_names",
-        nargs="+",
-        required=True,
-        help="The names of the instances that need to delete, "
-        "separated by spaces, e.g. --instance_names instance-1 instance-2")
-    subparser_list.append(delete_parser)
-
     # Command "cleanup"
     cleanup_parser = subparsers.add_parser(CMD_CLEANUP)
     cleanup_parser.required = False
@@ -257,9 +243,15 @@
         "that will be added as project-wide ssh key.")
     subparser_list.append(sshkey_parser)
 
+    # Command "create"
+    subparser_list.append(create_args.GetCreateArgParser(subparsers))
+
     # Command "setup"
     subparser_list.append(setup_args.GetSetupArgParser(subparsers))
 
+    # Command "Delete"
+    subparser_list.append(delete_args.GetDeleteArgParser(subparsers))
+
     # Add common arguments.
     for subparser in subparser_list:
         acloud_common.AddCommonArguments(subparser)
@@ -462,8 +454,7 @@
             branch=args.branch,
             report_internal_ip=args.report_internal_ip)
     elif args.which == CMD_DELETE:
-        report = device_driver.DeleteAndroidVirtualDevices(
-            cfg, args.instance_names)
+        report = delete.Run(args)
     elif args.which == CMD_CLEANUP:
         report = device_driver.Cleanup(cfg, args.expiration_mins)
     elif args.which == CMD_SSHKEY: