feeds
Creates, updates, deletes, gets or lists a feeds resource.
Overview
| Name | feeds |
| Type | Resource |
| Id | google.cloudasset.feeds |
Fields
The following fields are returned by SELECT queries:
- list
- get
| Name | Datatype | Description |
|---|---|---|
feeds | array | A list of feeds. |
| Name | Datatype | Description |
|---|---|---|
name | string | Required. The format will be projects/{project_number}/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 | array | A list of the full names of the assets to receive updates. You must specify either or both of asset_names and asset_types. Only asset updates matching specified asset_names or asset_types 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 | array | A list of types of the assets to receive updates. You must specify either or both of asset_names and asset_types. Only asset updates matching specified asset_names or asset_types are exported to the feed. Example: "compute.googleapis.com/Disk" For a list of all supported asset types, see Supported asset types. |
condition | object | 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] (https://github.com/google/cel-spec) 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. (id: Expr) |
contentType | string | Asset content type. If not specified, no content but the asset name and type will be returned. (CONTENT_TYPE_UNSPECIFIED, RESOURCE, IAM_POLICY, ORG_POLICY, ACCESS_POLICY, OS_INVENTORY, RELATIONSHIP) |
feedOutputConfig | object | Required. Feed output configuration defining where the asset updates are published to. (id: FeedOutputConfig) |
relationshipTypes | array | A list of relationship types to output, for example: INSTANCE_TO_INSTANCEGROUP. This field should only be specified if content_type=RELATIONSHIP. * If specified: it outputs specified relationship updates on the [asset_names] or the [asset_types]. It returns an error if any of the [relationship_types] doesn't belong to the supported relationship types of the [asset_names] or [asset_types], or any of the [asset_names] or the [asset_types] doesn't belong to the source types of the [relationship_types]. * Otherwise: it outputs the supported relationships of the types of [asset_names] and [asset_types] or returns an error if any of the [asset_names] or the [asset_types] has no replationship support. See Introduction to Cloud Asset Inventory for all supported asset types and relationship types. |
Methods
The following methods are available for this resource:
| Name | Accessible by | Required Params | Optional Params | Description |
|---|---|---|---|---|
list | select | parentType, parent | Lists all asset feeds in a parent project/folder/organization. | |
get | select | name | Gets details about an asset feed. | |
create | insert | parentType, parent | Creates a feed in a parent project/folder/organization to listen to its asset updates. | |
patch | update | name | Updates an asset feed configuration. | |
delete | delete | name | Deletes an asset feed. |
Parameters
Parameters can be passed in the WHERE clause of a query. Check the Methods section to see which parameters are required or optional for each operation.
| Name | Datatype | Description |
|---|---|---|
name | string | |
parent | string | |
parentType | string |
SELECT examples
- list
- get
Lists all asset feeds in a parent project/folder/organization.
SELECT
feeds
FROM google.cloudasset.feeds
WHERE parentType = '{{ parentType }}' -- required
AND parent = '{{ parent }}' -- required
;
Gets details about an asset feed.
SELECT
name,
assetNames,
assetTypes,
condition,
contentType,
feedOutputConfig,
relationshipTypes
FROM google.cloudasset.feeds
WHERE name = '{{ name }}' -- required
;
INSERT examples
- create
- Manifest
Creates a feed in a parent project/folder/organization to listen to its asset updates.
INSERT INTO google.cloudasset.feeds (
data__feed,
data__feedId,
parentType,
parent
)
SELECT
'{{ feed }}',
'{{ feedId }}',
'{{ parentType }}',
'{{ parent }}'
RETURNING
name,
assetNames,
assetTypes,
condition,
contentType,
feedOutputConfig,
relationshipTypes
;
# Description fields are for documentation purposes
- name: feeds
props:
- name: parentType
value: "{{ parentType }}"
description: Required parameter for the feeds resource.
- name: parent
value: "{{ parent }}"
description: Required parameter for the feeds resource.
- name: feed
description: |
Required. The feed details. The field `name` must be empty and it will be generated in the format of: projects/project_number/feeds/feed_id folders/folder_number/feeds/feed_id organizations/organization_number/feeds/feed_id
value:
assetNames:
- "{{ assetNames }}"
assetTypes:
- "{{ assetTypes }}"
condition:
description: "{{ description }}"
expression: "{{ expression }}"
location: "{{ location }}"
title: "{{ title }}"
contentType: "{{ contentType }}"
feedOutputConfig:
pubsubDestination:
topic: "{{ topic }}"
name: "{{ name }}"
relationshipTypes:
- "{{ relationshipTypes }}"
- name: feedId
value: "{{ feedId }}"
description: |
Required. This is the client-assigned asset feed identifier and it needs to be unique under a specific parent project/folder/organization.
UPDATE examples
- patch
Updates an asset feed configuration.
UPDATE google.cloudasset.feeds
SET
data__feed = '{{ feed }}',
data__updateMask = '{{ updateMask }}'
WHERE
name = '{{ name }}' --required
RETURNING
name,
assetNames,
assetTypes,
condition,
contentType,
feedOutputConfig,
relationshipTypes;
DELETE examples
- delete
Deletes an asset feed.
DELETE FROM google.cloudasset.feeds
WHERE name = '{{ name }}' --required
;