in SubTemplates/IoT/Lambdas/provision_device/app.py [0:0]
def createModelBootstraps():
model_bucket = '{}-per-vendor-bootstraps'.format(resourceTag)
with open('artifacts/models.txt', 'r') as rows:
s3Client.create_bucket(Bucket=model_bucket, CreateBucketConfiguration={'LocationConstraint': region})
models = rows.read().splitlines()
rootCert = urlopen(rootCertUrl)
for model in models:
#create certificates
certificates = iotClient.create_keys_and_certificate(setAsActive=True)
iotClient.attach_policy(policyName=bootstrapPolicyName,target=certificates['certificateArn'])
mem_zip = BytesIO()
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())
mem_zip.seek(0)
s3Client.upload_fileobj(mem_zip, model_bucket,'{0}/{0}_bootstraps.zip'.format(model))