Class: Google::Apis::CloudassetV1::Feed

Inherits:
Object
  • Object
show all
Includes:
Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
Defined in:
lib/google/apis/cloudasset_v1/classes.rb,
lib/google/apis/cloudasset_v1/representations.rb,
lib/google/apis/cloudasset_v1/representations.rb

Overview

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.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ Feed

Returns a new instance of Feed.



950
951
952
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 950

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#asset_namesArray<String>

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 for more info. Corresponds to the JSON property assetNames

Returns:

  • (Array<String>)


884
885
886
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 884

def asset_names
  @asset_names
end

#asset_typesArray<String>

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 for a list of all supported asset types. Corresponds to the JSON property assetTypes

Returns:

  • (Array<String>)


893
894
895
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 893

def asset_types
  @asset_types
end

#conditionGoogle::Apis::CloudassetV1::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. Corresponds to the JSON property condition



912
913
914
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 912

def condition
  @condition
end

#content_typeString

Asset content type. If not specified, no content but the asset name and type will be returned. Corresponds to the JSON property contentType

Returns:

  • (String)


918
919
920
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 918

def content_type
  @content_type
end

#feed_output_configGoogle::Apis::CloudassetV1::FeedOutputConfig

Output configuration for asset feed destination. Corresponds to the JSON property feedOutputConfig



923
924
925
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 923

def feed_output_config
  @feed_output_config
end

#nameString

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

Returns:

  • (String)


932
933
934
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 932

def name
  @name
end

#relationship_typesArray<String>

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. Corresponds to the JSON property relationshipTypes

Returns:

  • (Array<String>)


948
949
950
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 948

def relationship_types
  @relationship_types
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



955
956
957
958
959
960
961
962
963
# File 'lib/google/apis/cloudasset_v1/classes.rb', line 955

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