xref: /aosp_15_r20/tools/acloud/delete/delete_args.py (revision 800a58d989c669b8eb8a71d8df53b1ba3d411444)
1*800a58d9SAndroid Build Coastguard Worker#!/usr/bin/env python
2*800a58d9SAndroid Build Coastguard Worker#
3*800a58d9SAndroid Build Coastguard Worker# Copyright 2018 - The Android Open Source Project
4*800a58d9SAndroid Build Coastguard Worker#
5*800a58d9SAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License");
6*800a58d9SAndroid Build Coastguard Worker# you may not use this file except in compliance with the License.
7*800a58d9SAndroid Build Coastguard Worker# You may obtain a copy of the License at
8*800a58d9SAndroid Build Coastguard Worker#
9*800a58d9SAndroid Build Coastguard Worker#     http://www.apache.org/licenses/LICENSE-2.0
10*800a58d9SAndroid Build Coastguard Worker#
11*800a58d9SAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software
12*800a58d9SAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS,
13*800a58d9SAndroid Build Coastguard Worker# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14*800a58d9SAndroid Build Coastguard Worker# See the License for the specific language governing permissions and
15*800a58d9SAndroid Build Coastguard Worker# limitations under the License.
16*800a58d9SAndroid Build Coastguard Workerr"""Delete args.
17*800a58d9SAndroid Build Coastguard Worker
18*800a58d9SAndroid Build Coastguard WorkerDefines the delete arg parser that holds delete specific args.
19*800a58d9SAndroid Build Coastguard Worker"""
20*800a58d9SAndroid Build Coastguard Workerimport argparse
21*800a58d9SAndroid Build Coastguard Worker
22*800a58d9SAndroid Build Coastguard Workerfrom acloud.internal import constants
23*800a58d9SAndroid Build Coastguard Worker
24*800a58d9SAndroid Build Coastguard Worker
25*800a58d9SAndroid Build Coastguard WorkerCMD_DELETE = "delete"
26*800a58d9SAndroid Build Coastguard Worker
27*800a58d9SAndroid Build Coastguard Worker
28*800a58d9SAndroid Build Coastguard Workerdef GetDeleteArgParser(subparser):
29*800a58d9SAndroid Build Coastguard Worker    """Return the delete arg parser.
30*800a58d9SAndroid Build Coastguard Worker
31*800a58d9SAndroid Build Coastguard Worker    Args:
32*800a58d9SAndroid Build Coastguard Worker       subparser: argparse.ArgumentParser that is attached to main acloud cmd.
33*800a58d9SAndroid Build Coastguard Worker
34*800a58d9SAndroid Build Coastguard Worker    Returns:
35*800a58d9SAndroid Build Coastguard Worker        argparse.ArgumentParser with delete options defined.
36*800a58d9SAndroid Build Coastguard Worker    """
37*800a58d9SAndroid Build Coastguard Worker    delete_parser = subparser.add_parser(CMD_DELETE)
38*800a58d9SAndroid Build Coastguard Worker    delete_parser.required = False
39*800a58d9SAndroid Build Coastguard Worker    delete_parser.set_defaults(which=CMD_DELETE)
40*800a58d9SAndroid Build Coastguard Worker    delete_group = delete_parser.add_mutually_exclusive_group()
41*800a58d9SAndroid Build Coastguard Worker    delete_group.add_argument(
42*800a58d9SAndroid Build Coastguard Worker        "--instance-names",
43*800a58d9SAndroid Build Coastguard Worker        dest="instance_names",
44*800a58d9SAndroid Build Coastguard Worker        nargs="+",
45*800a58d9SAndroid Build Coastguard Worker        required=False,
46*800a58d9SAndroid Build Coastguard Worker        help="The names of the instances that need to delete, separated by "
47*800a58d9SAndroid Build Coastguard Worker        "spaces, e.g. --instance-names instance-1 local-instance-1")
48*800a58d9SAndroid Build Coastguard Worker    delete_group.add_argument(
49*800a58d9SAndroid Build Coastguard Worker        "--all",
50*800a58d9SAndroid Build Coastguard Worker        action="store_true",
51*800a58d9SAndroid Build Coastguard Worker        dest="all",
52*800a58d9SAndroid Build Coastguard Worker        required=False,
53*800a58d9SAndroid Build Coastguard Worker        help="If more than 1 AVD instance is found, delete them all.")
54*800a58d9SAndroid Build Coastguard Worker    delete_group.add_argument(
55*800a58d9SAndroid Build Coastguard Worker        "--adb-port", "-p",
56*800a58d9SAndroid Build Coastguard Worker        type=int,
57*800a58d9SAndroid Build Coastguard Worker        dest="adb_port",
58*800a58d9SAndroid Build Coastguard Worker        required=False,
59*800a58d9SAndroid Build Coastguard Worker        help="Delete instance with specified adb-port.")
60*800a58d9SAndroid Build Coastguard Worker    delete_parser.add_argument(
61*800a58d9SAndroid Build Coastguard Worker        "--local-only",
62*800a58d9SAndroid Build Coastguard Worker        action="store_true",
63*800a58d9SAndroid Build Coastguard Worker        dest="local_only",
64*800a58d9SAndroid Build Coastguard Worker        required=False,
65*800a58d9SAndroid Build Coastguard Worker        help="Do not authenticate and query remote instances.")
66*800a58d9SAndroid Build Coastguard Worker    delete_parser.add_argument(
67*800a58d9SAndroid Build Coastguard Worker        "--host",
68*800a58d9SAndroid Build Coastguard Worker        type=str,
69*800a58d9SAndroid Build Coastguard Worker        dest="remote_host",
70*800a58d9SAndroid Build Coastguard Worker        default=None,
71*800a58d9SAndroid Build Coastguard Worker        help="'cuttlefish only' Provide host name to clean up the remote host. "
72*800a58d9SAndroid Build Coastguard Worker        "For example: '--host 1.1.1.1'")
73*800a58d9SAndroid Build Coastguard Worker    delete_parser.add_argument(
74*800a58d9SAndroid Build Coastguard Worker        "--host-user",
75*800a58d9SAndroid Build Coastguard Worker        type=str,
76*800a58d9SAndroid Build Coastguard Worker        dest="host_user",
77*800a58d9SAndroid Build Coastguard Worker        default=constants.GCE_USER,
78*800a58d9SAndroid Build Coastguard Worker        help="'remote host only' Provide host user for logging in to the host. "
79*800a58d9SAndroid Build Coastguard Worker        "The default value is vsoc-01. For example: '--host 1.1.1.1 --host-user "
80*800a58d9SAndroid Build Coastguard Worker        "vsoc-02'")
81*800a58d9SAndroid Build Coastguard Worker    delete_parser.add_argument(
82*800a58d9SAndroid Build Coastguard Worker        "--host-ssh-private-key-path",
83*800a58d9SAndroid Build Coastguard Worker        type=str,
84*800a58d9SAndroid Build Coastguard Worker        dest="host_ssh_private_key_path",
85*800a58d9SAndroid Build Coastguard Worker        default=None,
86*800a58d9SAndroid Build Coastguard Worker        help="'remote host only' Provide host ssh private key path for logging "
87*800a58d9SAndroid Build Coastguard Worker        "in to the host. For exmaple: '--host-ssh-private-key-path "
88*800a58d9SAndroid Build Coastguard Worker        "~/.ssh/acloud_rsa'")
89*800a58d9SAndroid Build Coastguard Worker    delete_parser.add_argument(
90*800a58d9SAndroid Build Coastguard Worker        "--oxygen",
91*800a58d9SAndroid Build Coastguard Worker        action="store_true",
92*800a58d9SAndroid Build Coastguard Worker        dest="oxygen",
93*800a58d9SAndroid Build Coastguard Worker        required=False,
94*800a58d9SAndroid Build Coastguard Worker        help=argparse.SUPPRESS)
95*800a58d9SAndroid Build Coastguard Worker    # The ip means server_url in Oxygen proxy api.
96*800a58d9SAndroid Build Coastguard Worker    delete_parser.add_argument(
97*800a58d9SAndroid Build Coastguard Worker        "--ip",
98*800a58d9SAndroid Build Coastguard Worker        type=str,
99*800a58d9SAndroid Build Coastguard Worker        dest="ip",
100*800a58d9SAndroid Build Coastguard Worker        required=False,
101*800a58d9SAndroid Build Coastguard Worker        help=argparse.SUPPRESS)
102*800a58d9SAndroid Build Coastguard Worker
103*800a58d9SAndroid Build Coastguard Worker    # TODO(b/118439885): Old arg formats to support transition, delete when
104*800a58d9SAndroid Build Coastguard Worker    # transistion is done.
105*800a58d9SAndroid Build Coastguard Worker    delete_group.add_argument(
106*800a58d9SAndroid Build Coastguard Worker        "--instance_names",
107*800a58d9SAndroid Build Coastguard Worker        dest="instance_names",
108*800a58d9SAndroid Build Coastguard Worker        nargs="+",
109*800a58d9SAndroid Build Coastguard Worker        required=False,
110*800a58d9SAndroid Build Coastguard Worker        help=argparse.SUPPRESS)
111*800a58d9SAndroid Build Coastguard Worker
112*800a58d9SAndroid Build Coastguard Worker    return delete_parser
113