These use cases and more can be enabled by injecting an
instance of a custom subclass when constructing the ModelServiceRestTransport.

.. code-block:: python
    class MyCustomModelServiceInterceptor(ModelServiceRestInterceptor):
        def pre_create_tuned_model(self, request, metadata):
            logging.log(f"Received request: {request}")
            return request, metadata

        def post_create_tuned_model(self, response):
            logging.log(f"Received response: {response}")
            return response

        def pre_delete_tuned_model(self, request, metadata):
            logging.log(f"Received request: {request}")
            return request, metadata

        def pre_get_model(self, request, metadata):
            logging.log(f"Received request: {request}")
            return request, metadata

        def post_get_model(self, response):
            logging.log(f"Received response: {response}")
            return response

        def pre_get_tuned_model(self, request, metadata):
            logging.log(f"Received request: {request}")
            return request, metadata

        def post_get_tuned_model(self, response):
            logging.log(f"Received response: {response}")
            return response

        def pre_list_models(self, request, metadata):
            logging.log(f"Received request: {request}")
            return request, metadata

        def post_list_models(self, response):
            logging.log(f"Received response: {response}")
            return response

        def pre_list_tuned_models(self, request, metadata):
            logging.log(f"Received request: {request}")
            return request, metadata

        def post_list_tuned_models(self, response):
            logging.log(f"Received response: {response}")
            return response

        def pre_update_tuned_model(self, request, metadata):
            logging.log(f"Received request: {request}")
            return request, metadata

        def post_update_tuned_model(self, response):
            logging.log(f"Received response: {response}")
            return response

    transport = ModelServiceRestTransport(interceptor=MyCustomModelServiceInterceptor())
    client = ModelServiceClient(transport=transport)


Ú