As of January 1, 2020 this library no longer supports Python 2 on the latest released version. Library versions released prior to that date will continue to be available. For more information please visit Python 2 support on Google Cloud.

Pub/Sub Client Types

class google.cloud.pubsub_v1.types.AcknowledgeRequest(mapping=None, *, ignore_unknown_fields=False, **kwargs)

Request for the Acknowledge method.

subscription

Required. The subscription whose message is being acknowledged. Format is projects/{project}/subscriptions/{sub}.

Type

str

ack_ids

Required. The acknowledgment ID for the messages being acknowledged that was returned by the Pub/Sub system in the Pull response. Must not be empty.

Type

Sequence[str]

class google.cloud.pubsub_v1.types.AuditConfigDelta

One delta entry for AuditConfig. Each individual change (only one exempted_member in each entry) to a AuditConfig will be a separate entry.

action

The action that was performed on an audit configuration in a policy. Required

service

Specifies a service that was configured for Cloud Audit Logging. For example, storage.googleapis.com, cloudsql.googleapis.com. allServices is a special value that covers all services. Required

exempted_member

A single identity that is exempted from “data access” audit logging for the service specified above. Follows the same format of Binding.members.

log_type

Specifies the log_type that was be enabled. ADMIN_ACTIVITY is always enabled, and cannot be configured. Required

action

Field google.iam.v1.AuditConfigDelta.action

exempted_member

Field google.iam.v1.AuditConfigDelta.exempted_member

log_type

Field google.iam.v1.AuditConfigDelta.log_type

service

Field google.iam.v1.AuditConfigDelta.service

class google.cloud.pubsub_v1.types.AuditData

Audit log information specific to Cloud IAM. This message is serialized as an Any type in the ServiceData message of an AuditLog message.

policy_delta

Policy delta between the original policy and the newly set policy.

policy_delta

Field google.iam.v1.logging.AuditData.policy_delta

class google.cloud.pubsub_v1.types.BatchSettings(max_bytes=1000000, max_latency=0.01, max_messages=100)

The settings for batch publishing the messages.

Create new instance of BatchSettings(max_bytes, max_latency, max_messages)

max_bytes

The maximum total size of the messages to collect before automatically publishing the batch, including any byte size overhead of the publish request itself. The maximum value is bound by the server-side limit of 10_000_000 bytes.

max_latency

The maximum number of seconds to wait for additional messages before automatically publishing the batch.

max_messages

The maximum number of messages to collect before automatically publishing the batch.

class google.cloud.pubsub_v1.types.Binding

Associates members with a role.

role

Role that is assigned to members. For example, roles/viewer, roles/editor, or roles/owner.

members

Specifies the identities requesting access for a Cloud Platform resource. members can have the following values: - allUsers: A special identifier that represents anyone who is on the internet; with or without a Google account. - allAuthenticatedUsers: A special identifier that represents anyone who is authenticated with a Google account or a service account. - user:{emailid}: An email address that represents a specific Google account. For example, alice@gmail.com . - serviceAccount:{emailid}: An email address that represents a service account. For example, my-other- app@appspot.gserviceaccount.com. - group:{emailid}: An email address that represents a Google group. For example, admins@example.com. - domain:{domain}: The G Suite domain (primary) that represents all the users of that domain. For example, google.com or example.com.

condition

The condition that is associated with this binding. NOTE: An unsatisfied condition will not allow user access via current binding. Different bindings, including their conditions, are examined independently.

condition

Field google.iam.v1.Binding.condition

members

Field google.iam.v1.Binding.members

role

Field google.iam.v1.Binding.role

class google.cloud.pubsub_v1.types.BindingDelta

One delta entry for Binding. Each individual change (only one member in each entry) to a binding will be a separate entry.

action

The action that was performed on a Binding. Required

role

Role that is assigned to members. For example, roles/viewer, roles/editor, or roles/owner. Required

member

A single identity requesting access for a Cloud Platform resource. Follows the same format of Binding.members. Required

condition

Unimplemented. The condition that is associated with this binding. This field is logged only for Cloud Audit Logging.

action

Field google.iam.v1.BindingDelta.action

condition

Field google.iam.v1.BindingDelta.condition

member

Field google.iam.v1.BindingDelta.member

role

Field google.iam.v1.BindingDelta.role

class google.cloud.pubsub_v1.types.CreateSnapshotRequest(mapping=None, *, ignore_unknown_fields=False, **kwargs)

Request for the CreateSnapshot method.

name

Required. User-provided name for this snapshot. If the name is not provided in the request, the server will assign a random name for this snapshot on the same project as the subscription. Note that for REST API requests, you must specify a name. See the resource name rules. Format is projects/{project}/snapshots/{snap}.

Type

str

subscription

Required. The subscription whose backlog the snapshot retains. Specifically, the created snapshot is guaranteed to retain: (a) The existing backlog on the subscription. More precisely, this is defined as the messages in the subscription’s backlog that are unacknowledged upon the successful completion of the CreateSnapshot request; as well as: (b) Any messages published to the subscription’s topic following the successful completion of the CreateSnapshot request. Format is projects/{project}/subscriptions/{sub}.

Type

str

labels

See <a href=”https://cloud.google.com/pubsub/docs/labels”> Creating and managing labels</a>.

Type

Sequence[google.pubsub_v1.types.CreateSnapshotRequest.LabelsEntry]

class LabelsEntry(mapping=None, *, ignore_unknown_fields=False, **kwargs)
class google.cloud.pubsub_v1.types.CustomHttpPattern
kind

Field google.api.CustomHttpPattern.kind

path

Field google.api.CustomHttpPattern.path

class google.cloud.pubsub_v1.types.DeadLetterPolicy(mapping=None, *, ignore_unknown_fields=False, **kwargs)

Dead lettering is done on a best effort basis. The same message might be dead lettered multiple times.

If validation on any of the fields fails at subscription creation/updation, the create/update subscription request will fail.

dead_letter_topic

The name of the topic to which dead letter messages should be published. Format is projects/{project}/topics/{topic}.The Cloud Pub/Sub service account associated with the enclosing subscription’s parent project (i.e., service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must have permission to Publish() to this topic.

The operation will fail if the topic does not exist. Users should ensure that there is a subscription attached to this topic since messages published to a topic with no subscriptions are lost.

Type

str

max_delivery_attempts

The maximum number of delivery attempts for any message. The value must be between 5 and 100.

The number of delivery attempts is defined as 1 + (the sum of number of NACKs and number of times the acknowledgement deadline has been exceeded for the message).

A NACK is any call to ModifyAckDeadline with a 0 deadline. Note that client libraries may automatically extend ack_deadlines.

This field will be honored on a best effort basis.

If this parameter is 0, a default value of 5 is used.

Type

int

class google.cloud.pubsub_v1.types.DeleteSnapshotRequest(mapping=None, *, ignore_unknown_fields=False, **kwargs)

Request for the DeleteSnapshot method.

snapshot

Required. The name of the snapshot to delete. Format is projects/{project}/snapshots/{snap}.

Type

str

class google.cloud.pubsub_v1.types.DeleteSubscriptionRequest(mapping=None, *, ignore_unknown_fields=False, **kwargs)

Request for the DeleteSubscription method.

subscription

Required. The subscription to delete. Format is projects/{project}/subscriptions/{sub}.

Type

str

class google.cloud.pubsub_v1.types.DeleteTopicRequest(mapping=None, *, ignore_unknown_fields=False, **kwargs)

Request for the DeleteTopic method.

topic

Required. Name of the topic to delete. Format is projects/{project}/topics/{topic}.

Type

str

class google.cloud.pubsub_v1.types.DescriptorProto
class ExtensionRange
end

Field google.protobuf.DescriptorProto.ExtensionRange.end

options

Field google.protobuf.DescriptorProto.ExtensionRange.options

start

Field google.protobuf.DescriptorProto.ExtensionRange.start

class ReservedRange
end

Field google.protobuf.DescriptorProto.ReservedRange.end

start

Field google.protobuf.DescriptorProto.ReservedRange.start

enum_type

Field google.protobuf.DescriptorProto.enum_type

extension

Field google.protobuf.DescriptorProto.extension

extension_range

Field google.protobuf.DescriptorProto.extension_range

field

Field google.protobuf.DescriptorProto.field

name

Field google.protobuf.DescriptorProto.name

nested_type

Field google.protobuf.DescriptorProto.nested_type

oneof_decl

Field google.protobuf.DescriptorProto.oneof_decl

options

Field google.protobuf.DescriptorProto.options

reserved_name

Field google.protobuf.DescriptorProto.reserved_name

reserved_range

Field google.protobuf.DescriptorProto.reserved_range

class google.cloud.pubsub_v1.types.DetachSubscriptionRequest(mapping=None, *, ignore_unknown_fields=False, **kwargs)

Request for the DetachSubscription method.

subscription

Required. The subscription to detach. Format is projects/{project}/subscriptions/{subscription}.

Type

str

class google.cloud.pubsub_v1.types.DetachSubscriptionResponse(mapping=None, *, ignore_unknown_fields=False, **kwargs)

Response for the DetachSubscription method. Reserved for future use.

class google.cloud.pubsub_v1.types.Duration
nanos

Field google.protobuf.Duration.nanos

seconds

Field google.protobuf.Duration.seconds

class google.cloud.pubsub_v1.types.Empty
class google.cloud.pubsub_v1.types.EnumDescriptorProto
class EnumReservedRange
end

Field google.protobuf.EnumDescriptorProto.EnumReservedRange.end

start

Field google.protobuf.EnumDescriptorProto.EnumReservedRange.start

name

Field google.protobuf.EnumDescriptorProto.name

options

Field google.protobuf.EnumDescriptorProto.options

reserved_name

Field google.protobuf.EnumDescriptorProto.reserved_name

reserved_range

Field google.protobuf.EnumDescriptorProto.reserved_range

value

Field google.protobuf.EnumDescriptorProto.value

class google.cloud.pubsub_v1.types.EnumOptions
allow_alias

Field google.protobuf.EnumOptions.allow_alias

deprecated

Field google.protobuf.EnumOptions.deprecated

uninterpreted_option

Field google.protobuf.EnumOptions.uninterpreted_option

class google.cloud.pubsub_v1.types.EnumValueDescriptorProto
name

Field google.protobuf.EnumValueDescriptorProto.name

number

Field google.protobuf.EnumValueDescriptorProto.number

options

Field google.protobuf.EnumValueDescriptorProto.options

class google.cloud.pubsub_v1.types.EnumValueOptions
deprecated

Field google.protobuf.EnumValueOptions.deprecated

uninterpreted_option

Field google.protobuf.EnumValueOptions.uninterpreted_option

class google.cloud.pubsub_v1.types.ExpirationPolicy(mapping=None, *, ignore_unknown_fields=False, **kwargs)

A policy that specifies the conditions for resource expiration (i.e., automatic resource deletion).

ttl

Specifies the “time-to-live” duration for an associated resource. The resource expires if it is not active for a period of ttl. The definition of “activity” depends on the type of the associated resource. The minimum and maximum allowed values for ttl depend on the type of the associated resource, as well. If ttl is not set, the associated resource never expires.

Type

google.protobuf.duration_pb2.Duration

class google.cloud.pubsub_v1.types.ExtensionRangeOptions
uninterpreted_option

Field google.protobuf.ExtensionRangeOptions.uninterpreted_option

class google.cloud.pubsub_v1.types.FieldDescriptorProto
default_value

Field google.protobuf.FieldDescriptorProto.default_value

extendee

Field google.protobuf.FieldDescriptorProto.extendee

json_name

Field google.protobuf.FieldDescriptorProto.json_name

label

Field google.protobuf.FieldDescriptorProto.label

name

Field google.protobuf.FieldDescriptorProto.name

number

Field google.protobuf.FieldDescriptorProto.number

oneof_index

Field google.protobuf.FieldDescriptorProto.oneof_index

options

Field google.protobuf.FieldDescriptorProto.options

proto3_optional

Field google.protobuf.FieldDescriptorProto.proto3_optional

type

Field google.protobuf.FieldDescriptorProto.type

type_name

Field google.protobuf.FieldDescriptorProto.type_name

class google.cloud.pubsub_v1.types.FieldMask
paths

Field google.protobuf.FieldMask.paths

class google.cloud.pubsub_v1.types.FieldOptions
ctype

Field google.protobuf.FieldOptions.ctype

deprecated

Field google.protobuf.FieldOptions.deprecated

jstype

Field google.protobuf.FieldOptions.jstype

lazy

Field google.protobuf.FieldOptions.lazy

packed

Field google.protobuf.FieldOptions.packed

uninterpreted_option

Field google.protobuf.FieldOptions.uninterpreted_option

weak

Field google.protobuf.FieldOptions.weak

class google.cloud.pubsub_v1.types.FileDescriptorProto
dependency

Field google.protobuf.FileDescriptorProto.dependency

enum_type

Field google.protobuf.FileDescriptorProto.enum_type

extension

Field google.protobuf.FileDescriptorProto.extension

message_type

Field google.protobuf.FileDescriptorProto.message_type

name

Field google.protobuf.FileDescriptorProto.name

options

Field google.protobuf.FileDescriptorProto.options

package

Field google.protobuf.FileDescriptorProto.package

public_dependency

Field google.protobuf.FileDescriptorProto.public_dependency

service

Field google.protobuf.FileDescriptorProto.service

source_code_info

Field google.protobuf.FileDescriptorProto.source_code_info

syntax

Field google.protobuf.FileDescriptorProto.syntax

weak_dependency

Field google.protobuf.FileDescriptorProto.weak_dependency

class google.cloud.pubsub_v1.types.FileDescriptorSet
file

Field google.protobuf.FileDescriptorSet.file

class google.cloud.pubsub_v1.types.FileOptions
cc_enable_arenas

Field google.protobuf.FileOptions.cc_enable_arenas

cc_generic_services

Field google.protobuf.FileOptions.cc_generic_services

csharp_namespace

Field google.protobuf.FileOptions.csharp_namespace

deprecated

Field google.protobuf.FileOptions.deprecated

go_package

Field google.protobuf.FileOptions.go_package

java_generate_equals_and_hash

Field google.protobuf.FileOptions.java_generate_equals_and_hash

java_generic_services

Field google.protobuf.FileOptions.java_generic_services

java_multiple_files

Field google.protobuf.FileOptions.java_multiple_files

java_outer_classname

Field google.protobuf.FileOptions.java_outer_classname

java_package

Field google.protobuf.FileOptions.java_package

java_string_check_utf8

Field google.protobuf.FileOptions.java_string_check_utf8

objc_class_prefix

Field google.protobuf.FileOptions.objc_class_prefix

optimize_for

Field google.protobuf.FileOptions.optimize_for

php_class_prefix

Field google.protobuf.FileOptions.php_class_prefix

php_generic_services

Field google.protobuf.FileOptions.php_generic_services

php_metadata_namespace

Field google.protobuf.FileOptions.php_metadata_namespace

php_namespace

Field google.protobuf.FileOptions.php_namespace

py_generic_services

Field google.protobuf.FileOptions.py_generic_services

ruby_package

Field google.protobuf.FileOptions.ruby_package

swift_prefix

Field google.protobuf.FileOptions.swift_prefix

uninterpreted_option

Field google.protobuf.FileOptions.uninterpreted_option

class google.cloud.pubsub_v1.types.FlowControl(max_bytes=104857600, max_messages=1000, max_lease_duration=3600, max_duration_per_lease_extension=0)

The settings for controlling the rate at which messages are pulled with an asynchronous subscription.

Create new instance of FlowControl(max_bytes, max_messages, max_lease_duration, max_duration_per_lease_extension)

max_bytes

The maximum total size of received - but not yet processed - messages before pausing the message stream.

max_duration_per_lease_extension

The max amount of time in seconds for a single lease extension attempt. Bounds the delay before a message redelivery if the subscriber fails to extend the deadline. Must be between 10 and 600 (inclusive). Ignored if set to 0.

max_lease_duration

The maximum amount of time in seconds to hold a lease on a message before dropping it from the lease management.

max_messages

The maximum number of received - but not yet processed - messages before pausing the message stream.

class google.cloud.pubsub_v1.types.GeneratedCodeInfo
class Annotation
begin

Field google.protobuf.GeneratedCodeInfo.Annotation.begin

end

Field google.protobuf.GeneratedCodeInfo.Annotation.end

path

Field google.protobuf.GeneratedCodeInfo.Annotation.path

source_file

Field google.protobuf.GeneratedCodeInfo.Annotation.source_file

annotation

Field google.protobuf.GeneratedCodeInfo.annotation

class google.cloud.pubsub_v1.types.GetIamPolicyRequest

Request message for GetIamPolicy method.

resource

REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.

options

OPTIONAL: A GetPolicyOptions object for specifying options to GetIamPolicy. This field is only used by Cloud IAM.

options

Field google.iam.v1.GetIamPolicyRequest.options

resource

Field google.iam.v1.GetIamPolicyRequest.resource

class google.cloud.pubsub_v1.types.GetSnapshotRequest(mapping=None, *, ignore_unknown_fields=False, **kwargs)

Request for the GetSnapshot method.

snapshot

Required. The name of the snapshot to get. Format is projects/{project}/snapshots/{snap}.

Type

str

class google.cloud.pubsub_v1.types.GetSubscriptionRequest(mapping=None, *, ignore_unknown_fields=False, **kwargs)

Request for the GetSubscription method.

subscription

Required. The name of the subscription to get. Format is projects/{project}/subscriptions/{sub}.

Type

str

class google.cloud.pubsub_v1.types.GetTopicRequest(mapping=None, *, ignore_unknown_fields=False, **kwargs)

Request for the GetTopic method.

topic

Required. The name of the topic to get. Format is projects/{project}/topics/{topic}.

Type

str

class google.cloud.pubsub_v1.types.Http
fully_decode_reserved_expansion

Field google.api.Http.fully_decode_reserved_expansion

rules

Field google.api.Http.rules

class google.cloud.pubsub_v1.types.HttpRule
additional_bindings

Field google.api.HttpRule.additional_bindings

body

Field google.api.HttpRule.body

custom

Field google.api.HttpRule.custom

delete

Field google.api.HttpRule.delete

get

Field google.api.HttpRule.get

patch

Field google.api.HttpRule.patch

post

Field google.api.HttpRule.post

put

Field google.api.HttpRule.put

response_body

Field google.api.HttpRule.response_body

selector

Field google.api.HttpRule.selector

class google.cloud.pubsub_v1.types.LimitExceededBehavior(value)[source]

The possible actions when exceeding the publish flow control limits.

class google.cloud.pubsub_v1.types.ListSnapshotsRequest(mapping=None, *, ignore_unknown_fields=False, **kwargs)

Request for the ListSnapshots method.

project

Required. The name of the project in which to list snapshots. Format is projects/{project-id}.

Type

str

page_size

Maximum number of snapshots to return.

Type

int

page_token

The value returned by the last ListSnapshotsResponse; indicates that this is a continuation of a prior ListSnapshots call, and that the system should return the next page of data.

Type

str

class google.cloud.pubsub_v1.types.ListSnapshotsResponse(mapping=None, *, ignore_unknown_fields=False, **kwargs)

Response for the ListSnapshots method.

snapshots

The resulting snapshots.

Type

Sequence[google.pubsub_v1.types.Snapshot]

next_page_token

If not empty, indicates that there may be more snapshot that match the request; this value should be passed in a new ListSnapshotsRequest.

Type

str

class google.cloud.pubsub_v1.types.ListSubscriptionsRequest(mapping=None, *, ignore_unknown_fields=False, **kwargs)

Request for the ListSubscriptions method.

project

Required. The name of the project in which to list subscriptions. Format is projects/{project-id}.

Type

str

page_size

Maximum number of subscriptions to return.

Type

int

page_token

The value returned by the last ListSubscriptionsResponse; indicates that this is a continuation of a prior ListSubscriptions call, and that the system should return the next page of data.

Type

str

class google.cloud.pubsub_v1.types.ListSubscriptionsResponse(mapping=None, *, ignore_unknown_fields=False, **kwargs)

Response for the ListSubscriptions method.

subscriptions

The subscriptions that match the request.

Type

Sequence[google.pubsub_v1.types.Subscription]

next_page_token

If not empty, indicates that there may be more subscriptions that match the request; this value should be passed in a new ListSubscriptionsRequest to get more subscriptions.

Type

str

class google.cloud.pubsub_v1.types.ListTopicSnapshotsRequest(mapping=None, *, ignore_unknown_fields=False, **kwargs)

Request for the ListTopicSnapshots method.

topic

Required. The name of the topic that snapshots are attached to. Format is projects/{project}/topics/{topic}.

Type

str

page_size

Maximum number of snapshot names to return.

Type

int

page_token

The value returned by the last ListTopicSnapshotsResponse; indicates that this is a continuation of a prior ListTopicSnapshots call, and that the system should return the next page of data.

Type

str

class google.cloud.pubsub_v1.types.ListTopicSnapshotsResponse(mapping=None, *, ignore_unknown_fields=False, **kwargs)

Response for the ListTopicSnapshots method.

snapshots

The names of the snapshots that match the request.

Type

Sequence[str]

next_page_token

If not empty, indicates that there may be more snapshots that match the request; this value should be passed in a new ListTopicSnapshotsRequest to get more snapshots.

Type

str

class google.cloud.pubsub_v1.types.ListTopicSubscriptionsRequest(mapping=None, *, ignore_unknown_fields=False, **kwargs)

Request for the ListTopicSubscriptions method.

topic

Required. The name of the topic that subscriptions are attached to. Format is projects/{project}/topics/{topic}.

Type

str

page_size

Maximum number of subscription names to return.

Type

int

page_token

The value returned by the last ListTopicSubscriptionsResponse; indicates that this is a continuation of a prior ListTopicSubscriptions call, and that the system should return the next page of data.

Type

str

class google.cloud.pubsub_v1.types.ListTopicSubscriptionsResponse(mapping=None, *, ignore_unknown_fields=False, **kwargs)

Response for the ListTopicSubscriptions method.

subscriptions

The names of subscriptions attached to the topic specified in the request.

Type

Sequence[str]

next_page_token

If not empty, indicates that there may be more subscriptions that match the request; this value should be passed in a new ListTopicSubscriptionsRequest to get more subscriptions.

Type

str

class google.cloud.pubsub_v1.types.ListTopicsRequest(mapping=None, *, ignore_unknown_fields=False, **kwargs)

Request for the ListTopics method.

project

Required. The name of the project in which to list topics. Format is projects/{project-id}.

Type

str

page_size

Maximum number of topics to return.

Type

int

page_token

The value returned by the last ListTopicsResponse; indicates that this is a continuation of a prior ListTopics call, and that the system should return the next page of data.

Type

str

class google.cloud.pubsub_v1.types.ListTopicsResponse(mapping=None, *, ignore_unknown_fields=False, **kwargs)

Response for the ListTopics method.

topics

The resulting topics.

Type

Sequence[google.pubsub_v1.types.Topic]

next_page_token

If not empty, indicates that there may be more topics that match the request; this value should be passed in a new ListTopicsRequest.

Type

str

class google.cloud.pubsub_v1.types.MessageOptions
deprecated

Field google.protobuf.MessageOptions.deprecated

map_entry

Field google.protobuf.MessageOptions.map_entry

message_set_wire_format

Field google.protobuf.MessageOptions.message_set_wire_format

no_standard_descriptor_accessor

Field google.protobuf.MessageOptions.no_standard_descriptor_accessor

uninterpreted_option

Field google.protobuf.MessageOptions.uninterpreted_option

class google.cloud.pubsub_v1.types.MessageStoragePolicy(mapping=None, *, ignore_unknown_fields=False, **kwargs)

A policy constraining the storage of messages published to the topic.

allowed_persistence_regions

A list of IDs of GCP regions where messages that are published to the topic may be persisted in storage. Messages published by publishers running in non-allowed GCP regions (or running outside of GCP altogether) will be routed for storage in one of the allowed regions. An empty list means that no regions are allowed, and is not a valid configuration.

Type

Sequence[str]

class google.cloud.pubsub_v1.types.MethodDescriptorProto
client_streaming

Field google.protobuf.MethodDescriptorProto.client_streaming

input_type

Field google.protobuf.MethodDescriptorProto.input_type

name

Field google.protobuf.MethodDescriptorProto.name

options

Field google.protobuf.MethodDescriptorProto.options

output_type

Field google.protobuf.MethodDescriptorProto.output_type

server_streaming

Field google.protobuf.MethodDescriptorProto.server_streaming

class google.cloud.pubsub_v1.types.MethodOptions
deprecated

Field google.protobuf.MethodOptions.deprecated

idempotency_level

Field google.protobuf.MethodOptions.idempotency_level

uninterpreted_option

Field google.protobuf.MethodOptions.uninterpreted_option

class google.cloud.pubsub_v1.types.ModifyAckDeadlineRequest(mapping=None, *, ignore_unknown_fields=False, **kwargs)

Request for the ModifyAckDeadline method.

subscription

Required. The name of the subscription. Format is projects/{project}/subscriptions/{sub}.

Type

str

ack_ids

Required. List of acknowledgment IDs.

Type

Sequence[str]

ack_deadline_seconds

Required. The new ack deadline with respect to the time this request was sent to the Pub/Sub system. For example, if the value is 10, the new ack deadline will expire 10 seconds after the ModifyAckDeadline call was made. Specifying zero might immediately make the message available for delivery to another subscriber client. This typically results in an increase in the rate of message redeliveries (that is, duplicates). The minimum deadline you can specify is 0 seconds. The maximum deadline you can specify is 600 seconds (10 minutes).

Type

int

class google.cloud.pubsub_v1.types.ModifyPushConfigRequest(mapping=None, *, ignore_unknown_fields=False, **kwargs)

Request for the ModifyPushConfig method.

subscription

Required. The name of the subscription. Format is projects/{project}/subscriptions/{sub}.

Type

str

push_config

Required. The push configuration for future deliveries.

An empty pushConfig indicates that the Pub/Sub system should stop pushing messages from the given subscription and allow messages to be pulled and acknowledged - effectively pausing the subscription if Pull or StreamingPull is not called.

Type

google.pubsub_v1.types.PushConfig

class google.cloud.pubsub_v1.types.OneofDescriptorProto
name

Field google.protobuf.OneofDescriptorProto.name

options

Field google.protobuf.OneofDescriptorProto.options

class google.cloud.pubsub_v1.types.OneofOptions
uninterpreted_option

Field google.protobuf.OneofOptions.uninterpreted_option

class google.cloud.pubsub_v1.types.Policy

Defines an Identity and Access Management (IAM) policy. It is used to specify access control policies for Cloud Platform resources.

A Policy consists of a list of bindings. A binding binds a list of members to a role, where the members can be user accounts, Google groups, Google domains, and service accounts. A role is a named list of permissions defined by IAM.

JSON Example

{
  "bindings": [
    {
      "role": "roles/owner",
      "members": [
        "user:mike@example.com",
        "group:admins@example.com",
        "domain:google.com",
        "serviceAccount:my-other-app@appspot.gserviceaccount.com"
      ]
    },
    {
      "role": "roles/viewer",
      "members": ["user:sean@example.com"]
    }
  ]
}

YAML Example

bindings:
- members:
  - user:mike@example.com
  - group:admins@example.com
  - domain:google.com
  - serviceAccount:my-other-app@appspot.gserviceaccount.com
  role: roles/owner
- members:
  - user:sean@example.com
  role: roles/viewer

For a description of IAM and its features, see the IAM developer’s guide.

version

Deprecated.

bindings

Associates a list of members to a role. bindings with no members will result in an error.

etag

etag is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the etag in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An etag is returned in the response to getIamPolicy, and systems are expected to put that etag in the request to setIamPolicy to ensure that their change will be applied to the same version of the policy. If no etag is provided in the call to setIamPolicy, then the existing policy is overwritten blindly.

bindings

Field google.iam.v1.Policy.bindings

etag

Field google.iam.v1.Policy.etag

version

Field google.iam.v1.Policy.version

class google.cloud.pubsub_v1.types.PolicyDelta

The difference delta between two policies.

binding_deltas

The delta for Bindings between two policies.

audit_config_deltas

The delta for AuditConfigs between two policies.

audit_config_deltas

Field google.iam.v1.PolicyDelta.audit_config_deltas

binding_deltas

Field google.iam.v1.PolicyDelta.binding_deltas

class google.cloud.pubsub_v1.types.PublishFlowControl(message_limit=1000, byte_limit=10000000, limit_exceeded_behavior=<LimitExceededBehavior.IGNORE: 'ignore'>)

The client flow control settings for message publishing.

Create new instance of PublishFlowControl(message_limit, byte_limit, limit_exceeded_behavior)

byte_limit

The maximum total size of messages awaiting to be published.

limit_exceeded_behavior

The action to take when publish flow control limits are exceeded.

message_limit

The maximum number of messages awaiting to be published.

class google.cloud.pubsub_v1.types.PublishRequest(mapping=None, *, ignore_unknown_fields=False, **kwargs)

Request for the Publish method.

topic

Required. The messages in the request will be published on this topic. Format is projects/{project}/topics/{topic}.

Type

str

messages

Required. The messages to publish.

Type

Sequence[google.pubsub_v1.types.PubsubMessage]

class google.cloud.pubsub_v1.types.PublishResponse(mapping=None, *, ignore_unknown_fields=False, **kwargs)

Response for the Publish method.

message_ids

The server-assigned ID of each published message, in the same order as the messages in the request. IDs are guaranteed to be unique within the topic.

Type

Sequence[str]

class google.cloud.pubsub_v1.types.PublisherOptions(enable_message_ordering=False, flow_control=PublishFlowControl(message_limit=1000, byte_limit=10000000, limit_exceeded_behavior=<LimitExceededBehavior.IGNORE: 'ignore'>), retry=<object object>, timeout=<object object>)

The options for the publisher client.

Create new instance of PublisherOptions(enable_message_ordering, flow_control, retry, timeout)

enable_message_ordering

Whether to order messages in a batch by a supplied ordering key.

flow_control

Flow control settings for message publishing by the client. By default the publisher client does not do any throttling.

retry

Retry settings for message publishing by the client. This should be an instance of google.api_core.retry.Retry.

timeout

Timeout settings for message publishing by the client. It should be compatible with TimeoutType.

class google.cloud.pubsub_v1.types.PubsubMessage(mapping=None, *, ignore_unknown_fields=False, **kwargs)

A message that is published by publishers and consumed by subscribers. The message must contain either a non-empty data field or at least one attribute. Note that client libraries represent this object differently depending on the language. See the corresponding client library documentation for more information. See [quotas and limits] (https://cloud.google.com/pubsub/quotas) for more information about message limits.

data

The message data field. If this field is empty, the message must contain at least one attribute.

Type

bytes

attributes

Attributes for this message. If this field is empty, the message must contain non-empty data. This can be used to filter messages on the subscription.

Type

Sequence[google.pubsub_v1.types.PubsubMessage.AttributesEntry]

message_id

ID of this message, assigned by the server when the message is published. Guaranteed to be unique within the topic. This value may be read by a subscriber that receives a PubsubMessage via a Pull call or a push delivery. It must not be populated by the publisher in a Publish call.

Type

str

publish_time

The time at which the message was published, populated by the server when it receives the Publish call. It must not be populated by the publisher in a Publish call.

Type

google.protobuf.timestamp_pb2.Timestamp

ordering_key

If non-empty, identifies related messages for which publish order should be respected. If a Subscription has enable_message_ordering set to true, messages published with the same non-empty ordering_key value will be delivered to subscribers in the order in which they are received by the Pub/Sub system. All PubsubMessages published in a given PublishRequest must specify the same ordering_key value.

Type

str

class AttributesEntry(mapping=None, *, ignore_unknown_fields=False, **kwargs)
class google.cloud.pubsub_v1.types.PullRequest(mapping=None, *, ignore_unknown_fields=False, **kwargs)

Request for the Pull method.

subscription

Required. The subscription from which messages should be pulled. Format is projects/{project}/subscriptions/{sub}.

Type

str

return_immediately

Optional. If this field set to true, the system will respond immediately even if it there are no messages available to return in the Pull response. Otherwise, the system may wait (for a bounded amount of time) until at least one message is available, rather than returning no messages. Warning: setting this field to true is discouraged because it adversely impacts the performance of Pull operations. We recommend that users do not set this field.

Type

bool

max_messages

Required. The maximum number of messages to return for this request. Must be a positive integer. The Pub/Sub system may return fewer than the number specified.

Type

int

class google.cloud.pubsub_v1.types.PullResponse(mapping=None, *, ignore_unknown_fields=False, **kwargs)

Response for the Pull method.

received_messages

Received Pub/Sub messages. The list will be empty if there are no more messages available in the backlog. For JSON, the response can be entirely empty. The Pub/Sub system may return fewer than the maxMessages requested even if there are more messages available in the backlog.

Type

Sequence[google.pubsub_v1.types.ReceivedMessage]

class google.cloud.pubsub_v1.types.PushConfig(mapping=None, *, ignore_unknown_fields=False, **kwargs)

Configuration for a push delivery endpoint.

push_endpoint

A URL locating the endpoint to which messages should be pushed. For example, a Webhook endpoint might use https://example.com/push.

Type

str

attributes

Endpoint configuration attributes that can be used to control different aspects of the message delivery.

The only currently supported attribute is x-goog-version, which you can use to change the format of the pushed message. This attribute indicates the version of the data expected by the endpoint. This controls the shape of the pushed message (i.e., its fields and metadata).

If not present during the CreateSubscription call, it will default to the version of the Pub/Sub API used to make such call. If not present in a ModifyPushConfig call, its value will not be changed. GetSubscription calls will always return a valid version, even if the subscription was created without this attribute.

The only supported values for the x-goog-version attribute are:

  • v1beta1: uses the push format defined in the v1beta1 Pub/Sub API.

  • v1 or v1beta2: uses the push format defined in the v1 Pub/Sub API.

For example:

attributes { "x-goog-version": "v1" } 
Type

Sequence[google.pubsub_v1.types.PushConfig.AttributesEntry]

oidc_token

If specified, Pub/Sub will generate and attach an OIDC JWT token as an Authorization header in the HTTP request for every pushed message.

Type

google.pubsub_v1.types.PushConfig.OidcToken

class AttributesEntry(mapping=None, *, ignore_unknown_fields=False, **kwargs)
class OidcToken(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]

Contains information needed for generating an OpenID Connect token.

service_account_email

Service account email to be used for generating the OIDC token. The caller (for CreateSubscription, UpdateSubscription, and ModifyPushConfig RPCs) must have the iam.serviceAccounts.actAs permission for the service account.

Type

str

audience

Audience to be used when generating OIDC token. The audience claim identifies the recipients that the JWT is intended for. The audience value is a single case-sensitive string. Having multiple values (array) for the audience field is not supported. More info about the OIDC JWT token audience here: https://tools.ietf.org/html/rfc7519#section-4.1.3 Note: if not specified, the Push endpoint URL will be used.

Type

str

class google.cloud.pubsub_v1.types.ReceivedMessage(mapping=None, *, ignore_unknown_fields=False, **kwargs)

A message and its corresponding acknowledgment ID.

ack_id

This ID can be used to acknowledge the received message.

Type

str

message

The message.

Type

google.pubsub_v1.types.PubsubMessage

delivery_attempt

The approximate number of times that Cloud Pub/Sub has attempted to deliver the associated message to a subscriber.

More precisely, this is 1 + (number of NACKs) + (number of ack_deadline exceeds) for this message.

A NACK is any call to ModifyAckDeadline with a 0 deadline. An ack_deadline exceeds event is whenever a message is not acknowledged within ack_deadline. Note that ack_deadline is initially Subscription.ackDeadlineSeconds, but may get extended automatically by the client library.

Upon the first delivery of a given message, delivery_attempt will have a value of 1. The value is calculated at best effort and is approximate.

If a DeadLetterPolicy is not set on the subscription, this will be 0.

Type

int

class google.cloud.pubsub_v1.types.RetryPolicy(mapping=None, *, ignore_unknown_fields=False, **kwargs)

A policy that specifies how Cloud Pub/Sub retries message delivery.

Retry delay will be exponential based on provided minimum and maximum backoffs. https://en.wikipedia.org/wiki/Exponential_backoff.

RetryPolicy will be triggered on NACKs or acknowledgement deadline exceeded events for a given message.

Retry Policy is implemented on a best effort basis. At times, the delay between consecutive deliveries may not match the configuration. That is, delay can be more or less than configured backoff.

minimum_backoff

The minimum delay between consecutive deliveries of a given message. Value should be between 0 and 600 seconds. Defaults to 10 seconds.

Type

google.protobuf.duration_pb2.Duration

maximum_backoff

The maximum delay between consecutive deliveries of a given message. Value should be between 0 and 600 seconds. Defaults to 600 seconds.

Type

google.protobuf.duration_pb2.Duration

class google.cloud.pubsub_v1.types.SchemaSettings(mapping=None, *, ignore_unknown_fields=False, **kwargs)

Settings for validating messages published against a schema.

schema

Required. The name of the schema that messages published should be validated against. Format is projects/{project}/schemas/{schema}. The value of this field will be _deleted-schema_ if the schema has been deleted.

Type

str

encoding

The encoding of messages validated against schema.

Type

google.pubsub_v1.types.Encoding

class google.cloud.pubsub_v1.types.SeekRequest(mapping=None, *, ignore_unknown_fields=False, **kwargs)

Request for the Seek method.

subscription

Required. The subscription to affect.

Type

str

time

The time to seek to. Messages retained in the subscription that were published before this time are marked as acknowledged, and messages retained in the subscription that were published after this time are marked as unacknowledged. Note that this operation affects only those messages retained in the subscription (configured by the combination of message_retention_duration and retain_acked_messages). For example, if time corresponds to a point before the message retention window (or to a point before the system’s notion of the subscription creation time), only retained messages will be marked as unacknowledged, and already-expunged messages will not be restored.

Type

google.protobuf.timestamp_pb2.Timestamp

snapshot

The snapshot to seek to. The snapshot’s topic must be the same as that of the provided subscription. Format is projects/{project}/snapshots/{snap}.

Type

str

class google.cloud.pubsub_v1.types.SeekResponse(mapping=None, *, ignore_unknown_fields=False, **kwargs)

Response for the Seek method (this response is empty).

class google.cloud.pubsub_v1.types.ServiceDescriptorProto
method

Field google.protobuf.ServiceDescriptorProto.method

name

Field google.protobuf.ServiceDescriptorProto.name

options

Field google.protobuf.ServiceDescriptorProto.options

class google.cloud.pubsub_v1.types.ServiceOptions
deprecated

Field google.protobuf.ServiceOptions.deprecated

uninterpreted_option

Field google.protobuf.ServiceOptions.uninterpreted_option

class google.cloud.pubsub_v1.types.SetIamPolicyRequest

Request message for SetIamPolicy method.

resource

REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.

policy

REQUIRED: The complete policy to be applied to the resource. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them.

policy

Field google.iam.v1.SetIamPolicyRequest.policy

resource

Field google.iam.v1.SetIamPolicyRequest.resource

class google.cloud.pubsub_v1.types.Snapshot(mapping=None, *, ignore_unknown_fields=False, **kwargs)

A snapshot resource. Snapshots are used in Seek operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot.

name

The name of the snapshot.

Type

str

topic

The name of the topic from which this snapshot is retaining messages.

Type

str

expire_time

The snapshot is guaranteed to exist up until this time. A newly-created snapshot expires no later than 7 days from the time of its creation. Its exact lifetime is determined at creation by the existing backlog in the source subscription. Specifically, the lifetime of the snapshot is 7 days - (age of oldest unacked message in the subscription). For example, consider a subscription whose oldest unacked message is 3 days old. If a snapshot is created from this subscription, the snapshot – which will always capture this 3-day-old backlog as long as the snapshot exists – will expire in 4 days. The service will refuse to create a snapshot that would expire in less than 1 hour after creation.

Type

google.protobuf.timestamp_pb2.Timestamp

labels

See [Creating and managing labels] (https://cloud.google.com/pubsub/docs/labels).

Type

Sequence[google.pubsub_v1.types.Snapshot.LabelsEntry]

class LabelsEntry(mapping=None, *, ignore_unknown_fields=False, **kwargs)
class google.cloud.pubsub_v1.types.SourceCodeInfo
class Location
leading_comments

Field google.protobuf.SourceCodeInfo.Location.leading_comments

leading_detached_comments

Field google.protobuf.SourceCodeInfo.Location.leading_detached_comments

path

Field google.protobuf.SourceCodeInfo.Location.path

span

Field google.protobuf.SourceCodeInfo.Location.span

trailing_comments

Field google.protobuf.SourceCodeInfo.Location.trailing_comments

location

Field google.protobuf.SourceCodeInfo.location

class google.cloud.pubsub_v1.types.StreamingPullRequest(mapping=None, *, ignore_unknown_fields=False, **kwargs)

Request for the StreamingPull streaming RPC method. This request is used to establish the initial stream as well as to stream acknowledgements and ack deadline modifications from the client to the server.

subscription

Required. The subscription for which to initialize the new stream. This must be provided in the first request on the stream, and must not be set in subsequent requests from client to server. Format is projects/{project}/subscriptions/{sub}.

Type

str

ack_ids

List of acknowledgement IDs for acknowledging previously received messages (received on this stream or a different stream). If an ack ID has expired, the corresponding message may be redelivered later. Acknowledging a message more than once will not result in an error. If the acknowledgement ID is malformed, the stream will be aborted with status INVALID_ARGUMENT.

Type

Sequence[str]

modify_deadline_seconds

The list of new ack deadlines for the IDs listed in modify_deadline_ack_ids. The size of this list must be the same as the size of modify_deadline_ack_ids. If it differs the stream will be aborted with INVALID_ARGUMENT. Each element in this list is applied to the element in the same position in modify_deadline_ack_ids. The new ack deadline is with respect to the time this request was sent to the Pub/Sub system. Must be >= 0. For example, if the value is 10, the new ack deadline will expire 10 seconds after this request is received. If the value is 0, the message is immediately made available for another streaming or non-streaming pull request. If the value is < 0 (an error), the stream will be aborted with status INVALID_ARGUMENT.

Type

Sequence[int]

modify_deadline_ack_ids

List of acknowledgement IDs whose deadline will be modified based on the corresponding element in modify_deadline_seconds. This field can be used to indicate that more time is needed to process a message by the subscriber, or to make the message available for redelivery if the processing was interrupted.

Type

Sequence[str]

stream_ack_deadline_seconds

Required. The ack deadline to use for the stream. This must be provided in the first request on the stream, but it can also be updated on subsequent requests from client to server. The minimum deadline you can specify is 10 seconds. The maximum deadline you can specify is 600 seconds (10 minutes).

Type

int

client_id

A unique identifier that is used to distinguish client instances from each other. Only needs to be provided on the initial request. When a stream disconnects and reconnects for the same stream, the client_id should be set to the same value so that state associated with the old stream can be transferred to the new stream. The same client_id should not be used for different client instances.

Type

str

max_outstanding_messages

Flow control settings for the maximum number of outstanding messages. When there are max_outstanding_messages or more currently sent to the streaming pull client that have not yet been acked or nacked, the server stops sending more messages. The sending of messages resumes once the number of outstanding messages is less than this value. If the value is <= 0, there is no limit to the number of outstanding messages. This property can only be set on the initial StreamingPullRequest. If it is set on a subsequent request, the stream will be aborted with status INVALID_ARGUMENT.

Type

int

max_outstanding_bytes

Flow control settings for the maximum number of outstanding bytes. When there are max_outstanding_bytes or more worth of messages currently sent to the streaming pull client that have not yet been acked or nacked, the server will stop sending more messages. The sending of messages resumes once the number of outstanding bytes is less than this value. If the value is <= 0, there is no limit to the number of outstanding bytes. This property can only be set on the initial StreamingPullRequest. If it is set on a subsequent request, the stream will be aborted with status INVALID_ARGUMENT.

Type

int

class google.cloud.pubsub_v1.types.StreamingPullResponse(mapping=None, *, ignore_unknown_fields=False, **kwargs)

Response for the StreamingPull method. This response is used to stream messages from the server to the client.

received_messages

Received Pub/Sub messages. This will not be empty.

Type

Sequence[google.pubsub_v1.types.ReceivedMessage]

subscription_properties

Properties associated with this subscription.

Type

google.pubsub_v1.types.StreamingPullResponse.SubscriptionProperties

class SubscriptionProperties(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]

Subscription properties sent as part of the response.

message_ordering_enabled

True iff message ordering is enabled for this subscription.

Type

bool

class google.cloud.pubsub_v1.types.Subscription(mapping=None, *, ignore_unknown_fields=False, **kwargs)

A subscription resource.

name

Required. The name of the subscription. It must have the format "projects/{project}/subscriptions/{subscription}". {subscription} must start with a letter, and contain only letters ([A-Za-z]), numbers ([0-9]), dashes (-), underscores (_), periods (.), tildes (~), plus (+) or percent signs (%). It must be between 3 and 255 characters in length, and it must not start with "goog".

Type

str

topic

Required. The name of the topic from which this subscription is receiving messages. Format is projects/{project}/topics/{topic}. The value of this field will be _deleted-topic_ if the topic has been deleted.

Type

str

push_config

If push delivery is used with this subscription, this field is used to configure it. An empty pushConfig signifies that the subscriber will pull and ack messages using API methods.

Type

google.pubsub_v1.types.PushConfig

ack_deadline_seconds

The approximate amount of time (on a best-effort basis) Pub/Sub waits for the subscriber to acknowledge receipt before resending the message. In the interval after the message is delivered and before it is acknowledged, it is considered to be outstanding. During that time period, the message will not be redelivered (on a best-effort basis).

For pull subscriptions, this value is used as the initial value for the ack deadline. To override this value for a given message, call ModifyAckDeadline with the corresponding ack_id if using non-streaming pull or send the ack_id in a StreamingModifyAckDeadlineRequest if using streaming pull. The minimum custom deadline you can specify is 10 seconds. The maximum custom deadline you can specify is 600 seconds (10 minutes). If this parameter is 0, a default value of 10 seconds is used.

For push delivery, this value is also used to set the request timeout for the call to the push endpoint.

If the subscriber never acknowledges the message, the Pub/Sub system will eventually redeliver the message.

Type

int

retain_acked_messages

Indicates whether to retain acknowledged messages. If true, then messages are not expunged from the subscription’s backlog, even if they are acknowledged, until they fall out of the message_retention_duration window. This must be true if you would like to [Seek to a timestamp] (https://cloud.google.com/pubsub/docs/replay-overview#seek_to_a_time) in the past to replay previously-acknowledged messages.

Type

bool

message_retention_duration

How long to retain unacknowledged messages in the subscription’s backlog, from the moment a message is published. If retain_acked_messages is true, then this also configures the retention of acknowledged messages, and thus configures how far back in time a Seek can be done. Defaults to 7 days. Cannot be more than 7 days or less than 10 minutes.

Type

google.protobuf.duration_pb2.Duration

labels

See <a href=”https://cloud.google.com/pubsub/docs/labels”> Creating and managing labels</a>.

Type

Sequence[google.pubsub_v1.types.Subscription.LabelsEntry]

enable_message_ordering

If true, messages published with the same ordering_key in PubsubMessage will be delivered to the subscribers in the order in which they are received by the Pub/Sub system. Otherwise, they may be delivered in any order.

Type

bool

expiration_policy

A policy that specifies the conditions for this subscription’s expiration. A subscription is considered active as long as any connected subscriber is successfully consuming messages from the subscription or is issuing operations on the subscription. If expiration_policy is not set, a default policy with ttl of 31 days will be used. The minimum allowed value for expiration_policy.ttl is 1 day.

Type

google.pubsub_v1.types.ExpirationPolicy

filter

An expression written in the Pub/Sub filter language. If non-empty, then only PubsubMessages whose attributes field matches the filter are delivered on this subscription. If empty, then no messages are filtered out.

Type

str

dead_letter_policy

A policy that specifies the conditions for dead lettering messages in this subscription. If dead_letter_policy is not set, dead lettering is disabled.

The Cloud Pub/Sub service account associated with this subscriptions’s parent project (i.e., service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must have permission to Acknowledge() messages on this subscription.

Type

google.pubsub_v1.types.DeadLetterPolicy

retry_policy

A policy that specifies how Pub/Sub retries message delivery for this subscription.

If not set, the default retry policy is applied. This generally implies that messages will be retried as soon as possible for healthy subscribers. RetryPolicy will be triggered on NACKs or acknowledgement deadline exceeded events for a given message.

Type

google.pubsub_v1.types.RetryPolicy

detached

Indicates whether the subscription is detached from its topic. Detached subscriptions don’t receive messages from their topic and don’t retain any backlog. Pull and StreamingPull requests will return FAILED_PRECONDITION. If the subscription is a push subscription, pushes to the endpoint will not be made.

Type

bool

topic_message_retention_duration

Output only. Indicates the minimum duration for which a message is retained after it is published to the subscription’s topic. If this field is set, messages published to the subscription’s topic in the last topic_message_retention_duration are always available to subscribers. See the message_retention_duration field in Topic. This field is set only in responses from the server; it is ignored if it is set in any requests.

Type

google.protobuf.duration_pb2.Duration

class LabelsEntry(mapping=None, *, ignore_unknown_fields=False, **kwargs)
class google.cloud.pubsub_v1.types.TestIamPermissionsRequest

Request message for TestIamPermissions method.

resource

REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.

permissions

The set of permissions to check for the resource. Permissions with wildcards (such as ‘*’ or ’storage.*’) are not allowed. For more information see IAM Overview.

permissions

Field google.iam.v1.TestIamPermissionsRequest.permissions

resource

Field google.iam.v1.TestIamPermissionsRequest.resource

class google.cloud.pubsub_v1.types.TestIamPermissionsResponse

Response message for TestIamPermissions method.

permissions

A subset of TestPermissionsRequest.permissions that the caller is allowed.

permissions

Field google.iam.v1.TestIamPermissionsResponse.permissions

class google.cloud.pubsub_v1.types.Timestamp
nanos

Field google.protobuf.Timestamp.nanos

seconds

Field google.protobuf.Timestamp.seconds

class google.cloud.pubsub_v1.types.Topic(mapping=None, *, ignore_unknown_fields=False, **kwargs)

A topic resource.

name

Required. The name of the topic. It must have the format "projects/{project}/topics/{topic}". {topic} must start with a letter, and contain only letters ([A-Za-z]), numbers ([0-9]), dashes (-), underscores (_), periods (.), tildes (~), plus (+) or percent signs (%). It must be between 3 and 255 characters in length, and it must not start with "goog".

Type

str

labels

See [Creating and managing labels] (https://cloud.google.com/pubsub/docs/labels).

Type

Sequence[google.pubsub_v1.types.Topic.LabelsEntry]

message_storage_policy

Policy constraining the set of Google Cloud Platform regions where messages published to the topic may be stored. If not present, then no constraints are in effect.

Type

google.pubsub_v1.types.MessageStoragePolicy

kms_key_name

The resource name of the Cloud KMS CryptoKey to be used to protect access to messages published on this topic.

The expected format is projects/*/locations/*/keyRings/*/cryptoKeys/*.

Type

str

schema_settings

Settings for validating messages published against a schema.

Type

google.pubsub_v1.types.SchemaSettings

satisfies_pzs

Reserved for future use. This field is set only in responses from the server; it is ignored if it is set in any requests.

Type

bool

message_retention_duration

Indicates the minimum duration to retain a message after it is published to the topic. If this field is set, messages published to the topic in the last message_retention_duration are always available to subscribers. For instance, it allows any attached subscription to seek to a timestamp that is up to message_retention_duration in the past. If this field is not set, message retention is controlled by settings on individual subscriptions. Cannot be more than 7 days or less than 10 minutes.

Type

google.protobuf.duration_pb2.Duration

class LabelsEntry(mapping=None, *, ignore_unknown_fields=False, **kwargs)
class google.cloud.pubsub_v1.types.UninterpretedOption
class NamePart
is_extension

Field google.protobuf.UninterpretedOption.NamePart.is_extension

name_part

Field google.protobuf.UninterpretedOption.NamePart.name_part

aggregate_value

Field google.protobuf.UninterpretedOption.aggregate_value

double_value

Field google.protobuf.UninterpretedOption.double_value

identifier_value

Field google.protobuf.UninterpretedOption.identifier_value

name

Field google.protobuf.UninterpretedOption.name

negative_int_value

Field google.protobuf.UninterpretedOption.negative_int_value

positive_int_value

Field google.protobuf.UninterpretedOption.positive_int_value

string_value

Field google.protobuf.UninterpretedOption.string_value

class google.cloud.pubsub_v1.types.UpdateSnapshotRequest(mapping=None, *, ignore_unknown_fields=False, **kwargs)

Request for the UpdateSnapshot method.

snapshot

Required. The updated snapshot object.

Type

google.pubsub_v1.types.Snapshot

update_mask

Required. Indicates which fields in the provided snapshot to update. Must be specified and non-empty.

Type

google.protobuf.field_mask_pb2.FieldMask

class google.cloud.pubsub_v1.types.UpdateSubscriptionRequest(mapping=None, *, ignore_unknown_fields=False, **kwargs)

Request for the UpdateSubscription method.

subscription

Required. The updated subscription object.

Type

google.pubsub_v1.types.Subscription

update_mask

Required. Indicates which fields in the provided subscription to update. Must be specified and non-empty.

Type

google.protobuf.field_mask_pb2.FieldMask

class google.cloud.pubsub_v1.types.UpdateTopicRequest(mapping=None, *, ignore_unknown_fields=False, **kwargs)

Request for the UpdateTopic method.

topic

Required. The updated topic object.

Type

google.pubsub_v1.types.Topic

update_mask

Required. Indicates which fields in the provided topic to update. Must be specified and non-empty. Note that if update_mask contains “message_storage_policy” but the message_storage_policy is not set in the topic provided above, then the updated value is determined by the policy configured at the project or organization level.

Type

google.protobuf.field_mask_pb2.FieldMask