Struct google_api_proto::google::cloud::billing::budgets::v1beta1::AllUpdatesRule
source · pub struct AllUpdatesRule {
pub pubsub_topic: String,
pub schema_version: String,
pub monitoring_notification_channels: Vec<String>,
pub disable_default_iam_recipients: bool,
pub enable_project_level_recipients: bool,
}
Expand description
AllUpdatesRule defines notifications that are sent based on budget spend and thresholds.
Fields§
§pubsub_topic: String
Optional. The name of the Pub/Sub topic where budget related messages will
be published, in the form projects/{project_id}/topics/{topic_id}
.
Updates are sent at regular intervals to the topic. The topic needs to be
created before the budget is created; see
https://cloud.google.com/billing/docs/how-to/budgets-programmatic-notifications
for more details.
Caller is expected to have
pubsub.topics.setIamPolicy
permission on the topic when it’s set for a
budget, otherwise, the API call will fail with PERMISSION_DENIED. See
https://cloud.google.com/billing/docs/how-to/budgets-programmatic-notifications#permissions_required_for_this_task
for more details on Pub/Sub roles and permissions.
schema_version: String
Optional. Required when [AllUpdatesRule.pubsub_topic][google.cloud.billing.budgets.v1beta1.AllUpdatesRule.pubsub_topic] is set. The schema version of the notification sent to [AllUpdatesRule.pubsub_topic][google.cloud.billing.budgets.v1beta1.AllUpdatesRule.pubsub_topic]. Only “1.0” is accepted. It represents the JSON schema as defined in https://cloud.google.com/billing/docs/how-to/budgets-programmatic-notifications#notification_format.
monitoring_notification_channels: Vec<String>
Optional. Targets to send notifications to when a threshold is exceeded.
This is in addition to default recipients who have billing account IAM
roles. The value is the full REST resource name of a monitoring
notification channel with the form
projects/{project_id}/notificationChannels/{channel_id}
. A maximum of 5
channels are allowed. See
https://cloud.google.com/billing/docs/how-to/budgets-notification-recipients
for more details.
disable_default_iam_recipients: bool
Optional. When set to true, disables default notifications sent when a threshold is exceeded. Default notifications are sent to those with Billing Account Administrator and Billing Account User IAM roles for the target account.
enable_project_level_recipients: bool
Optional. When set to true, and when the budget has a single project configured, notifications will be sent to project level recipients of that project. This field will be ignored if the budget has multiple or no project configured.
Currently, project level recipients are the users with Owner
role on a
cloud project.
Trait Implementations§
source§impl Clone for AllUpdatesRule
impl Clone for AllUpdatesRule
source§fn clone(&self) -> AllUpdatesRule
fn clone(&self) -> AllUpdatesRule
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for AllUpdatesRule
impl Debug for AllUpdatesRule
source§impl Default for AllUpdatesRule
impl Default for AllUpdatesRule
source§impl Message for AllUpdatesRule
impl Message for AllUpdatesRule
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 AllUpdatesRule
impl PartialEq for AllUpdatesRule
source§fn eq(&self, other: &AllUpdatesRule) -> bool
fn eq(&self, other: &AllUpdatesRule) -> bool
self
and other
values to be equal, and is used
by ==
.impl StructuralPartialEq for AllUpdatesRule
Auto Trait Implementations§
impl Freeze for AllUpdatesRule
impl RefUnwindSafe for AllUpdatesRule
impl Send for AllUpdatesRule
impl Sync for AllUpdatesRule
impl Unpin for AllUpdatesRule
impl UnwindSafe for AllUpdatesRule
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