#[non_exhaustive]pub struct AWSAccountCreateRequestAttributes {
pub account_tags: Option<Option<Vec<String>>>,
pub auth_config: AWSAuthConfig,
pub aws_account_id: String,
pub aws_partition: AWSAccountPartition,
pub aws_regions: Option<AWSRegions>,
pub logs_config: Option<AWSLogsConfig>,
pub metrics_config: Option<AWSMetricsConfig>,
pub resources_config: Option<AWSResourcesConfig>,
pub traces_config: Option<AWSTracesConfig>,
pub additional_properties: BTreeMap<String, Value>,
/* private fields */
}
Expand description
The AWS Account Integration Config to be created.
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.Tags to apply to all hosts and metrics reporting for this account. Defaults to []
.
auth_config: AWSAuthConfig
AWS Authentication config.
aws_account_id: String
AWS Account ID.
aws_partition: AWSAccountPartition
AWS partition your AWS account is scoped to. Defaults to aws
.
See Partitions in the AWS documentation for more information.
aws_regions: Option<AWSRegions>
AWS Regions to collect data from. Defaults to include_all
.
logs_config: Option<AWSLogsConfig>
AWS Logs Collection config.
metrics_config: Option<AWSMetricsConfig>
AWS Metrics Collection config.
resources_config: Option<AWSResourcesConfig>
AWS Resources Collection config.
traces_config: Option<AWSTracesConfig>
AWS Traces Collection config.
additional_properties: BTreeMap<String, Value>
Implementations§
Source§impl AWSAccountCreateRequestAttributes
impl AWSAccountCreateRequestAttributes
Sourcepub fn new(
auth_config: AWSAuthConfig,
aws_account_id: String,
aws_partition: AWSAccountPartition,
) -> AWSAccountCreateRequestAttributes
pub fn new( auth_config: AWSAuthConfig, aws_account_id: String, aws_partition: AWSAccountPartition, ) -> AWSAccountCreateRequestAttributes
Examples found in repository?
examples/v2_aws-integration_CreateAWSAccount_1716720881.rs (lines 21-27)
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 21-28)
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}
Examples found in repository?
examples/v2_aws-integration_CreateAWSAccount_1716720881.rs (line 28)
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 (line 29)
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 aws_regions(self, value: AWSRegions) -> Self
Sourcepub fn logs_config(self, value: AWSLogsConfig) -> Self
pub fn logs_config(self, value: AWSLogsConfig) -> Self
Examples found in repository?
examples/v2_aws-integration_CreateAWSAccount_1716720881.rs (lines 29-38)
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 30-39)
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}
Sourcepub fn metrics_config(self, value: AWSMetricsConfig) -> Self
pub fn metrics_config(self, value: AWSMetricsConfig) -> Self
Examples found in repository?
examples/v2_aws-integration_CreateAWSAccount_1716720881.rs (lines 39-48)
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 40-49)
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}
Sourcepub fn resources_config(self, value: AWSResourcesConfig) -> Self
pub fn resources_config(self, value: AWSResourcesConfig) -> Self
Examples found in repository?
examples/v2_aws-integration_CreateAWSAccount_1716720881.rs (lines 49-53)
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 50-54)
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}
Sourcepub fn traces_config(self, value: AWSTracesConfig) -> Self
pub fn traces_config(self, value: AWSTracesConfig) -> Self
Examples found in repository?
examples/v2_aws-integration_CreateAWSAccount_1716720881.rs (line 54)
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 (line 55)
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 AWSAccountCreateRequestAttributes
impl Clone for AWSAccountCreateRequestAttributes
Source§fn clone(&self) -> AWSAccountCreateRequestAttributes
fn clone(&self) -> AWSAccountCreateRequestAttributes
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 AWSAccountCreateRequestAttributes
impl<'de> Deserialize<'de> for AWSAccountCreateRequestAttributes
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 AWSAccountCreateRequestAttributes
impl PartialEq for AWSAccountCreateRequestAttributes
Source§fn eq(&self, other: &AWSAccountCreateRequestAttributes) -> bool
fn eq(&self, other: &AWSAccountCreateRequestAttributes) -> bool
Tests for
self
and other
values to be equal, and is used by ==
.impl StructuralPartialEq for AWSAccountCreateRequestAttributes
Auto Trait Implementations§
impl Freeze for AWSAccountCreateRequestAttributes
impl RefUnwindSafe for AWSAccountCreateRequestAttributes
impl Send for AWSAccountCreateRequestAttributes
impl Sync for AWSAccountCreateRequestAttributes
impl Unpin for AWSAccountCreateRequestAttributes
impl UnwindSafe for AWSAccountCreateRequestAttributes
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