#[non_exhaustive]pub struct ChangeEventCustomAttributes {
pub author: Option<ChangeEventCustomAttributesAuthor>,
pub change_metadata: Option<BTreeMap<String, Value>>,
pub changed_resource: ChangeEventCustomAttributesChangedResource,
pub impacted_resources: Option<Vec<ChangeEventCustomAttributesImpactedResourcesItems>>,
pub new_value: Option<BTreeMap<String, Value>>,
pub prev_value: Option<BTreeMap<String, Value>>,
/* private fields */
}
Expand description
Change event attributes.
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.The entity that made the change. Optional, if provided it must include type
and name
.
change_metadata: Option<BTreeMap<String, Value>>
Free form JSON object with information related to the change
event. Supports up to 100 properties per object and a maximum nesting depth of 10 levels.
changed_resource: ChangeEventCustomAttributesChangedResource
A uniquely identified resource.
impacted_resources: Option<Vec<ChangeEventCustomAttributesImpactedResourcesItems>>
A list of resources impacted by this change. It is recommended to provide an impacted resource to display
the change event at the correct location. Only resources of type service
are supported. Maximum of 100 impacted resources allowed.
new_value: Option<BTreeMap<String, Value>>
Free form JSON object representing the new state of the changed resource.
prev_value: Option<BTreeMap<String, Value>>
Free form JSON object representing the previous state of the changed resource.
Implementations§
Source§impl ChangeEventCustomAttributes
impl ChangeEventCustomAttributes
Sourcepub fn new(
changed_resource: ChangeEventCustomAttributesChangedResource,
) -> ChangeEventCustomAttributes
pub fn new( changed_resource: ChangeEventCustomAttributesChangedResource, ) -> ChangeEventCustomAttributes
Examples found in repository?
examples/v2_events_CreateEvent.rs (lines 26-29)
22async fn main() {
23 let body = EventCreateRequestPayload::new(EventCreateRequest::new(
24 EventPayload::new(
25 EventPayloadAttributes::ChangeEventCustomAttributes(Box::new(
26 ChangeEventCustomAttributes::new(ChangeEventCustomAttributesChangedResource::new(
27 "fallback_payments_test".to_string(),
28 ChangeEventCustomAttributesChangedResourceType::FEATURE_FLAG,
29 ))
30 .author(ChangeEventCustomAttributesAuthor::new(
31 "example@datadog.com".to_string(),
32 ChangeEventCustomAttributesAuthorType::USER,
33 ))
34 .change_metadata(BTreeMap::from([(
35 "resource_link".to_string(),
36 Value::from("datadog.com/feature/fallback_payments_test"),
37 )]))
38 .impacted_resources(vec![
39 ChangeEventCustomAttributesImpactedResourcesItems::new(
40 "payments_api".to_string(),
41 ChangeEventCustomAttributesImpactedResourcesItemsType::SERVICE,
42 ),
43 ])
44 .new_value(BTreeMap::from([
45 ("enabled".to_string(), Value::from("True")),
46 ("percentage".to_string(), Value::from("50%")),
47 ]))
48 .prev_value(BTreeMap::from([
49 ("enabled".to_string(), Value::from("True")),
50 ("percentage".to_string(), Value::from("10%")),
51 ])),
52 )),
53 EventCategory::CHANGE,
54 "payment_processed feature flag updated".to_string(),
55 )
56 .aggregation_key("aggregation_key_123".to_string())
57 .integration_id(EventPayloadIntegrationId::CUSTOM_EVENTS)
58 .message("payment_processed feature flag has been enabled".to_string())
59 .tags(vec!["env:api_client_test".to_string()]),
60 EventCreateRequestType::EVENT,
61 ));
62 let configuration = datadog::Configuration::new();
63 let api = EventsAPI::with_config(configuration);
64 let resp = api.create_event(body).await;
65 if let Ok(value) = resp {
66 println!("{:#?}", value);
67 } else {
68 println!("{:#?}", resp.unwrap_err());
69 }
70}
Examples found in repository?
examples/v2_events_CreateEvent.rs (lines 30-33)
22async fn main() {
23 let body = EventCreateRequestPayload::new(EventCreateRequest::new(
24 EventPayload::new(
25 EventPayloadAttributes::ChangeEventCustomAttributes(Box::new(
26 ChangeEventCustomAttributes::new(ChangeEventCustomAttributesChangedResource::new(
27 "fallback_payments_test".to_string(),
28 ChangeEventCustomAttributesChangedResourceType::FEATURE_FLAG,
29 ))
30 .author(ChangeEventCustomAttributesAuthor::new(
31 "example@datadog.com".to_string(),
32 ChangeEventCustomAttributesAuthorType::USER,
33 ))
34 .change_metadata(BTreeMap::from([(
35 "resource_link".to_string(),
36 Value::from("datadog.com/feature/fallback_payments_test"),
37 )]))
38 .impacted_resources(vec![
39 ChangeEventCustomAttributesImpactedResourcesItems::new(
40 "payments_api".to_string(),
41 ChangeEventCustomAttributesImpactedResourcesItemsType::SERVICE,
42 ),
43 ])
44 .new_value(BTreeMap::from([
45 ("enabled".to_string(), Value::from("True")),
46 ("percentage".to_string(), Value::from("50%")),
47 ]))
48 .prev_value(BTreeMap::from([
49 ("enabled".to_string(), Value::from("True")),
50 ("percentage".to_string(), Value::from("10%")),
51 ])),
52 )),
53 EventCategory::CHANGE,
54 "payment_processed feature flag updated".to_string(),
55 )
56 .aggregation_key("aggregation_key_123".to_string())
57 .integration_id(EventPayloadIntegrationId::CUSTOM_EVENTS)
58 .message("payment_processed feature flag has been enabled".to_string())
59 .tags(vec!["env:api_client_test".to_string()]),
60 EventCreateRequestType::EVENT,
61 ));
62 let configuration = datadog::Configuration::new();
63 let api = EventsAPI::with_config(configuration);
64 let resp = api.create_event(body).await;
65 if let Ok(value) = resp {
66 println!("{:#?}", value);
67 } else {
68 println!("{:#?}", resp.unwrap_err());
69 }
70}
Sourcepub fn change_metadata(self, value: BTreeMap<String, Value>) -> Self
pub fn change_metadata(self, value: BTreeMap<String, Value>) -> Self
Examples found in repository?
examples/v2_events_CreateEvent.rs (lines 34-37)
22async fn main() {
23 let body = EventCreateRequestPayload::new(EventCreateRequest::new(
24 EventPayload::new(
25 EventPayloadAttributes::ChangeEventCustomAttributes(Box::new(
26 ChangeEventCustomAttributes::new(ChangeEventCustomAttributesChangedResource::new(
27 "fallback_payments_test".to_string(),
28 ChangeEventCustomAttributesChangedResourceType::FEATURE_FLAG,
29 ))
30 .author(ChangeEventCustomAttributesAuthor::new(
31 "example@datadog.com".to_string(),
32 ChangeEventCustomAttributesAuthorType::USER,
33 ))
34 .change_metadata(BTreeMap::from([(
35 "resource_link".to_string(),
36 Value::from("datadog.com/feature/fallback_payments_test"),
37 )]))
38 .impacted_resources(vec![
39 ChangeEventCustomAttributesImpactedResourcesItems::new(
40 "payments_api".to_string(),
41 ChangeEventCustomAttributesImpactedResourcesItemsType::SERVICE,
42 ),
43 ])
44 .new_value(BTreeMap::from([
45 ("enabled".to_string(), Value::from("True")),
46 ("percentage".to_string(), Value::from("50%")),
47 ]))
48 .prev_value(BTreeMap::from([
49 ("enabled".to_string(), Value::from("True")),
50 ("percentage".to_string(), Value::from("10%")),
51 ])),
52 )),
53 EventCategory::CHANGE,
54 "payment_processed feature flag updated".to_string(),
55 )
56 .aggregation_key("aggregation_key_123".to_string())
57 .integration_id(EventPayloadIntegrationId::CUSTOM_EVENTS)
58 .message("payment_processed feature flag has been enabled".to_string())
59 .tags(vec!["env:api_client_test".to_string()]),
60 EventCreateRequestType::EVENT,
61 ));
62 let configuration = datadog::Configuration::new();
63 let api = EventsAPI::with_config(configuration);
64 let resp = api.create_event(body).await;
65 if let Ok(value) = resp {
66 println!("{:#?}", value);
67 } else {
68 println!("{:#?}", resp.unwrap_err());
69 }
70}
Sourcepub fn impacted_resources(
self,
value: Vec<ChangeEventCustomAttributesImpactedResourcesItems>,
) -> Self
pub fn impacted_resources( self, value: Vec<ChangeEventCustomAttributesImpactedResourcesItems>, ) -> Self
Examples found in repository?
examples/v2_events_CreateEvent.rs (lines 38-43)
22async fn main() {
23 let body = EventCreateRequestPayload::new(EventCreateRequest::new(
24 EventPayload::new(
25 EventPayloadAttributes::ChangeEventCustomAttributes(Box::new(
26 ChangeEventCustomAttributes::new(ChangeEventCustomAttributesChangedResource::new(
27 "fallback_payments_test".to_string(),
28 ChangeEventCustomAttributesChangedResourceType::FEATURE_FLAG,
29 ))
30 .author(ChangeEventCustomAttributesAuthor::new(
31 "example@datadog.com".to_string(),
32 ChangeEventCustomAttributesAuthorType::USER,
33 ))
34 .change_metadata(BTreeMap::from([(
35 "resource_link".to_string(),
36 Value::from("datadog.com/feature/fallback_payments_test"),
37 )]))
38 .impacted_resources(vec![
39 ChangeEventCustomAttributesImpactedResourcesItems::new(
40 "payments_api".to_string(),
41 ChangeEventCustomAttributesImpactedResourcesItemsType::SERVICE,
42 ),
43 ])
44 .new_value(BTreeMap::from([
45 ("enabled".to_string(), Value::from("True")),
46 ("percentage".to_string(), Value::from("50%")),
47 ]))
48 .prev_value(BTreeMap::from([
49 ("enabled".to_string(), Value::from("True")),
50 ("percentage".to_string(), Value::from("10%")),
51 ])),
52 )),
53 EventCategory::CHANGE,
54 "payment_processed feature flag updated".to_string(),
55 )
56 .aggregation_key("aggregation_key_123".to_string())
57 .integration_id(EventPayloadIntegrationId::CUSTOM_EVENTS)
58 .message("payment_processed feature flag has been enabled".to_string())
59 .tags(vec!["env:api_client_test".to_string()]),
60 EventCreateRequestType::EVENT,
61 ));
62 let configuration = datadog::Configuration::new();
63 let api = EventsAPI::with_config(configuration);
64 let resp = api.create_event(body).await;
65 if let Ok(value) = resp {
66 println!("{:#?}", value);
67 } else {
68 println!("{:#?}", resp.unwrap_err());
69 }
70}
Sourcepub fn new_value(self, value: BTreeMap<String, Value>) -> Self
pub fn new_value(self, value: BTreeMap<String, Value>) -> Self
Examples found in repository?
examples/v2_events_CreateEvent.rs (lines 44-47)
22async fn main() {
23 let body = EventCreateRequestPayload::new(EventCreateRequest::new(
24 EventPayload::new(
25 EventPayloadAttributes::ChangeEventCustomAttributes(Box::new(
26 ChangeEventCustomAttributes::new(ChangeEventCustomAttributesChangedResource::new(
27 "fallback_payments_test".to_string(),
28 ChangeEventCustomAttributesChangedResourceType::FEATURE_FLAG,
29 ))
30 .author(ChangeEventCustomAttributesAuthor::new(
31 "example@datadog.com".to_string(),
32 ChangeEventCustomAttributesAuthorType::USER,
33 ))
34 .change_metadata(BTreeMap::from([(
35 "resource_link".to_string(),
36 Value::from("datadog.com/feature/fallback_payments_test"),
37 )]))
38 .impacted_resources(vec![
39 ChangeEventCustomAttributesImpactedResourcesItems::new(
40 "payments_api".to_string(),
41 ChangeEventCustomAttributesImpactedResourcesItemsType::SERVICE,
42 ),
43 ])
44 .new_value(BTreeMap::from([
45 ("enabled".to_string(), Value::from("True")),
46 ("percentage".to_string(), Value::from("50%")),
47 ]))
48 .prev_value(BTreeMap::from([
49 ("enabled".to_string(), Value::from("True")),
50 ("percentage".to_string(), Value::from("10%")),
51 ])),
52 )),
53 EventCategory::CHANGE,
54 "payment_processed feature flag updated".to_string(),
55 )
56 .aggregation_key("aggregation_key_123".to_string())
57 .integration_id(EventPayloadIntegrationId::CUSTOM_EVENTS)
58 .message("payment_processed feature flag has been enabled".to_string())
59 .tags(vec!["env:api_client_test".to_string()]),
60 EventCreateRequestType::EVENT,
61 ));
62 let configuration = datadog::Configuration::new();
63 let api = EventsAPI::with_config(configuration);
64 let resp = api.create_event(body).await;
65 if let Ok(value) = resp {
66 println!("{:#?}", value);
67 } else {
68 println!("{:#?}", resp.unwrap_err());
69 }
70}
Sourcepub fn prev_value(self, value: BTreeMap<String, Value>) -> Self
pub fn prev_value(self, value: BTreeMap<String, Value>) -> Self
Examples found in repository?
examples/v2_events_CreateEvent.rs (lines 48-51)
22async fn main() {
23 let body = EventCreateRequestPayload::new(EventCreateRequest::new(
24 EventPayload::new(
25 EventPayloadAttributes::ChangeEventCustomAttributes(Box::new(
26 ChangeEventCustomAttributes::new(ChangeEventCustomAttributesChangedResource::new(
27 "fallback_payments_test".to_string(),
28 ChangeEventCustomAttributesChangedResourceType::FEATURE_FLAG,
29 ))
30 .author(ChangeEventCustomAttributesAuthor::new(
31 "example@datadog.com".to_string(),
32 ChangeEventCustomAttributesAuthorType::USER,
33 ))
34 .change_metadata(BTreeMap::from([(
35 "resource_link".to_string(),
36 Value::from("datadog.com/feature/fallback_payments_test"),
37 )]))
38 .impacted_resources(vec![
39 ChangeEventCustomAttributesImpactedResourcesItems::new(
40 "payments_api".to_string(),
41 ChangeEventCustomAttributesImpactedResourcesItemsType::SERVICE,
42 ),
43 ])
44 .new_value(BTreeMap::from([
45 ("enabled".to_string(), Value::from("True")),
46 ("percentage".to_string(), Value::from("50%")),
47 ]))
48 .prev_value(BTreeMap::from([
49 ("enabled".to_string(), Value::from("True")),
50 ("percentage".to_string(), Value::from("10%")),
51 ])),
52 )),
53 EventCategory::CHANGE,
54 "payment_processed feature flag updated".to_string(),
55 )
56 .aggregation_key("aggregation_key_123".to_string())
57 .integration_id(EventPayloadIntegrationId::CUSTOM_EVENTS)
58 .message("payment_processed feature flag has been enabled".to_string())
59 .tags(vec!["env:api_client_test".to_string()]),
60 EventCreateRequestType::EVENT,
61 ));
62 let configuration = datadog::Configuration::new();
63 let api = EventsAPI::with_config(configuration);
64 let resp = api.create_event(body).await;
65 if let Ok(value) = resp {
66 println!("{:#?}", value);
67 } else {
68 println!("{:#?}", resp.unwrap_err());
69 }
70}
Trait Implementations§
Source§impl Clone for ChangeEventCustomAttributes
impl Clone for ChangeEventCustomAttributes
Source§fn clone(&self) -> ChangeEventCustomAttributes
fn clone(&self) -> ChangeEventCustomAttributes
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 ChangeEventCustomAttributes
impl Debug for ChangeEventCustomAttributes
Source§impl<'de> Deserialize<'de> for ChangeEventCustomAttributes
impl<'de> Deserialize<'de> for ChangeEventCustomAttributes
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 ChangeEventCustomAttributes
Auto Trait Implementations§
impl Freeze for ChangeEventCustomAttributes
impl RefUnwindSafe for ChangeEventCustomAttributes
impl Send for ChangeEventCustomAttributes
impl Sync for ChangeEventCustomAttributes
impl Unpin for ChangeEventCustomAttributes
impl UnwindSafe for ChangeEventCustomAttributes
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