#
# Copyright (c) 2017 All rights reserved
# This program and the accompanying materials
# are made available under the terms of the Apache License, Version 2.0
# which accompanies this distribution, and is available at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
#
import os
home = os.getenv("HOME")
SSH_CONFIG = {'TMP_SSH_CONFIG': "./tmp/ssh_config",
              'ID_RSA_PATH': "%s/.ssh/id_rsa" % home}


class SshUtil(object):

    @staticmethod
    def gen_ssh_config(node_list):
        config = ["UserKnownHostsFile=/dev/null",
                  "StrictHostKeyChecking=no",
                  "ForwardAgent yes",
                  "GSSAPIAuthentication=no",
                  "LogLevel ERROR"]
        for node in node_list:
            config.append(node.to_ssh_config())
        with open(SSH_CONFIG['TMP_SSH_CONFIG'], 'w') as f:
            f.write('\n'.join(config))

    @staticmethod
    def get_config_file_path():
        return SSH_CONFIG['TMP_SSH_CONFIG']

    @staticmethod
    def get_id_rsa():
        return SSH_CONFIG['ID_RSA_PATH']