# Cloud Storage JSON API . notifications

## Instance Methods

Permanently deletes a notification subscription.

View a notification configuration.

Creates a notification subscription for a given bucket.

Retrieves a list of notification subscriptions for a given bucket.

### Method Details

`delete(bucket, notification, userProject=None)`

    Permanently deletes a notification subscription.

    Args:
      bucket: string, The parent bucket of the notification. (required)
      notification: string, ID of the notification to delete. (required)
      userProject: string, The project number to be billed for this request, for Requester Pays buckets.

`get(bucket, notification, userProject=None)`

    View a notification configuration.

    Args:
      bucket: string, The parent bucket of the notification. (required)
      notification: string, Notification ID (required)
      userProject: string, The project number to be billed for this request, for Requester Pays buckets.

    Returns:
      An object of the form:

        { # A subscription to receive Google PubSub notifications.
          "kind": "storage#notification", # The kind of item this is. For notifications, this is always storage#notification.
          "custom_attributes": { # An optional list of additional attributes to attach to each Cloud PubSub message published for this notification subscription.
            "a_key": "A String",
          },
          "topic": "A String", # The Cloud PubSub topic to which this subscription publishes. Formatted as: '//pubsub.googleapis.com/projects/{project-identifier}/topics/{my-topic}'
          "etag": "A String", # HTTP 1.1 Entity tag for this subscription notification.
          "event_types": [ # If present, only send notifications about listed event types. If empty, sent notifications for all event types.
            "A String",
          ],
          "payload_format": "JSON_API_V1", # The desired content of the Payload.
          "object_name_prefix": "A String", # If present, only apply this notification configuration to object names that begin with this prefix.
          "id": "A String", # The ID of the notification.
          "selfLink": "A String", # The canonical URL of this notification.
        }

`insert(bucket, body, userProject=None)`

    Creates a notification subscription for a given bucket.

    Args:
      bucket: string, The parent bucket of the notification. (required)
      body: object, The request body. (required)
        The object takes the form of:

    { # A subscription to receive Google PubSub notifications.
        "kind": "storage#notification", # The kind of item this is. For notifications, this is always storage#notification.
        "custom_attributes": { # An optional list of additional attributes to attach to each Cloud PubSub message published for this notification subscription.
          "a_key": "A String",
        },
        "topic": "A String", # The Cloud PubSub topic to which this subscription publishes. Formatted as: '//pubsub.googleapis.com/projects/{project-identifier}/topics/{my-topic}'
        "etag": "A String", # HTTP 1.1 Entity tag for this subscription notification.
        "event_types": [ # If present, only send notifications about listed event types. If empty, sent notifications for all event types.
          "A String",
        ],
        "payload_format": "JSON_API_V1", # The desired content of the Payload.
        "object_name_prefix": "A String", # If present, only apply this notification configuration to object names that begin with this prefix.
        "id": "A String", # The ID of the notification.
        "selfLink": "A String", # The canonical URL of this notification.
      }

      userProject: string, The project number to be billed for this request, for Requester Pays buckets.

    Returns:
      An object of the form:

        { # A subscription to receive Google PubSub notifications.
          "kind": "storage#notification", # The kind of item this is. For notifications, this is always storage#notification.
          "custom_attributes": { # An optional list of additional attributes to attach to each Cloud PubSub message published for this notification subscription.
            "a_key": "A String",
          },
          "topic": "A String", # The Cloud PubSub topic to which this subscription publishes. Formatted as: '//pubsub.googleapis.com/projects/{project-identifier}/topics/{my-topic}'
          "etag": "A String", # HTTP 1.1 Entity tag for this subscription notification.
          "event_types": [ # If present, only send notifications about listed event types. If empty, sent notifications for all event types.
            "A String",
          ],
          "payload_format": "JSON_API_V1", # The desired content of the Payload.
          "object_name_prefix": "A String", # If present, only apply this notification configuration to object names that begin with this prefix.
          "id": "A String", # The ID of the notification.
          "selfLink": "A String", # The canonical URL of this notification.
        }

`list(bucket, userProject=None)`

    Retrieves a list of notification subscriptions for a given bucket.

    Args:
      bucket: string, Name of a GCS bucket. (required)
      userProject: string, The project number to be billed for this request, for Requester Pays buckets.

    Returns:
      An object of the form:

        { # A list of notification subscriptions.
        "items": [ # The list of items.
          { # A subscription to receive Google PubSub notifications.
              "kind": "storage#notification", # The kind of item this is. For notifications, this is always storage#notification.
              "custom_attributes": { # An optional list of additional attributes to attach to each Cloud PubSub message published for this notification subscription.
                "a_key": "A String",
              },
              "topic": "A String", # The Cloud PubSub topic to which this subscription publishes. Formatted as: '//pubsub.googleapis.com/projects/{project-identifier}/topics/{my-topic}'
              "etag": "A String", # HTTP 1.1 Entity tag for this subscription notification.
              "event_types": [ # If present, only send notifications about listed event types. If empty, sent notifications for all event types.
                "A String",
              ],
              "payload_format": "JSON_API_V1", # The desired content of the Payload.
              "object_name_prefix": "A String", # If present, only apply this notification configuration to object names that begin with this prefix.
              "id": "A String", # The ID of the notification.
              "selfLink": "A String", # The canonical URL of this notification.
            },
        ],
        "kind": "storage#notifications", # The kind of item this is. For lists of notifications, this is always storage#notifications.
      }