REST Resource: feeds

Resource: Feed

An asset feed used to export asset updates to a destinations. An asset feed filter controls what updates are exported. The asset feed must be created within a project, organization, or folder. Supported destinations are: Pub/Sub topics.

JSON representation
{
  "name": string,
  "assetNames": [
    string
  ],
  "assetTypes": [
    string
  ],
  "contentType": enum (ContentType),
  "feedOutputConfig": {
    object (FeedOutputConfig)
  },
  "condition": {
    object (Expr)
  },
  "relationshipTypes": [
    string
  ]
}
Fields
name

string

Required. The format will be projects/{projectNumber}/feeds/{client-assigned_feed_identifier} or folders/{folder_number}/feeds/{client-assigned_feed_identifier} or organizations/{organization_number}/feeds/{client-assigned_feed_identifier}

The client-assigned feed identifier must be unique within the parent project/folder/organization.

assetNames[]

string

A list of the full names of the assets to receive updates. You must specify either or both of assetNames and assetTypes. Only asset updates matching specified assetNames or assetTypes are exported to the feed. Example: //compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1. For a list of the full names for supported asset types, see Resource name format.

assetTypes[]

string

A list of types of the assets to receive updates. You must specify either or both of assetNames and assetTypes. Only asset updates matching specified assetNames or assetTypes are exported to the feed. Example: "compute.googleapis.com/Disk"

For a list of all supported asset types, see Supported asset types.

contentType

enum (ContentType)

Asset content type. If not specified, no content but the asset name and type will be returned.

feedOutputConfig

object (FeedOutputConfig)

Required. Feed output configuration defining where the asset updates are published to.

condition

object (Expr)

A condition which determines whether an asset update should be published. If specified, an asset will be returned only when the expression evaluates to true. When set, expression field in the Expr must be a valid CEL expression on a TemporalAsset with name temporal_asset. Example: a Feed with expression ("temporal_asset.deleted == true") will only publish Asset deletions. Other fields of Expr are optional.

See our user guide for detailed instructions.

relationshipTypes[]

string

A list of relationship types to output, for example: INSTANCE_TO_INSTANCEGROUP. This field should only be specified if contentType=RELATIONSHIP. * If specified: it outputs specified relationship updates on the [assetNames] or the [assetTypes]. It returns an error if any of the [relationshipTypes] doesn't belong to the supported relationship types of the [assetNames] or [assetTypes], or any of the [assetNames] or the [assetTypes] doesn't belong to the source types of the [relationshipTypes]. * Otherwise: it outputs the supported relationships of the types of [assetNames] and [assetTypes] or returns an error if any of the [assetNames] or the [assetTypes] has no replationship support. See Introduction to Cloud Asset Inventory for all supported asset types and relationship types.

ContentType

Asset content type.

Enums
CONTENT_TYPE_UNSPECIFIED Unspecified content type.
RESOURCE Resource metadata.
IAM_POLICY The actual IAM policy set on a resource.
ORG_POLICY The organization policy set on an asset.
ACCESS_POLICY The Access Context Manager policy set on an asset.
OS_INVENTORY The runtime OS Inventory information.
RELATIONSHIP The related resources.

FeedOutputConfig

Output configuration for asset feed destination.

JSON representation
{

  // Union field destination can be only one of the following:
  "pubsubDestination": {
    object (PubsubDestination)
  }
  // End of list of possible types for union field destination.
}
Fields
Union field destination. Asset feed destination. destination can be only one of the following:
pubsubDestination

object (PubsubDestination)

Destination on Pub/Sub.

PubsubDestination

A Pub/Sub destination.

JSON representation
{
  "topic": string
}
Fields
topic

string

The name of the Pub/Sub topic to publish to. Example: projects/PROJECT_ID/topics/TOPIC_ID.

Expr

Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.

Example (Comparison):

title: "Summary size limit"
description: "Determines if a summary is less than 100 chars"
expression: "document.summary.size() < 100"

Example (Equality):

title: "Requestor is owner"
description: "Determines if requestor is the document owner"
expression: "document.owner == request.auth.claims.email"

Example (Logic):

title: "Public documents"
description: "Determine whether the document should be publicly visible"
expression: "document.type != 'private' && document.type != 'internal'"

Example (Data Manipulation):

title: "Notification string"
description: "Create a notification string with a timestamp."
expression: "'New message received at ' + string(document.create_time)"

The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.

JSON representation
{
  "expression": string,
  "title": string,
  "description": string,
  "location": string
}
Fields
expression

string

Textual representation of an expression in Common Expression Language syntax.

title

string

Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.

description

string

Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.

location

string

Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.

Methods

create

Creates a feed in a parent project/folder/organization to listen to its asset updates.

delete

Deletes an asset feed.

get

Gets details about an asset feed.

list

Lists all asset feeds in a parent project/folder/organization.

patch

Updates an asset feed configuration.