code: def make_private(self, recursive=False, future=False, client=None):
          
          self.acl.all().revoke_read()
          self.acl.save(client=client)
  
          if future:
              doa = self.default_object_acl
              if not doa.loaded:
                  doa.reload(client=client)
              doa.all().revoke_read()
              doa.save(client=client)
  
          if recursive:
              blobs = list(
                  self.list_blobs(
                      projection="full",
                      max_results=self._MAX_OBJECTS_FOR_ITERATION + 1,
                      client=client,
                  )
              )
              if len(blobs) > self._MAX_OBJECTS_FOR_ITERATION:
                  message = (
                      "Refusing to make private recursively with more than "
                      "%d objects. If you actually want to make every object "
                      "in this bucket private, iterate through the blobs "
                      "returned by 'Bucket.list_blobs()' and call "
                      "'make_private' on each one."
                  ) % (self._MAX_OBJECTS_FOR_ITERATION,)
                  raise ValueError(message)
  
              for blob in blobs:
                  blob.acl.all().revoke_read()
                  blob.acl.save(client=client)
docs: Update bucket's ACL, revoking read access for anonymous users.
  
          :type recursive: bool
          :param recursive: If True, this will make all blobs inside the bucket
                            private as well.
  
          :type future: bool
          :param future: If True, this will make all objects created in the
                         future private as well.
  
          :type client: :class:`~google.cloud.storage.client.Client` or
                        ``NoneType``
          :param client: Optional. The client to use.  If not passed, falls back
                         to the ``client`` stored on the current bucket.
  
          :raises ValueError:
              If ``recursive`` is True, and the bucket contains more than 256
              blobs.  This is to prevent extremely long runtime of this
              method.  For such buckets, iterate over the blobs returned by
              :meth:`list_blobs` and call
              :meth:`~google.cloud.storage.blob.Blob.make_private`
              for each blob.