#[non_exhaustive]pub struct ScheduleUpdateRequestData {
pub attributes: ScheduleUpdateRequestDataAttributes,
pub id: String,
pub relationships: Option<ScheduleUpdateRequestDataRelationships>,
pub type_: ScheduleUpdateRequestDataType,
pub additional_properties: BTreeMap<String, Value>,
/* private fields */
}
Expand description
Contains all data needed to update an existing schedule, including its attributes (such as name and time zone) and any relationships to teams.
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.attributes: ScheduleUpdateRequestDataAttributes
Defines the updatable attributes for a schedule, such as name, time zone, and layers.
id: String
The ID of the schedule to be updated.
relationships: Option<ScheduleUpdateRequestDataRelationships>
Houses relationships for the schedule update, typically referencing teams.
type_: ScheduleUpdateRequestDataType
Schedules resource type.
additional_properties: BTreeMap<String, Value>
Implementations§
Source§impl ScheduleUpdateRequestData
impl ScheduleUpdateRequestData
Sourcepub fn new(
attributes: ScheduleUpdateRequestDataAttributes,
id: String,
type_: ScheduleUpdateRequestDataType,
) -> ScheduleUpdateRequestData
pub fn new( attributes: ScheduleUpdateRequestDataAttributes, id: String, type_: ScheduleUpdateRequestDataType, ) -> ScheduleUpdateRequestData
Examples found in repository?
examples/v2_on-call_UpdateOnCallSchedule.rs (lines 34-68)
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}
Sourcepub fn relationships(
self,
value: ScheduleUpdateRequestDataRelationships,
) -> Self
pub fn relationships( self, value: ScheduleUpdateRequestDataRelationships, ) -> Self
Examples found in repository?
examples/v2_on-call_UpdateOnCallSchedule.rs (lines 69-74)
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 ScheduleUpdateRequestData
impl Clone for ScheduleUpdateRequestData
Source§fn clone(&self) -> ScheduleUpdateRequestData
fn clone(&self) -> ScheduleUpdateRequestData
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 ScheduleUpdateRequestData
impl Debug for ScheduleUpdateRequestData
Source§impl<'de> Deserialize<'de> for ScheduleUpdateRequestData
impl<'de> Deserialize<'de> for ScheduleUpdateRequestData
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 ScheduleUpdateRequestData
Auto Trait Implementations§
impl Freeze for ScheduleUpdateRequestData
impl RefUnwindSafe for ScheduleUpdateRequestData
impl Send for ScheduleUpdateRequestData
impl Sync for ScheduleUpdateRequestData
impl Unpin for ScheduleUpdateRequestData
impl UnwindSafe for ScheduleUpdateRequestData
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