Class: Google::Apis::SecuritycenterV1::GroupAssetsRequest

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
generated/google/apis/securitycenter_v1/classes.rb,
generated/google/apis/securitycenter_v1/representations.rb,
generated/google/apis/securitycenter_v1/representations.rb

Overview

Request message for grouping by assets.

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Core::JsonObjectSupport

#to_json

Methods included from Core::Hashable

process_value, #to_h

Constructor Details

#initialize(**args) ⇒ GroupAssetsRequest

Returns a new instance of GroupAssetsRequest.



1147
1148
1149
# File 'generated/google/apis/securitycenter_v1/classes.rb', line 1147

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

Instance Attribute Details

#compare_durationString

When compare_duration is set, the GroupResult's "state_change" property is updated to indicate whether the asset was added, removed, or remained present during the compare_duration period of time that precedes the read_time. This is the time between (read_time - compare_duration) and read_time. The state change value is derived based on the presence of the asset at the two points in time. Intermediate state changes between the two times don't affect the result. For example, the results aren't affected if the asset is removed and re-created again. Possible "state_change" values when compare_duration is specified:

  • "ADDED": indicates that the asset was not present at the start of compare_duration, but present at reference_time.
  • "REMOVED": indicates that the asset was present at the start of compare_duration, but not present at reference_time.
  • "ACTIVE": indicates that the asset was present at both the start and the end of the time period defined by compare_duration and reference_time. If compare_duration is not specified, then the only possible state_change is "UNUSED", which will be the state_change set for all assets present at read_time. If this field is set then state_change must be a specified field in group_by. Corresponds to the JSON property compareDuration

Returns:

  • (String)


1053
1054
1055
# File 'generated/google/apis/securitycenter_v1/classes.rb', line 1053

def compare_duration
  @compare_duration
end

#filterString

Expression that defines the filter to apply across assets. The expression is a list of zero or more restrictions combined via logical operators AND and OR. Parentheses are supported, and OR has higher precedence than AND. Restrictions have the form <field> <operator> <value> and may have a - character in front of them to indicate negation. The fields map to those defined in the Asset resource. Examples include:

  • name
  • security_center_properties.resource_name
  • resource_properties.a_property
  • security_marks.marks.marka The supported operators are:
  • = for all value types.
  • >, <, >=, <= for integer values.
  • :, meaning substring matching, for strings. The supported value types are:
  • string literals in quotes.
  • integer literals without quotes.
  • boolean literals true and false without quotes. The following field and operator combinations are supported:
  • name: =
  • update_time: =, >, <, >=, <= Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: "update_time = \"2019-06-10T16:07:18-07:00\"" "update_time = 1560208038000"
  • create_time: =, >, <, >=, <= Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: "create_time = \"2019-06-10T16:07:18-07:00\"" "create_time = 1560208038000"
  • iam_policy.policy_blob: =, :
  • resource_properties: =, :, >, <, >=, <=
  • security_marks.marks: =, :
  • security_center_properties.resource_name: =, :
  • security_center_properties.resource_display_name: =, :
  • security_center_properties.resource_type: =, :
  • security_center_properties.resource_parent: =, :
  • security_center_properties.resource_parent_display_name: =, :
  • security_center_properties.resource_project: =, :
  • security_center_properties.resource_project_display_name: =, :
  • security_center_properties.resource_owners: =, : For example, resource_properties.size = 100 is a valid filter string. Use a partial match on the empty string to filter based on a property existing: "resource_properties.my_property : \"\"" Use a negated partial match on the empty string to filter based on a property not existing: "-resource_properties.my_property : \"\"" Corresponds to the JSON property filter

Returns:

  • (String)


1104
1105
1106
# File 'generated/google/apis/securitycenter_v1/classes.rb', line 1104

def filter
  @filter
end

#group_byString

Required. Expression that defines what assets fields to use for grouping. The string value should follow SQL syntax: comma separated list of fields. For example: "security_center_properties.resource_project,security_center_properties. project". The following fields are supported when compare_duration is not set:

  • security_center_properties.resource_project
  • security_center_properties.resource_project_display_name
  • security_center_properties.resource_type
  • security_center_properties.resource_parent
  • security_center_properties.resource_parent_display_name The following fields are supported when compare_duration is set:
  • security_center_properties.resource_type
  • security_center_properties.resource_project_display_name
  • security_center_properties.resource_parent_display_name Corresponds to the JSON property groupBy

Returns:

  • (String)


1124
1125
1126
# File 'generated/google/apis/securitycenter_v1/classes.rb', line 1124

def group_by
  @group_by
end

#page_sizeFixnum

The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. Corresponds to the JSON property pageSize

Returns:

  • (Fixnum)


1130
1131
1132
# File 'generated/google/apis/securitycenter_v1/classes.rb', line 1130

def page_size
  @page_size
end

#page_tokenString

The value returned by the last GroupAssetsResponse; indicates that this is a continuation of a prior GroupAssets call, and that the system should return the next page of data. Corresponds to the JSON property pageToken

Returns:

  • (String)


1137
1138
1139
# File 'generated/google/apis/securitycenter_v1/classes.rb', line 1137

def page_token
  @page_token
end

#read_timeString

Time used as a reference point when filtering assets. The filter is limited to assets existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW. Corresponds to the JSON property readTime

Returns:

  • (String)


1145
1146
1147
# File 'generated/google/apis/securitycenter_v1/classes.rb', line 1145

def read_time
  @read_time
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1152
1153
1154
1155
1156
1157
1158
1159
# File 'generated/google/apis/securitycenter_v1/classes.rb', line 1152

def update!(**args)
  @compare_duration = args[:compare_duration] if args.key?(:compare_duration)
  @filter = args[:filter] if args.key?(:filter)
  @group_by = args[:group_by] if args.key?(:group_by)
  @page_size = args[:page_size] if args.key?(:page_size)
  @page_token = args[:page_token] if args.key?(:page_token)
  @read_time = args[:read_time] if args.key?(:read_time)
end