1*800a58d9SAndroid Build Coastguard Worker# Copyright 2018 - The Android Open Source Project 2*800a58d9SAndroid Build Coastguard Worker# 3*800a58d9SAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License"); 4*800a58d9SAndroid Build Coastguard Worker# you may not use this file except in compliance with the License. 5*800a58d9SAndroid Build Coastguard Worker# You may obtain a copy of the License at 6*800a58d9SAndroid Build Coastguard Worker# 7*800a58d9SAndroid Build Coastguard Worker# http://www.apache.org/licenses/LICENSE-2.0 8*800a58d9SAndroid Build Coastguard Worker# 9*800a58d9SAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software 10*800a58d9SAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS, 11*800a58d9SAndroid Build Coastguard Worker# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*800a58d9SAndroid Build Coastguard Worker# See the License for the specific language governing permissions and 13*800a58d9SAndroid Build Coastguard Worker# limitations under the License. 14*800a58d9SAndroid Build Coastguard Workerr"""Reconnect args. 15*800a58d9SAndroid Build Coastguard Worker 16*800a58d9SAndroid Build Coastguard WorkerDefines the reconnect arg parser that holds delete specific args. 17*800a58d9SAndroid Build Coastguard Worker""" 18*800a58d9SAndroid Build Coastguard Worker 19*800a58d9SAndroid Build Coastguard Workerfrom acloud.internal import constants 20*800a58d9SAndroid Build Coastguard Worker 21*800a58d9SAndroid Build Coastguard WorkerCMD_RECONNECT = "reconnect" 22*800a58d9SAndroid Build Coastguard Worker 23*800a58d9SAndroid Build Coastguard Worker 24*800a58d9SAndroid Build Coastguard Workerdef GetReconnectArgParser(subparser): 25*800a58d9SAndroid Build Coastguard Worker """Return the reconnect arg parser. 26*800a58d9SAndroid Build Coastguard Worker 27*800a58d9SAndroid Build Coastguard Worker Args: 28*800a58d9SAndroid Build Coastguard Worker subparser: argparse.ArgumentParser that is attached to main acloud cmd. 29*800a58d9SAndroid Build Coastguard Worker 30*800a58d9SAndroid Build Coastguard Worker Returns: 31*800a58d9SAndroid Build Coastguard Worker argparse.ArgumentParser with reconnect options defined. 32*800a58d9SAndroid Build Coastguard Worker """ 33*800a58d9SAndroid Build Coastguard Worker reconnect_parser = subparser.add_parser(CMD_RECONNECT) 34*800a58d9SAndroid Build Coastguard Worker reconnect_parser.required = False 35*800a58d9SAndroid Build Coastguard Worker reconnect_parser.set_defaults(which=CMD_RECONNECT) 36*800a58d9SAndroid Build Coastguard Worker reconnect_parser.add_argument( 37*800a58d9SAndroid Build Coastguard Worker "--instance-names", 38*800a58d9SAndroid Build Coastguard Worker dest="instance_names", 39*800a58d9SAndroid Build Coastguard Worker nargs="+", 40*800a58d9SAndroid Build Coastguard Worker required=False, 41*800a58d9SAndroid Build Coastguard Worker help="The names of the instances that need to reconnect remote/local " 42*800a58d9SAndroid Build Coastguard Worker "instances. For remote instances, it is the GCE instance name. " 43*800a58d9SAndroid Build Coastguard Worker "For local instances, it's the local keyword, e.g. --instance-names " 44*800a58d9SAndroid Build Coastguard Worker "local-instance") 45*800a58d9SAndroid Build Coastguard Worker reconnect_parser.add_argument( 46*800a58d9SAndroid Build Coastguard Worker "--all", 47*800a58d9SAndroid Build Coastguard Worker action="store_true", 48*800a58d9SAndroid Build Coastguard Worker dest="all", 49*800a58d9SAndroid Build Coastguard Worker required=False, 50*800a58d9SAndroid Build Coastguard Worker help="If more than 1 AVD instance is found, reconnect them all.") 51*800a58d9SAndroid Build Coastguard Worker reconnect_parser.add_argument( 52*800a58d9SAndroid Build Coastguard Worker "--autoconnect", 53*800a58d9SAndroid Build Coastguard Worker type=str, 54*800a58d9SAndroid Build Coastguard Worker nargs="?", 55*800a58d9SAndroid Build Coastguard Worker dest="autoconnect", 56*800a58d9SAndroid Build Coastguard Worker required=False, 57*800a58d9SAndroid Build Coastguard Worker choices=[constants.INS_KEY_VNC, constants.INS_KEY_ADB, 58*800a58d9SAndroid Build Coastguard Worker constants.INS_KEY_WEBRTC], 59*800a58d9SAndroid Build Coastguard Worker help="If need adb only, you can pass in 'adb' here.") 60*800a58d9SAndroid Build Coastguard Worker 61*800a58d9SAndroid Build Coastguard Worker return reconnect_parser 62