#[non_exhaustive]pub struct EscalationPolicyCreateRequestData {
pub attributes: EscalationPolicyCreateRequestDataAttributes,
pub relationships: Option<EscalationPolicyCreateRequestDataRelationships>,
pub type_: EscalationPolicyCreateRequestDataType,
pub additional_properties: BTreeMap<String, Value>,
/* private fields */
}
Expand description
Represents the data for creating an escalation policy, including its attributes, relationships, and resource type.
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: EscalationPolicyCreateRequestDataAttributes
Defines the attributes for creating an escalation policy, including its description, name, resolution behavior, retries, and steps.
relationships: Option<EscalationPolicyCreateRequestDataRelationships>
Represents relationships in an escalation policy creation request, including references to teams.
type_: EscalationPolicyCreateRequestDataType
Indicates that the resource is of type policies
.
additional_properties: BTreeMap<String, Value>
Implementations§
Source§impl EscalationPolicyCreateRequestData
impl EscalationPolicyCreateRequestData
Sourcepub fn new(
attributes: EscalationPolicyCreateRequestDataAttributes,
type_: EscalationPolicyCreateRequestDataType,
) -> EscalationPolicyCreateRequestData
pub fn new( attributes: EscalationPolicyCreateRequestDataAttributes, type_: EscalationPolicyCreateRequestDataType, ) -> EscalationPolicyCreateRequestData
Examples found in repository?
examples/v2_on-call_CreateOnCallEscalationPolicy.rs (lines 29-58)
19async fn main() {
20 // there is a valid "user" in the system
21 let user_data_id = std::env::var("USER_DATA_ID").unwrap();
22
23 // there is a valid "schedule" in the system
24 let schedule_data_id = std::env::var("SCHEDULE_DATA_ID").unwrap();
25
26 // there is a valid "dd_team" in the system
27 let dd_team_data_id = std::env::var("DD_TEAM_DATA_ID").unwrap();
28 let body = EscalationPolicyCreateRequest::new(
29 EscalationPolicyCreateRequestData::new(
30 EscalationPolicyCreateRequestDataAttributes::new(
31 "Example-On-Call".to_string(),
32 vec![
33 EscalationPolicyCreateRequestDataAttributesStepsItems::new(vec![
34 EscalationPolicyStepTarget::new()
35 .id(user_data_id.clone())
36 .type_(EscalationPolicyStepTargetType::USERS),
37 EscalationPolicyStepTarget::new()
38 .id(schedule_data_id.clone())
39 .type_(EscalationPolicyStepTargetType::SCHEDULES),
40 EscalationPolicyStepTarget::new()
41 .id(dd_team_data_id.clone())
42 .type_(EscalationPolicyStepTargetType::TEAMS),
43 ])
44 .assignment(EscalationPolicyStepAttributesAssignment::DEFAULT)
45 .escalate_after_seconds(3600),
46 EscalationPolicyCreateRequestDataAttributesStepsItems::new(vec![
47 EscalationPolicyStepTarget::new()
48 .id(dd_team_data_id.clone())
49 .type_(EscalationPolicyStepTargetType::TEAMS),
50 ])
51 .assignment(EscalationPolicyStepAttributesAssignment::ROUND_ROBIN)
52 .escalate_after_seconds(3600),
53 ],
54 )
55 .resolve_page_on_policy_end(true)
56 .retries(2),
57 EscalationPolicyCreateRequestDataType::POLICIES,
58 )
59 .relationships(EscalationPolicyCreateRequestDataRelationships::new().teams(
60 DataRelationshipsTeams::new().data(vec![DataRelationshipsTeamsDataItems::new(
61 dd_team_data_id.clone(),
62 DataRelationshipsTeamsDataItemsType::TEAMS,
63 )]),
64 )),
65 );
66 let configuration = datadog::Configuration::new();
67 let api = OnCallAPI::with_config(configuration);
68 let resp = api
69 .create_on_call_escalation_policy(
70 body,
71 CreateOnCallEscalationPolicyOptionalParams::default()
72 .include("steps.targets".to_string()),
73 )
74 .await;
75 if let Ok(value) = resp {
76 println!("{:#?}", value);
77 } else {
78 println!("{:#?}", resp.unwrap_err());
79 }
80}
Sourcepub fn relationships(
self,
value: EscalationPolicyCreateRequestDataRelationships,
) -> Self
pub fn relationships( self, value: EscalationPolicyCreateRequestDataRelationships, ) -> Self
Examples found in repository?
examples/v2_on-call_CreateOnCallEscalationPolicy.rs (lines 59-64)
19async fn main() {
20 // there is a valid "user" in the system
21 let user_data_id = std::env::var("USER_DATA_ID").unwrap();
22
23 // there is a valid "schedule" in the system
24 let schedule_data_id = std::env::var("SCHEDULE_DATA_ID").unwrap();
25
26 // there is a valid "dd_team" in the system
27 let dd_team_data_id = std::env::var("DD_TEAM_DATA_ID").unwrap();
28 let body = EscalationPolicyCreateRequest::new(
29 EscalationPolicyCreateRequestData::new(
30 EscalationPolicyCreateRequestDataAttributes::new(
31 "Example-On-Call".to_string(),
32 vec![
33 EscalationPolicyCreateRequestDataAttributesStepsItems::new(vec![
34 EscalationPolicyStepTarget::new()
35 .id(user_data_id.clone())
36 .type_(EscalationPolicyStepTargetType::USERS),
37 EscalationPolicyStepTarget::new()
38 .id(schedule_data_id.clone())
39 .type_(EscalationPolicyStepTargetType::SCHEDULES),
40 EscalationPolicyStepTarget::new()
41 .id(dd_team_data_id.clone())
42 .type_(EscalationPolicyStepTargetType::TEAMS),
43 ])
44 .assignment(EscalationPolicyStepAttributesAssignment::DEFAULT)
45 .escalate_after_seconds(3600),
46 EscalationPolicyCreateRequestDataAttributesStepsItems::new(vec![
47 EscalationPolicyStepTarget::new()
48 .id(dd_team_data_id.clone())
49 .type_(EscalationPolicyStepTargetType::TEAMS),
50 ])
51 .assignment(EscalationPolicyStepAttributesAssignment::ROUND_ROBIN)
52 .escalate_after_seconds(3600),
53 ],
54 )
55 .resolve_page_on_policy_end(true)
56 .retries(2),
57 EscalationPolicyCreateRequestDataType::POLICIES,
58 )
59 .relationships(EscalationPolicyCreateRequestDataRelationships::new().teams(
60 DataRelationshipsTeams::new().data(vec![DataRelationshipsTeamsDataItems::new(
61 dd_team_data_id.clone(),
62 DataRelationshipsTeamsDataItemsType::TEAMS,
63 )]),
64 )),
65 );
66 let configuration = datadog::Configuration::new();
67 let api = OnCallAPI::with_config(configuration);
68 let resp = api
69 .create_on_call_escalation_policy(
70 body,
71 CreateOnCallEscalationPolicyOptionalParams::default()
72 .include("steps.targets".to_string()),
73 )
74 .await;
75 if let Ok(value) = resp {
76 println!("{:#?}", value);
77 } else {
78 println!("{:#?}", resp.unwrap_err());
79 }
80}
pub fn additional_properties(self, value: BTreeMap<String, Value>) -> Self
Trait Implementations§
Source§impl Clone for EscalationPolicyCreateRequestData
impl Clone for EscalationPolicyCreateRequestData
Source§fn clone(&self) -> EscalationPolicyCreateRequestData
fn clone(&self) -> EscalationPolicyCreateRequestData
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 EscalationPolicyCreateRequestData
impl<'de> Deserialize<'de> for EscalationPolicyCreateRequestData
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 EscalationPolicyCreateRequestData
impl PartialEq for EscalationPolicyCreateRequestData
Source§fn eq(&self, other: &EscalationPolicyCreateRequestData) -> bool
fn eq(&self, other: &EscalationPolicyCreateRequestData) -> bool
Tests for
self
and other
values to be equal, and is used by ==
.impl StructuralPartialEq for EscalationPolicyCreateRequestData
Auto Trait Implementations§
impl Freeze for EscalationPolicyCreateRequestData
impl RefUnwindSafe for EscalationPolicyCreateRequestData
impl Send for EscalationPolicyCreateRequestData
impl Sync for EscalationPolicyCreateRequestData
impl Unpin for EscalationPolicyCreateRequestData
impl UnwindSafe for EscalationPolicyCreateRequestData
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