Synchronize new proto/yaml changes.
PiperOrigin-RevId: 246528131
This commit is contained in:
parent
fe77c6737f
commit
809bf586e2
|
|
@ -11,6 +11,7 @@ proto_library(
|
|||
srcs = ["pubsub.proto"],
|
||||
deps = [
|
||||
"//google/api:annotations_proto",
|
||||
"//google/api:resource_proto",
|
||||
"@com_google_protobuf//:duration_proto",
|
||||
"@com_google_protobuf//:empty_proto",
|
||||
"@com_google_protobuf//:field_mask_proto",
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@ syntax = "proto3";
|
|||
package google.pubsub.v1;
|
||||
|
||||
import "google/api/annotations.proto";
|
||||
import "google/api/resource.proto";
|
||||
import "google/protobuf/duration.proto";
|
||||
import "google/protobuf/empty.proto";
|
||||
import "google/protobuf/field_mask.proto";
|
||||
|
|
@ -90,10 +91,7 @@ service Publisher {
|
|||
// 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.<br><br>
|
||||
// <b>BETA:</b> This feature is part of a beta release. This API might be
|
||||
// changed in backward-incompatible ways and is not recommended for production
|
||||
// use. It is not subject to any SLA or deprecation policy.
|
||||
// captured by a snapshot.
|
||||
rpc ListTopicSnapshots(ListTopicSnapshotsRequest)
|
||||
returns (ListTopicSnapshotsResponse) {
|
||||
option (google.api.http) = {
|
||||
|
|
@ -113,240 +111,6 @@ service Publisher {
|
|||
}
|
||||
}
|
||||
|
||||
// The service that an application uses to manipulate subscriptions and to
|
||||
// consume messages from a subscription via the `Pull` method or by
|
||||
// establishing a bi-directional stream using the `StreamingPull` method.
|
||||
service Subscriber {
|
||||
// Creates a subscription to a given topic. See the
|
||||
// <a href="https://cloud.google.com/pubsub/docs/admin#resource_names">
|
||||
// resource name rules</a>.
|
||||
// If the subscription already exists, returns `ALREADY_EXISTS`.
|
||||
// If the corresponding topic doesn't exist, returns `NOT_FOUND`.
|
||||
//
|
||||
// If the name is not provided in the request, the server will assign a random
|
||||
// name for this subscription on the same project as the topic, conforming
|
||||
// to the
|
||||
// [resource name
|
||||
// format](https://cloud.google.com/pubsub/docs/admin#resource_names). The
|
||||
// generated name is populated in the returned Subscription object. Note that
|
||||
// for REST API requests, you must specify a name in the request.
|
||||
rpc CreateSubscription(Subscription) returns (Subscription) {
|
||||
option (google.api.http) = {
|
||||
put: "/v1/{name=projects/*/subscriptions/*}"
|
||||
body: "*"
|
||||
};
|
||||
}
|
||||
|
||||
// Gets the configuration details of a subscription.
|
||||
rpc GetSubscription(GetSubscriptionRequest) returns (Subscription) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1/{subscription=projects/*/subscriptions/*}"
|
||||
};
|
||||
}
|
||||
|
||||
// Updates an existing subscription. Note that certain properties of a
|
||||
// subscription, such as its topic, are not modifiable.
|
||||
rpc UpdateSubscription(UpdateSubscriptionRequest) returns (Subscription) {
|
||||
option (google.api.http) = {
|
||||
patch: "/v1/{subscription.name=projects/*/subscriptions/*}"
|
||||
body: "*"
|
||||
};
|
||||
}
|
||||
|
||||
// Lists matching subscriptions.
|
||||
rpc ListSubscriptions(ListSubscriptionsRequest)
|
||||
returns (ListSubscriptionsResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1/{project=projects/*}/subscriptions"
|
||||
};
|
||||
}
|
||||
|
||||
// Deletes an existing subscription. All messages retained in the subscription
|
||||
// are immediately dropped. Calls to `Pull` after deletion will return
|
||||
// `NOT_FOUND`. After a subscription is deleted, a new one may be created with
|
||||
// the same name, but the new one has no association with the old
|
||||
// subscription or its topic unless the same topic is specified.
|
||||
rpc DeleteSubscription(DeleteSubscriptionRequest)
|
||||
returns (google.protobuf.Empty) {
|
||||
option (google.api.http) = {
|
||||
delete: "/v1/{subscription=projects/*/subscriptions/*}"
|
||||
};
|
||||
}
|
||||
|
||||
// Modifies the ack deadline for a specific message. This method is useful
|
||||
// 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. Note that this does not modify the
|
||||
// subscription-level `ackDeadlineSeconds` used for subsequent messages.
|
||||
rpc ModifyAckDeadline(ModifyAckDeadlineRequest)
|
||||
returns (google.protobuf.Empty) {
|
||||
option (google.api.http) = {
|
||||
post: "/v1/{subscription=projects/*/subscriptions/*}:modifyAckDeadline"
|
||||
body: "*"
|
||||
};
|
||||
}
|
||||
|
||||
// Acknowledges the messages associated with the `ack_ids` in the
|
||||
// `AcknowledgeRequest`. The Pub/Sub system can remove the relevant messages
|
||||
// from the subscription.
|
||||
//
|
||||
// Acknowledging a message whose ack deadline has expired may succeed,
|
||||
// but such a message may be redelivered later. Acknowledging a message more
|
||||
// than once will not result in an error.
|
||||
rpc Acknowledge(AcknowledgeRequest) returns (google.protobuf.Empty) {
|
||||
option (google.api.http) = {
|
||||
post: "/v1/{subscription=projects/*/subscriptions/*}:acknowledge"
|
||||
body: "*"
|
||||
};
|
||||
}
|
||||
|
||||
// Pulls messages from the server. The server may return `UNAVAILABLE` if
|
||||
// there are too many concurrent pull requests pending for the given
|
||||
// subscription.
|
||||
rpc Pull(PullRequest) returns (PullResponse) {
|
||||
option (google.api.http) = {
|
||||
post: "/v1/{subscription=projects/*/subscriptions/*}:pull"
|
||||
body: "*"
|
||||
};
|
||||
}
|
||||
|
||||
// Establishes a stream with the server, which sends messages down to the
|
||||
// client. The client streams acknowledgements and ack deadline modifications
|
||||
// back to the server. The server will close the stream and return the status
|
||||
// on any error. The server may close the stream with status `UNAVAILABLE` to
|
||||
// reassign server-side resources, in which case, the client should
|
||||
// re-establish the stream. Flow control can be achieved by configuring the
|
||||
// underlying RPC channel.
|
||||
rpc StreamingPull(stream StreamingPullRequest)
|
||||
returns (stream StreamingPullResponse) {}
|
||||
|
||||
// Modifies the `PushConfig` for a specified subscription.
|
||||
//
|
||||
// This may be used to change a push subscription to a pull one (signified by
|
||||
// an empty `PushConfig`) or vice versa, or change the endpoint URL and other
|
||||
// attributes of a push subscription. Messages will accumulate for delivery
|
||||
// continuously through the call regardless of changes to the `PushConfig`.
|
||||
rpc ModifyPushConfig(ModifyPushConfigRequest)
|
||||
returns (google.protobuf.Empty) {
|
||||
option (google.api.http) = {
|
||||
post: "/v1/{subscription=projects/*/subscriptions/*}:modifyPushConfig"
|
||||
body: "*"
|
||||
};
|
||||
}
|
||||
|
||||
// Gets the configuration details of a snapshot. Snapshots are used in
|
||||
// <a href="https://cloud.google.com/pubsub/docs/replay-overview">Seek</a>
|
||||
// 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.<br><br>
|
||||
// <b>BETA:</b> This feature is part of a beta release. This API might be
|
||||
// changed in backward-incompatible ways and is not recommended for production
|
||||
// use. It is not subject to any SLA or deprecation policy.
|
||||
rpc GetSnapshot(GetSnapshotRequest) returns (Snapshot) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1/{snapshot=projects/*/snapshots/*}"
|
||||
};
|
||||
}
|
||||
|
||||
// Lists the existing snapshots. Snapshots are used in
|
||||
// <a href="https://cloud.google.com/pubsub/docs/replay-overview">Seek</a>
|
||||
// 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.<br><br>
|
||||
// <b>BETA:</b> This feature is part of a beta release. This API might be
|
||||
// changed in backward-incompatible ways and is not recommended for production
|
||||
// use. It is not subject to any SLA or deprecation policy.
|
||||
rpc ListSnapshots(ListSnapshotsRequest) returns (ListSnapshotsResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1/{project=projects/*}/snapshots"
|
||||
};
|
||||
}
|
||||
|
||||
// Creates a snapshot from the requested subscription. Snapshots are used in
|
||||
// <a href="https://cloud.google.com/pubsub/docs/replay-overview">Seek</a>
|
||||
// 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.
|
||||
// <br><br>
|
||||
// <b>BETA:</b> This feature is part of a beta release. This API might be
|
||||
// changed in backward-incompatible ways and is not recommended for production
|
||||
// use. It is not subject to any SLA or deprecation policy.<br><br>
|
||||
// If the snapshot already exists, returns `ALREADY_EXISTS`.
|
||||
// If the requested subscription doesn't exist, returns `NOT_FOUND`.
|
||||
// If the backlog in the subscription is too old -- and the resulting snapshot
|
||||
// would expire in less than 1 hour -- then `FAILED_PRECONDITION` is returned.
|
||||
// See also the `Snapshot.expire_time` field. 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, conforming
|
||||
// to the
|
||||
// [resource name
|
||||
// format](https://cloud.google.com/pubsub/docs/admin#resource_names). The
|
||||
// generated name is populated in the returned Snapshot object. Note that for
|
||||
// REST API requests, you must specify a name in the request.
|
||||
rpc CreateSnapshot(CreateSnapshotRequest) returns (Snapshot) {
|
||||
option (google.api.http) = {
|
||||
put: "/v1/{name=projects/*/snapshots/*}"
|
||||
body: "*"
|
||||
};
|
||||
}
|
||||
|
||||
// Updates an existing snapshot. Snapshots are used in
|
||||
// <a href="https://cloud.google.com/pubsub/docs/replay-overview">Seek</a>
|
||||
// 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.<br><br>
|
||||
// <b>BETA:</b> This feature is part of a beta release. This API might be
|
||||
// changed in backward-incompatible ways and is not recommended for production
|
||||
// use. It is not subject to any SLA or deprecation policy.
|
||||
// Note that certain properties of a snapshot are not modifiable.
|
||||
rpc UpdateSnapshot(UpdateSnapshotRequest) returns (Snapshot) {
|
||||
option (google.api.http) = {
|
||||
patch: "/v1/{snapshot.name=projects/*/snapshots/*}"
|
||||
body: "*"
|
||||
};
|
||||
}
|
||||
|
||||
// Removes an existing snapshot. Snapshots are used in
|
||||
// <a href="https://cloud.google.com/pubsub/docs/replay-overview">Seek</a>
|
||||
// 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.<br><br>
|
||||
// <b>BETA:</b> This feature is part of a beta release. This API might be
|
||||
// changed in backward-incompatible ways and is not recommended for production
|
||||
// use. It is not subject to any SLA or deprecation policy.
|
||||
// When the snapshot is deleted, all messages retained in the snapshot
|
||||
// are immediately dropped. After a snapshot is deleted, a new one may be
|
||||
// created with the same name, but the new one has no association with the old
|
||||
// snapshot or its subscription, unless the same subscription is specified.
|
||||
rpc DeleteSnapshot(DeleteSnapshotRequest) returns (google.protobuf.Empty) {
|
||||
option (google.api.http) = {
|
||||
delete: "/v1/{snapshot=projects/*/snapshots/*}"
|
||||
};
|
||||
}
|
||||
|
||||
// Seeks an existing subscription to a point in time or to a given snapshot,
|
||||
// whichever is provided in the request. Snapshots are used in
|
||||
// <a href="https://cloud.google.com/pubsub/docs/replay-overview">Seek</a>
|
||||
// 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. Note that both the subscription and the snapshot
|
||||
// must be on the same topic.<br><br>
|
||||
// <b>BETA:</b> This feature is part of a beta release. This API might be
|
||||
// changed in backward-incompatible ways and is not recommended for production
|
||||
// use. It is not subject to any SLA or deprecation policy.
|
||||
rpc Seek(SeekRequest) returns (SeekResponse) {
|
||||
option (google.api.http) = {
|
||||
post: "/v1/{subscription=projects/*/subscriptions/*}:seek"
|
||||
body: "*"
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
message MessageStoragePolicy {
|
||||
// The list of GCP region IDs where messages that are published to the topic
|
||||
// may be persisted in storage. Messages published by publishers running in
|
||||
|
|
@ -378,6 +142,15 @@ message Topic {
|
|||
// responses for GetTopic, CreateTopic, and UpdateTopic: if not present in the
|
||||
// response, then no constraints are in effect.
|
||||
MessageStoragePolicy message_storage_policy = 3;
|
||||
|
||||
// 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/*`.
|
||||
// <b>EXPERIMENTAL:</b> This feature is part of a closed alpha release. This
|
||||
// API might be changed in backward-incompatible ways and is not recommended
|
||||
// for production use. It is not subject to any SLA or deprecation policy.
|
||||
string kms_key_name = 5;
|
||||
}
|
||||
|
||||
// A message that is published by publishers and consumed by subscribers. The
|
||||
|
|
@ -506,10 +279,7 @@ message ListTopicSubscriptionsResponse {
|
|||
string next_page_token = 2;
|
||||
}
|
||||
|
||||
// Request for the `ListTopicSnapshots` method. <br><br>
|
||||
// <b>BETA:</b> This feature is part of a beta release. This API might be
|
||||
// changed in backward-incompatible ways and is not recommended for production
|
||||
// use. It is not subject to any SLA or deprecation policy.
|
||||
// Request for the `ListTopicSnapshots` method.
|
||||
message ListTopicSnapshotsRequest {
|
||||
// The name of the topic that snapshots are attached to.
|
||||
// Format is `projects/{project}/topics/{topic}`.
|
||||
|
|
@ -524,10 +294,7 @@ message ListTopicSnapshotsRequest {
|
|||
string page_token = 3;
|
||||
}
|
||||
|
||||
// Response for the `ListTopicSnapshots` method.<br><br>
|
||||
// <b>BETA:</b> This feature is part of a beta release. This API might be
|
||||
// changed in backward-incompatible ways and is not recommended for production
|
||||
// use. It is not subject to any SLA or deprecation policy.
|
||||
// Response for the `ListTopicSnapshots` method.
|
||||
message ListTopicSnapshotsResponse {
|
||||
// The names of the snapshots that match the request.
|
||||
repeated string snapshots = 1;
|
||||
|
|
@ -545,6 +312,220 @@ message DeleteTopicRequest {
|
|||
string topic = 1;
|
||||
}
|
||||
|
||||
// The service that an application uses to manipulate subscriptions and to
|
||||
// consume messages from a subscription via the `Pull` method or by
|
||||
// establishing a bi-directional stream using the `StreamingPull` method.
|
||||
service Subscriber {
|
||||
// Creates a subscription to a given topic. See the
|
||||
// <a href="https://cloud.google.com/pubsub/docs/admin#resource_names">
|
||||
// resource name rules</a>.
|
||||
// If the subscription already exists, returns `ALREADY_EXISTS`.
|
||||
// If the corresponding topic doesn't exist, returns `NOT_FOUND`.
|
||||
//
|
||||
// If the name is not provided in the request, the server will assign a random
|
||||
// name for this subscription on the same project as the topic, conforming
|
||||
// to the
|
||||
// [resource name
|
||||
// format](https://cloud.google.com/pubsub/docs/admin#resource_names). The
|
||||
// generated name is populated in the returned Subscription object. Note that
|
||||
// for REST API requests, you must specify a name in the request.
|
||||
rpc CreateSubscription(Subscription) returns (Subscription) {
|
||||
option (google.api.http) = {
|
||||
put: "/v1/{name=projects/*/subscriptions/*}"
|
||||
body: "*"
|
||||
};
|
||||
}
|
||||
|
||||
// Gets the configuration details of a subscription.
|
||||
rpc GetSubscription(GetSubscriptionRequest) returns (Subscription) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1/{subscription=projects/*/subscriptions/*}"
|
||||
};
|
||||
}
|
||||
|
||||
// Updates an existing subscription. Note that certain properties of a
|
||||
// subscription, such as its topic, are not modifiable.
|
||||
rpc UpdateSubscription(UpdateSubscriptionRequest) returns (Subscription) {
|
||||
option (google.api.http) = {
|
||||
patch: "/v1/{subscription.name=projects/*/subscriptions/*}"
|
||||
body: "*"
|
||||
};
|
||||
}
|
||||
|
||||
// Lists matching subscriptions.
|
||||
rpc ListSubscriptions(ListSubscriptionsRequest)
|
||||
returns (ListSubscriptionsResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1/{project=projects/*}/subscriptions"
|
||||
};
|
||||
}
|
||||
|
||||
// Deletes an existing subscription. All messages retained in the subscription
|
||||
// are immediately dropped. Calls to `Pull` after deletion will return
|
||||
// `NOT_FOUND`. After a subscription is deleted, a new one may be created with
|
||||
// the same name, but the new one has no association with the old
|
||||
// subscription or its topic unless the same topic is specified.
|
||||
rpc DeleteSubscription(DeleteSubscriptionRequest)
|
||||
returns (google.protobuf.Empty) {
|
||||
option (google.api.http) = {
|
||||
delete: "/v1/{subscription=projects/*/subscriptions/*}"
|
||||
};
|
||||
}
|
||||
|
||||
// Modifies the ack deadline for a specific message. This method is useful
|
||||
// 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. Note that this does not modify the
|
||||
// subscription-level `ackDeadlineSeconds` used for subsequent messages.
|
||||
rpc ModifyAckDeadline(ModifyAckDeadlineRequest)
|
||||
returns (google.protobuf.Empty) {
|
||||
option (google.api.http) = {
|
||||
post: "/v1/{subscription=projects/*/subscriptions/*}:modifyAckDeadline"
|
||||
body: "*"
|
||||
};
|
||||
}
|
||||
|
||||
// Acknowledges the messages associated with the `ack_ids` in the
|
||||
// `AcknowledgeRequest`. The Pub/Sub system can remove the relevant messages
|
||||
// from the subscription.
|
||||
//
|
||||
// Acknowledging a message whose ack deadline has expired may succeed,
|
||||
// but such a message may be redelivered later. Acknowledging a message more
|
||||
// than once will not result in an error.
|
||||
rpc Acknowledge(AcknowledgeRequest) returns (google.protobuf.Empty) {
|
||||
option (google.api.http) = {
|
||||
post: "/v1/{subscription=projects/*/subscriptions/*}:acknowledge"
|
||||
body: "*"
|
||||
};
|
||||
}
|
||||
|
||||
// Pulls messages from the server. The server may return `UNAVAILABLE` if
|
||||
// there are too many concurrent pull requests pending for the given
|
||||
// subscription.
|
||||
rpc Pull(PullRequest) returns (PullResponse) {
|
||||
option (google.api.http) = {
|
||||
post: "/v1/{subscription=projects/*/subscriptions/*}:pull"
|
||||
body: "*"
|
||||
};
|
||||
}
|
||||
|
||||
// Establishes a stream with the server, which sends messages down to the
|
||||
// client. The client streams acknowledgements and ack deadline modifications
|
||||
// back to the server. The server will close the stream and return the status
|
||||
// on any error. The server may close the stream with status `UNAVAILABLE` to
|
||||
// reassign server-side resources, in which case, the client should
|
||||
// re-establish the stream. Flow control can be achieved by configuring the
|
||||
// underlying RPC channel.
|
||||
rpc StreamingPull(stream StreamingPullRequest)
|
||||
returns (stream StreamingPullResponse) {}
|
||||
|
||||
// Modifies the `PushConfig` for a specified subscription.
|
||||
//
|
||||
// This may be used to change a push subscription to a pull one (signified by
|
||||
// an empty `PushConfig`) or vice versa, or change the endpoint URL and other
|
||||
// attributes of a push subscription. Messages will accumulate for delivery
|
||||
// continuously through the call regardless of changes to the `PushConfig`.
|
||||
rpc ModifyPushConfig(ModifyPushConfigRequest)
|
||||
returns (google.protobuf.Empty) {
|
||||
option (google.api.http) = {
|
||||
post: "/v1/{subscription=projects/*/subscriptions/*}:modifyPushConfig"
|
||||
body: "*"
|
||||
};
|
||||
}
|
||||
|
||||
// Gets the configuration details of a snapshot. Snapshots are used in
|
||||
// <a href="https://cloud.google.com/pubsub/docs/replay-overview">Seek</a>
|
||||
// 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.
|
||||
rpc GetSnapshot(GetSnapshotRequest) returns (Snapshot) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1/{snapshot=projects/*/snapshots/*}"
|
||||
};
|
||||
}
|
||||
|
||||
// Lists the existing snapshots. Snapshots are used in
|
||||
// <a href="https://cloud.google.com/pubsub/docs/replay-overview">Seek</a>
|
||||
// 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.
|
||||
rpc ListSnapshots(ListSnapshotsRequest) returns (ListSnapshotsResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1/{project=projects/*}/snapshots"
|
||||
};
|
||||
}
|
||||
|
||||
// Creates a snapshot from the requested subscription. Snapshots are used in
|
||||
// <a href="https://cloud.google.com/pubsub/docs/replay-overview">Seek</a>
|
||||
// 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.
|
||||
// <br><br>If the snapshot already exists, returns `ALREADY_EXISTS`.
|
||||
// If the requested subscription doesn't exist, returns `NOT_FOUND`.
|
||||
// If the backlog in the subscription is too old -- and the resulting snapshot
|
||||
// would expire in less than 1 hour -- then `FAILED_PRECONDITION` is returned.
|
||||
// See also the `Snapshot.expire_time` field. 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, conforming
|
||||
// to the
|
||||
// [resource name
|
||||
// format](https://cloud.google.com/pubsub/docs/admin#resource_names). The
|
||||
// generated name is populated in the returned Snapshot object. Note that for
|
||||
// REST API requests, you must specify a name in the request.
|
||||
rpc CreateSnapshot(CreateSnapshotRequest) returns (Snapshot) {
|
||||
option (google.api.http) = {
|
||||
put: "/v1/{name=projects/*/snapshots/*}"
|
||||
body: "*"
|
||||
};
|
||||
}
|
||||
|
||||
// Updates an existing snapshot. Snapshots are used in
|
||||
// <a href="https://cloud.google.com/pubsub/docs/replay-overview">Seek</a>
|
||||
// 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.
|
||||
rpc UpdateSnapshot(UpdateSnapshotRequest) returns (Snapshot) {
|
||||
option (google.api.http) = {
|
||||
patch: "/v1/{snapshot.name=projects/*/snapshots/*}"
|
||||
body: "*"
|
||||
};
|
||||
}
|
||||
|
||||
// Removes an existing snapshot. Snapshots are used in
|
||||
// <a href="https://cloud.google.com/pubsub/docs/replay-overview">Seek</a>
|
||||
// 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.<br><br>
|
||||
// When the snapshot is deleted, all messages retained in the snapshot
|
||||
// are immediately dropped. After a snapshot is deleted, a new one may be
|
||||
// created with the same name, but the new one has no association with the old
|
||||
// snapshot or its subscription, unless the same subscription is specified.
|
||||
rpc DeleteSnapshot(DeleteSnapshotRequest) returns (google.protobuf.Empty) {
|
||||
option (google.api.http) = {
|
||||
delete: "/v1/{snapshot=projects/*/snapshots/*}"
|
||||
};
|
||||
}
|
||||
|
||||
// Seeks an existing subscription to a point in time or to a given snapshot,
|
||||
// whichever is provided in the request. Snapshots are used in
|
||||
// <a href="https://cloud.google.com/pubsub/docs/replay-overview">Seek</a>
|
||||
// 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. Note that both the subscription and the snapshot
|
||||
// must be on the same topic.
|
||||
rpc Seek(SeekRequest) returns (SeekResponse) {
|
||||
option (google.api.http) = {
|
||||
post: "/v1/{subscription=projects/*/subscriptions/*}:seek"
|
||||
body: "*"
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
// A subscription resource.
|
||||
message Subscription {
|
||||
// The name of the subscription. It must have the format
|
||||
|
|
@ -595,10 +576,6 @@ message Subscription {
|
|||
// <a
|
||||
// href="https://cloud.google.com/pubsub/docs/replay-overview#seek_to_a_time">
|
||||
// Seek to a timestamp</a>.
|
||||
// <br><br>
|
||||
// <b>BETA:</b> This feature is part of a beta release. This API might be
|
||||
// changed in backward-incompatible ways and is not recommended for production
|
||||
// use. It is not subject to any SLA or deprecation policy.
|
||||
bool retain_acked_messages = 7;
|
||||
|
||||
// How long to retain unacknowledged messages in the subscription's backlog,
|
||||
|
|
@ -606,10 +583,7 @@ message Subscription {
|
|||
// 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.<br><br>
|
||||
// <b>BETA:</b> This feature is part of a beta release. This API might be
|
||||
// changed in backward-incompatible ways and is not recommended for production
|
||||
// use. It is not subject to any SLA or deprecation policy.
|
||||
// minutes.
|
||||
google.protobuf.Duration message_retention_duration = 8;
|
||||
|
||||
// See <a href="https://cloud.google.com/pubsub/docs/labels"> Creating and
|
||||
|
|
@ -631,9 +605,6 @@ message Subscription {
|
|||
// 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.
|
||||
// <b>BETA:</b> This feature is part of a beta release. This API might be
|
||||
// changed in backward-incompatible ways and is not recommended for production
|
||||
// use. It is not subject to any SLA or deprecation policy.
|
||||
ExpirationPolicy expiration_policy = 11;
|
||||
}
|
||||
|
||||
|
|
@ -651,6 +622,26 @@ message ExpirationPolicy {
|
|||
|
||||
// Configuration for a push delivery endpoint.
|
||||
message PushConfig {
|
||||
// Contains information needed for generating an
|
||||
// [OpenID Connect
|
||||
// token](https://developers.google.com/identity/protocols/OpenIDConnect).
|
||||
message OidcToken {
|
||||
// [Service account
|
||||
// email](https://cloud.google.com/iam/docs/service-accounts)
|
||||
// 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.
|
||||
string service_account_email = 1;
|
||||
|
||||
// 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.
|
||||
string audience = 2;
|
||||
}
|
||||
|
||||
// A URL locating the endpoint to which messages should be pushed.
|
||||
// For example, a Webhook endpoint might use "https://example.com/push".
|
||||
string push_endpoint = 1;
|
||||
|
|
@ -683,36 +674,11 @@ message PushConfig {
|
|||
// default to allow requests only from the Cloud Pub/Sub system, for example.
|
||||
// This field is optional and should be set only by users interested in
|
||||
// authenticated push.
|
||||
// <b>EXPERIMENTAL:</b> This field a part of a closed alpha that may not be
|
||||
// accessible to all users. It may be changed in backward-incompatible ways
|
||||
// and is not subject to any SLA or deprecation policy. It is not recommended
|
||||
// for production use.
|
||||
oneof authentication_method {
|
||||
// If specified, Pub/Sub will generate and attach an OIDC JWT token as an
|
||||
// `Authorization` header in the HTTP request for every pushed message.
|
||||
OidcToken oidc_token = 3;
|
||||
}
|
||||
|
||||
// Contains information needed for generating an
|
||||
// [OpenID Connect
|
||||
// token](https://developers.google.com/identity/protocols/OpenIDConnect).
|
||||
message OidcToken {
|
||||
// [Service account
|
||||
// email](https://cloud.google.com/iam/docs/service-accounts)
|
||||
// to be used for generating the OIDC token. The caller (for
|
||||
// CreateSubscription, UpdateSubscription, and ModifyPushConfig calls) must
|
||||
// have the iam.serviceAccounts.actAs permission for the service account.
|
||||
// See https://cloud.google.com/iam/docs/understanding-roles#service-accounts-roles.
|
||||
string service_account_email = 1;
|
||||
|
||||
// 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.
|
||||
string audience = 2;
|
||||
}
|
||||
}
|
||||
|
||||
// A message and its corresponding acknowledgment ID.
|
||||
|
|
@ -897,10 +863,7 @@ message StreamingPullResponse {
|
|||
repeated ReceivedMessage received_messages = 1;
|
||||
}
|
||||
|
||||
// Request for the `CreateSnapshot` method.<br><br>
|
||||
// <b>BETA:</b> This feature is part of a beta release. This API might be
|
||||
// changed in backward-incompatible ways and is not recommended for production
|
||||
// use. It is not subject to any SLA or deprecation policy.
|
||||
// Request for the `CreateSnapshot` method.
|
||||
message CreateSnapshotRequest {
|
||||
// Optional user-provided name for this snapshot.
|
||||
// If the name is not provided in the request, the server will assign a random
|
||||
|
|
@ -927,10 +890,7 @@ message CreateSnapshotRequest {
|
|||
map<string, string> labels = 3;
|
||||
}
|
||||
|
||||
// Request for the UpdateSnapshot method.<br><br>
|
||||
// <b>BETA:</b> This feature is part of a beta release. This API might be
|
||||
// changed in backward-incompatible ways and is not recommended for production
|
||||
// use. It is not subject to any SLA or deprecation policy.
|
||||
// Request for the UpdateSnapshot method.
|
||||
message UpdateSnapshotRequest {
|
||||
// The updated snapshot object.
|
||||
Snapshot snapshot = 1;
|
||||
|
|
@ -945,10 +905,7 @@ message UpdateSnapshotRequest {
|
|||
// 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.<br><br>
|
||||
// <b>BETA:</b> This feature is part of a beta release. This API might be
|
||||
// changed in backward-incompatible ways and is not recommended for production
|
||||
// use. It is not subject to any SLA or deprecation policy.
|
||||
// captured by a snapshot.
|
||||
message Snapshot {
|
||||
// The name of the snapshot.
|
||||
string name = 1;
|
||||
|
|
@ -973,20 +930,14 @@ message Snapshot {
|
|||
map<string, string> labels = 4;
|
||||
}
|
||||
|
||||
// Request for the GetSnapshot method.<br><br>
|
||||
// <b>BETA:</b> This feature is part of a beta release. This API might be
|
||||
// changed in backward-incompatible ways and is not recommended for production
|
||||
// use. It is not subject to any SLA or deprecation policy.
|
||||
// Request for the GetSnapshot method.
|
||||
message GetSnapshotRequest {
|
||||
// The name of the snapshot to get.
|
||||
// Format is `projects/{project}/snapshots/{snap}`.
|
||||
string snapshot = 1;
|
||||
}
|
||||
|
||||
// Request for the `ListSnapshots` method.<br><br>
|
||||
// <b>BETA:</b> This feature is part of a beta release. This API might be
|
||||
// changed in backward-incompatible ways and is not recommended for production
|
||||
// use. It is not subject to any SLA or deprecation policy.
|
||||
// Request for the `ListSnapshots` method.
|
||||
message ListSnapshotsRequest {
|
||||
// The name of the project in which to list snapshots.
|
||||
// Format is `projects/{project-id}`.
|
||||
|
|
@ -1001,10 +952,7 @@ message ListSnapshotsRequest {
|
|||
string page_token = 3;
|
||||
}
|
||||
|
||||
// Response for the `ListSnapshots` method.<br><br>
|
||||
// <b>BETA:</b> This feature is part of a beta release. This API might be
|
||||
// changed in backward-incompatible ways and is not recommended for production
|
||||
// use. It is not subject to any SLA or deprecation policy.
|
||||
// Response for the `ListSnapshots` method.
|
||||
message ListSnapshotsResponse {
|
||||
// The resulting snapshots.
|
||||
repeated Snapshot snapshots = 1;
|
||||
|
|
@ -1014,20 +962,14 @@ message ListSnapshotsResponse {
|
|||
string next_page_token = 2;
|
||||
}
|
||||
|
||||
// Request for the `DeleteSnapshot` method.<br><br>
|
||||
// <b>BETA:</b> This feature is part of a beta release. This API might be
|
||||
// changed in backward-incompatible ways and is not recommended for production
|
||||
// use. It is not subject to any SLA or deprecation policy.
|
||||
// Request for the `DeleteSnapshot` method.
|
||||
message DeleteSnapshotRequest {
|
||||
// The name of the snapshot to delete.
|
||||
// Format is `projects/{project}/snapshots/{snap}`.
|
||||
string snapshot = 1;
|
||||
}
|
||||
|
||||
// Request for the `Seek` method. <br><br>
|
||||
// <b>BETA:</b> This feature is part of a beta release. This API might be
|
||||
// changed in backward-incompatible ways and is not recommended for production
|
||||
// use. It is not subject to any SLA or deprecation policy.
|
||||
// Request for the `Seek` method.
|
||||
message SeekRequest {
|
||||
// The subscription to affect.
|
||||
string subscription = 1;
|
||||
|
|
|
|||
Loading…
Reference in New Issue