def open_cssh_connection(options, user_config, instances): print_instances(instances) config = get_overridden_config(user_config, instances[0][4]) args = ['cssh', '-o', '-o StrictHostKeyChecking=no'] code = config.get('cssh_command', '') if code: try: args = eval(code) except TypeError: pass per_host_args = [] code = config.get('cssh_per_host_args', '[]') if code: try: per_host_args = eval(code) except TypeError: pass for instance in instances: hargs = [] hargs.extend(per_host_args) hargs.append(instance[0].public_dns_name) args.extend(hargs) if options.ssh_command is not None: flag = config.get('cssh_command_flag', '-a') if flag: args.append(flag) args.append(options.ssh_command) subprocess.call(args)
def group_prompt(self): retstr = "" if self.group: config = get_overridden_config(self.user_config, self.group) code = config.get('group_prompt', '') if code: try: return eval(code) except TypeError: pass return retstr
def prompt(self): config = get_overridden_config(self.user_config) code = config.get('prompt', '') if code: try: pstr = eval(code) if pstr.strip() != '': return ['-t', "export PS1='%s' && bash --norc -i" % pstr] except TypeError: pass return []
def open_ssh_connection(options, user_config, instance): print print_instance(instance) config = get_overridden_config(user_config, instance[4]) args = ['ssh', '-o', 'StrictHostKeyChecking=no'] code = config.get('ssh_command', '') if code: try: args = eval(code) except TypeError: pass args.append(instance[0].public_dns_name) if options.ssh_args: args.extend(shlex.split(options.ssh_args)) if options.ssh_command is not None: args.append(options.ssh_command) else: args.extend(Prompt(user_config, instance).prompt()) subprocess.call(args)