class Google::Apis::CloudassetV1::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.

Attributes

asset_names[RW]

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` . See [Resource Names](cloud.google.com/apis/design/resource_names# full_resource_name) for more info. Corresponds to the JSON property `assetNames` @return [Array<String>]

asset_types[RW]

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”` See [this topic](cloud.google.com/asset- inventory/docs/supported-asset-types) for a list of all supported asset types. Corresponds to the JSON property `assetTypes` @return [Array<String>]

condition[RW]

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 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. Corresponds to the JSON property `condition` @return [Google::Apis::CloudassetV1::Expr]

content_type[RW]

Asset content type. If not specified, no content but the asset name and type will be returned. Corresponds to the JSON property `contentType` @return [String]

feed_output_config[RW]

Output configuration for asset feed destination. Corresponds to the JSON property `feedOutputConfig` @return [Google::Apis::CloudassetV1::FeedOutputConfig]

name[RW]

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. Corresponds to the JSON property `name` @return [String]

relationship_types[RW]

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](cloud.google.com/asset-inventory/docs/overview) for all supported asset types and relationship types. Corresponds to the JSON property `relationshipTypes` @return [Array<String>]

Public Class Methods

new(**args) click to toggle source
# File lib/google/apis/cloudasset_v1/classes.rb, line 934
def initialize(**args)
   update!(**args)
end

Public Instance Methods

update!(**args) click to toggle source

Update properties of this object

# File lib/google/apis/cloudasset_v1/classes.rb, line 939
def update!(**args)
  @asset_names = args[:asset_names] if args.key?(:asset_names)
  @asset_types = args[:asset_types] if args.key?(:asset_types)
  @condition = args[:condition] if args.key?(:condition)
  @content_type = args[:content_type] if args.key?(:content_type)
  @feed_output_config = args[:feed_output_config] if args.key?(:feed_output_config)
  @name = args[:name] if args.key?(:name)
  @relationship_types = args[:relationship_types] if args.key?(:relationship_types)
end