def delete_bucket(self, bucket_name, *args, **kwargs): bucket_name = s3_listener.normalize_bucket_name(bucket_name) try: s3_listener.remove_bucket_notification(bucket_name) return delete_bucket_orig(bucket_name, *args, **kwargs) except s3_exceptions.MissingBucket: pass
def _pre_delete(resource_id, resources, resource_type, func, stack_name): s3 = aws_stack.connect_to_service("s3") resource = resources[resource_id] props = resource["Properties"] bucket_name = props.get("BucketName") try: s3.delete_bucket_policy(Bucket=bucket_name) except Exception: pass s3_listener.remove_bucket_notification(resource["PhysicalResourceId"]) # TODO: divergence from how AWS deals with bucket deletes (should throw an error) try: delete_all_s3_objects(bucket_name) except Exception as e: if "NoSuchBucket" not in str(e): raise
def delete_bucket(self, bucket_name, *args, **kwargs): bucket_name = s3_listener.normalize_bucket_name(bucket_name) s3_listener.remove_bucket_notification(bucket_name) return delete_bucket_orig(bucket_name, *args, **kwargs)