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: