def generateReport()

in 5-app-infra/3-artifact-publish/docker/cdmc/report_engine/generate_report.py [0:0]


def generateReport(orgId, projId, topicProjectId, topicname, report_metadata, projectNumber, assetsScope, controlNumber):
    print("=============================================")
    print("======= STARTING CDMC CONTROLS FINDINGS =====")
    print("=============================================")

    config_file = "./resources/config.ini"
    org_id=orgId
    project_id = projId
    topic = topicname
    avsc_file = "./resources/cmdc_event.avsc"
    execution_timestamp = str(time.time())

    message = {
            "reportMetadata":report_metadata,
            "CdmcControlNumber":0,
            "Findings":"Control record",
            "DataAsset":"",
            "RecommendedAdjustment":"",
            "ExecutionTimestamp":execution_timestamp
        }
    print("|---- Sending finding control")
    publishPubSubAvro(topicProjectId,topic,avsc_file,message)

    # replace variables with environment variables(if exists) before loading ini file
    with open(config_file, 'r') as cfg_file:
        cfg_env_txt = os.path.expandvars(cfg_file.read())

    if assetsScope:
        ac = AssetsScope(org_id, project_id,report_metadata,cfg_env_txt)
        ac.publishAssets(execution_timestamp)

    if controlNumber.find("02")>-1: 
        c2 = Control2(org_id, project_id,topicProjectId, topic,avsc_file,report_metadata,cfg_env_txt)
        c2.generateReport()
    if controlNumber.find("03")>-1: 
        c3 = Control3(org_id, project_id,topicProjectId, topic,avsc_file,report_metadata,cfg_env_txt)
        c3.generateReport()
    if controlNumber.find("04")>-1:
        c4 = Control4(org_id, project_id,topicProjectId, topic,avsc_file,report_metadata,cfg_env_txt)
        c4.generateReport()
    if controlNumber.find("06")>-1:
        c6 = Control6(org_id, project_id,topicProjectId, topic,avsc_file,report_metadata,cfg_env_txt)
        c6.generateReport()
    if controlNumber.find("07")>-1:
        c7 = Control7(org_id, project_id,topicProjectId, topic,avsc_file,report_metadata,cfg_env_txt)
        c7.generateReport_1()
        c7.generateReport_2()
    if controlNumber.find("08")>-1:
        c8 = Control8(org_id, project_id,topicProjectId, topic,avsc_file,report_metadata,cfg_env_txt)
        c8.generateReport()
    if controlNumber.find("09")>-1:
        c9 = Control9(org_id, project_id,topicProjectId, topic,avsc_file,report_metadata,cfg_env_txt)
        c9.generateReport()     
    if controlNumber.find("10")>-1:
        c10 = Control10(org_id, project_id,topicProjectId, topic,avsc_file,report_metadata,cfg_env_txt)
        c10.generateReport()      
    if controlNumber.find("11")>-1:
        c11 = Control11(org_id, project_id,topicProjectId, topic,avsc_file,report_metadata,cfg_env_txt)
        c11.generateReport()  
    if controlNumber.find("12")>-1:
        c12 = Control12(org_id, project_id,topicProjectId, topic,avsc_file,report_metadata,cfg_env_txt)
        c12.generateReportSensitive()  
        c12.generateReportNonSensitive()       
    if controlNumber.find("13")>-1:
        c13 = Control13(org_id, project_id,topicProjectId, topic,avsc_file,report_metadata,cfg_env_txt)
        c13.generateReport()        
    if controlNumber.find("14")>-1:
        c14 = Control14(org_id, project_id,topicProjectId, topic,avsc_file,report_metadata,cfg_env_txt, 'us-central1',projectNumber)
        c14.generateReport()            
    if controlNumber=="all": 
        c2 = Control2(org_id,project_id,topicProjectId, topic,avsc_file,report_metadata,cfg_env_txt)
        c2.generateReport()
        c3 = Control3(org_id, project_id,topicProjectId, topic,avsc_file,report_metadata,cfg_env_txt)
        c3.generateReport()
        c4 = Control4(org_id, project_id,topicProjectId, topic,avsc_file,report_metadata,cfg_env_txt)
        c4.generateReport()
        c6 = Control6(org_id, project_id,topicProjectId, topic,avsc_file,report_metadata,cfg_env_txt)
        c6.generateReport()
        c7 = Control7(org_id, project_id,topicProjectId, topic,avsc_file,report_metadata,cfg_env_txt)
        c7.generateReport_1()
        c7.generateReport_2()
        c8 = Control8(org_id, project_id,topicProjectId, topic,avsc_file,report_metadata,cfg_env_txt)
        c8.generateReport()
        c9 = Control9(org_id, project_id,topicProjectId, topic,avsc_file,report_metadata,cfg_env_txt)
        c9.generateReport()
        c10 = Control10(org_id, project_id,topicProjectId, topic,avsc_file,report_metadata,cfg_env_txt)
        c10.generateReport()  
        c11 = Control11(org_id, project_id,topicProjectId, topic,avsc_file,report_metadata,cfg_env_txt)
        c11.generateReport()
        c12 = Control12(org_id, project_id,topicProjectId, topic,avsc_file,report_metadata,cfg_env_txt)
        c12.generateReportSensitive()  
        c12.generateReportNonSensitive()   
        c13 = Control13(org_id, project_id,topicProjectId, topic,avsc_file,report_metadata,cfg_env_txt)
        c13.generateReport()         
        c14 = Control14(org_id, project_id,topicProjectId, topic,avsc_file,report_metadata,cfg_env_txt,'us', projectNumber)
        c14.generateReport()