AlertPolicy

Struct AlertPolicy 

Source
#[non_exhaustive]
pub struct AlertPolicy {
Show 13 fields pub name: String, pub display_name: String, pub documentation: Option<Documentation>, pub user_labels: HashMap<String, String>, pub conditions: Vec<Condition>, pub combiner: ConditionCombinerType, pub enabled: Option<BoolValue>, pub validity: Option<Status>, pub notification_channels: Vec<String>, pub creation_record: Option<MutationRecord>, pub mutation_record: Option<MutationRecord>, pub alert_strategy: Option<AlertStrategy>, pub severity: Severity, /* private fields */
}
Expand description

A description of the conditions under which some aspect of your system is considered to be “unhealthy” and the ways to notify people or services about this state. For an overview of alerting policies, see Introduction to Alerting.

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§name: String

Identifier. Required if the policy exists. The resource name for this policy. The format is:

projects/[PROJECT_ID_OR_NUMBER]/alertPolicies/[ALERT_POLICY_ID]

[ALERT_POLICY_ID] is assigned by Cloud Monitoring when the policy is created. When calling the alertPolicies.create method, do not include the name field in the alerting policy passed as part of the request.

§display_name: String

A short name or phrase used to identify the policy in dashboards, notifications, and incidents. To avoid confusion, don’t use the same display name for multiple policies in the same project. The name is limited to 512 Unicode characters.

The convention for the display_name of a PrometheusQueryLanguageCondition is “{rule group name}/{alert name}”, where the {rule group name} and {alert name} should be taken from the corresponding Prometheus configuration file. This convention is not enforced. In any case the display_name is not a unique key of the AlertPolicy.

§documentation: Option<Documentation>

Documentation that is included with notifications and incidents related to this policy. Best practice is for the documentation to include information to help responders understand, mitigate, escalate, and correct the underlying problems detected by the alerting policy. Notification channels that have limited capacity might not show this documentation.

§user_labels: HashMap<String, String>

User-supplied key/value data to be used for organizing and identifying the AlertPolicy objects.

The field can contain up to 64 entries. Each key and value is limited to 63 Unicode characters or 128 bytes, whichever is smaller. Labels and values can contain only lowercase letters, numerals, underscores, and dashes. Keys must begin with a letter.

Note that Prometheus {alert name} is a valid Prometheus label names, whereas Prometheus {rule group} is an unrestricted UTF-8 string. This means that they cannot be stored as-is in user labels, because they may contain characters that are not allowed in user-label values.

§conditions: Vec<Condition>

A list of conditions for the policy. The conditions are combined by AND or OR according to the combiner field. If the combined conditions evaluate to true, then an incident is created. A policy can have from one to six conditions. If condition_time_series_query_language is present, it must be the only condition. If condition_monitoring_query_language is present, it must be the only condition.

§combiner: ConditionCombinerType

How to combine the results of multiple conditions to determine if an incident should be opened. If condition_time_series_query_language is present, this must be COMBINE_UNSPECIFIED.

§enabled: Option<BoolValue>

Whether or not the policy is enabled. On write, the default interpretation if unset is that the policy is enabled. On read, clients should not make any assumption about the state if it has not been populated. The field should always be populated on List and Get operations, unless a field projection has been specified that strips it out.

§validity: Option<Status>

Read-only description of how the alerting policy is invalid. This field is only set when the alerting policy is invalid. An invalid alerting policy will not generate incidents.

§notification_channels: Vec<String>

Identifies the notification channels to which notifications should be sent when incidents are opened or closed or when new violations occur on an already opened incident. Each element of this array corresponds to the name field in each of the NotificationChannel objects that are returned from the [ListNotificationChannels] [google.monitoring.v3.NotificationChannelService.ListNotificationChannels] method. The format of the entries in this field is:

projects/[PROJECT_ID_OR_NUMBER]/notificationChannels/[CHANNEL_ID]
§creation_record: Option<MutationRecord>

A read-only record of the creation of the alerting policy. If provided in a call to create or update, this field will be ignored.

§mutation_record: Option<MutationRecord>

A read-only record of the most recent change to the alerting policy. If provided in a call to create or update, this field will be ignored.

§alert_strategy: Option<AlertStrategy>

Control over how this alerting policy’s notification channels are notified.

§severity: Severity

Optional. The severity of an alerting policy indicates how important incidents generated by that policy are. The severity level will be displayed on the Incident detail page and in notifications.

Implementations§

Source§

impl AlertPolicy

Source

pub fn new() -> Self

Source

pub fn set_name<T: Into<String>>(self, v: T) -> Self

Sets the value of name.

§Example
let x = AlertPolicy::new().set_name("example");
Source

pub fn set_display_name<T: Into<String>>(self, v: T) -> Self

Sets the value of display_name.

§Example
let x = AlertPolicy::new().set_display_name("example");
Source

pub fn set_documentation<T>(self, v: T) -> Self
where T: Into<Documentation>,

Sets the value of documentation.

§Example
use google_cloud_monitoring_v3::model::alert_policy::Documentation;
let x = AlertPolicy::new().set_documentation(Documentation::default()/* use setters */);
Source

pub fn set_or_clear_documentation<T>(self, v: Option<T>) -> Self
where T: Into<Documentation>,

Sets or clears the value of documentation.

§Example
use google_cloud_monitoring_v3::model::alert_policy::Documentation;
let x = AlertPolicy::new().set_or_clear_documentation(Some(Documentation::default()/* use setters */));
let x = AlertPolicy::new().set_or_clear_documentation(None::<Documentation>);
Source

pub fn set_user_labels<T, K, V>(self, v: T) -> Self
where T: IntoIterator<Item = (K, V)>, K: Into<String>, V: Into<String>,

Sets the value of user_labels.

§Example
let x = AlertPolicy::new().set_user_labels([
    ("key0", "abc"),
    ("key1", "xyz"),
]);
Source

pub fn set_conditions<T, V>(self, v: T) -> Self
where T: IntoIterator<Item = V>, V: Into<Condition>,

Sets the value of conditions.

§Example
use google_cloud_monitoring_v3::model::alert_policy::Condition;
let x = AlertPolicy::new()
    .set_conditions([
        Condition::default()/* use setters */,
        Condition::default()/* use (different) setters */,
    ]);
Source

pub fn set_combiner<T: Into<ConditionCombinerType>>(self, v: T) -> Self

Sets the value of combiner.

§Example
use google_cloud_monitoring_v3::model::alert_policy::ConditionCombinerType;
let x0 = AlertPolicy::new().set_combiner(ConditionCombinerType::And);
let x1 = AlertPolicy::new().set_combiner(ConditionCombinerType::Or);
let x2 = AlertPolicy::new().set_combiner(ConditionCombinerType::AndWithMatchingResource);
Source

pub fn set_enabled<T>(self, v: T) -> Self
where T: Into<BoolValue>,

Sets the value of enabled.

§Example
use wkt::BoolValue;
let x = AlertPolicy::new().set_enabled(BoolValue::default()/* use setters */);
Source

pub fn set_or_clear_enabled<T>(self, v: Option<T>) -> Self
where T: Into<BoolValue>,

Sets or clears the value of enabled.

§Example
use wkt::BoolValue;
let x = AlertPolicy::new().set_or_clear_enabled(Some(BoolValue::default()/* use setters */));
let x = AlertPolicy::new().set_or_clear_enabled(None::<BoolValue>);
Source

pub fn set_validity<T>(self, v: T) -> Self
where T: Into<Status>,

Sets the value of validity.

§Example
use rpc::model::Status;
let x = AlertPolicy::new().set_validity(Status::default()/* use setters */);
Source

pub fn set_or_clear_validity<T>(self, v: Option<T>) -> Self
where T: Into<Status>,

Sets or clears the value of validity.

§Example
use rpc::model::Status;
let x = AlertPolicy::new().set_or_clear_validity(Some(Status::default()/* use setters */));
let x = AlertPolicy::new().set_or_clear_validity(None::<Status>);
Source

pub fn set_notification_channels<T, V>(self, v: T) -> Self
where T: IntoIterator<Item = V>, V: Into<String>,

Sets the value of notification_channels.

§Example
let x = AlertPolicy::new().set_notification_channels(["a", "b", "c"]);
Source

pub fn set_creation_record<T>(self, v: T) -> Self
where T: Into<MutationRecord>,

Sets the value of creation_record.

§Example
use google_cloud_monitoring_v3::model::MutationRecord;
let x = AlertPolicy::new().set_creation_record(MutationRecord::default()/* use setters */);
Source

pub fn set_or_clear_creation_record<T>(self, v: Option<T>) -> Self
where T: Into<MutationRecord>,

Sets or clears the value of creation_record.

§Example
use google_cloud_monitoring_v3::model::MutationRecord;
let x = AlertPolicy::new().set_or_clear_creation_record(Some(MutationRecord::default()/* use setters */));
let x = AlertPolicy::new().set_or_clear_creation_record(None::<MutationRecord>);
Source

pub fn set_mutation_record<T>(self, v: T) -> Self
where T: Into<MutationRecord>,

Sets the value of mutation_record.

§Example
use google_cloud_monitoring_v3::model::MutationRecord;
let x = AlertPolicy::new().set_mutation_record(MutationRecord::default()/* use setters */);
Source

pub fn set_or_clear_mutation_record<T>(self, v: Option<T>) -> Self
where T: Into<MutationRecord>,

Sets or clears the value of mutation_record.

§Example
use google_cloud_monitoring_v3::model::MutationRecord;
let x = AlertPolicy::new().set_or_clear_mutation_record(Some(MutationRecord::default()/* use setters */));
let x = AlertPolicy::new().set_or_clear_mutation_record(None::<MutationRecord>);
Source

pub fn set_alert_strategy<T>(self, v: T) -> Self
where T: Into<AlertStrategy>,

Sets the value of alert_strategy.

§Example
use google_cloud_monitoring_v3::model::alert_policy::AlertStrategy;
let x = AlertPolicy::new().set_alert_strategy(AlertStrategy::default()/* use setters */);
Source

pub fn set_or_clear_alert_strategy<T>(self, v: Option<T>) -> Self
where T: Into<AlertStrategy>,

Sets or clears the value of alert_strategy.

§Example
use google_cloud_monitoring_v3::model::alert_policy::AlertStrategy;
let x = AlertPolicy::new().set_or_clear_alert_strategy(Some(AlertStrategy::default()/* use setters */));
let x = AlertPolicy::new().set_or_clear_alert_strategy(None::<AlertStrategy>);
Source

pub fn set_severity<T: Into<Severity>>(self, v: T) -> Self

Sets the value of severity.

§Example
use google_cloud_monitoring_v3::model::alert_policy::Severity;
let x0 = AlertPolicy::new().set_severity(Severity::Critical);
let x1 = AlertPolicy::new().set_severity(Severity::Error);
let x2 = AlertPolicy::new().set_severity(Severity::Warning);

Trait Implementations§

Source§

impl Clone for AlertPolicy

Source§

fn clone(&self) -> AlertPolicy

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for AlertPolicy

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for AlertPolicy

Source§

fn default() -> AlertPolicy

Returns the “default value” for a type. Read more
Source§

impl Message for AlertPolicy

Source§

fn typename() -> &'static str

The typename of this message.
Source§

impl PartialEq for AlertPolicy

Source§

fn eq(&self, other: &AlertPolicy) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for AlertPolicy

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,