### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

When trying to use CloudWatch as a target for an EventBridge eventbus I receive a warning `WARNING:localstack.utils.aws.aws_stack: Unsupported Events rule target ARN: "arn:aws:logs:us-east-1:000000000000:log-group:/aws/events/log-imports"` and nothing happens.

### Expected Behavior

I expected to be able to use CloudWatch loggroup as an EventBrigde eventbus target, like I can using AWS.

### 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`)

    `docker-compose.yaml`

#### Additional files
JSON file needed for the `put-events` call

```
[
  {
    "Source": "com.mycompany.myapp",
    "Detail": "{ \"key1\": \"value1\", \"key2\": \"value2\" }",
    "Resources": [
      "resource1",
      "resource2"
    ],
    "DetailType": "myDetailType",
    "EventBusName": "messages-eb"
  }
]
```

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

    awslocal logs create-log-group --log-group-name /aws/events/log-imports
    awslocal events create-event-bus --name messages-eb
    awslocal events put-rule --name forward-message --event-bus-name messages-eb --event-pattern "{""account"": [""000000000000""]}"
    awslocal events put-targets --rule forward-message --event-bus-name messages-eb --targets "Id"="1","Arn"="arn:aws:logs:us-east-1:000000000000:log-group:/aws/events/log-imports"

    awslocal events put-events --entries file://events.json
    


### Environment

```markdown
- OS: Windows 10
- LocalStack: 0.12.17
- Docker Desktop (with WSL2)
```


### Anything else?

_No response_
iter_length = 0
            f.flush()
            os.fsync(f)
        if os.path.getsize(path) == 0:
            LOG.warning("Zero bytes downloaded from %s, retrying" % url)
            download(url, path, verify_ssl)
            return
        LOG.debug(
            "Done downloading %s, response code %s, total bytes %d" % (url, r.status_code, total)
        )
    finally:
        r.close()
        s.close()
def parse_request_data(method, path, data=None, headers=None):
    """Extract request data either from query string (for GET) or request body (for POST)."""
    result = {}
    headers = headers or {}
    content_type = headers.get("Content-Type", "")
    if method in ["POST", "PUT", "PATCH"] and (not content_type or "form-" in content_type):
        
        try:
            result = parse_qs(to_str(data or ""))
        except Exception:
            pass  
    if not result:
        parsed_path = urlparse(path)
        result = parse_qs(parsed_path.query)
    result = dict([(k, v[0]) for k, v in result.items()])
    return result
def first_char_to_lower(s):