Mostly backed up by lambda function or SNS

Define custom provisioning logic Define resources not yet supported by cfn Custom scripts during create/update/deletion

AWS::CloudFormation::CustomResource
or
Custom::MyCustomResouce

To delete a non empty s3 bucket, you would need to create a lambda function that deletes the objects and then delete the bucket