# Type of request: This is a ...

[x] bug report
[ ] feature request

Proposed labels:
[bug][diverges-from-aws][priority-high]

# Detailed description
There is a bug in the firehose API where it assumes an elasticsearch instance has a "TypeName"
Types have been removed in ES 7 and above
https://github.com/localstack/localstack/blob/master/localstack/services/firehose/firehose_api.py line 64 attempts to access a TypeName property which doesn't exist in ES 7 setups.

This results in:
```
File "/opt/code/localstack/localstack/services/firehose/firehose_api.py", line 64, in put_records
es_type = es_dest['TypeName']
KeyError: 'TypeName'
```
When attempting a PutRecord action
...
## Client code 
https://github.com/localstack/localstack/blob/master/localstack/services/firehose/firehose_api.py line 64
...

names = []
    for name, stream in iteritems(DELIVERY_STREAMS):
        names.append(stream['DeliveryStreamName'])
    return names
def get_delivery_stream_tags(stream_name, exclusive_start_tag_key=None, limit=50):
    stream = DELIVERY_STREAMS[stream_name]
    response = {}
    start_i = -1
    if exclusive_start_tag_key is not None:
        start_i = next(iter([i for i, tag in enumerate(stream['Tags']) if tag['Key'] == exclusive_start_tag_key]))
    response['Tags'] = [tag for i, tag in enumerate(stream['Tags']) if start_i < i < limit]
    response['HasMore'] = len(response['Tags']) < len(stream['Tags'])
    return response
def put_record(stream_name, record):