Synchronize new proto/yaml changes.

PiperOrigin-RevId: 246528131
This commit is contained in:
Google APIs 2019-05-03 10:09:14 -07:00 committed by Copybara-Service
parent fe77c6737f
commit 809bf586e2
2 changed files with 257 additions and 314 deletions

View File

@ -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",

View File

@ -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;