| #!/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 |