100 lines
3.2 KiB
Python
100 lines
3.2 KiB
Python
|
#!/usr/bin/env python
|
||
|
#
|
||
|
# Copyright 2018 - The Android Open Source Project
|
||
|
#
|
||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||
|
# you may not use this file except in compliance with the License.
|
||
|
# You may obtain a copy of the License at
|
||
|
#
|
||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||
|
#
|
||
|
# Unless required by applicable law or agreed to in writing, software
|
||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||
|
# See the License for the specific language governing permissions and
|
||
|
# limitations under the License.
|
||
|
r"""Delete args.
|
||
|
|
||
|
Defines the delete arg parser that holds delete specific args.
|
||
|
"""
|
||
|
import argparse
|
||
|
|
||
|
from acloud.internal import constants
|
||
|
|
||
|
|
||
|
CMD_DELETE = "delete"
|
||
|
|
||
|
|
||
|
def GetDeleteArgParser(subparser):
|
||
|
"""Return the delete arg parser.
|
||
|
|
||
|
Args:
|
||
|
subparser: argparse.ArgumentParser that is attached to main acloud cmd.
|
||
|
|
||
|
Returns:
|
||
|
argparse.ArgumentParser with delete options defined.
|
||
|
"""
|
||
|
delete_parser = subparser.add_parser(CMD_DELETE)
|
||
|
delete_parser.required = False
|
||
|
delete_parser.set_defaults(which=CMD_DELETE)
|
||
|
delete_group = delete_parser.add_mutually_exclusive_group()
|
||
|
delete_group.add_argument(
|
||
|
"--instance-names",
|
||
|
dest="instance_names",
|
||
|
nargs="+",
|
||
|
required=False,
|
||
|
help="The names of the instances that need to delete, separated by "
|
||
|
"spaces, e.g. --instance-names instance-1 local-instance-1")
|
||
|
delete_group.add_argument(
|
||
|
"--all",
|
||
|
action="store_true",
|
||
|
dest="all",
|
||
|
required=False,
|
||
|
help="If more than 1 AVD instance is found, delete them all.")
|
||
|
delete_group.add_argument(
|
||
|
"--adb-port", "-p",
|
||
|
type=int,
|
||
|
dest="adb_port",
|
||
|
required=False,
|
||
|
help="Delete instance with specified adb-port.")
|
||
|
delete_parser.add_argument(
|
||
|
"--local-only",
|
||
|
action="store_true",
|
||
|
dest="local_only",
|
||
|
required=False,
|
||
|
help="Do not authenticate and query remote instances.")
|
||
|
delete_parser.add_argument(
|
||
|
"--host",
|
||
|
type=str,
|
||
|
dest="remote_host",
|
||
|
default=None,
|
||
|
help="'cuttlefish only' Provide host name to clean up the remote host. "
|
||
|
"For example: '--host 1.1.1.1'")
|
||
|
delete_parser.add_argument(
|
||
|
"--host-user",
|
||
|
type=str,
|
||
|
dest="host_user",
|
||
|
default=constants.GCE_USER,
|
||
|
help="'remote host only' Provide host user for logging in to the host. "
|
||
|
"The default value is vsoc-01. For example: '--host 1.1.1.1 --host-user "
|
||
|
"vsoc-02'")
|
||
|
delete_parser.add_argument(
|
||
|
"--host-ssh-private-key-path",
|
||
|
type=str,
|
||
|
dest="host_ssh_private_key_path",
|
||
|
default=None,
|
||
|
help="'remote host only' Provide host ssh private key path for logging "
|
||
|
"in to the host. For exmaple: '--host-ssh-private-key-path "
|
||
|
"~/.ssh/acloud_rsa'")
|
||
|
|
||
|
# TODO(b/118439885): Old arg formats to support transition, delete when
|
||
|
# transistion is done.
|
||
|
delete_group.add_argument(
|
||
|
"--instance_names",
|
||
|
dest="instance_names",
|
||
|
nargs="+",
|
||
|
required=False,
|
||
|
help=argparse.SUPPRESS)
|
||
|
|
||
|
return delete_parser
|