#[non_exhaustive]pub struct ScheduleUpdateRequestDataAttributes {
pub layers: Vec<ScheduleUpdateRequestDataAttributesLayersItems>,
pub name: String,
pub time_zone: String,
pub additional_properties: BTreeMap<String, Value>,
/* private fields */
}
Expand description
Defines the updatable attributes for a schedule, such as name, time zone, and layers.
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.layers: Vec<ScheduleUpdateRequestDataAttributesLayersItems>
The updated list of layers (rotations) for this schedule.
name: String
A short name for the schedule.
time_zone: String
The time zone used when interpreting rotation times.
additional_properties: BTreeMap<String, Value>
Implementations§
Source§impl ScheduleUpdateRequestDataAttributes
impl ScheduleUpdateRequestDataAttributes
Sourcepub fn new(
layers: Vec<ScheduleUpdateRequestDataAttributesLayersItems>,
name: String,
time_zone: String,
) -> ScheduleUpdateRequestDataAttributes
pub fn new( layers: Vec<ScheduleUpdateRequestDataAttributesLayersItems>, name: String, time_zone: String, ) -> ScheduleUpdateRequestDataAttributes
Examples found in repository?
examples/v2_on-call_UpdateOnCallSchedule.rs (lines 35-65)
22async fn main() {
23 // there is a valid "schedule" in the system
24 let schedule_data_id = std::env::var("SCHEDULE_DATA_ID").unwrap();
25 let schedule_data_relationships_layers_data_0_id =
26 std::env::var("SCHEDULE_DATA_RELATIONSHIPS_LAYERS_DATA_0_ID").unwrap();
27
28 // there is a valid "user" in the system
29 let user_data_id = std::env::var("USER_DATA_ID").unwrap();
30
31 // there is a valid "dd_team" in the system
32 let dd_team_data_id = std::env::var("DD_TEAM_DATA_ID").unwrap();
33 let body = ScheduleUpdateRequest::new(
34 ScheduleUpdateRequestData::new(
35 ScheduleUpdateRequestDataAttributes::new(
36 vec![ScheduleUpdateRequestDataAttributesLayersItems::new(
37 DateTime::parse_from_rfc3339("2021-11-01T11:11:11+00:00")
38 .expect("Failed to parse datetime")
39 .with_timezone(&Utc),
40 LayerAttributesInterval::new().seconds(3600),
41 vec![
42 ScheduleRequestDataAttributesLayersItemsMembersItems::new().user(
43 ScheduleRequestDataAttributesLayersItemsMembersItemsUser::new()
44 .id(user_data_id.clone()),
45 ),
46 ],
47 "Layer 1".to_string(),
48 DateTime::parse_from_rfc3339("2021-11-06T11:11:11+00:00")
49 .expect("Failed to parse datetime")
50 .with_timezone(&Utc),
51 )
52 .end_date(
53 DateTime::parse_from_rfc3339("2021-11-21T11:11:11+00:00")
54 .expect("Failed to parse datetime")
55 .with_timezone(&Utc),
56 )
57 .id(schedule_data_relationships_layers_data_0_id.clone())
58 .restrictions(vec![TimeRestriction::new()
59 .end_day(Weekday::FRIDAY)
60 .end_time("17:00:00".to_string())
61 .start_day(Weekday::MONDAY)
62 .start_time("09:00:00".to_string())])],
63 "Example-On-Call".to_string(),
64 "America/New_York".to_string(),
65 ),
66 schedule_data_id.clone(),
67 ScheduleUpdateRequestDataType::SCHEDULES,
68 )
69 .relationships(ScheduleUpdateRequestDataRelationships::new().teams(
70 DataRelationshipsTeams::new().data(vec![DataRelationshipsTeamsDataItems::new(
71 dd_team_data_id.clone(),
72 DataRelationshipsTeamsDataItemsType::TEAMS,
73 )]),
74 )),
75 );
76 let configuration = datadog::Configuration::new();
77 let api = OnCallAPI::with_config(configuration);
78 let resp = api
79 .update_on_call_schedule(
80 schedule_data_id.clone(),
81 body,
82 UpdateOnCallScheduleOptionalParams::default(),
83 )
84 .await;
85 if let Ok(value) = resp {
86 println!("{:#?}", value);
87 } else {
88 println!("{:#?}", resp.unwrap_err());
89 }
90}
pub fn additional_properties(self, value: BTreeMap<String, Value>) -> Self
Trait Implementations§
Source§impl Clone for ScheduleUpdateRequestDataAttributes
impl Clone for ScheduleUpdateRequestDataAttributes
Source§fn clone(&self) -> ScheduleUpdateRequestDataAttributes
fn clone(&self) -> ScheduleUpdateRequestDataAttributes
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<'de> Deserialize<'de> for ScheduleUpdateRequestDataAttributes
impl<'de> Deserialize<'de> for ScheduleUpdateRequestDataAttributes
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 ScheduleUpdateRequestDataAttributes
impl PartialEq for ScheduleUpdateRequestDataAttributes
Source§fn eq(&self, other: &ScheduleUpdateRequestDataAttributes) -> bool
fn eq(&self, other: &ScheduleUpdateRequestDataAttributes) -> bool
Tests for
self
and other
values to be equal, and is used by ==
.impl StructuralPartialEq for ScheduleUpdateRequestDataAttributes
Auto Trait Implementations§
impl Freeze for ScheduleUpdateRequestDataAttributes
impl RefUnwindSafe for ScheduleUpdateRequestDataAttributes
impl Send for ScheduleUpdateRequestDataAttributes
impl Sync for ScheduleUpdateRequestDataAttributes
impl Unpin for ScheduleUpdateRequestDataAttributes
impl UnwindSafe for ScheduleUpdateRequestDataAttributes
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