### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

I'm using [Localstack with the Rust SDK](https://docs.aws.amazon.com/sdk-for-rust/latest/dg/localstack.html), and it is reporting an error parsing the `RunInstancesResponse` type:

```
Error: Error parsing XML: expected (boolean: `com.amazonaws.ec2#Boolean`)

Caused by:
    0: Error parsing XML: expected (boolean: `com.amazonaws.ec2#Boolean`)
    1: Error parsing XML: expected (boolean: `com.amazonaws.ec2#Boolean`)
```

The response contains this:

```
<ebsOptimized>False</ebsOptimized>
```

which does not conform to the API reference's description of [AttributeBooleanValue](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_AttributeBooleanValue.html), which says that the valid values are `true` or `false`.

### Expected Behavior

The API should return boolean values in lowercase as specified by the Amazon API Reference.

### How are you starting LocalStack?

With a docker-compose file

### Steps To Reproduce

#### How are you starting localstack (e.g., `bin/localstack` command, arguments, or `docker-compose.yml`)

```yaml
version: "3.8"

services:
  localstack:
    container_name: "${LOCALSTACK_DOCKER_NAME-localstack_main}"
    image: localstack/localstack
    network_mode: bridge
    ports:
      - "127.0.0.1:4510-4559:4510-4559"  # external service port range
      - "127.0.0.1:4566:4566"            # LocalStack Edge Proxy
    environment:
      - DEBUG=${DEBUG-}
      - DATA_DIR=${DATA_DIR-}
      - LAMBDA_EXECUTOR=${LAMBDA_EXECUTOR-}
      - DOCKER_HOST=unix:///var/run/docker.sock
    volumes:
      - "${LOCALSTACK_VOLUME_DIR:-./volume}:/var/lib/localstack"
      - "${DOCKER_SOCK:-/var/run/docker.sock}:/var/run/docker.sock"
```

#### Client commands (e.g., AWS SDK code snippet, or sequence of "awslocal" commands)

```rust
let ec2: aws_sdk_ec2::Client = ...;
let resp = ec2
    .run_instances()
    .image_id(image_id)
    .max_count(1)
    .min_count(1)
    .key_name(key_name)
    .security_group_ids(gid)
    .subnet_id(sid)
    .send()
    .await?;
```


### Environment

```markdown
- OS: Ubuntu 18.04 LTS
- LocalStack:

localstack_main | LocalStack version: 1.0.2.dev
localstack_main | LocalStack Docker container id: 73a491727a3c
localstack_main | LocalStack build date: 2022-07-20
localstack_main | LocalStack build git hash: e105e488
```
```


### Anything else?

_No response_
<RequestId>{req_id}</RequestId>
            <HostId>{host_id}</HostId>
        </Error>""".format(
        message=message,
        code_string=code_string,
        req_id=short_uid(),
        host_id=short_uid(),
    )
    parsed_response = xmltodict.parse(response_template)
    response.status_code = code
    if signature and string_to_sign or code_string == "SignatureDoesNotMatch":
        bytes_signature = binascii.hexlify(bytes(signature, encoding="utf-8"))
        parsed_response["Error"]["Code"] = code_string
        parsed_response["Error"]["AWSAccessKeyId"] = aws_access_token
        parsed_response["Error"]["StringToSign"] = string_to_sign
        parsed_response["Error"]["SignatureProvided"] = signature
        parsed_response["Error"]["StringToSignBytes"] = "{}".format(bytes_signature.decode("utf-8"))
        set_response_content(response, xmltodict.unparse(parsed_response))
    if expires and code_string == "AccessDenied":
        server_time = datetime.datetime.utcnow().isoformat()[:-4]
        expires_isoformat = datetime.datetime.fromtimestamp(int(expires)).isoformat()[:-4]
        parsed_response["Error"]["Code"] = code_string
        parsed_response["Error"]["Expires"] = "{}Z".format(expires_isoformat)
        parsed_response["Error"]["ServerTime"] = "{}Z".format(server_time)
        set_response_content(response, xmltodict.unparse(parsed_response))
    if not signature and not expires and code_string == "AccessDenied":
        set_response_content(response, xmltodict.unparse(parsed_response))
    if response._content:
        return response
def flask_error_response_xml(