code: def create(self, client=None):
          
          if self.notification_id is not None:
              raise ValueError(
                  "Notification already exists w/ id: {}".format(self.notification_id)
              )
  
          client = self._require_client(client)
  
          query_params = {}
          if self.bucket.user_project is not None:
              query_params["userProject"] = self.bucket.user_project
  
          path = "/b/{}/notificationConfigs".format(self.bucket.name)
          properties = self._properties.copy()
          properties["topic"] = _TOPIC_REF_FMT.format(self.topic_project, self.topic_name)
          self._properties = client._connection.api_request(
              method="POST", path=path, query_params=query_params, data=properties
          )
docs: API wrapper: create the notification.
  
          See:
          https://cloud.google.com/storage/docs/json_api/v1/notifications/insert
  
          If :attr:`user_project` is set on the bucket, bills the API request
          to that project.
  
          :type client: :class:`~google.cloud.storage.client.Client`
          :param client: (Optional) the client to use.  If not passed, falls back
                         to the ``client`` stored on the notification's bucket.