<!-- Love localstack? Please consider supporting our collective:
👉  https://opencollective.com/localstack/donate -->

# Type of request: This is a ...

[x] bug report
[ ] feature request

# Detailed description
When I call the Lambda PutFunctionEventInvokeConfig API using the aws-java-sdk, the sdk throws an exception claiming it cannot parse the LastModified timestamp in the response:
```
software.amazon.awssdk.core.exception.SdkClientException: Unable to parse date : 2021-05-28T16:02:30.018Z
        at software.amazon.awssdk.core.exception.SdkClientException$BuilderImpl.build(SdkClientException.java:98)
        at software.amazon.awssdk.protocols.core.StringToInstant.lambda$safeParseDate$0(StringToInstant.java:77)
        at software.amazon.awssdk.protocols.core.StringToInstant.convert(StringToInstant.java:54)
        at software.amazon.awssdk.protocols.core.StringToInstant.convert(StringToInstant.java:32)
```

For comparison, the response for a getting a FunctionEventInvokeConfig for a Lambda of a real AWS account using the aws-cli is the following:
```
{
    "LastModified": "2021-05-27T19:26:43.454000-07:00",
    "FunctionArn": "...",
    ...
}
```

## Expected behavior
LambdaAsyncClient in aws-java-sdk should correctly parse the response for a PutFunctionEventInvokeConfig request.

## Actual behavior
LambdaAsyncClient in aws-java-sdk throws an exception when parsing the LastModified field in the response.

# Steps to reproduce

## Command used to start LocalStack
```
docker run -d --rm --name localstack -p 4566:4566 localstack/localstack:latest
```

## Client code (AWS SDK code snippet, or sequence of "awslocal" commands)
```
val putEventInvokeConfigRequest =
  PutFunctionEventInvokeConfigRequest.builder
    .functionName(functionName)
    .maximumEventAgeInSeconds(21600)
    .maximumRetryAttempts(0)
    .build
lambdaClient.putFunctionEventInvokeConfig(putEventInvokeConfigRequest)
```


pass
        if isinstance(result, dict):
            for key in ('StatusCode', 'Payload', 'FunctionError'):
                if result.get(key):
                    details[key] = result[key]
        
        was_json = False
        payload = details['Payload']
        if payload and isinstance(payload, POSSIBLE_JSON_TYPES) and payload[0] in JSON_START_CHARS:
            try:
                details['Payload'] = json.loads(details['Payload'])
                was_json = True
            except Exception:
                pass
        
        if details.get('FunctionError'):
            details['Headers']['X-Amz-Function-Error'] = str(details['FunctionError'])
        
        logs = log_output[-4000:] if log_type == 'Tail' else ''
        details['Headers']['X-Amz-Log-Result'] = base64.b64encode(to_bytes(logs))
        details['Headers']['X-Amz-Executed-Version'] = str(qualifier or VERSION_LATEST)
        
        response_obj = details['Payload']
        if was_json or isinstance(response_obj, JSON_START_TYPES):
            response_obj = json_safe(response_obj)
            response_obj = jsonify(response_obj)
            details['Headers']['Content-Type'] = 'application/json'
        else:
            response_obj = str(response_obj)
            details['Headers']['Content-Type'] = 'text/plain'