It can be deployed normally on AWS

![image](https://user-images.githubusercontent.com/38454210/78279329-f1528180-7549-11ea-8aec-ba9620a16609.png)

![image](https://user-images.githubusercontent.com/38454210/78279477-25c63d80-754a-11ea-92bc-313e7950424c.png)


def replace(params, **kwargs):
        result = param_func(params, **kwargs)
        for key, value in defaults.items():
            if result.get(key) in ['', None]:
                result[key] = value
        return result
    return replace
RESOURCE_TO_FUNCTION = {
    'S3::Bucket': {
        'create': [{
            'function': 'create_bucket',
            'parameters': {
                'Bucket': ['BucketName', PLACEHOLDER_RESOURCE_NAME],
                'ACL': lambda params, **kwargs: convert_acl_cf_to_s3(params.get('AccessControl', 'PublicRead')),
                'CreateBucketConfiguration': lambda params, **kwargs: get_bucket_location_config()
            }
        }, {
            'function': 'put_bucket_notification_configuration',
            'parameters': s3_bucket_notification_config
        }],
        'delete': [{
            'function': 'delete_bucket_policy',
            'parameters': {
                'Bucket': 'PhysicalResourceId'