def create_custom_auditmanager_control()

in aws-auditmanager-conformancepack/lambda/CustomAuditManagerFramework_Lambda.py [0:0]


def create_custom_auditmanager_control(controls):
    
    auditmanager = boto3.client('auditmanager')
    configconfpackcontrol_List= []
    control_id =""
    controltype = controls[0]
    controllist = controls[1:]
    
    #Create a Custom Config Conformance Pack Control Source - Config Conf Pack Control Source
    configconfpack_controlmappingsource_template = {}
    configconfpack_controlmappingsource_template['sourceName'] = 'Custom Config Conformance Pack Control Source'
    configconfpack_controlmappingsource_template['sourceDescription'] = 'Conformance Pack checks'
    configconfpack_controlmappingsource_template['sourceSetUpOption'] = 'System_Controls_Mapping'
    configconfpack_controlmappingsource_template['sourceType'] = 'AWS_Config'
    sourceKeyword = {
                'keywordInputType': 'SELECT_FROM_LIST',
                'keywordValue': 'Conformance Pack checks'
            }
    configconfpack_controlmappingsource_template['sourceKeyword'] = sourceKeyword
    
    for controlname in controllist:
        configconfpack_controlmappingsource = copy.deepcopy(configconfpack_controlmappingsource_template)
        configconfpack_controlmappingsource['sourceKeyword']['keywordValue'] = controlname
        configconfpackcontrol_List.append(configconfpack_controlmappingsource)
        
        
    #Create a Custom Config Conformance Pack Control
    name = controltype + '-CustomConfigConfpackControl'
    response_control = auditmanager.create_control(name=name, controlMappingSources=configconfpackcontrol_List)
    control_id = response_control['control']['id']
    
    return control_id