summaryrefslogtreecommitdiff
path: root/third_party/googleapis/google/cloud/eventarc/publishing/v1/publisher.proto
diff options
context:
space:
mode:
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.proto104
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 {
+
+}