### Description
Re: Google Cloud Provider -- PubSub

The PubSub [Topics Create API](https://cloud.google.com/pubsub/docs/reference/rest/v1/projects.topics/create#request-body) supports the SchemaSettings and messageRetentionDuration parameters. These should also be supported via the [PubSubCreateTopicOperator](https://github.com/apache/airflow/blob/9207e7d5e5c183d2e63c3030216b14709257668e/airflow/providers/google/cloud/operators/pubsub.py#L50). Thanks!

### Use case/motivation

_No response_

### Related issues

_No response_

### Are you willing to submit a PR?

- [x] Yes I am willing to submit a PR!

### Code of Conduct

- [X] I agree to follow this project's [Code of Conduct](https://github.com/apache/airflow/blob/main/CODE_OF_CONDUCT.md)

ack_method = mock_service.acknowledge
        ack_method.side_effect = exception
        with pytest.raises(PubSubException):
            self.pubsub_hook.acknowledge(
                project_id=TEST_PROJECT, subscription=TEST_SUBSCRIPTION, ack_ids=["1", "2", "3"]
            )
            ack_method.assert_called_once_with(
                request=dict(
                    subscription=EXPANDED_SUBSCRIPTION,
                    ack_ids=["1", "2", "3"],
                ),
                retry=DEFAULT,
                timeout=None,
                metadata=(),
            )
    @pytest.mark.parametrize(
        "messages",
        [
            [{"data": b"test"}],
            [{"data": b""}],
            [{"data": b"test", "attributes": {"weight": "100kg"}}],
            [{"data": b"", "attributes": {"weight": "100kg"}}],
            [{"attributes": {"weight": "100kg"}}],
        ],
    )
    def test_messages_validation_positive(self, messages):