#[non_exhaustive]pub struct TeamRoutingRulesRequestRule {
pub actions: Option<Vec<RoutingRuleAction>>,
pub policy_id: Option<String>,
pub query: Option<String>,
pub time_restriction: Option<TimeRestrictions>,
pub urgency: Option<Urgency>,
pub additional_properties: BTreeMap<String, Value>,
/* private fields */
}
Expand description
Defines an individual routing rule item that contains the rule data for the request.
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.actions: Option<Vec<RoutingRuleAction>>
Specifies the list of actions to perform when the routing rule is matched.
policy_id: Option<String>
Identifies the policy to be applied when this routing rule matches.
query: Option<String>
Defines the query or condition that triggers this routing rule.
time_restriction: Option<TimeRestrictions>
Holds time zone information and a list of time restrictions for a routing rule.
urgency: Option<Urgency>
Specifies the level of urgency for a routing rule (low, high, or dynamic).
additional_properties: BTreeMap<String, Value>
Implementations§
Source§impl TeamRoutingRulesRequestRule
impl TeamRoutingRulesRequestRule
Sourcepub fn new() -> TeamRoutingRulesRequestRule
pub fn new() -> TeamRoutingRulesRequestRule
Examples found in repository?
examples/v2_on-call_SetOnCallTeamRoutingRules.rs (line 28)
19async fn main() {
20 // there is a valid "dd_team" in the system
21 let dd_team_data_id = std::env::var("DD_TEAM_DATA_ID").unwrap();
22
23 // there is a valid "escalation_policy" in the system
24 let escalation_policy_data_id = std::env::var("ESCALATION_POLICY_DATA_ID").unwrap();
25 let body = TeamRoutingRulesRequest::new().data(
26 TeamRoutingRulesRequestData::new(TeamRoutingRulesRequestDataType::TEAM_ROUTING_RULES)
27 .attributes(TeamRoutingRulesRequestDataAttributes::new().rules(vec![
28 TeamRoutingRulesRequestRule::new()
29 .actions(
30 vec![
31 RoutingRuleAction::SendSlackMessageAction(
32 Box::new(
33 SendSlackMessageAction::new(
34 "channel".to_string(),
35 SendSlackMessageActionType::SEND_SLACK_MESSAGE,
36 "workspace".to_string(),
37 ),
38 ),
39 )
40 ],
41 )
42 .query("tags.service:test".to_string())
43 .time_restriction(
44 TimeRestrictions::new(
45 vec![
46 TimeRestriction::new()
47 .end_day(Weekday::MONDAY)
48 .end_time("17:00:00".to_string())
49 .start_day(Weekday::MONDAY)
50 .start_time("09:00:00".to_string()),
51 TimeRestriction::new()
52 .end_day(Weekday::TUESDAY)
53 .end_time("17:00:00".to_string())
54 .start_day(Weekday::TUESDAY)
55 .start_time("09:00:00".to_string())
56 ],
57 "Europe/Paris".to_string(),
58 ),
59 ),
60 TeamRoutingRulesRequestRule::new()
61 .policy_id(escalation_policy_data_id.clone())
62 .query("".to_string())
63 .urgency(Urgency::LOW)
64 ]))
65 .id(dd_team_data_id.clone()),
66 );
67 let configuration = datadog::Configuration::new();
68 let api = OnCallAPI::with_config(configuration);
69 let resp = api
70 .set_on_call_team_routing_rules(
71 dd_team_data_id.clone(),
72 body,
73 SetOnCallTeamRoutingRulesOptionalParams::default().include("rules".to_string()),
74 )
75 .await;
76 if let Ok(value) = resp {
77 println!("{:#?}", value);
78 } else {
79 println!("{:#?}", resp.unwrap_err());
80 }
81}
Sourcepub fn actions(self, value: Vec<RoutingRuleAction>) -> Self
pub fn actions(self, value: Vec<RoutingRuleAction>) -> Self
Examples found in repository?
examples/v2_on-call_SetOnCallTeamRoutingRules.rs (lines 29-41)
19async fn main() {
20 // there is a valid "dd_team" in the system
21 let dd_team_data_id = std::env::var("DD_TEAM_DATA_ID").unwrap();
22
23 // there is a valid "escalation_policy" in the system
24 let escalation_policy_data_id = std::env::var("ESCALATION_POLICY_DATA_ID").unwrap();
25 let body = TeamRoutingRulesRequest::new().data(
26 TeamRoutingRulesRequestData::new(TeamRoutingRulesRequestDataType::TEAM_ROUTING_RULES)
27 .attributes(TeamRoutingRulesRequestDataAttributes::new().rules(vec![
28 TeamRoutingRulesRequestRule::new()
29 .actions(
30 vec![
31 RoutingRuleAction::SendSlackMessageAction(
32 Box::new(
33 SendSlackMessageAction::new(
34 "channel".to_string(),
35 SendSlackMessageActionType::SEND_SLACK_MESSAGE,
36 "workspace".to_string(),
37 ),
38 ),
39 )
40 ],
41 )
42 .query("tags.service:test".to_string())
43 .time_restriction(
44 TimeRestrictions::new(
45 vec![
46 TimeRestriction::new()
47 .end_day(Weekday::MONDAY)
48 .end_time("17:00:00".to_string())
49 .start_day(Weekday::MONDAY)
50 .start_time("09:00:00".to_string()),
51 TimeRestriction::new()
52 .end_day(Weekday::TUESDAY)
53 .end_time("17:00:00".to_string())
54 .start_day(Weekday::TUESDAY)
55 .start_time("09:00:00".to_string())
56 ],
57 "Europe/Paris".to_string(),
58 ),
59 ),
60 TeamRoutingRulesRequestRule::new()
61 .policy_id(escalation_policy_data_id.clone())
62 .query("".to_string())
63 .urgency(Urgency::LOW)
64 ]))
65 .id(dd_team_data_id.clone()),
66 );
67 let configuration = datadog::Configuration::new();
68 let api = OnCallAPI::with_config(configuration);
69 let resp = api
70 .set_on_call_team_routing_rules(
71 dd_team_data_id.clone(),
72 body,
73 SetOnCallTeamRoutingRulesOptionalParams::default().include("rules".to_string()),
74 )
75 .await;
76 if let Ok(value) = resp {
77 println!("{:#?}", value);
78 } else {
79 println!("{:#?}", resp.unwrap_err());
80 }
81}
Sourcepub fn policy_id(self, value: String) -> Self
pub fn policy_id(self, value: String) -> Self
Examples found in repository?
examples/v2_on-call_SetOnCallTeamRoutingRules.rs (line 61)
19async fn main() {
20 // there is a valid "dd_team" in the system
21 let dd_team_data_id = std::env::var("DD_TEAM_DATA_ID").unwrap();
22
23 // there is a valid "escalation_policy" in the system
24 let escalation_policy_data_id = std::env::var("ESCALATION_POLICY_DATA_ID").unwrap();
25 let body = TeamRoutingRulesRequest::new().data(
26 TeamRoutingRulesRequestData::new(TeamRoutingRulesRequestDataType::TEAM_ROUTING_RULES)
27 .attributes(TeamRoutingRulesRequestDataAttributes::new().rules(vec![
28 TeamRoutingRulesRequestRule::new()
29 .actions(
30 vec![
31 RoutingRuleAction::SendSlackMessageAction(
32 Box::new(
33 SendSlackMessageAction::new(
34 "channel".to_string(),
35 SendSlackMessageActionType::SEND_SLACK_MESSAGE,
36 "workspace".to_string(),
37 ),
38 ),
39 )
40 ],
41 )
42 .query("tags.service:test".to_string())
43 .time_restriction(
44 TimeRestrictions::new(
45 vec![
46 TimeRestriction::new()
47 .end_day(Weekday::MONDAY)
48 .end_time("17:00:00".to_string())
49 .start_day(Weekday::MONDAY)
50 .start_time("09:00:00".to_string()),
51 TimeRestriction::new()
52 .end_day(Weekday::TUESDAY)
53 .end_time("17:00:00".to_string())
54 .start_day(Weekday::TUESDAY)
55 .start_time("09:00:00".to_string())
56 ],
57 "Europe/Paris".to_string(),
58 ),
59 ),
60 TeamRoutingRulesRequestRule::new()
61 .policy_id(escalation_policy_data_id.clone())
62 .query("".to_string())
63 .urgency(Urgency::LOW)
64 ]))
65 .id(dd_team_data_id.clone()),
66 );
67 let configuration = datadog::Configuration::new();
68 let api = OnCallAPI::with_config(configuration);
69 let resp = api
70 .set_on_call_team_routing_rules(
71 dd_team_data_id.clone(),
72 body,
73 SetOnCallTeamRoutingRulesOptionalParams::default().include("rules".to_string()),
74 )
75 .await;
76 if let Ok(value) = resp {
77 println!("{:#?}", value);
78 } else {
79 println!("{:#?}", resp.unwrap_err());
80 }
81}
Sourcepub fn query(self, value: String) -> Self
pub fn query(self, value: String) -> Self
Examples found in repository?
examples/v2_on-call_SetOnCallTeamRoutingRules.rs (line 42)
19async fn main() {
20 // there is a valid "dd_team" in the system
21 let dd_team_data_id = std::env::var("DD_TEAM_DATA_ID").unwrap();
22
23 // there is a valid "escalation_policy" in the system
24 let escalation_policy_data_id = std::env::var("ESCALATION_POLICY_DATA_ID").unwrap();
25 let body = TeamRoutingRulesRequest::new().data(
26 TeamRoutingRulesRequestData::new(TeamRoutingRulesRequestDataType::TEAM_ROUTING_RULES)
27 .attributes(TeamRoutingRulesRequestDataAttributes::new().rules(vec![
28 TeamRoutingRulesRequestRule::new()
29 .actions(
30 vec![
31 RoutingRuleAction::SendSlackMessageAction(
32 Box::new(
33 SendSlackMessageAction::new(
34 "channel".to_string(),
35 SendSlackMessageActionType::SEND_SLACK_MESSAGE,
36 "workspace".to_string(),
37 ),
38 ),
39 )
40 ],
41 )
42 .query("tags.service:test".to_string())
43 .time_restriction(
44 TimeRestrictions::new(
45 vec![
46 TimeRestriction::new()
47 .end_day(Weekday::MONDAY)
48 .end_time("17:00:00".to_string())
49 .start_day(Weekday::MONDAY)
50 .start_time("09:00:00".to_string()),
51 TimeRestriction::new()
52 .end_day(Weekday::TUESDAY)
53 .end_time("17:00:00".to_string())
54 .start_day(Weekday::TUESDAY)
55 .start_time("09:00:00".to_string())
56 ],
57 "Europe/Paris".to_string(),
58 ),
59 ),
60 TeamRoutingRulesRequestRule::new()
61 .policy_id(escalation_policy_data_id.clone())
62 .query("".to_string())
63 .urgency(Urgency::LOW)
64 ]))
65 .id(dd_team_data_id.clone()),
66 );
67 let configuration = datadog::Configuration::new();
68 let api = OnCallAPI::with_config(configuration);
69 let resp = api
70 .set_on_call_team_routing_rules(
71 dd_team_data_id.clone(),
72 body,
73 SetOnCallTeamRoutingRulesOptionalParams::default().include("rules".to_string()),
74 )
75 .await;
76 if let Ok(value) = resp {
77 println!("{:#?}", value);
78 } else {
79 println!("{:#?}", resp.unwrap_err());
80 }
81}
Sourcepub fn time_restriction(self, value: TimeRestrictions) -> Self
pub fn time_restriction(self, value: TimeRestrictions) -> Self
Examples found in repository?
examples/v2_on-call_SetOnCallTeamRoutingRules.rs (lines 43-59)
19async fn main() {
20 // there is a valid "dd_team" in the system
21 let dd_team_data_id = std::env::var("DD_TEAM_DATA_ID").unwrap();
22
23 // there is a valid "escalation_policy" in the system
24 let escalation_policy_data_id = std::env::var("ESCALATION_POLICY_DATA_ID").unwrap();
25 let body = TeamRoutingRulesRequest::new().data(
26 TeamRoutingRulesRequestData::new(TeamRoutingRulesRequestDataType::TEAM_ROUTING_RULES)
27 .attributes(TeamRoutingRulesRequestDataAttributes::new().rules(vec![
28 TeamRoutingRulesRequestRule::new()
29 .actions(
30 vec![
31 RoutingRuleAction::SendSlackMessageAction(
32 Box::new(
33 SendSlackMessageAction::new(
34 "channel".to_string(),
35 SendSlackMessageActionType::SEND_SLACK_MESSAGE,
36 "workspace".to_string(),
37 ),
38 ),
39 )
40 ],
41 )
42 .query("tags.service:test".to_string())
43 .time_restriction(
44 TimeRestrictions::new(
45 vec![
46 TimeRestriction::new()
47 .end_day(Weekday::MONDAY)
48 .end_time("17:00:00".to_string())
49 .start_day(Weekday::MONDAY)
50 .start_time("09:00:00".to_string()),
51 TimeRestriction::new()
52 .end_day(Weekday::TUESDAY)
53 .end_time("17:00:00".to_string())
54 .start_day(Weekday::TUESDAY)
55 .start_time("09:00:00".to_string())
56 ],
57 "Europe/Paris".to_string(),
58 ),
59 ),
60 TeamRoutingRulesRequestRule::new()
61 .policy_id(escalation_policy_data_id.clone())
62 .query("".to_string())
63 .urgency(Urgency::LOW)
64 ]))
65 .id(dd_team_data_id.clone()),
66 );
67 let configuration = datadog::Configuration::new();
68 let api = OnCallAPI::with_config(configuration);
69 let resp = api
70 .set_on_call_team_routing_rules(
71 dd_team_data_id.clone(),
72 body,
73 SetOnCallTeamRoutingRulesOptionalParams::default().include("rules".to_string()),
74 )
75 .await;
76 if let Ok(value) = resp {
77 println!("{:#?}", value);
78 } else {
79 println!("{:#?}", resp.unwrap_err());
80 }
81}
Sourcepub fn urgency(self, value: Urgency) -> Self
pub fn urgency(self, value: Urgency) -> Self
Examples found in repository?
examples/v2_on-call_SetOnCallTeamRoutingRules.rs (line 63)
19async fn main() {
20 // there is a valid "dd_team" in the system
21 let dd_team_data_id = std::env::var("DD_TEAM_DATA_ID").unwrap();
22
23 // there is a valid "escalation_policy" in the system
24 let escalation_policy_data_id = std::env::var("ESCALATION_POLICY_DATA_ID").unwrap();
25 let body = TeamRoutingRulesRequest::new().data(
26 TeamRoutingRulesRequestData::new(TeamRoutingRulesRequestDataType::TEAM_ROUTING_RULES)
27 .attributes(TeamRoutingRulesRequestDataAttributes::new().rules(vec![
28 TeamRoutingRulesRequestRule::new()
29 .actions(
30 vec![
31 RoutingRuleAction::SendSlackMessageAction(
32 Box::new(
33 SendSlackMessageAction::new(
34 "channel".to_string(),
35 SendSlackMessageActionType::SEND_SLACK_MESSAGE,
36 "workspace".to_string(),
37 ),
38 ),
39 )
40 ],
41 )
42 .query("tags.service:test".to_string())
43 .time_restriction(
44 TimeRestrictions::new(
45 vec![
46 TimeRestriction::new()
47 .end_day(Weekday::MONDAY)
48 .end_time("17:00:00".to_string())
49 .start_day(Weekday::MONDAY)
50 .start_time("09:00:00".to_string()),
51 TimeRestriction::new()
52 .end_day(Weekday::TUESDAY)
53 .end_time("17:00:00".to_string())
54 .start_day(Weekday::TUESDAY)
55 .start_time("09:00:00".to_string())
56 ],
57 "Europe/Paris".to_string(),
58 ),
59 ),
60 TeamRoutingRulesRequestRule::new()
61 .policy_id(escalation_policy_data_id.clone())
62 .query("".to_string())
63 .urgency(Urgency::LOW)
64 ]))
65 .id(dd_team_data_id.clone()),
66 );
67 let configuration = datadog::Configuration::new();
68 let api = OnCallAPI::with_config(configuration);
69 let resp = api
70 .set_on_call_team_routing_rules(
71 dd_team_data_id.clone(),
72 body,
73 SetOnCallTeamRoutingRulesOptionalParams::default().include("rules".to_string()),
74 )
75 .await;
76 if let Ok(value) = resp {
77 println!("{:#?}", value);
78 } else {
79 println!("{:#?}", resp.unwrap_err());
80 }
81}
pub fn additional_properties(self, value: BTreeMap<String, Value>) -> Self
Trait Implementations§
Source§impl Clone for TeamRoutingRulesRequestRule
impl Clone for TeamRoutingRulesRequestRule
Source§fn clone(&self) -> TeamRoutingRulesRequestRule
fn clone(&self) -> TeamRoutingRulesRequestRule
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for TeamRoutingRulesRequestRule
impl Debug for TeamRoutingRulesRequestRule
Source§impl<'de> Deserialize<'de> for TeamRoutingRulesRequestRule
impl<'de> Deserialize<'de> for TeamRoutingRulesRequestRule
Source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl StructuralPartialEq for TeamRoutingRulesRequestRule
Auto Trait Implementations§
impl Freeze for TeamRoutingRulesRequestRule
impl RefUnwindSafe for TeamRoutingRulesRequestRule
impl Send for TeamRoutingRulesRequestRule
impl Sync for TeamRoutingRulesRequestRule
impl Unpin for TeamRoutingRulesRequestRule
impl UnwindSafe for TeamRoutingRulesRequestRule
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
Mutably borrows from an owned value. Read more