def createModelBootstraps()

in SubTemplates/IoT/Lambdas/bootstrap_generator/app.py [0:0]


def createModelBootstraps(model_list):

    added_models = []
    
    for model in model_list:
        items = s3Client.list_objects_v2(
            Bucket=BUCKET_NAME,
            Prefix=model
        )
        
        if items["KeyCount"] == 0:
            certificates = iotClient.create_keys_and_certificate(setAsActive=True)
            iotClient.attach_policy(policyName=bootstrapPolicyName,target=certificates['certificateArn'])
            mem_zip = BytesIO()
            added_models.append(model)
            with ZipFile(mem_zip, mode="w", compression=ZIP_DEFLATED) as archive:
                archive.writestr('bootstrap-certificate.pem.crt', certificates['certificatePem'])
                archive.writestr('bootstrap-private.pem.key', certificates['keyPair']['PrivateKey'])
                archive.writestr('root.ca.pem', rootCert.read())
                archive.writestr('{}.txt'.format(certificates['certificateId']), "")
                
            mem_zip.seek(0)
            s3Client.upload_fileobj(mem_zip, BUCKET_NAME,'{0}/{0}_bootstraps.zip'.format(model))
    
    return added_models