### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

If I create a queue and try to change its `ContentDeduplication` attribute, I see this error:

` An error occurred (InvalidAttributeName) when calling the SetQueueAttributes operation: Unknown Attribute ContentBasedDeduplication.`

### Expected Behavior

I should be able to set `ContentBasedDeduplication` from `true` to `false` on an existing queue.  It appears to work on 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 run localstack/localstack

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

```
aws sqs create-queue --queue-name test1.fifo --endpoint-url http://localhost:4566/ --attributes FifoQueue=true,ContentBasedDeduplication=true
{
    "QueueUrl": "http://localhost:4566/000000000000/test1.fifo"
}


aws sqs get-queue-attributes --endpoint-url http://localhost:4566/ --queue-url http://localhost:4566/000000000000/test1.fifo --attribute-names '["ContentBasedDeduplication"]'
{
    "Attributes": {
        "FifoQueue": "true,
        "ContentBasedDeduplication": "true"
    }
}

aws sqs set-queue-attributes --endpoint-url http://localhost:4566/ --queue-url http://localhost:4566/000000000000/test1.fifo --attributes ContentBasedDeduplication=false

An error occurred (InvalidAttributeName) when calling the SetQueueAttributes operation: Unknown Attribute ContentBasedDeduplication.
```


### Environment

```markdown
- OS: MacOs Ventura 13.3.1 (a) 
- LocalStack: 2.1.0
```


### Anything else?

_No response_
result_send = aws_client.sqs.send_message(QueueUrl=queue_url, MessageBody="test")
        result_recv1_messages = aws_client.sqs.receive_message(QueueUrl=queue_url).get("Messages")
        result_recv2_messages = aws_client.sqs.receive_message(QueueUrl=queue_url).get("Messages")
        # on
        assert (result_recv1_messages is None) != (result_recv2_messages is None)
        assert poll_condition(
            lambda: "Messages" in aws_client.sqs.receive_message(QueueUrl=dl_queue_url), 5.0, 1.0
        )
        assert (
            aws_client.sqs.receive_message(QueueUrl=dl_queue_url)["Messages"][0]["MessageId"]
            == result_send["MessageId"]
        )
    def test_dead_letter_queue_chain(self, sqs_create_queue, aws_client):
        # te
        # cr
        queue_names = [f"q-{short_uid()}", f"q-{short_uid()}", f"q-{short_uid()}"]
        for queue_name in queue_names:
            sqs_create_queue(QueueName=queue_name, Attributes={"VisibilityTimeout": "0"})
        queue_urls = [arns.get_sqs_queue_url(queue_name) for queue_name in queue_names]
        # se
        for idx, queue_name in enumerate(queue_names[:2]):
            policy = {
                "deadLetterTargetArn": arns.sqs_queue_arn(queue_names[idx + 1]),
                "maxReceiveCount": 1,
            }
            aws_client.sqs.set_queue_attributes(
                QueueUrl=queue_urls[idx],
                Attributes={"RedrivePolicy": json.dumps(policy), "VisibilityTimeout": "0"},
            )
        def _retry_receive(q_url):