Selectors

Struct Selectors 

Source
#[non_exhaustive]
pub struct Selectors { pub query: Option<String>, pub rule_types: Option<Vec<RuleTypesItems>>, pub severities: Option<Vec<RuleSeverity>>, pub trigger_source: TriggerSource, pub additional_properties: BTreeMap<String, Value>, /* private fields */ }
Expand description

Selectors are used to filter security issues for which notifications should be generated. Users can specify rule severities, rule types, a query to filter security issues on tags and attributes, and the trigger source. Only the trigger_source field is required.

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.
§query: Option<String>

The query is composed of one or several key:value pairs, which can be used to filter security issues on tags and attributes.

§rule_types: Option<Vec<RuleTypesItems>>

Security rule types used as filters in security rules.

§severities: Option<Vec<RuleSeverity>>

The security rules severities to consider.

§trigger_source: TriggerSource

The type of security issues on which the rule applies. Notification rules based on security signals need to use the trigger source “security_signals”, while notification rules based on security vulnerabilities need to use the trigger source “security_findings”.

§additional_properties: BTreeMap<String, Value>

Implementations§

Source§

impl Selectors

Source

pub fn new(trigger_source: TriggerSource) -> Selectors

Examples found in repository?
examples/v2_security-monitoring_CreateSignalNotificationRule.rs (line 20)
15async fn main() {
16    let body =
17        CreateNotificationRuleParameters::new().data(CreateNotificationRuleParametersData::new(
18            CreateNotificationRuleParametersDataAttributes::new(
19                "Rule 1".to_string(),
20                Selectors::new(TriggerSource::SECURITY_FINDINGS)
21                    .query("(source:production_service OR env:prod)".to_string())
22                    .rule_types(vec![
23                        RuleTypesItems::MISCONFIGURATION,
24                        RuleTypesItems::ATTACK_PATH,
25                    ])
26                    .severities(vec![RuleSeverity::CRITICAL]),
27                vec!["@john.doe@email.com".to_string()],
28            )
29            .enabled(true)
30            .time_aggregation(86400),
31            NotificationRulesType::NOTIFICATION_RULES,
32        ));
33    let configuration = datadog::Configuration::new();
34    let api = SecurityMonitoringAPI::with_config(configuration);
35    let resp = api.create_signal_notification_rule(body).await;
36    if let Ok(value) = resp {
37        println!("{:#?}", value);
38    } else {
39        println!("{:#?}", resp.unwrap_err());
40    }
41}
More examples
Hide additional examples
examples/v2_security-monitoring_CreateVulnerabilityNotificationRule.rs (line 20)
15async fn main() {
16    let body =
17        CreateNotificationRuleParameters::new().data(CreateNotificationRuleParametersData::new(
18            CreateNotificationRuleParametersDataAttributes::new(
19                "Rule 1".to_string(),
20                Selectors::new(TriggerSource::SECURITY_FINDINGS)
21                    .query("(source:production_service OR env:prod)".to_string())
22                    .rule_types(vec![
23                        RuleTypesItems::MISCONFIGURATION,
24                        RuleTypesItems::ATTACK_PATH,
25                    ])
26                    .severities(vec![RuleSeverity::CRITICAL]),
27                vec!["@john.doe@email.com".to_string()],
28            )
29            .enabled(true)
30            .time_aggregation(86400),
31            NotificationRulesType::NOTIFICATION_RULES,
32        ));
33    let configuration = datadog::Configuration::new();
34    let api = SecurityMonitoringAPI::with_config(configuration);
35    let resp = api.create_vulnerability_notification_rule(body).await;
36    if let Ok(value) = resp {
37        println!("{:#?}", value);
38    } else {
39        println!("{:#?}", resp.unwrap_err());
40    }
41}
examples/v2_security-monitoring_PatchSignalNotificationRule.rs (line 25)
15async fn main() {
16    // there is a valid "valid_signal_notification_rule" in the system
17    let valid_signal_notification_rule_data_id =
18        std::env::var("VALID_SIGNAL_NOTIFICATION_RULE_DATA_ID").unwrap();
19    let body =
20        PatchNotificationRuleParameters::new().data(PatchNotificationRuleParametersData::new(
21            PatchNotificationRuleParametersDataAttributes::new()
22                .enabled(true)
23                .name("Rule 1".to_string())
24                .selectors(
25                    Selectors::new(TriggerSource::SECURITY_FINDINGS)
26                        .query("(source:production_service OR env:prod)".to_string())
27                        .rule_types(vec![
28                            RuleTypesItems::MISCONFIGURATION,
29                            RuleTypesItems::ATTACK_PATH,
30                        ])
31                        .severities(vec![RuleSeverity::CRITICAL]),
32                )
33                .targets(vec!["@john.doe@email.com".to_string()])
34                .time_aggregation(86400)
35                .version(1),
36            valid_signal_notification_rule_data_id.clone(),
37            NotificationRulesType::NOTIFICATION_RULES,
38        ));
39    let configuration = datadog::Configuration::new();
40    let api = SecurityMonitoringAPI::with_config(configuration);
41    let resp = api
42        .patch_signal_notification_rule(valid_signal_notification_rule_data_id.clone(), body)
43        .await;
44    if let Ok(value) = resp {
45        println!("{:#?}", value);
46    } else {
47        println!("{:#?}", resp.unwrap_err());
48    }
49}
examples/v2_security-monitoring_PatchVulnerabilityNotificationRule.rs (line 25)
15async fn main() {
16    // there is a valid "valid_vulnerability_notification_rule" in the system
17    let valid_vulnerability_notification_rule_data_id =
18        std::env::var("VALID_VULNERABILITY_NOTIFICATION_RULE_DATA_ID").unwrap();
19    let body =
20        PatchNotificationRuleParameters::new().data(PatchNotificationRuleParametersData::new(
21            PatchNotificationRuleParametersDataAttributes::new()
22                .enabled(true)
23                .name("Rule 1".to_string())
24                .selectors(
25                    Selectors::new(TriggerSource::SECURITY_FINDINGS)
26                        .query("(source:production_service OR env:prod)".to_string())
27                        .rule_types(vec![
28                            RuleTypesItems::MISCONFIGURATION,
29                            RuleTypesItems::ATTACK_PATH,
30                        ])
31                        .severities(vec![RuleSeverity::CRITICAL]),
32                )
33                .targets(vec!["@john.doe@email.com".to_string()])
34                .time_aggregation(86400)
35                .version(1),
36            valid_vulnerability_notification_rule_data_id.clone(),
37            NotificationRulesType::NOTIFICATION_RULES,
38        ));
39    let configuration = datadog::Configuration::new();
40    let api = SecurityMonitoringAPI::with_config(configuration);
41    let resp = api
42        .patch_vulnerability_notification_rule(
43            valid_vulnerability_notification_rule_data_id.clone(),
44            body,
45        )
46        .await;
47    if let Ok(value) = resp {
48        println!("{:#?}", value);
49    } else {
50        println!("{:#?}", resp.unwrap_err());
51    }
52}
Source

pub fn query(self, value: String) -> Self

Examples found in repository?
examples/v2_security-monitoring_CreateSignalNotificationRule.rs (line 21)
15async fn main() {
16    let body =
17        CreateNotificationRuleParameters::new().data(CreateNotificationRuleParametersData::new(
18            CreateNotificationRuleParametersDataAttributes::new(
19                "Rule 1".to_string(),
20                Selectors::new(TriggerSource::SECURITY_FINDINGS)
21                    .query("(source:production_service OR env:prod)".to_string())
22                    .rule_types(vec![
23                        RuleTypesItems::MISCONFIGURATION,
24                        RuleTypesItems::ATTACK_PATH,
25                    ])
26                    .severities(vec![RuleSeverity::CRITICAL]),
27                vec!["@john.doe@email.com".to_string()],
28            )
29            .enabled(true)
30            .time_aggregation(86400),
31            NotificationRulesType::NOTIFICATION_RULES,
32        ));
33    let configuration = datadog::Configuration::new();
34    let api = SecurityMonitoringAPI::with_config(configuration);
35    let resp = api.create_signal_notification_rule(body).await;
36    if let Ok(value) = resp {
37        println!("{:#?}", value);
38    } else {
39        println!("{:#?}", resp.unwrap_err());
40    }
41}
More examples
Hide additional examples
examples/v2_security-monitoring_CreateVulnerabilityNotificationRule.rs (line 21)
15async fn main() {
16    let body =
17        CreateNotificationRuleParameters::new().data(CreateNotificationRuleParametersData::new(
18            CreateNotificationRuleParametersDataAttributes::new(
19                "Rule 1".to_string(),
20                Selectors::new(TriggerSource::SECURITY_FINDINGS)
21                    .query("(source:production_service OR env:prod)".to_string())
22                    .rule_types(vec![
23                        RuleTypesItems::MISCONFIGURATION,
24                        RuleTypesItems::ATTACK_PATH,
25                    ])
26                    .severities(vec![RuleSeverity::CRITICAL]),
27                vec!["@john.doe@email.com".to_string()],
28            )
29            .enabled(true)
30            .time_aggregation(86400),
31            NotificationRulesType::NOTIFICATION_RULES,
32        ));
33    let configuration = datadog::Configuration::new();
34    let api = SecurityMonitoringAPI::with_config(configuration);
35    let resp = api.create_vulnerability_notification_rule(body).await;
36    if let Ok(value) = resp {
37        println!("{:#?}", value);
38    } else {
39        println!("{:#?}", resp.unwrap_err());
40    }
41}
examples/v2_security-monitoring_PatchSignalNotificationRule.rs (line 26)
15async fn main() {
16    // there is a valid "valid_signal_notification_rule" in the system
17    let valid_signal_notification_rule_data_id =
18        std::env::var("VALID_SIGNAL_NOTIFICATION_RULE_DATA_ID").unwrap();
19    let body =
20        PatchNotificationRuleParameters::new().data(PatchNotificationRuleParametersData::new(
21            PatchNotificationRuleParametersDataAttributes::new()
22                .enabled(true)
23                .name("Rule 1".to_string())
24                .selectors(
25                    Selectors::new(TriggerSource::SECURITY_FINDINGS)
26                        .query("(source:production_service OR env:prod)".to_string())
27                        .rule_types(vec![
28                            RuleTypesItems::MISCONFIGURATION,
29                            RuleTypesItems::ATTACK_PATH,
30                        ])
31                        .severities(vec![RuleSeverity::CRITICAL]),
32                )
33                .targets(vec!["@john.doe@email.com".to_string()])
34                .time_aggregation(86400)
35                .version(1),
36            valid_signal_notification_rule_data_id.clone(),
37            NotificationRulesType::NOTIFICATION_RULES,
38        ));
39    let configuration = datadog::Configuration::new();
40    let api = SecurityMonitoringAPI::with_config(configuration);
41    let resp = api
42        .patch_signal_notification_rule(valid_signal_notification_rule_data_id.clone(), body)
43        .await;
44    if let Ok(value) = resp {
45        println!("{:#?}", value);
46    } else {
47        println!("{:#?}", resp.unwrap_err());
48    }
49}
examples/v2_security-monitoring_PatchVulnerabilityNotificationRule.rs (line 26)
15async fn main() {
16    // there is a valid "valid_vulnerability_notification_rule" in the system
17    let valid_vulnerability_notification_rule_data_id =
18        std::env::var("VALID_VULNERABILITY_NOTIFICATION_RULE_DATA_ID").unwrap();
19    let body =
20        PatchNotificationRuleParameters::new().data(PatchNotificationRuleParametersData::new(
21            PatchNotificationRuleParametersDataAttributes::new()
22                .enabled(true)
23                .name("Rule 1".to_string())
24                .selectors(
25                    Selectors::new(TriggerSource::SECURITY_FINDINGS)
26                        .query("(source:production_service OR env:prod)".to_string())
27                        .rule_types(vec![
28                            RuleTypesItems::MISCONFIGURATION,
29                            RuleTypesItems::ATTACK_PATH,
30                        ])
31                        .severities(vec![RuleSeverity::CRITICAL]),
32                )
33                .targets(vec!["@john.doe@email.com".to_string()])
34                .time_aggregation(86400)
35                .version(1),
36            valid_vulnerability_notification_rule_data_id.clone(),
37            NotificationRulesType::NOTIFICATION_RULES,
38        ));
39    let configuration = datadog::Configuration::new();
40    let api = SecurityMonitoringAPI::with_config(configuration);
41    let resp = api
42        .patch_vulnerability_notification_rule(
43            valid_vulnerability_notification_rule_data_id.clone(),
44            body,
45        )
46        .await;
47    if let Ok(value) = resp {
48        println!("{:#?}", value);
49    } else {
50        println!("{:#?}", resp.unwrap_err());
51    }
52}
Source

pub fn rule_types(self, value: Vec<RuleTypesItems>) -> Self

Examples found in repository?
examples/v2_security-monitoring_CreateSignalNotificationRule.rs (lines 22-25)
15async fn main() {
16    let body =
17        CreateNotificationRuleParameters::new().data(CreateNotificationRuleParametersData::new(
18            CreateNotificationRuleParametersDataAttributes::new(
19                "Rule 1".to_string(),
20                Selectors::new(TriggerSource::SECURITY_FINDINGS)
21                    .query("(source:production_service OR env:prod)".to_string())
22                    .rule_types(vec![
23                        RuleTypesItems::MISCONFIGURATION,
24                        RuleTypesItems::ATTACK_PATH,
25                    ])
26                    .severities(vec![RuleSeverity::CRITICAL]),
27                vec!["@john.doe@email.com".to_string()],
28            )
29            .enabled(true)
30            .time_aggregation(86400),
31            NotificationRulesType::NOTIFICATION_RULES,
32        ));
33    let configuration = datadog::Configuration::new();
34    let api = SecurityMonitoringAPI::with_config(configuration);
35    let resp = api.create_signal_notification_rule(body).await;
36    if let Ok(value) = resp {
37        println!("{:#?}", value);
38    } else {
39        println!("{:#?}", resp.unwrap_err());
40    }
41}
More examples
Hide additional examples
examples/v2_security-monitoring_CreateVulnerabilityNotificationRule.rs (lines 22-25)
15async fn main() {
16    let body =
17        CreateNotificationRuleParameters::new().data(CreateNotificationRuleParametersData::new(
18            CreateNotificationRuleParametersDataAttributes::new(
19                "Rule 1".to_string(),
20                Selectors::new(TriggerSource::SECURITY_FINDINGS)
21                    .query("(source:production_service OR env:prod)".to_string())
22                    .rule_types(vec![
23                        RuleTypesItems::MISCONFIGURATION,
24                        RuleTypesItems::ATTACK_PATH,
25                    ])
26                    .severities(vec![RuleSeverity::CRITICAL]),
27                vec!["@john.doe@email.com".to_string()],
28            )
29            .enabled(true)
30            .time_aggregation(86400),
31            NotificationRulesType::NOTIFICATION_RULES,
32        ));
33    let configuration = datadog::Configuration::new();
34    let api = SecurityMonitoringAPI::with_config(configuration);
35    let resp = api.create_vulnerability_notification_rule(body).await;
36    if let Ok(value) = resp {
37        println!("{:#?}", value);
38    } else {
39        println!("{:#?}", resp.unwrap_err());
40    }
41}
examples/v2_security-monitoring_PatchSignalNotificationRule.rs (lines 27-30)
15async fn main() {
16    // there is a valid "valid_signal_notification_rule" in the system
17    let valid_signal_notification_rule_data_id =
18        std::env::var("VALID_SIGNAL_NOTIFICATION_RULE_DATA_ID").unwrap();
19    let body =
20        PatchNotificationRuleParameters::new().data(PatchNotificationRuleParametersData::new(
21            PatchNotificationRuleParametersDataAttributes::new()
22                .enabled(true)
23                .name("Rule 1".to_string())
24                .selectors(
25                    Selectors::new(TriggerSource::SECURITY_FINDINGS)
26                        .query("(source:production_service OR env:prod)".to_string())
27                        .rule_types(vec![
28                            RuleTypesItems::MISCONFIGURATION,
29                            RuleTypesItems::ATTACK_PATH,
30                        ])
31                        .severities(vec![RuleSeverity::CRITICAL]),
32                )
33                .targets(vec!["@john.doe@email.com".to_string()])
34                .time_aggregation(86400)
35                .version(1),
36            valid_signal_notification_rule_data_id.clone(),
37            NotificationRulesType::NOTIFICATION_RULES,
38        ));
39    let configuration = datadog::Configuration::new();
40    let api = SecurityMonitoringAPI::with_config(configuration);
41    let resp = api
42        .patch_signal_notification_rule(valid_signal_notification_rule_data_id.clone(), body)
43        .await;
44    if let Ok(value) = resp {
45        println!("{:#?}", value);
46    } else {
47        println!("{:#?}", resp.unwrap_err());
48    }
49}
examples/v2_security-monitoring_PatchVulnerabilityNotificationRule.rs (lines 27-30)
15async fn main() {
16    // there is a valid "valid_vulnerability_notification_rule" in the system
17    let valid_vulnerability_notification_rule_data_id =
18        std::env::var("VALID_VULNERABILITY_NOTIFICATION_RULE_DATA_ID").unwrap();
19    let body =
20        PatchNotificationRuleParameters::new().data(PatchNotificationRuleParametersData::new(
21            PatchNotificationRuleParametersDataAttributes::new()
22                .enabled(true)
23                .name("Rule 1".to_string())
24                .selectors(
25                    Selectors::new(TriggerSource::SECURITY_FINDINGS)
26                        .query("(source:production_service OR env:prod)".to_string())
27                        .rule_types(vec![
28                            RuleTypesItems::MISCONFIGURATION,
29                            RuleTypesItems::ATTACK_PATH,
30                        ])
31                        .severities(vec![RuleSeverity::CRITICAL]),
32                )
33                .targets(vec!["@john.doe@email.com".to_string()])
34                .time_aggregation(86400)
35                .version(1),
36            valid_vulnerability_notification_rule_data_id.clone(),
37            NotificationRulesType::NOTIFICATION_RULES,
38        ));
39    let configuration = datadog::Configuration::new();
40    let api = SecurityMonitoringAPI::with_config(configuration);
41    let resp = api
42        .patch_vulnerability_notification_rule(
43            valid_vulnerability_notification_rule_data_id.clone(),
44            body,
45        )
46        .await;
47    if let Ok(value) = resp {
48        println!("{:#?}", value);
49    } else {
50        println!("{:#?}", resp.unwrap_err());
51    }
52}
Source

pub fn severities(self, value: Vec<RuleSeverity>) -> Self

Examples found in repository?
examples/v2_security-monitoring_CreateSignalNotificationRule.rs (line 26)
15async fn main() {
16    let body =
17        CreateNotificationRuleParameters::new().data(CreateNotificationRuleParametersData::new(
18            CreateNotificationRuleParametersDataAttributes::new(
19                "Rule 1".to_string(),
20                Selectors::new(TriggerSource::SECURITY_FINDINGS)
21                    .query("(source:production_service OR env:prod)".to_string())
22                    .rule_types(vec![
23                        RuleTypesItems::MISCONFIGURATION,
24                        RuleTypesItems::ATTACK_PATH,
25                    ])
26                    .severities(vec![RuleSeverity::CRITICAL]),
27                vec!["@john.doe@email.com".to_string()],
28            )
29            .enabled(true)
30            .time_aggregation(86400),
31            NotificationRulesType::NOTIFICATION_RULES,
32        ));
33    let configuration = datadog::Configuration::new();
34    let api = SecurityMonitoringAPI::with_config(configuration);
35    let resp = api.create_signal_notification_rule(body).await;
36    if let Ok(value) = resp {
37        println!("{:#?}", value);
38    } else {
39        println!("{:#?}", resp.unwrap_err());
40    }
41}
More examples
Hide additional examples
examples/v2_security-monitoring_CreateVulnerabilityNotificationRule.rs (line 26)
15async fn main() {
16    let body =
17        CreateNotificationRuleParameters::new().data(CreateNotificationRuleParametersData::new(
18            CreateNotificationRuleParametersDataAttributes::new(
19                "Rule 1".to_string(),
20                Selectors::new(TriggerSource::SECURITY_FINDINGS)
21                    .query("(source:production_service OR env:prod)".to_string())
22                    .rule_types(vec![
23                        RuleTypesItems::MISCONFIGURATION,
24                        RuleTypesItems::ATTACK_PATH,
25                    ])
26                    .severities(vec![RuleSeverity::CRITICAL]),
27                vec!["@john.doe@email.com".to_string()],
28            )
29            .enabled(true)
30            .time_aggregation(86400),
31            NotificationRulesType::NOTIFICATION_RULES,
32        ));
33    let configuration = datadog::Configuration::new();
34    let api = SecurityMonitoringAPI::with_config(configuration);
35    let resp = api.create_vulnerability_notification_rule(body).await;
36    if let Ok(value) = resp {
37        println!("{:#?}", value);
38    } else {
39        println!("{:#?}", resp.unwrap_err());
40    }
41}
examples/v2_security-monitoring_PatchSignalNotificationRule.rs (line 31)
15async fn main() {
16    // there is a valid "valid_signal_notification_rule" in the system
17    let valid_signal_notification_rule_data_id =
18        std::env::var("VALID_SIGNAL_NOTIFICATION_RULE_DATA_ID").unwrap();
19    let body =
20        PatchNotificationRuleParameters::new().data(PatchNotificationRuleParametersData::new(
21            PatchNotificationRuleParametersDataAttributes::new()
22                .enabled(true)
23                .name("Rule 1".to_string())
24                .selectors(
25                    Selectors::new(TriggerSource::SECURITY_FINDINGS)
26                        .query("(source:production_service OR env:prod)".to_string())
27                        .rule_types(vec![
28                            RuleTypesItems::MISCONFIGURATION,
29                            RuleTypesItems::ATTACK_PATH,
30                        ])
31                        .severities(vec![RuleSeverity::CRITICAL]),
32                )
33                .targets(vec!["@john.doe@email.com".to_string()])
34                .time_aggregation(86400)
35                .version(1),
36            valid_signal_notification_rule_data_id.clone(),
37            NotificationRulesType::NOTIFICATION_RULES,
38        ));
39    let configuration = datadog::Configuration::new();
40    let api = SecurityMonitoringAPI::with_config(configuration);
41    let resp = api
42        .patch_signal_notification_rule(valid_signal_notification_rule_data_id.clone(), body)
43        .await;
44    if let Ok(value) = resp {
45        println!("{:#?}", value);
46    } else {
47        println!("{:#?}", resp.unwrap_err());
48    }
49}
examples/v2_security-monitoring_PatchVulnerabilityNotificationRule.rs (line 31)
15async fn main() {
16    // there is a valid "valid_vulnerability_notification_rule" in the system
17    let valid_vulnerability_notification_rule_data_id =
18        std::env::var("VALID_VULNERABILITY_NOTIFICATION_RULE_DATA_ID").unwrap();
19    let body =
20        PatchNotificationRuleParameters::new().data(PatchNotificationRuleParametersData::new(
21            PatchNotificationRuleParametersDataAttributes::new()
22                .enabled(true)
23                .name("Rule 1".to_string())
24                .selectors(
25                    Selectors::new(TriggerSource::SECURITY_FINDINGS)
26                        .query("(source:production_service OR env:prod)".to_string())
27                        .rule_types(vec![
28                            RuleTypesItems::MISCONFIGURATION,
29                            RuleTypesItems::ATTACK_PATH,
30                        ])
31                        .severities(vec![RuleSeverity::CRITICAL]),
32                )
33                .targets(vec!["@john.doe@email.com".to_string()])
34                .time_aggregation(86400)
35                .version(1),
36            valid_vulnerability_notification_rule_data_id.clone(),
37            NotificationRulesType::NOTIFICATION_RULES,
38        ));
39    let configuration = datadog::Configuration::new();
40    let api = SecurityMonitoringAPI::with_config(configuration);
41    let resp = api
42        .patch_vulnerability_notification_rule(
43            valid_vulnerability_notification_rule_data_id.clone(),
44            body,
45        )
46        .await;
47    if let Ok(value) = resp {
48        println!("{:#?}", value);
49    } else {
50        println!("{:#?}", resp.unwrap_err());
51    }
52}
Source

pub fn additional_properties(self, value: BTreeMap<String, Value>) -> Self

Trait Implementations§

Source§

impl Clone for Selectors

Source§

fn clone(&self) -> Selectors

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 Selectors

Source§

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

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

impl<'de> Deserialize<'de> for Selectors

Source§

fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl PartialEq for Selectors

Source§

fn eq(&self, other: &Selectors) -> 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 Serialize for Selectors

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for Selectors

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> 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>,

Source§

impl<T> ErasedDestructor for T
where T: 'static,