Skip to content
This repository was archived by the owner on Mar 17, 2026. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 0 additions & 52 deletions protos/google/cloud/common_resources.proto

This file was deleted.

118 changes: 109 additions & 9 deletions protos/google/pubsub/v1/pubsub.proto
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,14 @@ option java_outer_classname = "PubsubProto";
option java_package = "com.google.pubsub.v1";
option php_namespace = "Google\\Cloud\\PubSub\\V1";
option ruby_package = "Google::Cloud::PubSub::V1";
option (google.api.resource_definition) = {
type: "cloudkms.googleapis.com/CryptoKey"
pattern: "projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}"
};
option (google.api.resource_definition) = {
type: "analyticshub.googleapis.com/Listing"
pattern: "projects/{project}/locations/{location}/dataExchanges/{data_exchange}/listings/{listing}"
};

// The service that an application uses to manipulate topics, and to send
// messages to a topic.
Expand Down Expand Up @@ -415,7 +423,10 @@ message IngestionDataSourceSettings {

// Required. The name of the topic in the Amazon MSK cluster that Pub/Sub
// will import from.
string topic = 3 [(google.api.field_behavior) = REQUIRED];
string topic = 3 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = { type: "pubsub.googleapis.com/Topic" }
];

// Required. AWS role ARN to be used for Federated Identity authentication
// with Amazon MSK. Check the Pub/Sub docs for how to set up this role and
Expand Down Expand Up @@ -553,6 +564,10 @@ message IngestionFailureEvent {
// validation violation.
message SchemaViolationReason {}

// Set when a Pub/Sub message fails to get published due to a message
// transformation error.
message MessageTransformationFailureReason {}

// Failure when ingesting from a Cloud Storage source.
message CloudStorageFailure {
// Optional. Name of the Cloud Storage bucket used for ingestion.
Expand Down Expand Up @@ -580,6 +595,11 @@ message IngestionFailureEvent {
// Optional. The Pub/Sub message failed schema validation.
SchemaViolationReason schema_violation_reason = 7
[(google.api.field_behavior) = OPTIONAL];

// Optional. Failure encountered when applying a message transformation to
// the Pub/Sub message.
MessageTransformationFailureReason message_transformation_failure_reason =
8 [(google.api.field_behavior) = OPTIONAL];
}
}

Expand Down Expand Up @@ -608,6 +628,11 @@ message IngestionFailureEvent {
// Optional. The Pub/Sub message failed schema validation.
SchemaViolationReason schema_violation_reason = 6
[(google.api.field_behavior) = OPTIONAL];

// Optional. Failure encountered when applying a message transformation to
// the Pub/Sub message.
MessageTransformationFailureReason message_transformation_failure_reason =
7 [(google.api.field_behavior) = OPTIONAL];
}
}

Expand Down Expand Up @@ -636,6 +661,11 @@ message IngestionFailureEvent {
// Optional. The Pub/Sub message failed schema validation.
SchemaViolationReason schema_violation_reason = 6
[(google.api.field_behavior) = OPTIONAL];

// Optional. Failure encountered when applying a message transformation to
// the Pub/Sub message.
MessageTransformationFailureReason message_transformation_failure_reason =
7 [(google.api.field_behavior) = OPTIONAL];
}
}

Expand Down Expand Up @@ -664,6 +694,11 @@ message IngestionFailureEvent {
// Optional. The Pub/Sub message failed schema validation.
SchemaViolationReason schema_violation_reason = 6
[(google.api.field_behavior) = OPTIONAL];

// Optional. Failure encountered when applying a message transformation to
// the Pub/Sub message.
MessageTransformationFailureReason message_transformation_failure_reason =
7 [(google.api.field_behavior) = OPTIONAL];
}
}

Expand All @@ -683,12 +718,26 @@ message IngestionFailureEvent {
// Optional. The Pub/Sub message failed schema validation.
SchemaViolationReason schema_violation_reason = 4
[(google.api.field_behavior) = OPTIONAL];

// Optional. Failure encountered when applying a message transformation to
// the Pub/Sub message.
MessageTransformationFailureReason message_transformation_failure_reason =
5 [(google.api.field_behavior) = OPTIONAL];

// Optional. The message failed to be published due to an API violation.
// This is only set when the size of the data field of the Kinesis record
// is zero.
ApiViolationReason api_violation_reason = 6
[(google.api.field_behavior) = OPTIONAL];
}
}

// Required. Name of the import topic. Format is:
// projects/{project_name}/topics/{topic_name}.
string topic = 1 [(google.api.field_behavior) = REQUIRED];
string topic = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = { type: "pubsub.googleapis.com/Topic" }
];

// Required. Error details explaining why ingestion to Pub/Sub has failed.
string error_message = 2 [(google.api.field_behavior) = REQUIRED];
Expand Down Expand Up @@ -820,7 +869,12 @@ message Topic {
// protect access to messages published on this topic.
//
// The expected format is `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
string kms_key_name = 5 [(google.api.field_behavior) = OPTIONAL];
string kms_key_name = 5 [
(google.api.field_behavior) = OPTIONAL,
(google.api.resource_reference) = {
type: "cloudkms.googleapis.com/CryptoKey"
}
];

// Optional. Settings for validating messages published against a schema.
SchemaSettings schema_settings = 6 [(google.api.field_behavior) = OPTIONAL];
Expand Down Expand Up @@ -852,6 +906,16 @@ message Topic {
// Transforms are applied in the order specified.
repeated MessageTransform message_transforms = 13
[(google.api.field_behavior) = OPTIONAL];

// Optional. Input only. Immutable. Tag keys/values directly bound to this
// resource. For example:
// "123/environment": "production",
// "123/costCenter": "marketing"
map<string, string> tags = 14 [
(google.api.field_behavior) = INPUT_ONLY,
(google.api.field_behavior) = IMMUTABLE,
(google.api.field_behavior) = OPTIONAL
];
}

// A message that is published by publishers and consumed by subscribers. The
Expand Down Expand Up @@ -1025,7 +1089,10 @@ message ListTopicSnapshotsRequest {
// Response for the `ListTopicSnapshots` method.
message ListTopicSnapshotsResponse {
// Optional. The names of the snapshots that match the request.
repeated string snapshots = 1 [(google.api.field_behavior) = OPTIONAL];
repeated string snapshots = 1 [
(google.api.field_behavior) = OPTIONAL,
(google.api.resource_reference) = { type: "pubsub.googleapis.com/Snapshot" }
];

// Optional. If not empty, indicates that there may be more snapshots that
// match the request; this value should be passed in a new
Expand Down Expand Up @@ -1319,7 +1386,12 @@ message Subscription {
// Optional. The name of the associated Analytics Hub listing resource.
// Pattern:
// "projects/{project}/locations/{location}/dataExchanges/{data_exchange}/listings/{listing}"
string listing = 1 [(google.api.field_behavior) = OPTIONAL];
string listing = 1 [
(google.api.field_behavior) = OPTIONAL,
(google.api.resource_reference) = {
type: "analyticshub.googleapis.com/Listing"
}
];

// Optional. The name of the associated Analytics Hub subscription resource.
// Pattern:
Expand Down Expand Up @@ -1485,6 +1557,16 @@ message Subscription {
// subscribers. Transforms are applied in the order specified.
repeated MessageTransform message_transforms = 25
[(google.api.field_behavior) = OPTIONAL];

// Optional. Input only. Immutable. Tag keys/values directly bound to this
// resource. For example:
// "123/environment": "production",
// "123/costCenter": "marketing"
map<string, string> tags = 26 [
(google.api.field_behavior) = INPUT_ONLY,
(google.api.field_behavior) = IMMUTABLE,
(google.api.field_behavior) = OPTIONAL
];
}

// A policy that specifies how Pub/Sub retries message delivery.
Expand Down Expand Up @@ -1526,7 +1608,10 @@ message DeadLetterPolicy {
// 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.
string dead_letter_topic = 1 [(google.api.field_behavior) = OPTIONAL];
string dead_letter_topic = 1 [
(google.api.field_behavior) = OPTIONAL,
(google.api.resource_reference) = { type: "pubsub.googleapis.com/Topic" }
];

// Optional. The maximum number of delivery attempts for any message. The
// value must be between 5 and 100.
Expand Down Expand Up @@ -2095,6 +2180,11 @@ message StreamingPullRequest {
// set on a subsequent request, the stream will be aborted with status
// `INVALID_ARGUMENT`.
int64 max_outstanding_bytes = 8 [(google.api.field_behavior) = OPTIONAL];

// Optional. The protocol version used by the client. 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`.
int64 protocol_version = 10 [(google.api.field_behavior) = OPTIONAL];
}

// Response for the `StreamingPull` method. This response is used to stream
Expand Down Expand Up @@ -2149,17 +2239,17 @@ message StreamingPullResponse {
bool message_ordering_enabled = 2 [(google.api.field_behavior) = OPTIONAL];
}

// Optional. Received Pub/Sub messages. This will not be empty.
// Optional. Received Pub/Sub messages.
repeated ReceivedMessage received_messages = 1
[(google.api.field_behavior) = OPTIONAL];

// Optional. This field will only be set if `enable_exactly_once_delivery` is
// set to `true`.
// set to `true` and is not guaranteed to be populated.
AcknowledgeConfirmation acknowledge_confirmation = 5
[(google.api.field_behavior) = OPTIONAL];

// Optional. This field will only be set if `enable_exactly_once_delivery` is
// set to `true`.
// set to `true` and is not guaranteed to be populated.
ModifyAckDeadlineConfirmation modify_ack_deadline_confirmation = 3
[(google.api.field_behavior) = OPTIONAL];

Expand Down Expand Up @@ -2200,6 +2290,16 @@ message CreateSnapshotRequest {
// Optional. See [Creating and managing
// labels](https://cloud.google.com/pubsub/docs/labels).
map<string, string> labels = 3 [(google.api.field_behavior) = OPTIONAL];

// Optional. Input only. Immutable. Tag keys/values directly bound to this
// resource. For example:
// "123/environment": "production",
// "123/costCenter": "marketing"
map<string, string> tags = 4 [
(google.api.field_behavior) = INPUT_ONLY,
(google.api.field_behavior) = IMMUTABLE,
(google.api.field_behavior) = OPTIONAL
];
}

// Request for the UpdateSnapshot method.
Expand Down
Loading
Loading