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"
    }
}
```
])
        
        subs = sns.list_subscriptions()['Subscriptions']
        subs = [s for s in subs if (':%s:cf-test-queue-1' % TEST_AWS_ACCOUNT_ID) in s['Endpoint']]
        self.assertEqual(len(subs), 1)
        self.assertIn(':%s:%s-test-topic-1-1' % (TEST_AWS_ACCOUNT_ID, stack_name), subs[0]['TopicArn'])
        
        test_api_name = 'test-api'
        api = [a for a in apigateway.get_rest_apis()['items'] if a['name'] == test_api_name][0]
        responses = apigateway.get_gateway_responses(restApiId=api['id'])['items']
        self.assertEqual(len(responses), 2)
        types = [r['responseType'] for r in responses]
        self.assertEqual(set(types), set(['UNAUTHORIZED', 'DEFAULT_5XX']))
        
        cf_client.delete_stack(StackName=stack_name)
        
        assert not bucket_exists('cf-test-bucket-1')
        assert not queue_exists('cf-test-queue-1')
        assert not topic_exists('%s-test-topic-1-1' % stack_name)
        retry(lambda: self.assertFalse(stream_exists('cf-test-stream-1')))
    def test_list_stack_events(self):
        cloudformation = aws_stack.connect_to_service('cloudformation')
        response = cloudformation.describe_stack_events()
        self.assertEqual(response['ResponseMetadata']['HTTPStatusCode'], 200)
    def test_validate_template(self):
        cloudformation = aws_stack.connect_to_service('cloudformation')
        template = template_deployer.template_to_json(load_file(TEST_TEMPLATE_1))
        response = cloudformation.validate_template(TemplateBody=template)
        self.assertEqual(response['ResponseMetadata']['HTTPStatusCode'], 200)
    def test_validate_invalid_json_template_should_fail(self):