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.

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.

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.

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.

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.

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.

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.

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/*.

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.

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.

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

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. Only Cloud Functions V2 is supported. Format: projects/{project}/locations/{location}/functions/{function}

This is a read-only field. Creating Cloud Functions 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}

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 only allowed value is match-path-pattern.

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

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

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

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/*.

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.

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.

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.

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.

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.

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 "*".

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.