sweeeeet. now i just need the table formatted correctly and we are rockin and rollin

This commit is contained in:
cktricky
2018-09-21 20:59:32 -04:00
committed by Kenneth Toler
parent d2075c3943
commit f49880a877

View File

@@ -13,6 +13,7 @@ from botocore.exceptions import ClientError
from modules import *
import sys
import builtins
import re
os.environ['AWS_SHARED_CREDENTIALS_FILE'] = '.env'
@@ -24,6 +25,7 @@ for module in all_modules:
exec("from %s import *" % module)
parser = argparse.ArgumentParser()
parser.add_argument("-m", "--module", help="list the module you would like to run", action="store", type=str, required=False)
parser.add_argument("-t", "--target", help="Give your target a name so we can track results", action="store", type=str, required=False)
@@ -35,6 +37,7 @@ args = parser.parse_args()
# Provides us with a global var "db_name" we can access anywhere
builtins.db_name = "weirdAAL.db"
def perform_credential_check():
'''
Check that the AWS keys work before we go any further. It picks the keys up from the local .env file
@@ -59,6 +62,48 @@ def method_create():
print("That module does not exist")
exit(1)
builtins.aws_module_methods_info = {}
builtins.gcp_module_methods_info = {}
def get_methods_for_classname(classname):
methods = []
all_methods = dir(sys.modules[classname])
for meth in all_methods:
if meth.startswith("module_"):
narg = "{}.__doc__".format(meth)
narg = eval(narg)
nhash = {}
nhash[meth] = narg
methods.append(nhash)
return methods
def make_list_of_methods(cloud_service, mod):
meths = get_methods_for_classname(mod)
if cloud_service == 'aws':
new_mod_name = re.sub("modules.aws.", "", mod)
aws_module_methods_info[new_mod_name.upper()] = meths
elif cloud_service == 'gcp':
new_mod_name = re.sub("modules.gcp.", "", mod)
gcp_module_methods_info[new_mod_name.upper()] = meths
def make_the_list():
for m in sys.modules.keys():
if (m.startswith("modules.aws")
and not (m == "modules.aws")):
make_list_of_methods("aws", m)
elif ((m.startswith("modules.gcp"))
and not (m == "modules.gcp")):
make_list_of_methods("gcp", m)
def print_the_list():
print("AWS")
print("---")
for (k) in aws_module_methods_info:
print(k)
print(aws_module_methods_info[k])
print("....")
# Need to figure out if we have keys in the ENV or not
try:
@@ -68,8 +113,8 @@ except:
sys.exit(1)
if (args.list):
for module in all_modules:
print(dir(module))
make_the_list()
print_the_list()
# arg_list has to be defined otherwise will cause an exception