# 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
...

from __future__ import print_function
import json
import uuid
import time
import logging
import base64
import traceback
from six import iteritems
from flask import Flask, jsonify, request
from boto3.dynamodb.types import TypeDeserializer
from localstack.services import generic_proxy
from localstack.constants import TEST_AWS_ACCOUNT_ID
from localstack.utils.aws import aws_responses
from localstack.utils.common import short_uid, to_str, timestamp
from localstack.utils.aws.aws_stack import (
    connect_to_resource, firehose_stream_arn, connect_elasticsearch, extract_region_from_auth_header)
from localstack.utils.kinesis import kinesis_connector
from localstack.utils.analytics import event_publisher
APP_NAME = 'firehose_api'
app = Flask(APP_NAME)
ACTION_HEADER_PREFIX = 'Firehose_20150804'
LOG = logging.getLogger(__name__)
DELIVERY_STREAMS = {}
deser = TypeDeserializer()
def get_delivery_stream_names():