diff options
Diffstat (limited to 'third_party/googleapis/google/cloud/eventarc/publishing/v1/publisher.proto')
| -rw-r--r-- | third_party/googleapis/google/cloud/eventarc/publishing/v1/publisher.proto | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/third_party/googleapis/google/cloud/eventarc/publishing/v1/publisher.proto b/third_party/googleapis/google/cloud/eventarc/publishing/v1/publisher.proto new file mode 100644 index 0000000..ce4153b --- /dev/null +++ b/third_party/googleapis/google/cloud/eventarc/publishing/v1/publisher.proto @@ -0,0 +1,104 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.cloud.eventarc.publishing.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/protobuf/any.proto"; + +option csharp_namespace = "Google.Cloud.Eventarc.Publishing.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/eventarc/publishing/v1;publisher"; +option java_multiple_files = true; +option java_outer_classname = "PublisherProto"; +option java_package = "com.google.cloud.eventarc.publishing.v1"; +option php_namespace = "Google\\Cloud\\Eventarc\\Publishing\\V1"; +option ruby_package = "Google::Cloud::Eventarc::Publishing::V1"; + +// Eventarc processes events generated by an event provider and delivers them to +// a subscriber. +// +// An event provider is a software-as-a-service (SaaS) system or +// product that can generate and deliver events through Eventarc. +// +// A third-party event provider is an event provider from outside of Google. +// +// A partner is a third-party event provider that is integrated with Eventarc. +// +// A subscriber is a GCP customer interested in receiving events. +// +// Channel is a first-class Eventarc resource that is created and managed +// by the subscriber in their GCP project. A Channel represents a subscriber's +// intent to receive events from an event provider. A Channel is associated with +// exactly one event provider. +// +// ChannelConnection is a first-class Eventarc resource that +// is created and managed by the partner in their GCP project. A +// ChannelConnection represents a connection between a partner and a +// subscriber's Channel. A ChannelConnection has a one-to-one mapping with a +// Channel. +// +// Publisher allows an event provider to publish events to Eventarc. +service Publisher { + option (google.api.default_host) = "eventarcpublishing.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; + + // Publish events to a ChannelConnection in a partner's project. + rpc PublishChannelConnectionEvents(PublishChannelConnectionEventsRequest) returns (PublishChannelConnectionEventsResponse) { + option (google.api.http) = { + post: "/v1/{channel_connection=projects/*/locations/*/channelConnections/*}:publishEvents" + body: "*" + }; + } + + // Publish events to a subscriber's channel. + rpc PublishEvents(PublishEventsRequest) returns (PublishEventsResponse) { + option (google.api.http) = { + post: "/v1/{channel=projects/*/locations/*/channels/*}:publishEvents" + body: "*" + }; + } +} + +// The request message for the PublishChannelConnectionEvents method. +message PublishChannelConnectionEventsRequest { + // The channel_connection that the events are published from. For example: + // `projects/{partner_project_id}/locations/{location}/channelConnections/{channel_connection_id}`. + string channel_connection = 1; + + // The CloudEvents v1.0 events to publish. No other types are allowed. + repeated google.protobuf.Any events = 2; +} + +// The response message for the PublishChannelConnectionEvents method. +message PublishChannelConnectionEventsResponse { + +} + +// The request message for the PublishEvents method. +message PublishEventsRequest { + // The full name of the channel to publish to. For example: + // `projects/{project}/locations/{location}/channels/{channel-id}`. + string channel = 1; + + // The CloudEvents v1.0 events to publish. No other types are allowed. + repeated google.protobuf.Any events = 2; +} + +// The response message for the PublishEvents method. +message PublishEventsResponse { + +} |
