Package google.cloud.eventarc.v1

Index

Eventarc

Eventarc allows users to subscribe to various events that are provided by Google Cloud services and forward them to supported destinations.

CreateChannel

rpc CreateChannel(CreateChannelRequest) returns (Operation)

Create a new channel in a particular project and location.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

CreateChannelConnection

rpc CreateChannelConnection(CreateChannelConnectionRequest) returns (Operation)

Create a new ChannelConnection in a particular project and location.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

CreateEnrollment

rpc CreateEnrollment(CreateEnrollmentRequest) returns (Operation)

Create a new Enrollment in a particular project and location.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

CreateGoogleApiSource

rpc CreateGoogleApiSource(CreateGoogleApiSourceRequest) returns (Operation)

Create a new GoogleApiSource in a particular project and location.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

CreateMessageBus

rpc CreateMessageBus(CreateMessageBusRequest) returns (Operation)

Create a new MessageBus in a particular project and location.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

CreatePipeline

rpc CreatePipeline(CreatePipelineRequest) returns (Operation)

Create a new Pipeline in a particular project and location.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

CreateTrigger

rpc CreateTrigger(CreateTriggerRequest) returns (Operation)

Create a new trigger in a particular project and location.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

DeleteChannel

rpc DeleteChannel(DeleteChannelRequest) returns (Operation)

Delete a single channel.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

DeleteChannelConnection

rpc DeleteChannelConnection(DeleteChannelConnectionRequest) returns (Operation)

Delete a single ChannelConnection.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

DeleteEnrollment

rpc DeleteEnrollment(DeleteEnrollmentRequest) returns (Operation)

Delete a single Enrollment.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

DeleteGoogleApiSource

rpc DeleteGoogleApiSource(DeleteGoogleApiSourceRequest) returns (Operation)

Delete a single GoogleApiSource.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

DeleteMessageBus

rpc DeleteMessageBus(DeleteMessageBusRequest) returns (Operation)

Delete a single message bus.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

DeletePipeline

rpc DeletePipeline(DeletePipelineRequest) returns (Operation)

Delete a single pipeline.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

DeleteTrigger

rpc DeleteTrigger(DeleteTriggerRequest) returns (Operation)

Delete a single trigger.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

GetChannel

rpc GetChannel(GetChannelRequest) returns (Channel)

Get a single Channel.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

GetChannelConnection

rpc GetChannelConnection(GetChannelConnectionRequest) returns (ChannelConnection)

Get a single ChannelConnection.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

GetEnrollment

rpc GetEnrollment(GetEnrollmentRequest) returns (Enrollment)

Get a single Enrollment.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

GetGoogleApiSource

rpc GetGoogleApiSource(GetGoogleApiSourceRequest) returns (GoogleApiSource)

Get a single GoogleApiSource.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

GetGoogleChannelConfig

rpc GetGoogleChannelConfig(GetGoogleChannelConfigRequest) returns (GoogleChannelConfig)

Get a GoogleChannelConfig

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

GetMessageBus

rpc GetMessageBus(GetMessageBusRequest) returns (MessageBus)

Get a single MessageBus.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

GetPipeline

rpc GetPipeline(GetPipelineRequest) returns (Pipeline)

Get a single Pipeline.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

GetProvider

rpc GetProvider(GetProviderRequest) returns (Provider)

Get a single Provider.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

GetTrigger

rpc GetTrigger(GetTriggerRequest) returns (Trigger)

Get a single trigger.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

ListChannelConnections

rpc ListChannelConnections(ListChannelConnectionsRequest) returns (ListChannelConnectionsResponse)

List channel connections.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

ListChannels

rpc ListChannels(ListChannelsRequest) returns (ListChannelsResponse)

List channels.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

ListEnrollments

rpc ListEnrollments(ListEnrollmentsRequest) returns (ListEnrollmentsResponse)

List Enrollments.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

ListGoogleApiSources

rpc ListGoogleApiSources(ListGoogleApiSourcesRequest) returns (ListGoogleApiSourcesResponse)

List GoogleApiSources.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

ListMessageBusEnrollments

rpc ListMessageBusEnrollments(ListMessageBusEnrollmentsRequest) returns (ListMessageBusEnrollmentsResponse)

List message bus enrollments.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

ListMessageBuses

rpc ListMessageBuses(ListMessageBusesRequest) returns (ListMessageBusesResponse)

List message buses.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

ListPipelines

rpc ListPipelines(ListPipelinesRequest) returns (ListPipelinesResponse)

List pipelines.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

ListProviders

rpc ListProviders(ListProvidersRequest) returns (ListProvidersResponse)

List providers.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

ListTriggers

rpc ListTriggers(ListTriggersRequest) returns (ListTriggersResponse)

List triggers.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

UpdateChannel

rpc UpdateChannel(UpdateChannelRequest) returns (Operation)

Update a single channel.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

UpdateEnrollment

rpc UpdateEnrollment(UpdateEnrollmentRequest) returns (Operation)

Update a single Enrollment.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

UpdateGoogleApiSource

rpc UpdateGoogleApiSource(UpdateGoogleApiSourceRequest) returns (Operation)

Update a single GoogleApiSource.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

UpdateGoogleChannelConfig

rpc UpdateGoogleChannelConfig(UpdateGoogleChannelConfigRequest) returns (GoogleChannelConfig)

Update a single GoogleChannelConfig

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

UpdateMessageBus

rpc UpdateMessageBus(UpdateMessageBusRequest) returns (Operation)

Update a single message bus.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

UpdatePipeline

rpc UpdatePipeline(UpdatePipelineRequest) returns (Operation)

Update a single pipeline.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

UpdateTrigger

rpc UpdateTrigger(UpdateTriggerRequest) returns (Operation)

Update a single trigger.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

Channel

A representation of the Channel resource. A Channel is a resource on which event providers publish their events. The published events are delivered through the transport associated with the channel. Note that a channel is associated with exactly one event provider.

Fields
name

string

Required. The resource name of the channel. Must be unique within the location on the project and must be in projects/{project}/locations/{location}/channels/{channel_id} format.

uid

string

Output only. Server assigned unique identifier for the channel. The value is a UUID4 string and guaranteed to remain unchanged until the resource is deleted.

create_time

Timestamp

Output only. The creation time.

update_time

Timestamp

Output only. The last-modified time.

provider

string

The name of the event provider (e.g. Eventarc SaaS partner) associated with the channel. This provider will be granted permissions to publish events to the channel. Format: projects/{project}/locations/{location}/providers/{provider_id}.

state

State

Output only. The state of a Channel.

activation_token

string

Output only. The activation token for the channel. The token must be used by the provider to register the channel for publishing.

crypto_key_name

string

Resource name of a KMS crypto key (managed by the user) used to encrypt/decrypt their event data.

It must match the pattern projects/*/locations/*/keyRings/*/cryptoKeys/*.

satisfies_pzs

bool

Output only. Whether or not this Channel satisfies the requirements of physical zone separation

Union field transport.

transport can be only one of the following:

pubsub_topic

string

Output only. The name of the Pub/Sub topic created and managed by Eventarc system as a transport for the event delivery. Format: projects/{project}/topics/{topic_id}.

State

State lists all the possible states of a Channel

Enums
STATE_UNSPECIFIED Default value. This value is unused.
PENDING The PENDING state indicates that a Channel has been created successfully and there is a new activation token available for the subscriber to use to convey the Channel to the provider in order to create a Connection.
ACTIVE The ACTIVE state indicates that a Channel has been successfully connected with the event provider. An ACTIVE Channel is ready to receive and route events from the event provider.
INACTIVE

The INACTIVE state indicates that the Channel cannot receive events permanently. There are two possible cases this state can happen:

  1. The SaaS provider disconnected from this Channel.
  2. The Channel activation token has expired but the SaaS provider wasn't connected.

To re-establish a Connection with a provider, the subscriber should create a new Channel and give it to the provider.

ChannelConnection

A representation of the ChannelConnection resource. A ChannelConnection is a resource which event providers create during the activation process to establish a connection between the provider and the subscriber channel.

Fields
name

string

Required. The name of the connection.

uid

string

Output only. Server assigned ID of the resource. The server guarantees uniqueness and immutability until deleted.

channel

string

Required. The name of the connected subscriber Channel. This is a weak reference to avoid cross project and cross accounts references. This must be in projects/{project}/location/{location}/channels/{channel_id} format.

create_time

Timestamp

Output only. The creation time.

update_time

Timestamp

Output only. The last-modified time.

activation_token

string

Input only. Activation token for the channel. The token will be used during the creation of ChannelConnection to bind the channel with the provider project. This field will not be stored in the provider resource.

CloudRun

Represents a Cloud Run destination.

Fields
service

string

Required. The name of the Cloud Run service being addressed. See https://cloud.google.com/run/docs/reference/rest/v1/namespaces.services.

Only services located in the same project as the trigger object can be addressed.

path

string

Optional. The relative path on the Cloud Run service the events should be sent to.

The value must conform to the definition of a URI path segment (section 3.3 of RFC2396). Examples: "/route", "route", "route/subroute".

region

string

Required. The region the Cloud Run service is deployed in.

CreateChannelConnectionRequest

The request message for the CreateChannelConnection method.

Fields
parent

string

Required. The parent collection in which to add this channel connection.

Authorization requires the following IAM permission on the specified resource parent:

  • eventarc.channelConnections.create
channel_connection

ChannelConnection

Required. Channel connection to create.

channel_connection_id

string

Required. The user-provided ID to be assigned to the channel connection.

CreateChannelRequest

The request message for the CreateChannel method.

Fields
parent

string

Required. The parent collection in which to add this channel.

Authorization requires the following IAM permission on the specified resource parent:

  • eventarc.channels.create
channel

Channel

Required. The channel to create.

channel_id

string

Required. The user-provided ID to be assigned to the channel.

validate_only

bool

Optional. If set, validate the request and preview the review, but do not post it.

CreateEnrollmentRequest

The request message for the CreateEnrollment method.

Fields
parent

string

Required. The parent collection in which to add this enrollment.

Authorization requires the following IAM permission on the specified resource parent:

  • eventarc.enrollments.create
enrollment

Enrollment

Required. The enrollment to create.

enrollment_id

string

Required. The user-provided ID to be assigned to the Enrollment. It should match the format ^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$.

validate_only

bool

Optional. If set, validate the request and preview the review, but do not post it.

CreateGoogleApiSourceRequest

The request message for the CreateGoogleApiSource method.

Fields
parent

string

Required. The parent collection in which to add this google api source.

Authorization requires the following IAM permission on the specified resource parent:

  • eventarc.googleApiSources.create
google_api_source

GoogleApiSource

Required. The google api source to create.

google_api_source_id

string

Required. The user-provided ID to be assigned to the GoogleApiSource. It should match the format ^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$.

validate_only

bool

Optional. If set, validate the request and preview the review, but do not post it.

CreateMessageBusRequest

The request message for the CreateMessageBus method.

Fields
parent

string

Required. The parent collection in which to add this message bus.

Authorization requires the following IAM permission on the specified resource parent:

  • eventarc.messageBuses.create
message_bus

MessageBus

Required. The message bus to create.

message_bus_id

string

Required. The user-provided ID to be assigned to the MessageBus. It should match the format ^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$.

validate_only

bool

Optional. If set, validate the request and preview the review, but do not post it.

CreatePipelineRequest

The request message for the CreatePipeline method.

Fields
parent

string

Required. The parent collection in which to add this pipeline.

Authorization requires the following IAM permission on the specified resource parent:

  • eventarc.pipelines.create
pipeline

Pipeline

Required. The pipeline to create.

pipeline_id

string

Required. The user-provided ID to be assigned to the Pipeline. It should match the format ^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$.

validate_only

bool

Optional. If set, validate the request and preview the review, but do not post it.

CreateTriggerRequest

The request message for the CreateTrigger method.

Fields
parent

string

Required. The parent collection in which to add this trigger.

Authorization requires the following IAM permission on the specified resource parent:

  • eventarc.triggers.create
trigger

Trigger

Required. The trigger to create.

trigger_id

string

Required. The user-provided ID to be assigned to the trigger.

validate_only

bool

Optional. If set, validate the request and preview the review, but do not post it.

DeleteChannelConnectionRequest

The request message for the DeleteChannelConnection method.

Fields
name

string

Required. The name of the channel connection to delete.

Authorization requires the following IAM permission on the specified resource name:

  • eventarc.channelConnections.delete

DeleteChannelRequest

The request message for the DeleteChannel method.

Fields
name

string

Required. The name of the channel to be deleted.

Authorization requires the following IAM permission on the specified resource name:

  • eventarc.channels.delete
validate_only

bool

Optional. If set, validate the request and preview the review, but do not post it.

DeleteEnrollmentRequest

The request message for the DeleteEnrollment method.

Fields
name

string

Required. The name of the Enrollment to be deleted.

Authorization requires the following IAM permission on the specified resource name:

  • eventarc.enrollments.delete
etag

string

Optional. If provided, the Enrollment will only be deleted if the etag matches the current etag on the resource.

allow_missing

bool

Optional. If set to true, and the Enrollment is not found, the request will succeed but no action will be taken on the server.

validate_only

bool

Optional. If set, validate the request and preview the review, but do not post it.

DeleteGoogleApiSourceRequest

The request message for the DeleteGoogleApiSource method.

Fields
name

string

Required. The name of the GoogleApiSource to be deleted.

Authorization requires the following IAM permission on the specified resource name:

  • eventarc.googleApiSources.delete
etag

string

Optional. If provided, the MessageBus will only be deleted if the etag matches the current etag on the resource.

allow_missing

bool

Optional. If set to true, and the MessageBus is not found, the request will succeed but no action will be taken on the server.

validate_only

bool

Optional. If set, validate the request and preview the review, but do not post it.

DeleteMessageBusRequest

The request message for the DeleteMessageBus method.

Fields
name

string

Required. The name of the MessageBus to be deleted.

Authorization requires the following IAM permission on the specified resource name:

  • eventarc.messageBuses.delete
etag

string

Optional. If provided, the MessageBus will only be deleted if the etag matches the current etag on the resource.

allow_missing

bool

Optional. If set to true, and the MessageBus is not found, the request will succeed but no action will be taken on the server.

validate_only

bool

Optional. If set, validate the request and preview the review, but do not post it.

DeletePipelineRequest

The request message for the DeletePipeline method.

Fields
name

string

Required. The name of the Pipeline to be deleted.

Authorization requires the following IAM permission on the specified resource name:

  • eventarc.pipelines.delete
etag

string

Optional. If provided, the Pipeline will only be deleted if the etag matches the current etag on the resource.

allow_missing

bool

Optional. If set to true, and the Pipeline is not found, the request will succeed but no action will be taken on the server.

validate_only

bool

Optional. If set, validate the request and preview the review, but do not post it.

DeleteTriggerRequest

The request message for the DeleteTrigger method.

Fields
name

string

Required. The name of the trigger to be deleted.

Authorization requires the following IAM permission on the specified resource name:

  • eventarc.triggers.delete
etag

string

If provided, the trigger will only be deleted if the etag matches the current etag on the resource.

allow_missing

bool

If set to true, and the trigger is not found, the request will succeed but no action will be taken on the server.

validate_only

bool

Optional. If set, validate the request and preview the review, but do not post it.

Destination

Represents a target of an invocation over HTTP.

Fields
network_config

NetworkConfig

Optional. Network config is used to configure how Eventarc resolves and connect to a destination. This should only be used with HttpEndpoint destination type.

Union field descriptor.

descriptor can be only one of the following:

cloud_run

CloudRun

Cloud Run fully-managed resource that receives the events. The resource should be in the same project as the trigger.

cloud_function

string

The Cloud Function resource name. Cloud Functions V1 and V2 are supported. Format: projects/{project}/locations/{location}/functions/{function}

This is a read-only field. Creating Cloud Functions V1/V2 triggers is only supported via the Cloud Functions product. An error will be returned if the user sets this value.

gke

GKE

A GKE service capable of receiving events. The service should be running in the same project as the trigger.

workflow

string

The resource name of the Workflow whose Executions are triggered by the events. The Workflow resource should be deployed in the same project as the trigger. Format: projects/{project}/locations/{location}/workflows/{workflow}

http_endpoint

HttpEndpoint

An HTTP endpoint destination described by an URI.

Enrollment

An enrollment represents a subscription for messages on a particular message bus. It defines a matching criteria for messages on the bus and the subscriber endpoint where matched messages should be delivered.

Fields
name

string

Identifier. Resource name of the form projects/{project}/locations/{location}/enrollments/{enrollment}

uid

string

Output only. Server assigned unique identifier for the channel. The value is a UUID4 string and guaranteed to remain unchanged until the resource is deleted.

etag

string

Output only. This checksum is computed by the server based on the value of other fields, and might be sent only on update and delete requests to ensure that the client has an up-to-date value before proceeding.

create_time

Timestamp

Output only. The creation time.

update_time

Timestamp

Output only. The last-modified time.

labels

map<string, string>

Optional. Resource labels.

annotations

map<string, string>

Optional. Resource annotations.

display_name

string

Optional. Resource display name.

cel_match

string

Required. A CEL expression identifying which messages this enrollment applies to.

message_bus

string

Required. Resource name of the message bus identifying the source of the messages. It matches the form projects/{project}/locations/{location}/messageBuses/{messageBus}.

destination

string

Required. Destination is the Pipeline that the Enrollment is delivering to. It must point to the full resource name of a Pipeline. Format: "projects/{PROJECT_ID}/locations/{region}/pipelines/{PIPELINE_ID)"

EventFilter

Filters events based on exact matches on the CloudEvents attributes.

Fields
attribute

string

Required. The name of a CloudEvents attribute. Currently, only a subset of attributes are supported for filtering. You can retrieve a specific provider's supported event types.

All triggers MUST provide a filter for the 'type' attribute.

value

string

Required. The value for the attribute.

operator

string

Optional. The operator used for matching the events with the value of the filter. If not specified, only events that have an exact key-value pair specified in the filter are matched. The allowed values are path_pattern and match-path-pattern. path_pattern is only allowed for GCFv1 triggers.

EventType

A representation of the event type resource.

Fields
type

string

Output only. The full name of the event type (for example, "google.cloud.storage.object.v1.finalized"). In the form of {provider-specific-prefix}.{resource}.{version}.{verb}. Types MUST be versioned and event schemas are guaranteed to remain backward compatible within one version. Note that event type versions and API versions do not need to match.

description

string

Output only. Human friendly description of what the event type is about. For example "Bucket created in Cloud Storage".

filtering_attributes[]

FilteringAttribute

Output only. Filtering attributes for the event type.

event_schema_uri

string

Output only. URI for the event schema. For example "https://github.com/googleapis/google-cloudevents/blob/master/proto/google/events/cloud/storage/v1/events.proto"

FilteringAttribute

A representation of the FilteringAttribute resource. Filtering attributes are per event type.

Fields
attribute

string

Output only. Attribute used for filtering the event type.

description

string

Output only. Description of the purpose of the attribute.

required

bool

Output only. If true, the triggers for this provider should always specify a filter on these attributes. Trigger creation will fail otherwise.

path_pattern_supported

bool

Output only. If true, the attribute accepts matching expressions in the Eventarc PathPattern format.

GKE

Represents a GKE destination.

Fields
cluster

string

Required. The name of the cluster the GKE service is running in. The cluster must be running in the same project as the trigger being created.

location

string

Required. The name of the Google Compute Engine in which the cluster resides, which can either be compute zone (for example, us-central1-a) for the zonal clusters or region (for example, us-central1) for regional clusters.

namespace

string

Required. The namespace the GKE service is running in.

service

string

Required. Name of the GKE service.

path

string

Optional. The relative path on the GKE service the events should be sent to.

The value must conform to the definition of a URI path segment (section 3.3 of RFC2396). Examples: "/route", "route", "route/subroute".

GetChannelConnectionRequest

The request message for the GetChannelConnection method.

Fields
name

string

Required. The name of the channel connection to get.

Authorization requires the following IAM permission on the specified resource name:

  • eventarc.channelConnections.get

GetChannelRequest

The request message for the GetChannel method.

Fields
name

string

Required. The name of the channel to get.

Authorization requires the following IAM permission on the specified resource name:

  • eventarc.channels.get

GetEnrollmentRequest

The request message for the GetEnrollment method.

Fields
name

string

Required. The name of the Enrollment to get.

Authorization requires the following IAM permission on the specified resource name:

  • eventarc.enrollments.get

GetGoogleApiSourceRequest

The request message for the GetGoogleApiSource method.

Fields
name

string

Required. The name of the google api source to get.

Authorization requires the following IAM permission on the specified resource name:

  • eventarc.googleApiSources.get

GetGoogleChannelConfigRequest

The request message for the GetGoogleChannelConfig method.

Fields
name

string

Required. The name of the config to get.

Authorization requires the following IAM permission on the specified resource name:

  • eventarc.googleChannelConfig.get

GetMessageBusRequest

The request message for the GetMessageBus method.

Fields
name

string

Required. The name of the message bus to get.

Authorization requires the following IAM permission on the specified resource name:

  • eventarc.messageBuses.get

GetPipelineRequest

The request message for the GetPipeline method.

Fields
name

string

Required. The name of the pipeline to get.

Authorization requires the following IAM permission on the specified resource name:

  • eventarc.pipelines.get

GetProviderRequest

The request message for the GetProvider method.

Fields
name

string

Required. The name of the provider to get.

Authorization requires the following IAM permission on the specified resource name:

  • eventarc.providers.get

GetTriggerRequest

The request message for the GetTrigger method.

Fields
name

string

Required. The name of the trigger to get.

Authorization requires the following IAM permission on the specified resource name:

  • eventarc.triggers.get

GoogleApiSource

A GoogleApiSource represents a subscription of 1P events from a MessageBus.

Fields
name

string

Identifier. Resource name of the form projects/{project}/locations/{location}/googleApiSources/{google_api_source}

uid

string

Output only. Server assigned unique identifier for the channel. The value is a UUID4 string and guaranteed to remain unchanged until the resource is deleted.

etag

string

Output only. This checksum is computed by the server based on the value of other fields, and might be sent only on update and delete requests to ensure that the client has an up-to-date value before proceeding.

create_time

Timestamp

Output only. The creation time.

update_time

Timestamp

Output only. The last-modified time.

labels

map<string, string>

Optional. Resource labels.

annotations

map<string, string>

Optional. Resource annotations.

display_name

string

Optional. Resource display name.

destination

string

Required. Destination is the message bus that the GoogleApiSource is delivering to. It must be point to the full resource name of a MessageBus. Format: "projects/{PROJECT_ID}/locations/{region}/messagesBuses/{MESSAGE_BUS_ID)

crypto_key_name

string

Optional. Resource name of a KMS crypto key (managed by the user) used to encrypt/decrypt their event data.

It must match the pattern projects/*/locations/*/keyRings/*/cryptoKeys/*.

logging_config

LoggingConfig

Optional. Config to control Platform logging for the GoogleApiSource.

GoogleChannelConfig

A GoogleChannelConfig is a resource that stores the custom settings respected by Eventarc first-party triggers in the matching region. Once configured, first-party event data will be protected using the specified custom managed encryption key instead of Google-managed encryption keys.

Fields
name

string

Required. The resource name of the config. Must be in the format of, projects/{project}/locations/{location}/googleChannelConfig.

update_time

Timestamp

Output only. The last-modified time.

crypto_key_name

string

Optional. Resource name of a KMS crypto key (managed by the user) used to encrypt/decrypt their event data.

It must match the pattern projects/*/locations/*/keyRings/*/cryptoKeys/*.

HttpEndpoint

Represents a HTTP endpoint destination.

Fields
uri

string

Required. The URI of the HTTP enpdoint.

The value must be a RFC2396 URI string. Examples: http://10.10.10.8:80/route, http://svc.us-central1.p.local:8080/. Only HTTP and HTTPS protocols are supported. The host can be either a static IP addressable from the VPC specified by the network config, or an internal DNS hostname of the service resolvable via Cloud DNS.

ListChannelConnectionsRequest

The request message for the ListChannelConnections method.

Fields
parent

string

Required. The parent collection from which to list channel connections.

Authorization requires the following IAM permission on the specified resource parent:

  • eventarc.channelConnections.list
page_size

int32

The maximum number of channel connections to return on each page.

Note: The service may send fewer responses.

page_token

string

The page token; provide the value from the next_page_token field in a previous ListChannelConnections call to retrieve the subsequent page.

When paginating, all other parameters provided to ListChannelConnetions match the call that provided the page token.

ListChannelConnectionsResponse

The response message for the ListChannelConnections method.

Fields
channel_connections[]

ChannelConnection

The requested channel connections, up to the number specified in page_size.

next_page_token

string

A page token that can be sent to ListChannelConnections to request the next page. If this is empty, then there are no more pages.

unreachable[]

string

Unreachable resources, if any.

ListChannelsRequest

The request message for the ListChannels method.

Fields
parent

string

Required. The parent collection to list channels on.

Authorization requires the following IAM permission on the specified resource parent:

  • eventarc.channels.list
page_size

int32

The maximum number of channels to return on each page.

Note: The service may send fewer.

page_token

string

The page token; provide the value from the next_page_token field in a previous ListChannels call to retrieve the subsequent page.

When paginating, all other parameters provided to ListChannels must match the call that provided the page token.

order_by

string

The sorting order of the resources returned. Value should be a comma-separated list of fields. The default sorting order is ascending. To specify descending order for a field, append a desc suffix; for example: name desc, channel_id.

ListChannelsResponse

The response message for the ListChannels method.

Fields
channels[]

Channel

The requested channels, up to the number specified in page_size.

next_page_token

string

A page token that can be sent to ListChannels to request the next page. If this is empty, then there are no more pages.

unreachable[]

string

Unreachable resources, if any.

ListEnrollmentsRequest

The request message for the ListEnrollments method.

Fields
parent

string

Required. The parent collection to list triggers on.

Authorization requires the following IAM permission on the specified resource parent:

  • eventarc.enrollments.list
page_size

int32

Optional. The maximum number of results to return on each page.

Note: The service may send fewer.

page_token

string

Optional. The page token; provide the value from the next_page_token field in a previous call to retrieve the subsequent page.

When paginating, all other parameters provided must match the previous call that provided the page token.

order_by

string

Optional. The sorting order of the resources returned. Value should be a comma-separated list of fields. The default sorting order is ascending. To specify descending order for a field, append a desc suffix; for example: name desc, update_time.

filter

string

Optional. The filter field that the list request will filter on. Possible filtersare described in https://google.aip.dev/160.

ListEnrollmentsResponse

The response message for the ListEnrollments method.

Fields
enrollments[]

Enrollment

The requested Enrollments, up to the number specified in page_size.

next_page_token

string

A page token that can be sent to ListEnrollments to request the next page. If this is empty, then there are no more pages.

unreachable[]

string

Unreachable resources, if any.

ListGoogleApiSourcesRequest

The request message for the ListGoogleApiSources method.

Fields
parent

string

Required. The parent collection to list GoogleApiSources on.

Authorization requires the following IAM permission on the specified resource parent:

  • eventarc.googleApiSources.list
page_size

int32

Optional. The maximum number of results to return on each page.

Note: The service may send fewer.

page_token

string

Optional. The page token; provide the value from the next_page_token field in a previous call to retrieve the subsequent page.

When paginating, all other parameters provided must match the previous call that provided the page token.

order_by

string

Optional. The sorting order of the resources returned. Value should be a comma-separated list of fields. The default sorting order is ascending. To specify descending order for a field, append a desc suffix; for example: name desc, update_time.

filter

string

Optional. The filter field that the list request will filter on. Possible filtersare described in https://google.aip.dev/160.

ListGoogleApiSourcesResponse

The response message for the ListGoogleApiSources method.

Fields
google_api_sources[]

GoogleApiSource

The requested GoogleApiSources, up to the number specified in page_size.

next_page_token

string

A page token that can be sent to ListMessageBusEnrollments to request the next page. If this is empty, then there are no more pages.

unreachable[]

string

Unreachable resources, if any.

ListMessageBusEnrollmentsRequest

The request message for the ListMessageBusEnrollments method.

Fields
parent

string

Required. The parent message bus to list enrollments on.

Authorization requires the following IAM permission on the specified resource parent:

  • eventarc.messageBuses.get
page_size

int32

Optional. The maximum number of results to return on each page.

Note: The service may send fewer.

page_token

string

Optional. The page token; provide the value from the next_page_token field in a previous call to retrieve the subsequent page.

When paginating, all other parameters provided must match the previous call that provided the page token.

ListMessageBusEnrollmentsResponse

The response message for the ListMessageBusEnrollments method.`

Fields
enrollments[]

string

The requested enrollments, up to the number specified in page_size.

next_page_token

string

A page token that can be sent to ListMessageBusEnrollments to request the next page. If this is empty, then there are no more pages.

unreachable[]

string

Unreachable resources, if any.

ListMessageBusesRequest

The request message for the ListMessageBuses method.

Fields
parent

string

Required. The parent collection to list triggers on.

Authorization requires the following IAM permission on the specified resource parent:

  • eventarc.messageBuses.list
page_size

int32

Optional. The maximum number of results to return on each page.

Note: The service may send fewer.

page_token

string

Optional. The page token; provide the value from the next_page_token field in a previous call to retrieve the subsequent page.

When paginating, all other parameters provided must match the previous call that provided the page token.

order_by

string

Optional. The sorting order of the resources returned. Value should be a comma-separated list of fields. The default sorting order is ascending. To specify descending order for a field, append a desc suffix; for example: name desc, update_time.

filter

string

Optional. The filter field that the list request will filter on. Possible filtersare described in https://google.aip.dev/160.

ListMessageBusesResponse

The response message for the ListMessageBuses method.

Fields
message_buses[]

MessageBus

The requested message buses, up to the number specified in page_size.

next_page_token

string

A page token that can be sent to ListMessageBuses to request the next page. If this is empty, then there are no more pages.

unreachable[]

string

Unreachable resources, if any.

ListPipelinesRequest

The request message for the ListPipelines method.

Fields
parent

string

Required. The parent collection to list pipelines on.

Authorization requires the following IAM permission on the specified resource parent:

  • eventarc.pipelines.list
page_size

int32

Optional. The maximum number of results to return on each page.

Note: The service may send fewer.

page_token

string

Optional. The page token; provide the value from the next_page_token field in a previous call to retrieve the subsequent page.

When paginating, all other parameters provided must match the previous call that provided the page token.

order_by

string

Optional. The sorting order of the resources returned. Value should be a comma-separated list of fields. The default sorting order is ascending. To specify descending order for a field, append a desc suffix; for example: name desc, update_time.

filter

string

Optional. The filter field that the list request will filter on. Possible filters are described in https://google.aip.dev/160.

ListPipelinesResponse

The response message for the ListPipelines method.

Fields
pipelines[]

Pipeline

The requested pipelines, up to the number specified in page_size.

next_page_token

string

A page token that can be sent to ListPipelines to request the next page. If this is empty, then there are no more pages.

unreachable[]

string

Unreachable resources, if any.

ListProvidersRequest

The request message for the ListProviders method.

Fields
parent

string

Required. The parent of the provider to get.

Authorization requires the following IAM permission on the specified resource parent:

  • eventarc.providers.list
page_size

int32

The maximum number of providers to return on each page.

page_token

string

The page token; provide the value from the next_page_token field in a previous ListProviders call to retrieve the subsequent page.

When paginating, all other parameters provided to ListProviders must match the call that provided the page token.

order_by

string

The sorting order of the resources returned. Value should be a comma-separated list of fields. The default sorting oder is ascending. To specify descending order for a field, append a desc suffix; for example: name desc, _id.

filter

string

The filter field that the list request will filter on.

ListProvidersResponse

The response message for the ListProviders method.

Fields
providers[]

Provider

The requested providers, up to the number specified in page_size.

next_page_token

string

A page token that can be sent to ListProviders to request the next page. If this is empty, then there are no more pages.

unreachable[]

string

Unreachable resources, if any.

ListTriggersRequest

The request message for the ListTriggers method.

Fields
parent

string

Required. The parent collection to list triggers on.

Authorization requires the following IAM permission on the specified resource parent:

  • eventarc.triggers.list
page_size

int32

The maximum number of triggers to return on each page.

Note: The service may send fewer.

page_token

string

The page token; provide the value from the next_page_token field in a previous ListTriggers call to retrieve the subsequent page.

When paginating, all other parameters provided to ListTriggers must match the call that provided the page token.

order_by

string

The sorting order of the resources returned. Value should be a comma-separated list of fields. The default sorting order is ascending. To specify descending order for a field, append a desc suffix; for example: name desc, trigger_id.

filter

string

Filter field. Used to filter the Triggers to be listed. Possible filters are described in https://google.aip.dev/160. For example, using "?filter=destination:gke" would list only Triggers with a gke destination.

ListTriggersResponse

The response message for the ListTriggers method.

Fields
triggers[]

Trigger

The requested triggers, up to the number specified in page_size.

next_page_token

string

A page token that can be sent to ListTriggers to request the next page. If this is empty, then there are no more pages.

unreachable[]

string

Unreachable resources, if any.

LoggingConfig

The configuration for Platform Telemetry logging for Eventarc Avdvanced resources.

Fields
log_severity

LogSeverity

Optional. The minimum severity of logs that will be sent to Stackdriver/Platform Telemetry. Logs at severitiy ≥ this value will be sent, unless it is NONE.

LogSeverity

The different severities for logging supported by Eventarc Advanced resources. This enum is an exhaustive list of log severities and is FROZEN. Do not expect new values to be added.

Enums
LOG_SEVERITY_UNSPECIFIED Log severity is not specified. This value is treated the same as NONE, but is used to distinguish between no update and update to NONE in update_masks.
NONE Default value at resource creation, presence of this value must be treated as no logging/disable logging.
DEBUG Debug or trace level logging.
INFO Routine information, such as ongoing status or performance.
NOTICE Normal but significant events, such as start up, shut down, or a configuration change.
WARNING Warning events might cause problems.
ERROR Error events are likely to cause problems.
CRITICAL Critical events cause more severe problems or outages.
ALERT A person must take action immediately.
EMERGENCY One or more systems are unusable.

MessageBus

MessageBus for the messages flowing through the system. The admin has visibility and control over the messages being published and consumed and can restrict publishers and subscribers to only a subset of data available in the system by defining authorization policies.

Fields
name

string

Identifier. Resource name of the form projects/{project}/locations/{location}/messageBuses/{message_bus}

uid

string

Output only. Server assigned unique identifier for the channel. The value is a UUID4 string and guaranteed to remain unchanged until the resource is deleted.

etag

string

Output only. This checksum is computed by the server based on the value of other fields, and might be sent only on update and delete requests to ensure that the client has an up-to-date value before proceeding.

create_time

Timestamp

Output only. The creation time.

update_time

Timestamp

Output only. The last-modified time.

labels

map<string, string>

Optional. Resource labels.

annotations

map<string, string>

Optional. Resource annotations.

display_name

string

Optional. Resource display name.

crypto_key_name

string

Optional. Resource name of a KMS crypto key (managed by the user) used to encrypt/decrypt their event data.

It must match the pattern projects/*/locations/*/keyRings/*/cryptoKeys/*.

logging_config

LoggingConfig

Optional. Config to control Platform logging for the Message Bus. This log configuration is applied to the Message Bus itself, and all the Enrollments attached to it.

NetworkConfig

Network Configuration that can be inherited by other protos.

Fields
network_attachment

string

Required. Name of the NetworkAttachment that allows access to the customer's VPC. Format: projects/{PROJECT_ID}/regions/{REGION}/networkAttachments/{NETWORK_ATTACHMENT_NAME}

OperationMetadata

Represents the metadata of the long-running operation.

Fields
create_time

Timestamp

Output only. The time the operation was created.

end_time

Timestamp

Output only. The time the operation finished running.

target

string

Output only. Server-defined resource path for the target of the operation.

verb

string

Output only. Name of the verb executed by the operation.

status_message

string

Output only. Human-readable status of the operation, if any.

requested_cancellation

bool

Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have [Operation.error][] value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED.

api_version

string

Output only. API version used to start the operation.

Pipeline

A representation of the Pipeline resource.

Fields
name

string

Identifier. The resource name of the Pipeline. Must be unique within the location of the project and must be in projects/{project}/locations/{location}/pipelines/{pipeline} format.

create_time

Timestamp

Output only. The creation time. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

update_time

Timestamp

Output only. The last-modified time. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

labels

map<string, string>

Optional. User labels attached to the Pipeline that can be used to group resources. An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

uid

string

Output only. Server-assigned unique identifier for the Pipeline. The value is a UUID4 string and guaranteed to remain unchanged until the resource is deleted.

annotations

map<string, string>

Optional. User-defined annotations. See https://google.aip.dev/128#annotations.

display_name

string

Optional. Display name of resource.

destinations[]

Destination

Required. List of destinations to which messages will be forwarded. Currently, exactly one destination is supported per Pipeline.

mediations[]

Mediation

Optional. List of mediation operations to be performed on the message. Currently, only one Transformation operation is allowed in each Pipeline.

crypto_key_name

string

Optional. Resource name of a KMS crypto key (managed by the user) used to encrypt/decrypt the event data. If not set, an internal Google-owned key will be used to encrypt messages. It must match the pattern "projects/{project}/locations/{location}/keyRings/{keyring}/cryptoKeys/{key}".

input_payload_format

MessagePayloadFormat

Optional. The payload format expected for the messages received by the Pipeline. If input_payload_format is set then any messages not matching this format will be treated as persistent errors. If input_payload_format is not set, then the message data will be treated as an opaque binary and no output format can be set on the Pipeline through the Pipeline.Destination.output_payload_format field. Any Mediations on the Pipeline that involve access to the data field will fail as persistent errors.

logging_config

LoggingConfig

Optional. Config to control Platform Logging for Pipelines.

retry_policy

RetryPolicy

Optional. The retry policy to use in the pipeline.

etag

string

Output only. This checksum is computed by the server based on the value of other fields, and might be sent only on create requests to ensure that the client has an up-to-date value before proceeding.

Destination

Represents a target of an invocation over HTTP.

Fields
network_config

NetworkConfig

Optional. Network config is used to configure how Pipeline resolves and connects to a destination.

authentication_config

AuthenticationConfig

Optional. An authentication config used to authenticate message requests, such that destinations can verify the source. For example, this can be used with private GCP destinations that require GCP credentials to access like Cloud Run. This field is optional and should be set only by users interested in authenticated push

output_payload_format

MessagePayloadFormat

Optional. The message format before it is delivered to the destination. If not set, the message will be delivered in the format it was originally delivered to the Pipeline. This field can only be set if Pipeline.input_payload_format is also set.

Union field destination_descriptor. The destination identifier to which the request should be routed to. destination_descriptor can be only one of the following:
http_endpoint

HttpEndpoint

Optional. An HTTP endpoint destination described by an URI. If a DNS FQDN is provided as the endpoint, Pipeline will create a peering zone to the consumer VPC and forward DNS requests to the VPC specified by network config to resolve the service endpoint. See: https://cloud.google.com/dns/docs/zones/zones-overview#peering_zones

workflow

string

Optional. The resource name of the Workflow whose Executions are triggered by the events. The Workflow resource should be deployed in the same project as the Pipeline. Format: projects/{project}/locations/{location}/workflows/{workflow}

message_bus

string

Optional. The resource name of the Message Bus to which events should be published. The Message Bus resource should exist in the same project as the Pipeline. Format: projects/{project}/locations/{location}/messageBuses/{message_bus}

topic

string

Optional. The resource name of the Pub/Sub topic to which events should be published. Format: projects/{project}/locations/{location}/topics/{topic}

AuthenticationConfig

Represents a config used to authenticate message requests.

Fields
Union field authentication_method_descriptor. The type of authentication method. authentication_method_descriptor can be only one of the following:
google_oidc

OidcToken

Optional. This authenticate method will apply Google OIDC tokens signed by a GCP service account to the requests.

oauth_token

OAuthToken

Optional. If specified, an OAuth token will be generated and attached as an Authorization header in the HTTP request.

This type of authorization should generally only be used when calling Google APIs hosted on *.googleapis.com.

OAuthToken

Contains information needed for generating an OAuth token. This type of authorization should generally only be used when calling Google APIs hosted on *.googleapis.com.

Fields
service_account

string

Required. Service account email used to generate the OAuth token. The principal who calls this API must have iam.serviceAccounts.actAs permission in the service account. See https://cloud.google.com/iam/docs/understanding-service-accounts for more information. Eventarc service agents must have roles/roles/iam.serviceAccountTokenCreator role to allow Pipeline to create OAuth2 tokens for authenticated requests.

scope

string

Optional. OAuth scope to be used for generating OAuth access token. If not specified, "https://www.googleapis.com/auth/cloud-platform" will be used.

OidcToken

Represents a config used to authenticate with a Google OIDC token using a GCP service account. Use this authentication method to invoke your Cloud Run and Cloud Functions destinations or HTTP endpoints that support Google OIDC.

Fields
service_account

string

Required. Service account email used to generate the OIDC Token. The principal who calls this API must have iam.serviceAccounts.actAs permission in the service account. See https://cloud.google.com/iam/docs/understanding-service-accounts for more information. Eventarc service agents must have roles/roles/iam.serviceAccountTokenCreator role to allow the Pipeline to create OpenID tokens for authenticated requests.

audience

string

Optional. Audience to be used to generate the OIDC Token. The audience claim identifies the recipient that the JWT is intended for. If unspecified, the destination URI will be used.

HttpEndpoint

Represents a HTTP endpoint destination.

Fields
uri

string

Required. The URI of the HTTP enpdoint.

The value must be a RFC2396 URI string. Examples: https://svc.us-central1.p.local:8080/route. Only the HTTPS protocol is supported.

message_binding_template

string

Optional. The CEL expression used to modify how the destination-bound HTTP request is constructed.

If a binding expression is not specified here, the message is treated as a CloudEvent and is mapped to the HTTP request according to the CloudEvent HTTP Protocol Binding Binary Content Mode. In this representation, all fields except the data and datacontenttype field on the message are mapped to HTTP request headers with a prefix of ce-.

To construct the HTTP request payload and the value of the content-type HTTP header, the payload format is defined as follows: 1) Use the output_payload_format_type on the Pipeline.Destination if it is set, else: 2) Use the input_payload_format_type on the Pipeline if it is set, else: 3) Treat the payload as opaque binary data.

The data field of the message is converted to the payload format or left as-is for case 3) and then attached as the payload of the HTTP request. The content-type header on the HTTP request is set to the payload format type or left empty for case 3). However, if a mediation has updated the datacontenttype field on the message so that it is not the same as the payload format type but it is still a prefix of the payload format type, then the content-type header on the HTTP request is set to this datacontenttype value. For example, if the datacontenttype is "application/json" and the payload format type is "application/json; charset=utf-8", then the content-type header on the HTTP request is set to "application/json; charset=utf-8".

If a non-empty binding expression is specified then this expression is used to modify the default CloudEvent HTTP Protocol Binding Binary Content representation. The result of the CEL expression must be a map of key/value pairs which is used as follows: - If a map named headers exists on the result of the expression, then its key/value pairs are directly mapped to the HTTP request headers. The headers values are constructed from the corresponding value type's canonical representation. If the headers field doesn't exist then the resulting HTTP request will be the headers of the CloudEvent HTTP Binding Binary Content Mode representation of the final message. Note: If the specified binding expression, has updated the datacontenttype field on the message so that it is not the same as the payload format type but it is still a prefix of the payload format type, then the content-type header in the headers map is set to this datacontenttype value. - If a field named body exists on the result of the expression then its value is directly mapped to the body of the request. If the value of the body field is of type bytes or string then it is used for the HTTP request body as-is, with no conversion. If the body field is of any other type then it is converted to a JSON string. If the body field does not exist then the resulting payload of the HTTP request will be data value of the CloudEvent HTTP Binding Binary Content Mode representation of the final message as described earlier. - Any other fields in the resulting expression will be ignored.

The CEL expression may access the incoming CloudEvent message in its definition, as follows: - The data field of the incoming CloudEvent message can be accessed using the message.data value. Subfields of message.data may also be accessed if an input_payload_format has been specified on the Pipeline. - Each attribute of the incoming CloudEvent message can be accessed using the message.<key> value, where is replaced with the name of the attribute. - Existing headers can be accessed in the CEL expression using the headers variable. The headers variable defines a map of key/value pairs corresponding to the HTTP headers of the CloudEvent HTTP Binding Binary Content Mode representation of the final message as described earlier. For example, the following CEL expression can be used to construct an HTTP request by adding an additional header to the HTTP headers of the CloudEvent HTTP Binding Binary Content Mode representation of the final message and by overwriting the body of the request:

{
  "headers": headers.merge({"new-header-key": "new-header-value"}),
  "body": "new-body"
}

Additionally, the following CEL extension functions are provided for use in this CEL expression: - toBase64Url: map.toBase64Url() -> string - Converts a CelValue to a base64url encoded string - toJsonString: map.toJsonString() -> string - Converts a CelValue to a JSON string - merge: map1.merge(map2) -> map3 - Merges the passed CEL map with the existing CEL map the function is applied to. - If the same key exists in both maps, if the key's value is type map both maps are merged else the value from the passed map is used. - denormalize: map.denormalize() -> map - Denormalizes a CEL map such that every value of type map or key in the map is expanded to return a single level map. - The resulting keys are "." separated indices of the map keys. - For example: { "a": 1, "b": { "c": 2, "d": 3 } "e": [4, 5] } .denormalize() -> { "a": 1, "b.c": 2, "b.d": 3, "e.0": 4, "e.1": 5 } - setField: map.setField(key, value) -> message - Sets the field of the message with the given key to the given value. - If the field is not present it will be added. - If the field is present it will be overwritten. - The key can be a dot separated path to set a field in a nested message. - Key must be of type string. - Value may be any valid type. - removeFields: map.removeFields([key1, key2, ...]) -> message - Removes the fields of the map with the given keys. - The keys can be a dot separated path to remove a field in a nested message. - If a key is not found it will be ignored. - Keys must be of type string. - toMap: [map1, map2, ...].toMap() -> map - Converts a CEL list of CEL maps to a single CEL map - toDestinationPayloadFormat(): message.data.toDestinationPayloadFormat() -> string or bytes - Converts the message data to the destination payload format specified in Pipeline.Destination.output_payload_format - This function is meant to be applied to the message.data field. - If the destination payload format is not set, the function will return the message data unchanged. - toCloudEventJsonWithPayloadFormat: message.toCloudEventJsonWithPayloadFormat() -> map - Converts a message to the corresponding structure of JSON format for CloudEvents - This function applies toDestinationPayloadFormat() to the message data. It also sets the corresponding datacontenttype of the CloudEvent, as indicated by Pipeline.Destination.output_payload_format. If no output_payload_format is set it will use the existing datacontenttype on the CloudEvent if present, else leave datacontenttype absent. - This function expects that the content of the message will adhere to the standard CloudEvent format. If it doesn't then this function will fail. - The result is a CEL map that corresponds to the JSON representation of the CloudEvent. To convert that data to a JSON string it can be chained with the toJsonString function.

The Pipeline expects that the message it receives adheres to the standard CloudEvent format. If it doesn't then the outgoing message request may fail with a persistent error.

NetworkConfig

Represents a network config to be used for destination resolution and connectivity.

Fields
network_attachment

string

Required. Name of the NetworkAttachment that allows access to the consumer VPC. Format: projects/{PROJECT_ID}/regions/{REGION}/networkAttachments/{NETWORK_ATTACHMENT_NAME}

Mediation

Mediation defines different ways to modify the Pipeline.

Fields
Union field mediation_descriptor. The config of mediation. mediation_descriptor can be only one of the following:
transformation

Transformation

Optional. How the Pipeline is to transform messages

Transformation

Transformation defines the way to transform an incoming message.

Fields
transformation_template

string

Optional. The CEL expression template to apply to transform messages. The following CEL extension functions are provided for use in this CEL expression: - merge: map1.merge(map2) -> map3 - Merges the passed CEL map with the existing CEL map the function is applied to. - If the same key exists in both maps, if the key's value is type map both maps are merged else the value from the passed map is used. - denormalize: map.denormalize() -> map - Denormalizes a CEL map such that every value of type map or key in the map is expanded to return a single level map. - The resulting keys are "." separated indices of the map keys. - For example: { "a": 1, "b": { "c": 2, "d": 3 } "e": [4, 5] } .denormalize() -> { "a": 1, "b.c": 2, "b.d": 3, "e.0": 4, "e.1": 5 } - setField: map.setField(key, value) -> message - Sets the field of the message with the given key to the given value. - If the field is not present it will be added. - If the field is present it will be overwritten. - The key can be a dot separated path to set a field in a nested message. - Key must be of type string. - Value may be any valid type. - removeFields: map.removeFields([key1, key2, ...]) -> message - Removes the fields of the map with the given keys. - The keys can be a dot separated path to remove a field in a nested message. - If a key is not found it will be ignored. - Keys must be of type string. - toMap: [map1, map2, ...].toMap() -> map - Converts a CEL list of CEL maps to a single CEL map - toDestinationPayloadFormat(): message.data.toDestinationPayloadFormat() -> string or bytes - Converts the message data to the destination payload format specified in Pipeline.Destination.output_payload_format - This function is meant to be applied to the message.data field. - If the destination payload format is not set, the function will return the message data unchanged. - toCloudEventJsonWithPayloadFormat: message.toCloudEventJsonWithPayloadFormat() -> map - Converts a message to the corresponding structure of JSON format for CloudEvents - This function applies toDestinationPayloadFormat() to the message data. It also sets the corresponding datacontenttype of the CloudEvent, as indicated by Pipeline.Destination.output_payload_format. If no output_payload_format is set it will use the existing datacontenttype on the CloudEvent if present, else leave datacontenttype absent. - This function expects that the content of the message will adhere to the standard CloudEvent format. If it doesn't then this function will fail. - The result is a CEL map that corresponds to the JSON representation of the CloudEvent. To convert that data to a JSON string it can be chained with the toJsonString function.

MessagePayloadFormat

Represents the format of message data.

Fields
Union field kind. The kind of message format. One of Protobuf, Avro, and JSON supported. This allows specification of what specific format messages are sent and received. kind can be only one of the following:
protobuf

ProtobufFormat

Optional. Protobuf format.

avro

AvroFormat

Optional. Avro format.

json

JsonFormat

Optional. JSON format.

AvroFormat

The format of an AVRO message payload.

Fields
schema_definition

string

Optional. The entire schema definition is stored in this field.

JsonFormat

This type has no fields.

The format of a JSON message payload.

ProtobufFormat

The format of a Protobuf message payload.

Fields
schema_definition

string

Optional. The entire schema definition is stored in this field.

RetryPolicy

The retry policy configuration for the Pipeline. The pipeline exponentially backs off in case the destination is non responsive or returns a retryable error code. The default semantics are as follows: The backoff starts with a 5 second delay and doubles the delay after each failed attempt (10 seconds, 20 seconds, 40 seconds, etc.). The delay is capped at 60 seconds by default. Please note that if you set the min_retry_delay and max_retry_delay fields to the same value this will make the duration between retries constant.

Fields
max_attempts

int32

Optional. The maximum number of delivery attempts for any message. The value must be between 1 and 100. The default value for this field is 5.

min_retry_delay

Duration

Optional. The minimum amount of seconds to wait between retry attempts. The value must be between 1 and 600. The default value for this field is 5.

max_retry_delay

Duration

Optional. The maximum amount of seconds to wait between retry attempts. The value must be between 1 and 600. The default value for this field is 60.

Provider

A representation of the Provider resource.

Fields
name

string

Output only. In projects/{project}/locations/{location}/providers/{provider_id} format.

display_name

string

Output only. Human friendly name for the Provider. For example "Cloud Storage".

event_types[]

EventType

Output only. Event types for this provider.

Pubsub

Represents a Pub/Sub transport.

Fields
topic

string

Optional. The name of the Pub/Sub topic created and managed by Eventarc as a transport for the event delivery. Format: projects/{PROJECT_ID}/topics/{TOPIC_NAME}.

You can set an existing topic for triggers of the type google.cloud.pubsub.topic.v1.messagePublished. The topic you provide here is not deleted by Eventarc at trigger deletion.

subscription

string

Output only. The name of the Pub/Sub subscription created and managed by Eventarc as a transport for the event delivery. Format: projects/{PROJECT_ID}/subscriptions/{SUBSCRIPTION_NAME}.

StateCondition

A condition that is part of the trigger state computation.

Fields
code

Code

The canonical code of the condition.

message

string

Human-readable message.

Transport

Represents the transport intermediaries created for the trigger to deliver events.

Fields

Union field intermediary.

intermediary can be only one of the following:

pubsub

Pubsub

The Pub/Sub topic and subscription used by Eventarc as a transport intermediary.

Trigger

A representation of the trigger resource.

Fields
name

string

Required. The resource name of the trigger. Must be unique within the location of the project and must be in projects/{project}/locations/{location}/triggers/{trigger} format.

uid

string

Output only. Server-assigned unique identifier for the trigger. The value is a UUID4 string and guaranteed to remain unchanged until the resource is deleted.

create_time

Timestamp

Output only. The creation time.

update_time

Timestamp

Output only. The last-modified time.

event_filters[]

EventFilter

Required. Unordered list. The list of filters that applies to event attributes. Only events that match all the provided filters are sent to the destination.

service_account

string

Optional. The IAM service account email associated with the trigger. The service account represents the identity of the trigger.

The iam.serviceAccounts.actAs permission must be granted on the service account to allow a principal to impersonate the service account. For more information, see the Roles and permissions page specific to the trigger destination.

destination

Destination

Required. Destination specifies where the events should be sent to.

transport

Transport

Optional. To deliver messages, Eventarc might use other Google Cloud products as a transport intermediary. This field contains a reference to that transport intermediary. This information can be used for debugging purposes.

labels

map<string, string>

Optional. User labels attached to the triggers that can be used to group resources.

channel

string

Optional. The name of the channel associated with the trigger in projects/{project}/locations/{location}/channels/{channel} format. You must provide a channel to receive events from Eventarc SaaS partners.

conditions

map<string, StateCondition>

Output only. The reason(s) why a trigger is in FAILED state.

event_data_content_type

string

Optional. EventDataContentType specifies the type of payload in MIME format that is expected from the CloudEvent data field. This is set to application/json if the value is not defined.

satisfies_pzs

bool

Output only. Whether or not this Trigger satisfies the requirements of physical zone separation

etag

string

Output only. This checksum is computed by the server based on the value of other fields, and might be sent only on create requests to ensure that the client has an up-to-date value before proceeding.

UpdateChannelRequest

The request message for the UpdateChannel method.

Fields
channel

Channel

The channel to be updated.

Authorization requires the following IAM permission on the specified resource channel:

  • eventarc.channels.update
update_mask

FieldMask

The fields to be updated; only fields explicitly provided are updated. If no field mask is provided, all provided fields in the request are updated. To update all fields, provide a field mask of "*".

validate_only

bool

Optional. If set, validate the request and preview the review, but do not post it.

UpdateEnrollmentRequest

The request message for the UpdateEnrollment method.

Fields
enrollment

Enrollment

Required. The Enrollment to be updated.

Authorization requires the following IAM permission on the specified resource enrollment:

  • eventarc.enrollments.update
update_mask

FieldMask

Optional. The fields to be updated; only fields explicitly provided are updated. If no field mask is provided, all provided fields in the request are updated. To update all fields, provide a field mask of "*".

allow_missing

bool

Optional. If set to true, and the Enrollment is not found, a new Enrollment will be created. In this situation, update_mask is ignored.

validate_only

bool

Optional. If set, validate the request and preview the review, but do not post it.

UpdateGoogleApiSourceRequest

The request message for the UpdateGoogleApiSource method.

Fields
google_api_source

GoogleApiSource

Required. The GoogleApiSource to be updated.

Authorization requires the following IAM permission on the specified resource googleApiSource:

  • eventarc.googleApiSources.update
update_mask

FieldMask

Optional. The fields to be updated; only fields explicitly provided are updated. If no field mask is provided, all provided fields in the request are updated. To update all fields, provide a field mask of "*".

allow_missing

bool

Optional. If set to true, and the GoogleApiSource is not found, a new GoogleApiSource will be created. In this situation, update_mask is ignored.

validate_only

bool

Optional. If set, validate the request and preview the review, but do not post it.

UpdateGoogleChannelConfigRequest

The request message for the UpdateGoogleChannelConfig method.

Fields
google_channel_config

GoogleChannelConfig

Required. The config to be updated.

Authorization requires the following IAM permission on the specified resource googleChannelConfig:

  • eventarc.googleChannelConfig.update
update_mask

FieldMask

The fields to be updated; only fields explicitly provided are updated. If no field mask is provided, all provided fields in the request are updated. To update all fields, provide a field mask of "*".

UpdateMessageBusRequest

The request message for the UpdateMessageBus method.

Fields
message_bus

MessageBus

Required. The MessageBus to be updated.

Authorization requires the following IAM permission on the specified resource messageBus:

  • eventarc.messageBuses.update
update_mask

FieldMask

Optional. The fields to be updated; only fields explicitly provided are updated. If no field mask is provided, all provided fields in the request are updated. To update all fields, provide a field mask of "*".

allow_missing

bool

Optional. If set to true, and the MessageBus is not found, a new MessageBus will be created. In this situation, update_mask is ignored.

validate_only

bool

Optional. If set, validate the request and preview the review, but do not post it.

UpdatePipelineRequest

The request message for the UpdatePipeline method.

Fields
pipeline

Pipeline

Required. The Pipeline to be updated.

Authorization requires the following IAM permission on the specified resource pipeline:

  • eventarc.pipelines.update
update_mask

FieldMask

Optional. The fields to be updated; only fields explicitly provided are updated. If no field mask is provided, all provided fields in the request are updated. To update all fields, provide a field mask of "*".

allow_missing

bool

Optional. If set to true, and the Pipeline is not found, a new Pipeline will be created. In this situation, update_mask is ignored.

validate_only

bool

Optional. If set, validate the request and preview the review, but do not post it.

UpdateTriggerRequest

The request message for the UpdateTrigger method.

Fields
trigger

Trigger

The trigger to be updated.

Authorization requires the following IAM permission on the specified resource trigger:

  • eventarc.triggers.update
update_mask

FieldMask

The fields to be updated; only fields explicitly provided are updated. If no field mask is provided, all provided fields in the request are updated. To update all fields, provide a field mask of "*".

allow_missing

bool

If set to true, and the trigger is not found, a new trigger will be created. In this situation, update_mask is ignored.

validate_only

bool

Optional. If set, validate the request and preview the review, but do not post it.