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