When a subscription is created using cloudformation:
```
"ProfileChangedSubscription": {
      "Type": "AWS::SNS::Subscription",
      "Properties": {
        "Endpoint": {
          "Fn::GetAtt": [
            "ProfileChangedQueue",
            "Arn"
          ]
        },
        "Protocol": "sqs",
        "FilterPolicy": {
          "eventType": [
            "created"
          ]
        },
        "TopicArn": {
          "Fn::ImportValue": {
            "Fn::Sub": "${ProfilesProfilePublishStack}-ProfileChangedTopic"
          }
        }
      }
    }
```

The specified subscription filter policy is not created. When I run `get-subscription-attributes`, I get information about non-existing filter policy:

```
{
    "Attributes": {
        "TopicArn": "arn:aws:sns:us-east-1:000000000000:profile-changed-topic",
        "Endpoint": "arn:aws:sqs:us-east-1:000000000000:profile-changed-queue",
        "Protocol": "sqs",
        "SubscriptionArn": "arn:aws:sns:us-east-1:000000000000:profile-changed-topic:936a58be-525b-4228-bfdb-c4b2f6048e8c",
        "FilterPolicy": "None"
    }
}
```
resource_type = get_resource_type(resource)
    entry = RESOURCE_TO_FUNCTION.get(resource_type)
    if entry is None:
        LOG.warning('Unknown resource type "%s": %s' % (resource_type, resource))
    return bool(entry and entry.get(ACTION_CREATE))
def is_deployed(resource_id, resources, stack_name):
    resource = resources[resource_id]
    resource_status = resource.get('__details__') or {}
    details = retrieve_resource_details(resource_id, resource_status, resources, stack_name)
    return bool(details)
def should_be_deployed(resource_id, resources, stack_name):
    """ Return whether the given resource is all of: (1) deployable, (2) not yet deployed,
        and (3) has no unresolved dependencies. """
    resource = resources[resource_id]
    if not is_deployable_resource(resource) or is_deployed(resource_id, resources, stack_name):
        return False
    res_deps = get_resource_dependencies(resource_id, resource, resources)
    return all_dependencies_satisfied(res_deps, stack_name, resources, resource_id)
def is_updateable(resource_id, resources, stack_name):
    """ Return whether the given resource can be updated or not """
    resource = resources[resource_id]
    if not is_deployable_resource(resource) or not is_deployed(resource_id, resources, stack_name):
        return False
    resource_type = get_resource_type(resource)
    return resource_type in UPDATEABLE_RESOURCES
def all_dependencies_satisfied(resources, stack_name, all_resources, depending_resource=None):