Struct google_api_proto::google::cloud::securitycenter::v1p1beta1::GroupAssetsRequest
source · pub struct GroupAssetsRequest {
pub parent: String,
pub filter: String,
pub group_by: String,
pub compare_duration: Option<Duration>,
pub read_time: Option<Timestamp>,
pub page_token: String,
pub page_size: i32,
}
Expand description
Request message for grouping by assets.
Fields§
§parent: String
Required. Name of the organization to groupBy. Its format is “organizations/[organization_id], folders/[folder_id], or projects/[project_id]”.
filter: String
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
andfalse
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_name_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 : ""
group_by: String
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
compare_duration: Option<Duration>
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
.
read_time: Option<Timestamp>
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.
page_token: String
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.
page_size: i32
The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.
Trait Implementations§
source§impl Clone for GroupAssetsRequest
impl Clone for GroupAssetsRequest
source§fn clone(&self) -> GroupAssetsRequest
fn clone(&self) -> GroupAssetsRequest
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for GroupAssetsRequest
impl Debug for GroupAssetsRequest
source§impl Default for GroupAssetsRequest
impl Default for GroupAssetsRequest
source§impl Message for GroupAssetsRequest
impl Message for GroupAssetsRequest
source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
source§fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
source§fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
. Read moresource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
.source§impl PartialEq for GroupAssetsRequest
impl PartialEq for GroupAssetsRequest
source§fn eq(&self, other: &GroupAssetsRequest) -> bool
fn eq(&self, other: &GroupAssetsRequest) -> bool
self
and other
values to be equal, and is used
by ==
.impl StructuralPartialEq for GroupAssetsRequest
Auto Trait Implementations§
impl Freeze for GroupAssetsRequest
impl RefUnwindSafe for GroupAssetsRequest
impl Send for GroupAssetsRequest
impl Sync for GroupAssetsRequest
impl Unpin for GroupAssetsRequest
impl UnwindSafe for GroupAssetsRequest
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request