#[non_exhaustive]pub struct ScheduleUpdateRequestDataAttributes {
pub layers: Vec<ScheduleUpdateRequestDataAttributesLayersItems>,
pub name: String,
pub tags: Option<Vec<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, tags, 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.
A list of tags that you can associate with this 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 37-85)
23async fn main() {
24 // there is a valid "schedule" in the system
25 let schedule_data_id = std::env::var("SCHEDULE_DATA_ID").unwrap();
26 let schedule_data_relationships_layers_data_0_id =
27 std::env::var("SCHEDULE_DATA_RELATIONSHIPS_LAYERS_DATA_0_ID").unwrap();
28
29 // there is a valid "user" in the system
30 let user_data_id = std::env::var("USER_DATA_ID").unwrap();
31
32 // there is a valid "team" in the system
33 let team_data_id = std::env::var("TEAM_DATA_ID").unwrap();
34 let body =
35 ScheduleUpdateRequest::new(
36 ScheduleUpdateRequestData::new(
37 ScheduleUpdateRequestDataAttributes::new(
38 vec![
39 ScheduleUpdateRequestDataAttributesLayersItems::new()
40 .effective_date(
41 DateTime::parse_from_rfc3339("2021-11-01T11:11:11+00:00")
42 .expect("Failed to parse datetime")
43 .with_timezone(&Utc),
44 )
45 .end_date(
46 DateTime::parse_from_rfc3339("2021-11-21T11:11:11+00:00")
47 .expect("Failed to parse datetime")
48 .with_timezone(&Utc),
49 )
50 .id(schedule_data_relationships_layers_data_0_id.clone())
51 .interval(ScheduleUpdateRequestDataAttributesLayersItemsInterval::new().seconds(300))
52 .members(
53 vec![
54 ScheduleUpdateRequestDataAttributesLayersItemsMembersItems
55 ::new().user(
56 ScheduleUpdateRequestDataAttributesLayersItemsMembersItemsUser
57 ::new().id(user_data_id.clone()),
58 )
59 ],
60 )
61 .name("Layer 1".to_string())
62 .restrictions(
63 vec![
64 ScheduleUpdateRequestDataAttributesLayersItemsRestrictionsItems::new()
65 .end_day(
66 ScheduleUpdateRequestDataAttributesLayersItemsRestrictionsItemsEndDay
67 ::FRIDAY,
68 )
69 .end_time("17:00:00".to_string())
70 .start_day(
71 ScheduleUpdateRequestDataAttributesLayersItemsRestrictionsItemsStartDay
72 ::MONDAY,
73 )
74 .start_time("09:00:00".to_string())
75 ],
76 )
77 .rotation_start(
78 DateTime::parse_from_rfc3339("2021-11-06T11:11:11+00:00")
79 .expect("Failed to parse datetime")
80 .with_timezone(&Utc),
81 )
82 ],
83 "Example-On-Call".to_string(),
84 "America/New_York".to_string(),
85 ).tags(vec!["tag1".to_string(), "tag2".to_string(), "tag3".to_string()]),
86 schedule_data_id.clone(),
87 ScheduleUpdateRequestDataType::SCHEDULES,
88 ).relationships(
89 ScheduleUpdateRequestDataRelationships
90 ::new().teams(
91 ScheduleUpdateRequestDataRelationshipsTeams
92 ::new().data(
93 vec![
94 ScheduleUpdateRequestDataRelationshipsTeamsDataItems::new()
95 .id(team_data_id.clone())
96 .type_(ScheduleUpdateRequestDataRelationshipsTeamsDataItemsType::TEAMS)
97 ],
98 ),
99 ),
100 ),
101 );
102 let configuration = datadog::Configuration::new();
103 let api = OnCallAPI::with_config(configuration);
104 let resp = api
105 .update_on_call_schedule(
106 schedule_data_id.clone(),
107 body,
108 UpdateOnCallScheduleOptionalParams::default(),
109 )
110 .await;
111 if let Ok(value) = resp {
112 println!("{:#?}", value);
113 } else {
114 println!("{:#?}", resp.unwrap_err());
115 }
116}
Examples found in repository?
examples/v2_on-call_UpdateOnCallSchedule.rs (line 85)
23async fn main() {
24 // there is a valid "schedule" in the system
25 let schedule_data_id = std::env::var("SCHEDULE_DATA_ID").unwrap();
26 let schedule_data_relationships_layers_data_0_id =
27 std::env::var("SCHEDULE_DATA_RELATIONSHIPS_LAYERS_DATA_0_ID").unwrap();
28
29 // there is a valid "user" in the system
30 let user_data_id = std::env::var("USER_DATA_ID").unwrap();
31
32 // there is a valid "team" in the system
33 let team_data_id = std::env::var("TEAM_DATA_ID").unwrap();
34 let body =
35 ScheduleUpdateRequest::new(
36 ScheduleUpdateRequestData::new(
37 ScheduleUpdateRequestDataAttributes::new(
38 vec![
39 ScheduleUpdateRequestDataAttributesLayersItems::new()
40 .effective_date(
41 DateTime::parse_from_rfc3339("2021-11-01T11:11:11+00:00")
42 .expect("Failed to parse datetime")
43 .with_timezone(&Utc),
44 )
45 .end_date(
46 DateTime::parse_from_rfc3339("2021-11-21T11:11:11+00:00")
47 .expect("Failed to parse datetime")
48 .with_timezone(&Utc),
49 )
50 .id(schedule_data_relationships_layers_data_0_id.clone())
51 .interval(ScheduleUpdateRequestDataAttributesLayersItemsInterval::new().seconds(300))
52 .members(
53 vec![
54 ScheduleUpdateRequestDataAttributesLayersItemsMembersItems
55 ::new().user(
56 ScheduleUpdateRequestDataAttributesLayersItemsMembersItemsUser
57 ::new().id(user_data_id.clone()),
58 )
59 ],
60 )
61 .name("Layer 1".to_string())
62 .restrictions(
63 vec![
64 ScheduleUpdateRequestDataAttributesLayersItemsRestrictionsItems::new()
65 .end_day(
66 ScheduleUpdateRequestDataAttributesLayersItemsRestrictionsItemsEndDay
67 ::FRIDAY,
68 )
69 .end_time("17:00:00".to_string())
70 .start_day(
71 ScheduleUpdateRequestDataAttributesLayersItemsRestrictionsItemsStartDay
72 ::MONDAY,
73 )
74 .start_time("09:00:00".to_string())
75 ],
76 )
77 .rotation_start(
78 DateTime::parse_from_rfc3339("2021-11-06T11:11:11+00:00")
79 .expect("Failed to parse datetime")
80 .with_timezone(&Utc),
81 )
82 ],
83 "Example-On-Call".to_string(),
84 "America/New_York".to_string(),
85 ).tags(vec!["tag1".to_string(), "tag2".to_string(), "tag3".to_string()]),
86 schedule_data_id.clone(),
87 ScheduleUpdateRequestDataType::SCHEDULES,
88 ).relationships(
89 ScheduleUpdateRequestDataRelationships
90 ::new().teams(
91 ScheduleUpdateRequestDataRelationshipsTeams
92 ::new().data(
93 vec![
94 ScheduleUpdateRequestDataRelationshipsTeamsDataItems::new()
95 .id(team_data_id.clone())
96 .type_(ScheduleUpdateRequestDataRelationshipsTeamsDataItemsType::TEAMS)
97 ],
98 ),
99 ),
100 ),
101 );
102 let configuration = datadog::Configuration::new();
103 let api = OnCallAPI::with_config(configuration);
104 let resp = api
105 .update_on_call_schedule(
106 schedule_data_id.clone(),
107 body,
108 UpdateOnCallScheduleOptionalParams::default(),
109 )
110 .await;
111 if let Ok(value) = resp {
112 println!("{:#?}", value);
113 } else {
114 println!("{:#?}", resp.unwrap_err());
115 }
116}
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 copy 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