pub struct Feed {
pub name: String,
pub asset_names: Vec<String>,
pub asset_types: Vec<String>,
pub content_type: i32,
pub feed_output_config: Option<FeedOutputConfig>,
pub condition: Option<Expr>,
pub relationship_types: Vec<String>,
}
Expand description
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.
Fields§
§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.
asset_names: Vec<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
.
For a list of the full names for supported asset types, see Resource
name format.
asset_types: Vec<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"
For a list of all supported asset types, see Supported asset types.
content_type: i32
Asset content type. If not specified, no content but the asset name and type will be returned.
feed_output_config: Option<FeedOutputConfig>
Required. Feed output configuration defining where the asset updates are published to.
condition: Option<Expr>
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.
relationship_types: Vec<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.
Implementations§
source§impl Feed
impl Feed
sourcepub fn content_type(&self) -> ContentType
pub fn content_type(&self) -> ContentType
Returns the enum value of content_type
, or the default if the field is set to an invalid enum value.
sourcepub fn set_content_type(&mut self, value: ContentType)
pub fn set_content_type(&mut self, value: ContentType)
Sets content_type
to the provided enum value.
Trait Implementations§
source§impl Message for Feed
impl Message for Feed
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 Feed
impl PartialEq for Feed
impl StructuralPartialEq for Feed
Auto Trait Implementations§
impl Freeze for Feed
impl RefUnwindSafe for Feed
impl Send for Feed
impl Sync for Feed
impl Unpin for Feed
impl UnwindSafe for Feed
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