# Stackdriver Logging API . projects . sinks

## Instance Methods

Creates a sink that exports specified log entries to a destination. The export of newly-ingested log entries begins immediately, unless the current time is outside the sink's start and end times or the sink's writer_identity is not permitted to write to the destination. A sink can export log entries only from the resource owning the sink.

Deletes a sink. If the sink has a unique writer_identity, then that service account is also deleted.

Gets a sink.

Lists sinks.

Retrieves the next page of results.

Updates a sink. If the named sink doesn't exist, then this method is identical to sinks.create. If the named sink does exist, then this method replaces the following fields in the existing sink with values from the new sink: destination, filter, output_version_format, start_time, and end_time. The updated filter might also have a new writer_identity; see the unique_writer_identity field.

### Method Details

`create(parent, body, uniqueWriterIdentity=None, x__xgafv=None)`

    Creates a sink that exports specified log entries to a destination. The export of newly-ingested log entries begins immediately, unless the current time is outside the sink's start and end times or the sink's writer_identity is not permitted to write to the destination. A sink can export log entries only from the resource owning the sink.

    Args:
      parent: string, Required. The resource in which to create the sink:
    "projects/[PROJECT_ID]"
    "organizations/[ORGANIZATION_ID]"
    "billingAccounts/[BILLING_ACCOUNT_ID]"
    "folders/[FOLDER_ID]"
    Examples: "projects/my-logging-project", "organizations/123456789". (required)
      body: object, The request body. (required)
        The object takes the form of:

    { # Describes a sink used to export log entries to one of the following destinations in any project: a Cloud Storage bucket, a BigQuery dataset, or a Cloud Pub/Sub topic. A logs filter controls which log entries are exported. The sink must be created within a project, organization, billing account, or folder.
        "endTime": "A String", # Optional. The time at which this sink will stop exporting log entries. Log entries are exported only if their timestamp is earlier than the end time. If this field is not supplied, there is no end time. If both a start time and an end time are provided, then the end time must be later than the start time.
        "name": "A String", # Required. The client-assigned sink identifier, unique within the project. Example: "my-syslog-errors-to-pubsub". Sink identifiers are limited to 100 characters and can include only the following characters: upper and lower-case alphanumeric characters, underscores, hyphens, and periods.
        "destination": "A String", # Required. The export destination:
            # "storage.googleapis.com/[GCS_BUCKET]"
            # "bigquery.googleapis.com/projects/[PROJECT_ID]/datasets/[DATASET]"
            # "pubsub.googleapis.com/projects/[PROJECT_ID]/topics/[TOPIC_ID]"
            # The sink's writer_identity, set when the sink is created, must have permission to write to the destination or else the log entries are not exported. For more information, see Exporting Logs With Sinks.
        "filter": "A String", # Optional. An advanced logs filter. The only exported log entries are those that are in the resource owning the sink and that match the filter. The filter must use the log entry format specified by the output_version_format parameter. For example, in the v2 format:
            # logName="projects/[PROJECT_ID]/logs/[LOG_ID]" AND severity>=ERROR
        "startTime": "A String", # Optional. The time at which this sink will begin exporting log entries. Log entries are exported only if their timestamp is not earlier than the start time. The default value of this field is the time the sink is created or updated.
        "outputVersionFormat": "A String", # Optional. The log entry format to use for this sink's exported log entries. The v2 format is used by default. The v1 format is deprecated and should be used only as part of a migration effort to v2. See Migration to the v2 API.
        "writerIdentity": "A String", # Output only. An IAM identity—a service account or group—under which Stackdriver Logging writes the exported log entries to the sink's destination. This field is set by sinks.create and sinks.update, based on the setting of unique_writer_identity in those methods.Until you grant this identity write-access to the destination, log entry exports from this sink will fail. For more information, see Granting access for a resource. Consult the destination service's documentation to determine the appropriate IAM roles to assign to the identity.
        "includeChildren": True or False, # Optional. This field applies only to sinks owned by organizations and folders. If the field is false, the default, only the logs owned by the sink's parent resource are available for export. If the field is true, then logs from all the projects, folders, and billing accounts contained in the sink's parent resource are also available for export. Whether a particular log entry from the children is exported depends on the sink's filter expression. For example, if this field is true, then the filter resource.type=gce_instance would export all Compute Engine VM instance log entries from all projects in the sink's parent. To only export entries from certain child projects, filter on the project part of the log name:
            # logName:("projects/test-project1/" OR "projects/test-project2/") AND
            # resource.type=gce_instance
      }

      uniqueWriterIdentity: boolean, Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Stackdriver Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a unique service account used only for exports from the new sink. For more information, see writer_identity in LogSink.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # Describes a sink used to export log entries to one of the following destinations in any project: a Cloud Storage bucket, a BigQuery dataset, or a Cloud Pub/Sub topic. A logs filter controls which log entries are exported. The sink must be created within a project, organization, billing account, or folder.
          "endTime": "A String", # Optional. The time at which this sink will stop exporting log entries. Log entries are exported only if their timestamp is earlier than the end time. If this field is not supplied, there is no end time. If both a start time and an end time are provided, then the end time must be later than the start time.
          "name": "A String", # Required. The client-assigned sink identifier, unique within the project. Example: "my-syslog-errors-to-pubsub". Sink identifiers are limited to 100 characters and can include only the following characters: upper and lower-case alphanumeric characters, underscores, hyphens, and periods.
          "destination": "A String", # Required. The export destination:
              # "storage.googleapis.com/[GCS_BUCKET]"
              # "bigquery.googleapis.com/projects/[PROJECT_ID]/datasets/[DATASET]"
              # "pubsub.googleapis.com/projects/[PROJECT_ID]/topics/[TOPIC_ID]"
              # The sink's writer_identity, set when the sink is created, must have permission to write to the destination or else the log entries are not exported. For more information, see Exporting Logs With Sinks.
          "filter": "A String", # Optional. An advanced logs filter. The only exported log entries are those that are in the resource owning the sink and that match the filter. The filter must use the log entry format specified by the output_version_format parameter. For example, in the v2 format:
              # logName="projects/[PROJECT_ID]/logs/[LOG_ID]" AND severity>=ERROR
          "startTime": "A String", # Optional. The time at which this sink will begin exporting log entries. Log entries are exported only if their timestamp is not earlier than the start time. The default value of this field is the time the sink is created or updated.
          "outputVersionFormat": "A String", # Optional. The log entry format to use for this sink's exported log entries. The v2 format is used by default. The v1 format is deprecated and should be used only as part of a migration effort to v2. See Migration to the v2 API.
          "writerIdentity": "A String", # Output only. An IAM identity—a service account or group—under which Stackdriver Logging writes the exported log entries to the sink's destination. This field is set by sinks.create and sinks.update, based on the setting of unique_writer_identity in those methods.Until you grant this identity write-access to the destination, log entry exports from this sink will fail. For more information, see Granting access for a resource. Consult the destination service's documentation to determine the appropriate IAM roles to assign to the identity.
          "includeChildren": True or False, # Optional. This field applies only to sinks owned by organizations and folders. If the field is false, the default, only the logs owned by the sink's parent resource are available for export. If the field is true, then logs from all the projects, folders, and billing accounts contained in the sink's parent resource are also available for export. Whether a particular log entry from the children is exported depends on the sink's filter expression. For example, if this field is true, then the filter resource.type=gce_instance would export all Compute Engine VM instance log entries from all projects in the sink's parent. To only export entries from certain child projects, filter on the project part of the log name:
              # logName:("projects/test-project1/" OR "projects/test-project2/") AND
              # resource.type=gce_instance
        }

`delete(sinkName, x__xgafv=None)`

    Deletes a sink. If the sink has a unique writer_identity, then that service account is also deleted.

    Args:
      sinkName: string, Required. The full resource name of the sink to delete, including the parent resource and the sink identifier:
    "projects/[PROJECT_ID]/sinks/[SINK_ID]"
    "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]"
    "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]"
    "folders/[FOLDER_ID]/sinks/[SINK_ID]"
    Example: "projects/my-project-id/sinks/my-sink-id". (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance:
          # service Foo {
          #   rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
          # }
          # The JSON representation for Empty is empty JSON object {}.
      }

`get(sinkName, x__xgafv=None)`

    Gets a sink.

    Args:
      sinkName: string, Required. The resource name of the sink:
    "projects/[PROJECT_ID]/sinks/[SINK_ID]"
    "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]"
    "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]"
    "folders/[FOLDER_ID]/sinks/[SINK_ID]"
    Example: "projects/my-project-id/sinks/my-sink-id". (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # Describes a sink used to export log entries to one of the following destinations in any project: a Cloud Storage bucket, a BigQuery dataset, or a Cloud Pub/Sub topic. A logs filter controls which log entries are exported. The sink must be created within a project, organization, billing account, or folder.
          "endTime": "A String", # Optional. The time at which this sink will stop exporting log entries. Log entries are exported only if their timestamp is earlier than the end time. If this field is not supplied, there is no end time. If both a start time and an end time are provided, then the end time must be later than the start time.
          "name": "A String", # Required. The client-assigned sink identifier, unique within the project. Example: "my-syslog-errors-to-pubsub". Sink identifiers are limited to 100 characters and can include only the following characters: upper and lower-case alphanumeric characters, underscores, hyphens, and periods.
          "destination": "A String", # Required. The export destination:
              # "storage.googleapis.com/[GCS_BUCKET]"
              # "bigquery.googleapis.com/projects/[PROJECT_ID]/datasets/[DATASET]"
              # "pubsub.googleapis.com/projects/[PROJECT_ID]/topics/[TOPIC_ID]"
              # The sink's writer_identity, set when the sink is created, must have permission to write to the destination or else the log entries are not exported. For more information, see Exporting Logs With Sinks.
          "filter": "A String", # Optional. An advanced logs filter. The only exported log entries are those that are in the resource owning the sink and that match the filter. The filter must use the log entry format specified by the output_version_format parameter. For example, in the v2 format:
              # logName="projects/[PROJECT_ID]/logs/[LOG_ID]" AND severity>=ERROR
          "startTime": "A String", # Optional. The time at which this sink will begin exporting log entries. Log entries are exported only if their timestamp is not earlier than the start time. The default value of this field is the time the sink is created or updated.
          "outputVersionFormat": "A String", # Optional. The log entry format to use for this sink's exported log entries. The v2 format is used by default. The v1 format is deprecated and should be used only as part of a migration effort to v2. See Migration to the v2 API.
          "writerIdentity": "A String", # Output only. An IAM identity—a service account or group—under which Stackdriver Logging writes the exported log entries to the sink's destination. This field is set by sinks.create and sinks.update, based on the setting of unique_writer_identity in those methods.Until you grant this identity write-access to the destination, log entry exports from this sink will fail. For more information, see Granting access for a resource. Consult the destination service's documentation to determine the appropriate IAM roles to assign to the identity.
          "includeChildren": True or False, # Optional. This field applies only to sinks owned by organizations and folders. If the field is false, the default, only the logs owned by the sink's parent resource are available for export. If the field is true, then logs from all the projects, folders, and billing accounts contained in the sink's parent resource are also available for export. Whether a particular log entry from the children is exported depends on the sink's filter expression. For example, if this field is true, then the filter resource.type=gce_instance would export all Compute Engine VM instance log entries from all projects in the sink's parent. To only export entries from certain child projects, filter on the project part of the log name:
              # logName:("projects/test-project1/" OR "projects/test-project2/") AND
              # resource.type=gce_instance
        }

`list(parent, pageToken=None, x__xgafv=None, pageSize=None)`

    Lists sinks.

    Args:
      parent: string, Required. The parent resource whose sinks are to be listed:
    "projects/[PROJECT_ID]"
    "organizations/[ORGANIZATION_ID]"
    "billingAccounts/[BILLING_ACCOUNT_ID]"
    "folders/[FOLDER_ID]"
     (required)
      pageToken: string, Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format
      pageSize: integer, Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.

    Returns:
      An object of the form:

        { # Result returned from ListSinks.
        "nextPageToken": "A String", # If there might be more results than appear in this response, then nextPageToken is included. To get the next set of results, call the same method again using the value of nextPageToken as pageToken.
        "sinks": [ # A list of sinks.
          { # Describes a sink used to export log entries to one of the following destinations in any project: a Cloud Storage bucket, a BigQuery dataset, or a Cloud Pub/Sub topic. A logs filter controls which log entries are exported. The sink must be created within a project, organization, billing account, or folder.
              "endTime": "A String", # Optional. The time at which this sink will stop exporting log entries. Log entries are exported only if their timestamp is earlier than the end time. If this field is not supplied, there is no end time. If both a start time and an end time are provided, then the end time must be later than the start time.
              "name": "A String", # Required. The client-assigned sink identifier, unique within the project. Example: "my-syslog-errors-to-pubsub". Sink identifiers are limited to 100 characters and can include only the following characters: upper and lower-case alphanumeric characters, underscores, hyphens, and periods.
              "destination": "A String", # Required. The export destination:
                  # "storage.googleapis.com/[GCS_BUCKET]"
                  # "bigquery.googleapis.com/projects/[PROJECT_ID]/datasets/[DATASET]"
                  # "pubsub.googleapis.com/projects/[PROJECT_ID]/topics/[TOPIC_ID]"
                  # The sink's writer_identity, set when the sink is created, must have permission to write to the destination or else the log entries are not exported. For more information, see Exporting Logs With Sinks.
              "filter": "A String", # Optional. An advanced logs filter. The only exported log entries are those that are in the resource owning the sink and that match the filter. The filter must use the log entry format specified by the output_version_format parameter. For example, in the v2 format:
                  # logName="projects/[PROJECT_ID]/logs/[LOG_ID]" AND severity>=ERROR
              "startTime": "A String", # Optional. The time at which this sink will begin exporting log entries. Log entries are exported only if their timestamp is not earlier than the start time. The default value of this field is the time the sink is created or updated.
              "outputVersionFormat": "A String", # Optional. The log entry format to use for this sink's exported log entries. The v2 format is used by default. The v1 format is deprecated and should be used only as part of a migration effort to v2. See Migration to the v2 API.
              "writerIdentity": "A String", # Output only. An IAM identity—a service account or group—under which Stackdriver Logging writes the exported log entries to the sink's destination. This field is set by sinks.create and sinks.update, based on the setting of unique_writer_identity in those methods.Until you grant this identity write-access to the destination, log entry exports from this sink will fail. For more information, see Granting access for a resource. Consult the destination service's documentation to determine the appropriate IAM roles to assign to the identity.
              "includeChildren": True or False, # Optional. This field applies only to sinks owned by organizations and folders. If the field is false, the default, only the logs owned by the sink's parent resource are available for export. If the field is true, then logs from all the projects, folders, and billing accounts contained in the sink's parent resource are also available for export. Whether a particular log entry from the children is exported depends on the sink's filter expression. For example, if this field is true, then the filter resource.type=gce_instance would export all Compute Engine VM instance log entries from all projects in the sink's parent. To only export entries from certain child projects, filter on the project part of the log name:
                  # logName:("projects/test-project1/" OR "projects/test-project2/") AND
                  # resource.type=gce_instance
            },
        ],
      }

`list_next(previous_request, previous_response)`

    Retrieves the next page of results.

    Args:
      previous_request: The request for the previous page. (required)
      previous_response: The response from the request for the previous page. (required)

    Returns:
      A request object that you can call 'execute()' on to request the next
      page. Returns None if there are no more items in the collection.

`update(sinkName, body, uniqueWriterIdentity=None, x__xgafv=None)`

    Updates a sink. If the named sink doesn't exist, then this method is identical to sinks.create. If the named sink does exist, then this method replaces the following fields in the existing sink with values from the new sink: destination, filter, output_version_format, start_time, and end_time. The updated filter might also have a new writer_identity; see the unique_writer_identity field.

    Args:
      sinkName: string, Required. The full resource name of the sink to update, including the parent resource and the sink identifier:
    "projects/[PROJECT_ID]/sinks/[SINK_ID]"
    "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]"
    "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]"
    "folders/[FOLDER_ID]/sinks/[SINK_ID]"
    Example: "projects/my-project-id/sinks/my-sink-id". (required)
      body: object, The request body. (required)
        The object takes the form of:

    { # Describes a sink used to export log entries to one of the following destinations in any project: a Cloud Storage bucket, a BigQuery dataset, or a Cloud Pub/Sub topic. A logs filter controls which log entries are exported. The sink must be created within a project, organization, billing account, or folder.
        "endTime": "A String", # Optional. The time at which this sink will stop exporting log entries. Log entries are exported only if their timestamp is earlier than the end time. If this field is not supplied, there is no end time. If both a start time and an end time are provided, then the end time must be later than the start time.
        "name": "A String", # Required. The client-assigned sink identifier, unique within the project. Example: "my-syslog-errors-to-pubsub". Sink identifiers are limited to 100 characters and can include only the following characters: upper and lower-case alphanumeric characters, underscores, hyphens, and periods.
        "destination": "A String", # Required. The export destination:
            # "storage.googleapis.com/[GCS_BUCKET]"
            # "bigquery.googleapis.com/projects/[PROJECT_ID]/datasets/[DATASET]"
            # "pubsub.googleapis.com/projects/[PROJECT_ID]/topics/[TOPIC_ID]"
            # The sink's writer_identity, set when the sink is created, must have permission to write to the destination or else the log entries are not exported. For more information, see Exporting Logs With Sinks.
        "filter": "A String", # Optional. An advanced logs filter. The only exported log entries are those that are in the resource owning the sink and that match the filter. The filter must use the log entry format specified by the output_version_format parameter. For example, in the v2 format:
            # logName="projects/[PROJECT_ID]/logs/[LOG_ID]" AND severity>=ERROR
        "startTime": "A String", # Optional. The time at which this sink will begin exporting log entries. Log entries are exported only if their timestamp is not earlier than the start time. The default value of this field is the time the sink is created or updated.
        "outputVersionFormat": "A String", # Optional. The log entry format to use for this sink's exported log entries. The v2 format is used by default. The v1 format is deprecated and should be used only as part of a migration effort to v2. See Migration to the v2 API.
        "writerIdentity": "A String", # Output only. An IAM identity—a service account or group—under which Stackdriver Logging writes the exported log entries to the sink's destination. This field is set by sinks.create and sinks.update, based on the setting of unique_writer_identity in those methods.Until you grant this identity write-access to the destination, log entry exports from this sink will fail. For more information, see Granting access for a resource. Consult the destination service's documentation to determine the appropriate IAM roles to assign to the identity.
        "includeChildren": True or False, # Optional. This field applies only to sinks owned by organizations and folders. If the field is false, the default, only the logs owned by the sink's parent resource are available for export. If the field is true, then logs from all the projects, folders, and billing accounts contained in the sink's parent resource are also available for export. Whether a particular log entry from the children is exported depends on the sink's filter expression. For example, if this field is true, then the filter resource.type=gce_instance would export all Compute Engine VM instance log entries from all projects in the sink's parent. To only export entries from certain child projects, filter on the project part of the log name:
            # logName:("projects/test-project1/" OR "projects/test-project2/") AND
            # resource.type=gce_instance
      }

      uniqueWriterIdentity: boolean, Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field:
    If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity.
    If the old value is false and the new value is true, then writer_identity is changed to a unique service account.
    It is an error if the old value is true and the new value is false.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # Describes a sink used to export log entries to one of the following destinations in any project: a Cloud Storage bucket, a BigQuery dataset, or a Cloud Pub/Sub topic. A logs filter controls which log entries are exported. The sink must be created within a project, organization, billing account, or folder.
          "endTime": "A String", # Optional. The time at which this sink will stop exporting log entries. Log entries are exported only if their timestamp is earlier than the end time. If this field is not supplied, there is no end time. If both a start time and an end time are provided, then the end time must be later than the start time.
          "name": "A String", # Required. The client-assigned sink identifier, unique within the project. Example: "my-syslog-errors-to-pubsub". Sink identifiers are limited to 100 characters and can include only the following characters: upper and lower-case alphanumeric characters, underscores, hyphens, and periods.
          "destination": "A String", # Required. The export destination:
              # "storage.googleapis.com/[GCS_BUCKET]"
              # "bigquery.googleapis.com/projects/[PROJECT_ID]/datasets/[DATASET]"
              # "pubsub.googleapis.com/projects/[PROJECT_ID]/topics/[TOPIC_ID]"
              # The sink's writer_identity, set when the sink is created, must have permission to write to the destination or else the log entries are not exported. For more information, see Exporting Logs With Sinks.
          "filter": "A String", # Optional. An advanced logs filter. The only exported log entries are those that are in the resource owning the sink and that match the filter. The filter must use the log entry format specified by the output_version_format parameter. For example, in the v2 format:
              # logName="projects/[PROJECT_ID]/logs/[LOG_ID]" AND severity>=ERROR
          "startTime": "A String", # Optional. The time at which this sink will begin exporting log entries. Log entries are exported only if their timestamp is not earlier than the start time. The default value of this field is the time the sink is created or updated.
          "outputVersionFormat": "A String", # Optional. The log entry format to use for this sink's exported log entries. The v2 format is used by default. The v1 format is deprecated and should be used only as part of a migration effort to v2. See Migration to the v2 API.
          "writerIdentity": "A String", # Output only. An IAM identity—a service account or group—under which Stackdriver Logging writes the exported log entries to the sink's destination. This field is set by sinks.create and sinks.update, based on the setting of unique_writer_identity in those methods.Until you grant this identity write-access to the destination, log entry exports from this sink will fail. For more information, see Granting access for a resource. Consult the destination service's documentation to determine the appropriate IAM roles to assign to the identity.
          "includeChildren": True or False, # Optional. This field applies only to sinks owned by organizations and folders. If the field is false, the default, only the logs owned by the sink's parent resource are available for export. If the field is true, then logs from all the projects, folders, and billing accounts contained in the sink's parent resource are also available for export. Whether a particular log entry from the children is exported depends on the sink's filter expression. For example, if this field is true, then the filter resource.type=gce_instance would export all Compute Engine VM instance log entries from all projects in the sink's parent. To only export entries from certain child projects, filter on the project part of the log name:
              # logName:("projects/test-project1/" OR "projects/test-project2/") AND
              # resource.type=gce_instance
        }