#[non_exhaustive]pub struct ScheduleCreateRequestDataAttributes {
pub layers: Vec<ScheduleCreateRequestDataAttributesLayersItems>,
pub name: String,
pub tags: Option<Vec<String>>,
pub time_zone: String,
pub additional_properties: BTreeMap<String, Value>,
/* private fields */
}
Expand description
Describes the main attributes for creating a new schedule, including name, layers, time zone, and tags.
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<ScheduleCreateRequestDataAttributesLayersItems>
The layers of on-call coverage that define rotation intervals and restrictions.
name: String
A human-readable name for the new schedule.
A list of tags for categorizing or filtering the schedule.
time_zone: String
The time zone in which the schedule is defined.
additional_properties: BTreeMap<String, Value>
Implementations§
Source§impl ScheduleCreateRequestDataAttributes
impl ScheduleCreateRequestDataAttributes
Sourcepub fn new(
layers: Vec<ScheduleCreateRequestDataAttributesLayersItems>,
name: String,
time_zone: String,
) -> ScheduleCreateRequestDataAttributes
pub fn new( layers: Vec<ScheduleCreateRequestDataAttributesLayersItems>, name: String, time_zone: String, ) -> ScheduleCreateRequestDataAttributes
Examples found in repository?
examples/v2_on-call_CreateOnCallSchedule.rs (lines 32-74)
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}
Examples found in repository?
examples/v2_on-call_CreateOnCallSchedule.rs (line 74)
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 ScheduleCreateRequestDataAttributes
impl Clone for ScheduleCreateRequestDataAttributes
Source§fn clone(&self) -> ScheduleCreateRequestDataAttributes
fn clone(&self) -> ScheduleCreateRequestDataAttributes
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 ScheduleCreateRequestDataAttributes
impl<'de> Deserialize<'de> for ScheduleCreateRequestDataAttributes
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 ScheduleCreateRequestDataAttributes
impl PartialEq for ScheduleCreateRequestDataAttributes
Source§fn eq(&self, other: &ScheduleCreateRequestDataAttributes) -> bool
fn eq(&self, other: &ScheduleCreateRequestDataAttributes) -> bool
Tests for
self
and other
values to be equal, and is used by ==
.impl StructuralPartialEq for ScheduleCreateRequestDataAttributes
Auto Trait Implementations§
impl Freeze for ScheduleCreateRequestDataAttributes
impl RefUnwindSafe for ScheduleCreateRequestDataAttributes
impl Send for ScheduleCreateRequestDataAttributes
impl Sync for ScheduleCreateRequestDataAttributes
impl Unpin for ScheduleCreateRequestDataAttributes
impl UnwindSafe for ScheduleCreateRequestDataAttributes
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