code: def update(self):
          
          client = self._instance._client
          # We are passing `None` for second argument location.
          # Location is set only at the time of creation of a cluster
          # and can not be changed after cluster has been created.
          return client.instance_admin_client.update_cluster(
              self.name, self.serve_nodes, None
          )
docs: Update this cluster.
  
          For example:
  
          .. literalinclude:: snippets.py
              :start-after: [START bigtable_update_cluster]
              :end-before: [END bigtable_update_cluster]
  
          .. note::
  
              Updates the ``serve_nodes``. If you'd like to
              change them before updating, reset the values via
  
              .. code:: python
  
                  cluster.serve_nodes = 8
  
              before calling :meth:`update`.
  
          :type location: :str:``CreationOnly``
          :param location: The location where this cluster's nodes and storage
                  reside. For best performance, clients should be located as
                  close as possible to this cluster. Currently only zones are
                  supported, so values should be of the form
                  ``projects/<project>/locations/<zone>``.
  
          :type serve_nodes: :int
          :param serve_nodes: The number of nodes allocated to this cluster.
                  More nodes enable higher throughput and more consistent
                  performance.
  
          :rtype: :class:`Operation`
          :returns: The long-running operation corresponding to the
                    update operation.