#[non_exhaustive]pub struct AWSAccountCreateRequestData {
pub attributes: AWSAccountCreateRequestAttributes,
pub type_: AWSAccountType,
pub additional_properties: BTreeMap<String, Value>,
/* private fields */
}
Expand description
AWS Account Create Request data.
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: AWSAccountCreateRequestAttributes
The AWS Account Integration Config to be created.
type_: AWSAccountType
AWS Account resource type.
additional_properties: BTreeMap<String, Value>
Implementations§
Source§impl AWSAccountCreateRequestData
impl AWSAccountCreateRequestData
Sourcepub fn new(
attributes: AWSAccountCreateRequestAttributes,
type_: AWSAccountType,
) -> AWSAccountCreateRequestData
pub fn new( attributes: AWSAccountCreateRequestAttributes, type_: AWSAccountType, ) -> AWSAccountCreateRequestData
Examples found in repository?
examples/v2_aws-integration_CreateAWSAccount_1716720881.rs (lines 20-56)
19async fn main() {
20 let body = AWSAccountCreateRequest::new(AWSAccountCreateRequestData::new(
21 AWSAccountCreateRequestAttributes::new(
22 AWSAuthConfig::AWSAuthConfigRole(Box::new(AWSAuthConfigRole::new(
23 "DatadogIntegrationRole".to_string(),
24 ))),
25 "123456789012".to_string(),
26 AWSAccountPartition::AWS,
27 )
28 .account_tags(Some(vec!["key:value".to_string()]))
29 .logs_config(
30 AWSLogsConfig::new().lambda_forwarder(
31 AWSLambdaForwarderConfig::new()
32 .lambdas(vec![
33 "arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder"
34 .to_string(),
35 ])
36 .sources(vec!["s3".to_string()]),
37 ),
38 )
39 .metrics_config(
40 AWSMetricsConfig::new()
41 .automute_enabled(true)
42 .collect_cloudwatch_alarms(true)
43 .collect_custom_metrics(true)
44 .enabled(true)
45 .tag_filters(vec![AWSNamespaceTagFilter::new()
46 .namespace("AWS/EC2".to_string())
47 .tags(Some(vec!["key:value".to_string()]))]),
48 )
49 .resources_config(
50 AWSResourcesConfig::new()
51 .cloud_security_posture_management_collection(false)
52 .extended_collection(false),
53 )
54 .traces_config(AWSTracesConfig::new()),
55 AWSAccountType::ACCOUNT,
56 ));
57 let mut configuration = datadog::Configuration::new();
58 configuration.set_unstable_operation_enabled("v2.CreateAWSAccount", true);
59 let api = AWSIntegrationAPI::with_config(configuration);
60 let resp = api.create_aws_account(body).await;
61 if let Ok(value) = resp {
62 println!("{:#?}", value);
63 } else {
64 println!("{:#?}", resp.unwrap_err());
65 }
66}
More examples
examples/v2_aws-integration_CreateAWSAccount.rs (lines 20-57)
19async fn main() {
20 let body = AWSAccountCreateRequest::new(AWSAccountCreateRequestData::new(
21 AWSAccountCreateRequestAttributes::new(
22 AWSAuthConfig::AWSAuthConfigKeys(Box::new(
23 AWSAuthConfigKeys::new("AKIAIOSFODNN7EXAMPLE".to_string())
24 .secret_access_key("wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY".to_string()),
25 )),
26 "123456789012".to_string(),
27 AWSAccountPartition::AWS,
28 )
29 .account_tags(Some(vec!["key:value".to_string()]))
30 .logs_config(
31 AWSLogsConfig::new().lambda_forwarder(
32 AWSLambdaForwarderConfig::new()
33 .lambdas(vec![
34 "arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder"
35 .to_string(),
36 ])
37 .sources(vec!["s3".to_string()]),
38 ),
39 )
40 .metrics_config(
41 AWSMetricsConfig::new()
42 .automute_enabled(true)
43 .collect_cloudwatch_alarms(true)
44 .collect_custom_metrics(true)
45 .enabled(true)
46 .tag_filters(vec![AWSNamespaceTagFilter::new()
47 .namespace("AWS/EC2".to_string())
48 .tags(Some(vec!["key:value".to_string()]))]),
49 )
50 .resources_config(
51 AWSResourcesConfig::new()
52 .cloud_security_posture_management_collection(false)
53 .extended_collection(false),
54 )
55 .traces_config(AWSTracesConfig::new()),
56 AWSAccountType::ACCOUNT,
57 ));
58 let mut configuration = datadog::Configuration::new();
59 configuration.set_unstable_operation_enabled("v2.CreateAWSAccount", true);
60 let api = AWSIntegrationAPI::with_config(configuration);
61 let resp = api.create_aws_account(body).await;
62 if let Ok(value) = resp {
63 println!("{:#?}", value);
64 } else {
65 println!("{:#?}", resp.unwrap_err());
66 }
67}
pub fn additional_properties(self, value: BTreeMap<String, Value>) -> Self
Trait Implementations§
Source§impl Clone for AWSAccountCreateRequestData
impl Clone for AWSAccountCreateRequestData
Source§fn clone(&self) -> AWSAccountCreateRequestData
fn clone(&self) -> AWSAccountCreateRequestData
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 AWSAccountCreateRequestData
impl Debug for AWSAccountCreateRequestData
Source§impl<'de> Deserialize<'de> for AWSAccountCreateRequestData
impl<'de> Deserialize<'de> for AWSAccountCreateRequestData
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 AWSAccountCreateRequestData
Auto Trait Implementations§
impl Freeze for AWSAccountCreateRequestData
impl RefUnwindSafe for AWSAccountCreateRequestData
impl Send for AWSAccountCreateRequestData
impl Sync for AWSAccountCreateRequestData
impl Unpin for AWSAccountCreateRequestData
impl UnwindSafe for AWSAccountCreateRequestData
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