#[non_exhaustive]pub struct ScheduleCreateRequest {
pub data: ScheduleCreateRequestData,
pub additional_properties: BTreeMap<String, Value>,
/* private fields */
}
Expand description
The top-level request body for schedule creation, wrapping a data
object.
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.data: ScheduleCreateRequestData
The core data wrapper for creating a schedule, encompassing attributes, relationships, and the resource type.
additional_properties: BTreeMap<String, Value>
Implementations§
Source§impl ScheduleCreateRequest
impl ScheduleCreateRequest
Sourcepub fn new(data: ScheduleCreateRequestData) -> ScheduleCreateRequest
pub fn new(data: ScheduleCreateRequestData) -> ScheduleCreateRequest
Examples found in repository?
examples/v2_on-call_CreateOnCallSchedule.rs (lines 30-89)
23async fn main() {
24 // there is a valid "user" in the system
25 let user_data_id = std::env::var("USER_DATA_ID").unwrap();
26
27 // there is a valid "team" in the system
28 let team_data_id = std::env::var("TEAM_DATA_ID").unwrap();
29 let body =
30 ScheduleCreateRequest::new(
31 ScheduleCreateRequestData::new(
32 ScheduleCreateRequestDataAttributes::new(
33 vec![
34 ScheduleCreateRequestDataAttributesLayersItems::new(
35 DateTime::parse_from_rfc3339("2021-11-01T11:11:11+00:00")
36 .expect("Failed to parse datetime")
37 .with_timezone(&Utc),
38 ScheduleCreateRequestDataAttributesLayersItemsInterval::new().days(1),
39 vec![
40 ScheduleCreateRequestDataAttributesLayersItemsMembersItems
41 ::new().user(
42 ScheduleCreateRequestDataAttributesLayersItemsMembersItemsUser
43 ::new().id(user_data_id.clone()),
44 )
45 ],
46 "Layer 1".to_string(),
47 DateTime::parse_from_rfc3339("2021-11-06T11:11:11+00:00")
48 .expect("Failed to parse datetime")
49 .with_timezone(&Utc),
50 )
51 .end_date(
52 DateTime::parse_from_rfc3339("2021-11-21T11:11:11+00:00")
53 .expect("Failed to parse datetime")
54 .with_timezone(&Utc),
55 )
56 .restrictions(
57 vec![
58 ScheduleCreateRequestDataAttributesLayersItemsRestrictionsItems::new()
59 .end_day(
60 ScheduleCreateRequestDataAttributesLayersItemsRestrictionsItemsEndDay
61 ::FRIDAY,
62 )
63 .end_time("17:00:00".to_string())
64 .start_day(
65 ScheduleCreateRequestDataAttributesLayersItemsRestrictionsItemsStartDay
66 ::MONDAY,
67 )
68 .start_time("09:00:00".to_string())
69 ],
70 )
71 ],
72 "Example-On-Call".to_string(),
73 "America/New_York".to_string(),
74 ).tags(vec!["tag1".to_string(), "tag2".to_string()]),
75 ScheduleCreateRequestDataType::SCHEDULES,
76 ).relationships(
77 ScheduleCreateRequestDataRelationships
78 ::new().teams(
79 ScheduleCreateRequestDataRelationshipsTeams
80 ::new().data(
81 vec![
82 ScheduleCreateRequestDataRelationshipsTeamsDataItems::new()
83 .id(team_data_id.clone())
84 .type_(ScheduleCreateRequestDataRelationshipsTeamsDataItemsType::TEAMS)
85 ],
86 ),
87 ),
88 ),
89 );
90 let configuration = datadog::Configuration::new();
91 let api = OnCallAPI::with_config(configuration);
92 let resp = api
93 .create_on_call_schedule(body, CreateOnCallScheduleOptionalParams::default())
94 .await;
95 if let Ok(value) = resp {
96 println!("{:#?}", value);
97 } else {
98 println!("{:#?}", resp.unwrap_err());
99 }
100}
pub fn additional_properties(self, value: BTreeMap<String, Value>) -> Self
Trait Implementations§
Source§impl Clone for ScheduleCreateRequest
impl Clone for ScheduleCreateRequest
Source§fn clone(&self) -> ScheduleCreateRequest
fn clone(&self) -> ScheduleCreateRequest
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 Debug for ScheduleCreateRequest
impl Debug for ScheduleCreateRequest
Source§impl<'de> Deserialize<'de> for ScheduleCreateRequest
impl<'de> Deserialize<'de> for ScheduleCreateRequest
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 ScheduleCreateRequest
impl PartialEq for ScheduleCreateRequest
Source§impl Serialize for ScheduleCreateRequest
impl Serialize for ScheduleCreateRequest
impl StructuralPartialEq for ScheduleCreateRequest
Auto Trait Implementations§
impl Freeze for ScheduleCreateRequest
impl RefUnwindSafe for ScheduleCreateRequest
impl Send for ScheduleCreateRequest
impl Sync for ScheduleCreateRequest
impl Unpin for ScheduleCreateRequest
impl UnwindSafe for ScheduleCreateRequest
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