REST Resource: projects.locations.googleApiSources

Resource: GoogleApiSource

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

JSON representation
{
  "name": string,
  "uid": string,
  "etag": string,
  "createTime": string,
  "updateTime": string,
  "labels": {
    string: string,
    ...
  },
  "annotations": {
    string: string,
    ...
  },
  "displayName": string,
  "destination": string,
  "cryptoKeyName": string,
  "loggingConfig": {
    object (LoggingConfig)
  },

  // Union field wide_scope_subscription can be only one of the following:
  "organizationSubscription": {
    object (OrganizationSubscription)
  },
  "projectSubscriptions": {
    object (ProjectSubscriptions)
  }
  // End of list of possible types for union field wide_scope_subscription.
}
Fields
name

string

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

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.

createTime

string (Timestamp format)

Output only. The creation time.

Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Output only. The last-modified time.

Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".

labels

map (key: string, value: string)

Optional. Resource labels.

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

annotations

map (key: string, value: string)

Optional. Resource annotations.

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

displayName

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)

cryptoKeyName

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

loggingConfig

object (LoggingConfig)

Optional. Config to control Platform logging for the GoogleApiSource.

Union field wide_scope_subscription. Config to enabled subscribing to events from other projects in the org.

Users need the eventarc.googleApiSource.create permission on the entire org in order to create a resource with these settings. wide_scope_subscription can be only one of the following:

organizationSubscription

object (OrganizationSubscription)

Optional. Config to enable subscribing to events from all projects in the GoogleApiSource's org.

projectSubscriptions

object (ProjectSubscriptions)

Optional. Config to enable subscribing to all events from a list of projects.

All the projects must be in the same org as the GoogleApiSource.

OrganizationSubscription

Config to enabled subscribing to events from other projects in the org.

JSON representation
{
  "enabled": boolean
}
Fields
enabled

boolean

Required. Enable org level subscription.

ProjectSubscriptions

Config to enable subscribing to all events from a list of projects.

JSON representation
{
  "list": [
    string
  ]
}
Fields
list[]

string

Required. A list of projects to receive events from.

All the projects must be in the same org. The listed projects should have the format project/{identifier} where identifier can be either the project id for project number. A single list may contain both formats. At most 100 projects can be listed.

Methods

create

Create a new GoogleApiSource in a particular project and location.

delete

Delete a single GoogleApiSource.

get

Get a single GoogleApiSource.

getIamPolicy

Gets the access control policy for a resource.

list

List GoogleApiSources.

patch

Update a single GoogleApiSource.

setIamPolicy

Sets the access control policy on the specified resource.

testIamPermissions

Returns permissions that a caller has on the specified resource.