#[non_exhaustive]pub struct TimeRestrictions {
pub restrictions: Vec<TimeRestriction>,
pub time_zone: String,
pub additional_properties: BTreeMap<String, Value>,
/* private fields */
}
Expand description
Holds time zone information and a list of time restrictions for a routing rule.
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.restrictions: Vec<TimeRestriction>
Defines the list of time-based restrictions.
time_zone: String
Specifies the time zone applicable to the restrictions.
additional_properties: BTreeMap<String, Value>
Implementations§
Source§impl TimeRestrictions
impl TimeRestrictions
Sourcepub fn new(
restrictions: Vec<TimeRestriction>,
time_zone: String,
) -> TimeRestrictions
pub fn new( restrictions: Vec<TimeRestriction>, time_zone: String, ) -> TimeRestrictions
Examples found in repository?
examples/v2_on-call_SetOnCallTeamRoutingRules.rs (lines 44-58)
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 TimeRestrictions
impl Clone for TimeRestrictions
Source§fn clone(&self) -> TimeRestrictions
fn clone(&self) -> TimeRestrictions
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 TimeRestrictions
impl Debug for TimeRestrictions
Source§impl<'de> Deserialize<'de> for TimeRestrictions
impl<'de> Deserialize<'de> for TimeRestrictions
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
Source§impl PartialEq for TimeRestrictions
impl PartialEq for TimeRestrictions
Source§impl Serialize for TimeRestrictions
impl Serialize for TimeRestrictions
impl StructuralPartialEq for TimeRestrictions
Auto Trait Implementations§
impl Freeze for TimeRestrictions
impl RefUnwindSafe for TimeRestrictions
impl Send for TimeRestrictions
impl Sync for TimeRestrictions
impl Unpin for TimeRestrictions
impl UnwindSafe for TimeRestrictions
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