|
2 | 2 | from art import text2art |
3 | 3 | import random |
4 | 4 | import boto3 |
| 5 | +import os |
| 6 | +import glob |
5 | 7 | from src.logger import setup_logger |
6 | 8 | from src.snapper import Snapper |
7 | 9 | from src.scanner import Scanner |
8 | 10 |
|
9 | 11 |
|
| 12 | +def getting_all_pem_file_names(): |
| 13 | + """ |
| 14 | + :return: .pem file names from the red-detector directory. |
| 15 | + """ |
| 16 | + file_path = os.path.realpath(__file__) # getting the script's path |
| 17 | + file_path = file_path.split("red-detector") |
| 18 | + files_path = file_path[0] + "red-detector" # (the pem files arent in the same directory as the script.) |
| 19 | + |
| 20 | + lst = (glob.glob(files_path+"/*.pem")) |
| 21 | + index = 0 |
| 22 | + for i in lst: |
| 23 | + lst[index] = lst[index].replace(files_path+"/", "").replace(".pem","") |
| 24 | + index += 1 |
| 25 | + return lst |
| 26 | + |
| 27 | + |
10 | 28 | def used_key_pairs(): |
11 | 29 | keypairs = [] # list of used keyPair names |
12 | 30 | ec2 = boto3.client('ec2') |
@@ -52,14 +70,14 @@ def used_key_pairs(): |
52 | 70 | if cmd_args.keypair: |
53 | 71 | scanner = Scanner(logger=logger, region=snapper.region, key_pair_name=cmd_args.keypair) |
54 | 72 | else: |
55 | | - used_key_pairs_list = used_key_pairs() |
| 73 | + used_key_pairs_list_from_aws = used_key_pairs() |
| 74 | + used_key_pairs_list_locally = getting_all_pem_file_names() |
56 | 75 | num = 0 |
57 | 76 | key_name = "red_detector_key{number}".format(number=str(num)) |
58 | | - while key_name in used_key_pairs_list: |
| 77 | + while key_name in used_key_pairs_list_from_aws or key_name in used_key_pairs_list_locally: |
59 | 78 | num += 1 |
60 | 79 | key_name = "red_detector_key{number}".format(number=str(num)) |
61 | 80 |
|
62 | | - |
63 | 81 | scanner = Scanner(logger=logger, region=snapper.region, key_pair_name=key_name) |
64 | 82 | scanner.keypair_name = scanner.create_keypair(key_name=key_name) |
65 | 83 |
|
|
0 commit comments