1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- import boto3
- from crhelper import CfnResource
- from decorators import with_logging
- helper = CfnResource(json_logging=False, log_level="DEBUG", boto_level="CRITICAL")
- s3 = boto3.resource("s3")
- @with_logging
- def empty_bucket(bucket_name):
- bucket = s3.Bucket(bucket_name)
- bucket.objects.all().delete()
- bucket.object_versions.all().delete()
- @with_logging
- @helper.create
- def create(event, context):
- return None
- @with_logging
- @helper.update
- def update(event, context):
- props = event["ResourceProperties"]
- props_old = event["OldResourceProperties"]
- web_ui_deployed = props_old.get("DeployWebUI", "true")
- if web_ui_deployed == "true" and props["DeployWebUI"] == "false":
- empty_bucket(props["Bucket"])
- return None
- @with_logging
- @helper.delete
- def delete(event, context):
- props = event["ResourceProperties"]
- empty_bucket(props["Bucket"])
- return None
- def handler(event, context):
- helper(event, context)
|