def main(api=None): start_time = time.time() isLambda = True jumpRole = False fullUpdate = False dir_path = '/tmp' config = 'ENVRFIG.yaml' svc_in = targetAPI = api sendto = '/tmp/%s' % targetAPI bucket = os.environ['bucket'] bucketRoot = os.environ['initKey'] g_reader = GwyReader(bucket, bucketRoot) logging.basicConfig(format='%(asctime)-15s %(message)s') logger = logging.getLogger() logger.setLevel(logging.INFO) logger.info("Started") print(" ..... INIT..... 0002") fullpath = config origin, global_accts = loadConfig(fullpath) triggers = origin['triggers'] if jumpRole: accountRole = global_accts[accID]['role'] region = origin['region'] accID = origin['account'] print( " ## USING ## %s--> %s, role %s, account originDefinition %s, config %s, copyAnsible to %s" % (type_in, svc_in, accountRole, accID, config, sendto)) print( " !!! !! to assume <cross_acct_role> ROLE make sure you set 'assume_role' in 'ENVRFIG.yaml' to True or False as needed" ) awsconnect.stsClient_init() sts_client = awsconnect.stsClient if 'eID' in origin: eID = origin['eID'] if 'services_map' in origin: mapfile = origin['services_map'] eID = serviceID(origin['account'], mapfile, origin['all']) aconnect = awsConnect(accID, eID, origin['role_definer'], sts_client, region) aconnect.connect() else: aconnect = type('obj', (object, ), {'__get_client__': boto3.client}) lm = ApiGatewayMolder("ansible", isLambda) file_tasks, file_defaults = lm.describe_GatewayALL(svc_in, aconnect, origin, global_accts, triggers, sendto, targetAPI, fullUpdate) #pushFiles(file_tasks, file_defaults) g_reader.s3_send(targetAPI, [file_tasks, file_defaults], aconnect) logger.info("Finished") print("--- %s seconds ---" % (time.time() - start_time))
fullUpdate = False else: fullUpdate = True else: fullUpdate = False logging.basicConfig(format='%(asctime)-15s %(message)s') logger = logging.getLogger() logger.setLevel(logging.INFO) logger.info("Started") print(" ..... INIT..... 0002. %s , %s" % (dir_path, config)) fullpath = "%s/%s" % (dir_path, config) env = 'dev' origin, global_accts = loadConfig(fullpath, env) triggers = origin['triggers'] if triggers is None: raise ValueError( "[E] config file [ %s ] did not load correctly.. PLEASE check / fix and try again" % (fullpath)) accID = origin['account'] region = origin['region'] accountRole = global_accts[accID]['role'] print(" ## USING ## %s--> %s, role %s, account originDefinition %s, config %s, copyAnsible to %s" % (type_in, svc_in, accountRole, accID, config, sendto)) print(" !!! !! to assume <cross_acct_role> ROLE make sure you set 'assume_role' in 'ENVR.yaml' to True or False as needed") awsconnect.stsClient_init() sts_client = awsconnect.stsClient aconnect = awsConnect( accID, origin['eID'], origin['role_definer'], sts_client, region) aconnect.connect()
with open(file, 'r') as policyfile: jdata = json.load(policyfile) response = policy.put(ConfirmRemoveSelfBucketAccess=True, Policy=jdata) print(" -- --> policy updated") print(response) # aws s3api put-bucket-acl --bucket MyBucket --grant-full-control [email protected],[email protected] --grant-read uri=http://acs.amazonaws.com/groups/global/AllUsers # aws s3api delete-bucket-policy --bucket cr-portal-dev # aws rds add-role-to-db-cluster --db-cluster-identifier some-cluster-id --role-arn arn:aws:iam::1234567890:role/S3_ROLE if __name__ == "__main__": found = None length = 0 config = "ENVR.yaml" fullpath = "%s/%s" % (dir_path, config) origin, global_accts = loadConfig(fullpath, 'dev') eID = 1001000100001 if 'eID' in origin: eID = origin['eID'] if 'services_map' in origin: mapfile = origin['services_map'] eID = serviceID(origin['account'], mapfile, origin['all']) print(" ..... INIT..... 0002") accID = origin['account'] region = 'us-east-1' awsconnect.stsClient_init() sts_client = awsconnect.stsClient aconnect = awsConnect(accID, eID, origin['role_definer'], sts_client, region) aconnect.connect()
# ansible-playbook -i windows-servers xx_tablename.yaml -vvvv # python MMAnsibleDeployAll.py "xx-stage,xx-test" xx_tablename ENVR.yaml # # python MMAnsibleDeployAll.py "stage,prod" API_Name ENVR.yaml # OR call it manually in /ansible folder # ansible-playbook -i windows-servers xx-LambdaName -vvvv if __name__ == "__main__": found = None length = 0 target_environments = str(sys.argv[1]).strip().split(",") role = str(sys.argv[2]).strip() config = str(sys.argv[3]).strip() start_time = time.time() fullpath = "%s/%s" % (dir_path, config) origin, global_accts = loadConfig(fullpath, "dev") results = testStart(global_accts, target_environments, role) for k, v in results.items(): msg = "%s Account: %s, %s" % (v['name'], k, v['value']) print(msg) # print(global_accts) #print (target_environments) # //logger.info("Finished") print("--- %s seconds ---" % (time.time() - start_time))
# fullUpdate = str(sys.argv[8]).strip() ### true if tot > 8: fullUpdate = str(sys.argv[8]).strip().lower() # true if fullUpdate == "none" or fullUpdate == "null" or fullUpdate == "false": fullUpdate = False else: fullUpdate = True else: target_environments = type_in.split(",") role = str(sys.argv[2]).strip() config = str(sys.argv[3]).strip() start_time = time.time() fullpath = "%s/%s" % (real_dir_path, config) origin, global_accts = loadConfig(fullpath, source_environment) # if 'eID' in origin: # eID = origin['eID'] # if 'services_map' in origin: # mapfile = origin['services_map'] # eID = serviceID(origin['account'], mapfile, origin['all']) triggers = origin['triggers'] if triggers is None: raise ValueError( "[E] config file [ %s ] did not load correctly.. PLEASE check / fix and try again" % (fullpath)) td = TemporalDeployer() ready = None if not SkipDefinition: acctID, target, acctTitle, ready = td.Define( type_in, role, origin, global_accts, sendto, config, triggers, targetAPI, fullUpdate)
config = str(sys.argv[4]).strip() # ENVR.yaml if len(target_roles) > 1: if tot < 5: # a general name is required if more than one role is given print( '[E] please provide a general name "some Alias" for these tests...like:') print(' python main_tester.py -L stage "CN-DynamoNormalizer,CN-FileTransform" ENVR.yaml yourAliasHere') raise Exception("alias required!!") else: role_alias = str(sys.argv[5]).strip() start_time = time.time() # fullpath = "%s/%s" % (real_dir_path, config) fullpath = "%s/%s" % (pwd, config) for tgt in target_environments: orgn, global_accts = loadConfig(fullpath, tgt) triggers = orgn['triggers'] if triggers is None: raise ValueError( "[E] config file [ %s ] did not load correctly.. PLEASE check / fix and try again" % (fullpath)) ct = CEDARTests() ready = None test_time = time.time() # print("----START----%s" % tgt) # Use first environment defined tests assume its same for all!! origin, global_accts = loadConfig(fullpath, target_environments[0]) errors, results, total = ct.define_tests( type_in, target_roles, origin, global_accts, role_alias) print(" definition COMPLETE...") results = testStart(global_accts, target_environments, target_roles)