#[non_exhaustive]pub struct AWSMetricsConfig {
pub automute_enabled: Option<bool>,
pub collect_cloudwatch_alarms: Option<bool>,
pub collect_custom_metrics: Option<bool>,
pub enabled: Option<bool>,
pub namespace_filters: Option<AWSNamespaceFilters>,
pub tag_filters: Option<Vec<AWSNamespaceTagFilter>>,
pub additional_properties: BTreeMap<String, Value>,
/* private fields */
}
Expand description
AWS Metrics Collection config.
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.automute_enabled: Option<bool>
Enable EC2 automute for AWS metrics. Defaults to true
.
collect_cloudwatch_alarms: Option<bool>
Enable CloudWatch alarms collection. Defaults to false
.
collect_custom_metrics: Option<bool>
Enable custom metrics collection. Defaults to false
.
enabled: Option<bool>
Enable AWS metrics collection. Defaults to true
.
namespace_filters: Option<AWSNamespaceFilters>
AWS Metrics namespace filters. Defaults to exclude_only
.
tag_filters: Option<Vec<AWSNamespaceTagFilter>>
AWS Metrics collection tag filters list. Defaults to []
.
additional_properties: BTreeMap<String, Value>
Implementations§
Source§impl AWSMetricsConfig
impl AWSMetricsConfig
Sourcepub fn new() -> AWSMetricsConfig
pub fn new() -> AWSMetricsConfig
Examples found in repository?
examples/v2_aws-integration_CreateAWSAccount_1716720881.rs (line 49)
21async fn main() {
22 let body = AWSAccountCreateRequest::new(AWSAccountCreateRequestData::new(
23 AWSAccountCreateRequestAttributes::new(
24 AWSAuthConfig::AWSAuthConfigRole(Box::new(AWSAuthConfigRole::new(
25 "DatadogIntegrationRole".to_string(),
26 ))),
27 "123456789012".to_string(),
28 AWSAccountPartition::AWS,
29 )
30 .account_tags(Some(vec!["key:value".to_string()]))
31 .logs_config(
32 AWSLogsConfig::new().lambda_forwarder(
33 AWSLambdaForwarderConfig::new()
34 .lambdas(vec![
35 "arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder"
36 .to_string(),
37 ])
38 .log_source_config(AWSLambdaForwarderConfigLogSourceConfig::new().tag_filters(
39 vec![
40 AWSLogSourceTagFilter::new()
41 .source("s3".to_string())
42 .tags(Some(vec!["test:test".to_string()]))
43 ],
44 ))
45 .sources(vec!["s3".to_string()]),
46 ),
47 )
48 .metrics_config(
49 AWSMetricsConfig::new()
50 .automute_enabled(true)
51 .collect_cloudwatch_alarms(true)
52 .collect_custom_metrics(true)
53 .enabled(true)
54 .tag_filters(vec![AWSNamespaceTagFilter::new()
55 .namespace("AWS/EC2".to_string())
56 .tags(Some(vec!["key:value".to_string()]))]),
57 )
58 .resources_config(
59 AWSResourcesConfig::new()
60 .cloud_security_posture_management_collection(false)
61 .extended_collection(false),
62 )
63 .traces_config(AWSTracesConfig::new()),
64 AWSAccountType::ACCOUNT,
65 ));
66 let mut configuration = datadog::Configuration::new();
67 configuration.set_unstable_operation_enabled("v2.CreateAWSAccount", true);
68 let api = AWSIntegrationAPI::with_config(configuration);
69 let resp = api.create_aws_account(body).await;
70 if let Ok(value) = resp {
71 println!("{:#?}", value);
72 } else {
73 println!("{:#?}", resp.unwrap_err());
74 }
75}
More examples
examples/v2_aws-integration_CreateAWSAccount.rs (line 50)
21async fn main() {
22 let body = AWSAccountCreateRequest::new(AWSAccountCreateRequestData::new(
23 AWSAccountCreateRequestAttributes::new(
24 AWSAuthConfig::AWSAuthConfigKeys(Box::new(
25 AWSAuthConfigKeys::new("AKIAIOSFODNN7EXAMPLE".to_string())
26 .secret_access_key("wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY".to_string()),
27 )),
28 "123456789012".to_string(),
29 AWSAccountPartition::AWS,
30 )
31 .account_tags(Some(vec!["key:value".to_string()]))
32 .logs_config(
33 AWSLogsConfig::new().lambda_forwarder(
34 AWSLambdaForwarderConfig::new()
35 .lambdas(vec![
36 "arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder"
37 .to_string(),
38 ])
39 .log_source_config(AWSLambdaForwarderConfigLogSourceConfig::new().tag_filters(
40 vec![
41 AWSLogSourceTagFilter::new()
42 .source("s3".to_string())
43 .tags(Some(vec!["test:test".to_string()]))
44 ],
45 ))
46 .sources(vec!["s3".to_string()]),
47 ),
48 )
49 .metrics_config(
50 AWSMetricsConfig::new()
51 .automute_enabled(true)
52 .collect_cloudwatch_alarms(true)
53 .collect_custom_metrics(true)
54 .enabled(true)
55 .tag_filters(vec![AWSNamespaceTagFilter::new()
56 .namespace("AWS/EC2".to_string())
57 .tags(Some(vec!["key:value".to_string()]))]),
58 )
59 .resources_config(
60 AWSResourcesConfig::new()
61 .cloud_security_posture_management_collection(false)
62 .extended_collection(false),
63 )
64 .traces_config(AWSTracesConfig::new()),
65 AWSAccountType::ACCOUNT,
66 ));
67 let mut configuration = datadog::Configuration::new();
68 configuration.set_unstable_operation_enabled("v2.CreateAWSAccount", true);
69 let api = AWSIntegrationAPI::with_config(configuration);
70 let resp = api.create_aws_account(body).await;
71 if let Ok(value) = resp {
72 println!("{:#?}", value);
73 } else {
74 println!("{:#?}", resp.unwrap_err());
75 }
76}
examples/v2_aws-integration_UpdateAWSAccount.rs (line 58)
21async fn main() {
22 // there is a valid "aws_account_v2" in the system
23 let aws_account_v2_data_id = std::env::var("AWS_ACCOUNT_V2_DATA_ID").unwrap();
24 let body =
25 AWSAccountUpdateRequest::new(
26 AWSAccountUpdateRequestData::new(
27 AWSAccountUpdateRequestAttributes::new("123456789012".to_string())
28 .account_tags(Some(vec!["key:value".to_string()]))
29 .auth_config(
30 AWSAuthConfig::AWSAuthConfigRole(
31 Box::new(AWSAuthConfigRole::new("DatadogIntegrationRole".to_string())),
32 ),
33 )
34 .aws_partition(AWSAccountPartition::AWS)
35 .logs_config(
36 AWSLogsConfig
37 ::new().lambda_forwarder(
38 AWSLambdaForwarderConfig::new()
39 .lambdas(
40 vec![
41 "arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder".to_string()
42 ],
43 )
44 .log_source_config(
45 AWSLambdaForwarderConfigLogSourceConfig
46 ::new().tag_filters(
47 vec![
48 AWSLogSourceTagFilter::new()
49 .source("s3".to_string())
50 .tags(Some(vec!["test:test".to_string()]))
51 ],
52 ),
53 )
54 .sources(vec!["s3".to_string()]),
55 ),
56 )
57 .metrics_config(
58 AWSMetricsConfig::new()
59 .automute_enabled(true)
60 .collect_cloudwatch_alarms(true)
61 .collect_custom_metrics(true)
62 .enabled(true)
63 .tag_filters(
64 vec![
65 AWSNamespaceTagFilter::new()
66 .namespace("AWS/EC2".to_string())
67 .tags(Some(vec!["key:value".to_string()]))
68 ],
69 ),
70 )
71 .resources_config(
72 AWSResourcesConfig::new()
73 .cloud_security_posture_management_collection(false)
74 .extended_collection(false),
75 )
76 .traces_config(AWSTracesConfig::new()),
77 AWSAccountType::ACCOUNT,
78 ),
79 );
80 let mut configuration = datadog::Configuration::new();
81 configuration.set_unstable_operation_enabled("v2.UpdateAWSAccount", true);
82 let api = AWSIntegrationAPI::with_config(configuration);
83 let resp = api
84 .update_aws_account(aws_account_v2_data_id.clone(), body)
85 .await;
86 if let Ok(value) = resp {
87 println!("{:#?}", value);
88 } else {
89 println!("{:#?}", resp.unwrap_err());
90 }
91}
Sourcepub fn automute_enabled(self, value: bool) -> Self
pub fn automute_enabled(self, value: bool) -> Self
Examples found in repository?
examples/v2_aws-integration_CreateAWSAccount_1716720881.rs (line 50)
21async fn main() {
22 let body = AWSAccountCreateRequest::new(AWSAccountCreateRequestData::new(
23 AWSAccountCreateRequestAttributes::new(
24 AWSAuthConfig::AWSAuthConfigRole(Box::new(AWSAuthConfigRole::new(
25 "DatadogIntegrationRole".to_string(),
26 ))),
27 "123456789012".to_string(),
28 AWSAccountPartition::AWS,
29 )
30 .account_tags(Some(vec!["key:value".to_string()]))
31 .logs_config(
32 AWSLogsConfig::new().lambda_forwarder(
33 AWSLambdaForwarderConfig::new()
34 .lambdas(vec![
35 "arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder"
36 .to_string(),
37 ])
38 .log_source_config(AWSLambdaForwarderConfigLogSourceConfig::new().tag_filters(
39 vec![
40 AWSLogSourceTagFilter::new()
41 .source("s3".to_string())
42 .tags(Some(vec!["test:test".to_string()]))
43 ],
44 ))
45 .sources(vec!["s3".to_string()]),
46 ),
47 )
48 .metrics_config(
49 AWSMetricsConfig::new()
50 .automute_enabled(true)
51 .collect_cloudwatch_alarms(true)
52 .collect_custom_metrics(true)
53 .enabled(true)
54 .tag_filters(vec![AWSNamespaceTagFilter::new()
55 .namespace("AWS/EC2".to_string())
56 .tags(Some(vec!["key:value".to_string()]))]),
57 )
58 .resources_config(
59 AWSResourcesConfig::new()
60 .cloud_security_posture_management_collection(false)
61 .extended_collection(false),
62 )
63 .traces_config(AWSTracesConfig::new()),
64 AWSAccountType::ACCOUNT,
65 ));
66 let mut configuration = datadog::Configuration::new();
67 configuration.set_unstable_operation_enabled("v2.CreateAWSAccount", true);
68 let api = AWSIntegrationAPI::with_config(configuration);
69 let resp = api.create_aws_account(body).await;
70 if let Ok(value) = resp {
71 println!("{:#?}", value);
72 } else {
73 println!("{:#?}", resp.unwrap_err());
74 }
75}
More examples
examples/v2_aws-integration_CreateAWSAccount.rs (line 51)
21async fn main() {
22 let body = AWSAccountCreateRequest::new(AWSAccountCreateRequestData::new(
23 AWSAccountCreateRequestAttributes::new(
24 AWSAuthConfig::AWSAuthConfigKeys(Box::new(
25 AWSAuthConfigKeys::new("AKIAIOSFODNN7EXAMPLE".to_string())
26 .secret_access_key("wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY".to_string()),
27 )),
28 "123456789012".to_string(),
29 AWSAccountPartition::AWS,
30 )
31 .account_tags(Some(vec!["key:value".to_string()]))
32 .logs_config(
33 AWSLogsConfig::new().lambda_forwarder(
34 AWSLambdaForwarderConfig::new()
35 .lambdas(vec![
36 "arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder"
37 .to_string(),
38 ])
39 .log_source_config(AWSLambdaForwarderConfigLogSourceConfig::new().tag_filters(
40 vec![
41 AWSLogSourceTagFilter::new()
42 .source("s3".to_string())
43 .tags(Some(vec!["test:test".to_string()]))
44 ],
45 ))
46 .sources(vec!["s3".to_string()]),
47 ),
48 )
49 .metrics_config(
50 AWSMetricsConfig::new()
51 .automute_enabled(true)
52 .collect_cloudwatch_alarms(true)
53 .collect_custom_metrics(true)
54 .enabled(true)
55 .tag_filters(vec![AWSNamespaceTagFilter::new()
56 .namespace("AWS/EC2".to_string())
57 .tags(Some(vec!["key:value".to_string()]))]),
58 )
59 .resources_config(
60 AWSResourcesConfig::new()
61 .cloud_security_posture_management_collection(false)
62 .extended_collection(false),
63 )
64 .traces_config(AWSTracesConfig::new()),
65 AWSAccountType::ACCOUNT,
66 ));
67 let mut configuration = datadog::Configuration::new();
68 configuration.set_unstable_operation_enabled("v2.CreateAWSAccount", true);
69 let api = AWSIntegrationAPI::with_config(configuration);
70 let resp = api.create_aws_account(body).await;
71 if let Ok(value) = resp {
72 println!("{:#?}", value);
73 } else {
74 println!("{:#?}", resp.unwrap_err());
75 }
76}
examples/v2_aws-integration_UpdateAWSAccount.rs (line 59)
21async fn main() {
22 // there is a valid "aws_account_v2" in the system
23 let aws_account_v2_data_id = std::env::var("AWS_ACCOUNT_V2_DATA_ID").unwrap();
24 let body =
25 AWSAccountUpdateRequest::new(
26 AWSAccountUpdateRequestData::new(
27 AWSAccountUpdateRequestAttributes::new("123456789012".to_string())
28 .account_tags(Some(vec!["key:value".to_string()]))
29 .auth_config(
30 AWSAuthConfig::AWSAuthConfigRole(
31 Box::new(AWSAuthConfigRole::new("DatadogIntegrationRole".to_string())),
32 ),
33 )
34 .aws_partition(AWSAccountPartition::AWS)
35 .logs_config(
36 AWSLogsConfig
37 ::new().lambda_forwarder(
38 AWSLambdaForwarderConfig::new()
39 .lambdas(
40 vec![
41 "arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder".to_string()
42 ],
43 )
44 .log_source_config(
45 AWSLambdaForwarderConfigLogSourceConfig
46 ::new().tag_filters(
47 vec![
48 AWSLogSourceTagFilter::new()
49 .source("s3".to_string())
50 .tags(Some(vec!["test:test".to_string()]))
51 ],
52 ),
53 )
54 .sources(vec!["s3".to_string()]),
55 ),
56 )
57 .metrics_config(
58 AWSMetricsConfig::new()
59 .automute_enabled(true)
60 .collect_cloudwatch_alarms(true)
61 .collect_custom_metrics(true)
62 .enabled(true)
63 .tag_filters(
64 vec![
65 AWSNamespaceTagFilter::new()
66 .namespace("AWS/EC2".to_string())
67 .tags(Some(vec!["key:value".to_string()]))
68 ],
69 ),
70 )
71 .resources_config(
72 AWSResourcesConfig::new()
73 .cloud_security_posture_management_collection(false)
74 .extended_collection(false),
75 )
76 .traces_config(AWSTracesConfig::new()),
77 AWSAccountType::ACCOUNT,
78 ),
79 );
80 let mut configuration = datadog::Configuration::new();
81 configuration.set_unstable_operation_enabled("v2.UpdateAWSAccount", true);
82 let api = AWSIntegrationAPI::with_config(configuration);
83 let resp = api
84 .update_aws_account(aws_account_v2_data_id.clone(), body)
85 .await;
86 if let Ok(value) = resp {
87 println!("{:#?}", value);
88 } else {
89 println!("{:#?}", resp.unwrap_err());
90 }
91}
Sourcepub fn collect_cloudwatch_alarms(self, value: bool) -> Self
pub fn collect_cloudwatch_alarms(self, value: bool) -> Self
Examples found in repository?
examples/v2_aws-integration_CreateAWSAccount_1716720881.rs (line 51)
21async fn main() {
22 let body = AWSAccountCreateRequest::new(AWSAccountCreateRequestData::new(
23 AWSAccountCreateRequestAttributes::new(
24 AWSAuthConfig::AWSAuthConfigRole(Box::new(AWSAuthConfigRole::new(
25 "DatadogIntegrationRole".to_string(),
26 ))),
27 "123456789012".to_string(),
28 AWSAccountPartition::AWS,
29 )
30 .account_tags(Some(vec!["key:value".to_string()]))
31 .logs_config(
32 AWSLogsConfig::new().lambda_forwarder(
33 AWSLambdaForwarderConfig::new()
34 .lambdas(vec![
35 "arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder"
36 .to_string(),
37 ])
38 .log_source_config(AWSLambdaForwarderConfigLogSourceConfig::new().tag_filters(
39 vec![
40 AWSLogSourceTagFilter::new()
41 .source("s3".to_string())
42 .tags(Some(vec!["test:test".to_string()]))
43 ],
44 ))
45 .sources(vec!["s3".to_string()]),
46 ),
47 )
48 .metrics_config(
49 AWSMetricsConfig::new()
50 .automute_enabled(true)
51 .collect_cloudwatch_alarms(true)
52 .collect_custom_metrics(true)
53 .enabled(true)
54 .tag_filters(vec![AWSNamespaceTagFilter::new()
55 .namespace("AWS/EC2".to_string())
56 .tags(Some(vec!["key:value".to_string()]))]),
57 )
58 .resources_config(
59 AWSResourcesConfig::new()
60 .cloud_security_posture_management_collection(false)
61 .extended_collection(false),
62 )
63 .traces_config(AWSTracesConfig::new()),
64 AWSAccountType::ACCOUNT,
65 ));
66 let mut configuration = datadog::Configuration::new();
67 configuration.set_unstable_operation_enabled("v2.CreateAWSAccount", true);
68 let api = AWSIntegrationAPI::with_config(configuration);
69 let resp = api.create_aws_account(body).await;
70 if let Ok(value) = resp {
71 println!("{:#?}", value);
72 } else {
73 println!("{:#?}", resp.unwrap_err());
74 }
75}
More examples
examples/v2_aws-integration_CreateAWSAccount.rs (line 52)
21async fn main() {
22 let body = AWSAccountCreateRequest::new(AWSAccountCreateRequestData::new(
23 AWSAccountCreateRequestAttributes::new(
24 AWSAuthConfig::AWSAuthConfigKeys(Box::new(
25 AWSAuthConfigKeys::new("AKIAIOSFODNN7EXAMPLE".to_string())
26 .secret_access_key("wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY".to_string()),
27 )),
28 "123456789012".to_string(),
29 AWSAccountPartition::AWS,
30 )
31 .account_tags(Some(vec!["key:value".to_string()]))
32 .logs_config(
33 AWSLogsConfig::new().lambda_forwarder(
34 AWSLambdaForwarderConfig::new()
35 .lambdas(vec![
36 "arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder"
37 .to_string(),
38 ])
39 .log_source_config(AWSLambdaForwarderConfigLogSourceConfig::new().tag_filters(
40 vec![
41 AWSLogSourceTagFilter::new()
42 .source("s3".to_string())
43 .tags(Some(vec!["test:test".to_string()]))
44 ],
45 ))
46 .sources(vec!["s3".to_string()]),
47 ),
48 )
49 .metrics_config(
50 AWSMetricsConfig::new()
51 .automute_enabled(true)
52 .collect_cloudwatch_alarms(true)
53 .collect_custom_metrics(true)
54 .enabled(true)
55 .tag_filters(vec![AWSNamespaceTagFilter::new()
56 .namespace("AWS/EC2".to_string())
57 .tags(Some(vec!["key:value".to_string()]))]),
58 )
59 .resources_config(
60 AWSResourcesConfig::new()
61 .cloud_security_posture_management_collection(false)
62 .extended_collection(false),
63 )
64 .traces_config(AWSTracesConfig::new()),
65 AWSAccountType::ACCOUNT,
66 ));
67 let mut configuration = datadog::Configuration::new();
68 configuration.set_unstable_operation_enabled("v2.CreateAWSAccount", true);
69 let api = AWSIntegrationAPI::with_config(configuration);
70 let resp = api.create_aws_account(body).await;
71 if let Ok(value) = resp {
72 println!("{:#?}", value);
73 } else {
74 println!("{:#?}", resp.unwrap_err());
75 }
76}
examples/v2_aws-integration_UpdateAWSAccount.rs (line 60)
21async fn main() {
22 // there is a valid "aws_account_v2" in the system
23 let aws_account_v2_data_id = std::env::var("AWS_ACCOUNT_V2_DATA_ID").unwrap();
24 let body =
25 AWSAccountUpdateRequest::new(
26 AWSAccountUpdateRequestData::new(
27 AWSAccountUpdateRequestAttributes::new("123456789012".to_string())
28 .account_tags(Some(vec!["key:value".to_string()]))
29 .auth_config(
30 AWSAuthConfig::AWSAuthConfigRole(
31 Box::new(AWSAuthConfigRole::new("DatadogIntegrationRole".to_string())),
32 ),
33 )
34 .aws_partition(AWSAccountPartition::AWS)
35 .logs_config(
36 AWSLogsConfig
37 ::new().lambda_forwarder(
38 AWSLambdaForwarderConfig::new()
39 .lambdas(
40 vec![
41 "arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder".to_string()
42 ],
43 )
44 .log_source_config(
45 AWSLambdaForwarderConfigLogSourceConfig
46 ::new().tag_filters(
47 vec![
48 AWSLogSourceTagFilter::new()
49 .source("s3".to_string())
50 .tags(Some(vec!["test:test".to_string()]))
51 ],
52 ),
53 )
54 .sources(vec!["s3".to_string()]),
55 ),
56 )
57 .metrics_config(
58 AWSMetricsConfig::new()
59 .automute_enabled(true)
60 .collect_cloudwatch_alarms(true)
61 .collect_custom_metrics(true)
62 .enabled(true)
63 .tag_filters(
64 vec![
65 AWSNamespaceTagFilter::new()
66 .namespace("AWS/EC2".to_string())
67 .tags(Some(vec!["key:value".to_string()]))
68 ],
69 ),
70 )
71 .resources_config(
72 AWSResourcesConfig::new()
73 .cloud_security_posture_management_collection(false)
74 .extended_collection(false),
75 )
76 .traces_config(AWSTracesConfig::new()),
77 AWSAccountType::ACCOUNT,
78 ),
79 );
80 let mut configuration = datadog::Configuration::new();
81 configuration.set_unstable_operation_enabled("v2.UpdateAWSAccount", true);
82 let api = AWSIntegrationAPI::with_config(configuration);
83 let resp = api
84 .update_aws_account(aws_account_v2_data_id.clone(), body)
85 .await;
86 if let Ok(value) = resp {
87 println!("{:#?}", value);
88 } else {
89 println!("{:#?}", resp.unwrap_err());
90 }
91}
Sourcepub fn collect_custom_metrics(self, value: bool) -> Self
pub fn collect_custom_metrics(self, value: bool) -> Self
Examples found in repository?
examples/v2_aws-integration_CreateAWSAccount_1716720881.rs (line 52)
21async fn main() {
22 let body = AWSAccountCreateRequest::new(AWSAccountCreateRequestData::new(
23 AWSAccountCreateRequestAttributes::new(
24 AWSAuthConfig::AWSAuthConfigRole(Box::new(AWSAuthConfigRole::new(
25 "DatadogIntegrationRole".to_string(),
26 ))),
27 "123456789012".to_string(),
28 AWSAccountPartition::AWS,
29 )
30 .account_tags(Some(vec!["key:value".to_string()]))
31 .logs_config(
32 AWSLogsConfig::new().lambda_forwarder(
33 AWSLambdaForwarderConfig::new()
34 .lambdas(vec![
35 "arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder"
36 .to_string(),
37 ])
38 .log_source_config(AWSLambdaForwarderConfigLogSourceConfig::new().tag_filters(
39 vec![
40 AWSLogSourceTagFilter::new()
41 .source("s3".to_string())
42 .tags(Some(vec!["test:test".to_string()]))
43 ],
44 ))
45 .sources(vec!["s3".to_string()]),
46 ),
47 )
48 .metrics_config(
49 AWSMetricsConfig::new()
50 .automute_enabled(true)
51 .collect_cloudwatch_alarms(true)
52 .collect_custom_metrics(true)
53 .enabled(true)
54 .tag_filters(vec![AWSNamespaceTagFilter::new()
55 .namespace("AWS/EC2".to_string())
56 .tags(Some(vec!["key:value".to_string()]))]),
57 )
58 .resources_config(
59 AWSResourcesConfig::new()
60 .cloud_security_posture_management_collection(false)
61 .extended_collection(false),
62 )
63 .traces_config(AWSTracesConfig::new()),
64 AWSAccountType::ACCOUNT,
65 ));
66 let mut configuration = datadog::Configuration::new();
67 configuration.set_unstable_operation_enabled("v2.CreateAWSAccount", true);
68 let api = AWSIntegrationAPI::with_config(configuration);
69 let resp = api.create_aws_account(body).await;
70 if let Ok(value) = resp {
71 println!("{:#?}", value);
72 } else {
73 println!("{:#?}", resp.unwrap_err());
74 }
75}
More examples
examples/v2_aws-integration_CreateAWSAccount.rs (line 53)
21async fn main() {
22 let body = AWSAccountCreateRequest::new(AWSAccountCreateRequestData::new(
23 AWSAccountCreateRequestAttributes::new(
24 AWSAuthConfig::AWSAuthConfigKeys(Box::new(
25 AWSAuthConfigKeys::new("AKIAIOSFODNN7EXAMPLE".to_string())
26 .secret_access_key("wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY".to_string()),
27 )),
28 "123456789012".to_string(),
29 AWSAccountPartition::AWS,
30 )
31 .account_tags(Some(vec!["key:value".to_string()]))
32 .logs_config(
33 AWSLogsConfig::new().lambda_forwarder(
34 AWSLambdaForwarderConfig::new()
35 .lambdas(vec![
36 "arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder"
37 .to_string(),
38 ])
39 .log_source_config(AWSLambdaForwarderConfigLogSourceConfig::new().tag_filters(
40 vec![
41 AWSLogSourceTagFilter::new()
42 .source("s3".to_string())
43 .tags(Some(vec!["test:test".to_string()]))
44 ],
45 ))
46 .sources(vec!["s3".to_string()]),
47 ),
48 )
49 .metrics_config(
50 AWSMetricsConfig::new()
51 .automute_enabled(true)
52 .collect_cloudwatch_alarms(true)
53 .collect_custom_metrics(true)
54 .enabled(true)
55 .tag_filters(vec![AWSNamespaceTagFilter::new()
56 .namespace("AWS/EC2".to_string())
57 .tags(Some(vec!["key:value".to_string()]))]),
58 )
59 .resources_config(
60 AWSResourcesConfig::new()
61 .cloud_security_posture_management_collection(false)
62 .extended_collection(false),
63 )
64 .traces_config(AWSTracesConfig::new()),
65 AWSAccountType::ACCOUNT,
66 ));
67 let mut configuration = datadog::Configuration::new();
68 configuration.set_unstable_operation_enabled("v2.CreateAWSAccount", true);
69 let api = AWSIntegrationAPI::with_config(configuration);
70 let resp = api.create_aws_account(body).await;
71 if let Ok(value) = resp {
72 println!("{:#?}", value);
73 } else {
74 println!("{:#?}", resp.unwrap_err());
75 }
76}
examples/v2_aws-integration_UpdateAWSAccount.rs (line 61)
21async fn main() {
22 // there is a valid "aws_account_v2" in the system
23 let aws_account_v2_data_id = std::env::var("AWS_ACCOUNT_V2_DATA_ID").unwrap();
24 let body =
25 AWSAccountUpdateRequest::new(
26 AWSAccountUpdateRequestData::new(
27 AWSAccountUpdateRequestAttributes::new("123456789012".to_string())
28 .account_tags(Some(vec!["key:value".to_string()]))
29 .auth_config(
30 AWSAuthConfig::AWSAuthConfigRole(
31 Box::new(AWSAuthConfigRole::new("DatadogIntegrationRole".to_string())),
32 ),
33 )
34 .aws_partition(AWSAccountPartition::AWS)
35 .logs_config(
36 AWSLogsConfig
37 ::new().lambda_forwarder(
38 AWSLambdaForwarderConfig::new()
39 .lambdas(
40 vec![
41 "arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder".to_string()
42 ],
43 )
44 .log_source_config(
45 AWSLambdaForwarderConfigLogSourceConfig
46 ::new().tag_filters(
47 vec![
48 AWSLogSourceTagFilter::new()
49 .source("s3".to_string())
50 .tags(Some(vec!["test:test".to_string()]))
51 ],
52 ),
53 )
54 .sources(vec!["s3".to_string()]),
55 ),
56 )
57 .metrics_config(
58 AWSMetricsConfig::new()
59 .automute_enabled(true)
60 .collect_cloudwatch_alarms(true)
61 .collect_custom_metrics(true)
62 .enabled(true)
63 .tag_filters(
64 vec![
65 AWSNamespaceTagFilter::new()
66 .namespace("AWS/EC2".to_string())
67 .tags(Some(vec!["key:value".to_string()]))
68 ],
69 ),
70 )
71 .resources_config(
72 AWSResourcesConfig::new()
73 .cloud_security_posture_management_collection(false)
74 .extended_collection(false),
75 )
76 .traces_config(AWSTracesConfig::new()),
77 AWSAccountType::ACCOUNT,
78 ),
79 );
80 let mut configuration = datadog::Configuration::new();
81 configuration.set_unstable_operation_enabled("v2.UpdateAWSAccount", true);
82 let api = AWSIntegrationAPI::with_config(configuration);
83 let resp = api
84 .update_aws_account(aws_account_v2_data_id.clone(), body)
85 .await;
86 if let Ok(value) = resp {
87 println!("{:#?}", value);
88 } else {
89 println!("{:#?}", resp.unwrap_err());
90 }
91}
Sourcepub fn enabled(self, value: bool) -> Self
pub fn enabled(self, value: bool) -> Self
Examples found in repository?
examples/v2_aws-integration_CreateAWSAccount_1716720881.rs (line 53)
21async fn main() {
22 let body = AWSAccountCreateRequest::new(AWSAccountCreateRequestData::new(
23 AWSAccountCreateRequestAttributes::new(
24 AWSAuthConfig::AWSAuthConfigRole(Box::new(AWSAuthConfigRole::new(
25 "DatadogIntegrationRole".to_string(),
26 ))),
27 "123456789012".to_string(),
28 AWSAccountPartition::AWS,
29 )
30 .account_tags(Some(vec!["key:value".to_string()]))
31 .logs_config(
32 AWSLogsConfig::new().lambda_forwarder(
33 AWSLambdaForwarderConfig::new()
34 .lambdas(vec![
35 "arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder"
36 .to_string(),
37 ])
38 .log_source_config(AWSLambdaForwarderConfigLogSourceConfig::new().tag_filters(
39 vec![
40 AWSLogSourceTagFilter::new()
41 .source("s3".to_string())
42 .tags(Some(vec!["test:test".to_string()]))
43 ],
44 ))
45 .sources(vec!["s3".to_string()]),
46 ),
47 )
48 .metrics_config(
49 AWSMetricsConfig::new()
50 .automute_enabled(true)
51 .collect_cloudwatch_alarms(true)
52 .collect_custom_metrics(true)
53 .enabled(true)
54 .tag_filters(vec![AWSNamespaceTagFilter::new()
55 .namespace("AWS/EC2".to_string())
56 .tags(Some(vec!["key:value".to_string()]))]),
57 )
58 .resources_config(
59 AWSResourcesConfig::new()
60 .cloud_security_posture_management_collection(false)
61 .extended_collection(false),
62 )
63 .traces_config(AWSTracesConfig::new()),
64 AWSAccountType::ACCOUNT,
65 ));
66 let mut configuration = datadog::Configuration::new();
67 configuration.set_unstable_operation_enabled("v2.CreateAWSAccount", true);
68 let api = AWSIntegrationAPI::with_config(configuration);
69 let resp = api.create_aws_account(body).await;
70 if let Ok(value) = resp {
71 println!("{:#?}", value);
72 } else {
73 println!("{:#?}", resp.unwrap_err());
74 }
75}
More examples
examples/v2_aws-integration_CreateAWSAccount.rs (line 54)
21async fn main() {
22 let body = AWSAccountCreateRequest::new(AWSAccountCreateRequestData::new(
23 AWSAccountCreateRequestAttributes::new(
24 AWSAuthConfig::AWSAuthConfigKeys(Box::new(
25 AWSAuthConfigKeys::new("AKIAIOSFODNN7EXAMPLE".to_string())
26 .secret_access_key("wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY".to_string()),
27 )),
28 "123456789012".to_string(),
29 AWSAccountPartition::AWS,
30 )
31 .account_tags(Some(vec!["key:value".to_string()]))
32 .logs_config(
33 AWSLogsConfig::new().lambda_forwarder(
34 AWSLambdaForwarderConfig::new()
35 .lambdas(vec![
36 "arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder"
37 .to_string(),
38 ])
39 .log_source_config(AWSLambdaForwarderConfigLogSourceConfig::new().tag_filters(
40 vec![
41 AWSLogSourceTagFilter::new()
42 .source("s3".to_string())
43 .tags(Some(vec!["test:test".to_string()]))
44 ],
45 ))
46 .sources(vec!["s3".to_string()]),
47 ),
48 )
49 .metrics_config(
50 AWSMetricsConfig::new()
51 .automute_enabled(true)
52 .collect_cloudwatch_alarms(true)
53 .collect_custom_metrics(true)
54 .enabled(true)
55 .tag_filters(vec![AWSNamespaceTagFilter::new()
56 .namespace("AWS/EC2".to_string())
57 .tags(Some(vec!["key:value".to_string()]))]),
58 )
59 .resources_config(
60 AWSResourcesConfig::new()
61 .cloud_security_posture_management_collection(false)
62 .extended_collection(false),
63 )
64 .traces_config(AWSTracesConfig::new()),
65 AWSAccountType::ACCOUNT,
66 ));
67 let mut configuration = datadog::Configuration::new();
68 configuration.set_unstable_operation_enabled("v2.CreateAWSAccount", true);
69 let api = AWSIntegrationAPI::with_config(configuration);
70 let resp = api.create_aws_account(body).await;
71 if let Ok(value) = resp {
72 println!("{:#?}", value);
73 } else {
74 println!("{:#?}", resp.unwrap_err());
75 }
76}
examples/v2_aws-integration_UpdateAWSAccount.rs (line 62)
21async fn main() {
22 // there is a valid "aws_account_v2" in the system
23 let aws_account_v2_data_id = std::env::var("AWS_ACCOUNT_V2_DATA_ID").unwrap();
24 let body =
25 AWSAccountUpdateRequest::new(
26 AWSAccountUpdateRequestData::new(
27 AWSAccountUpdateRequestAttributes::new("123456789012".to_string())
28 .account_tags(Some(vec!["key:value".to_string()]))
29 .auth_config(
30 AWSAuthConfig::AWSAuthConfigRole(
31 Box::new(AWSAuthConfigRole::new("DatadogIntegrationRole".to_string())),
32 ),
33 )
34 .aws_partition(AWSAccountPartition::AWS)
35 .logs_config(
36 AWSLogsConfig
37 ::new().lambda_forwarder(
38 AWSLambdaForwarderConfig::new()
39 .lambdas(
40 vec![
41 "arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder".to_string()
42 ],
43 )
44 .log_source_config(
45 AWSLambdaForwarderConfigLogSourceConfig
46 ::new().tag_filters(
47 vec![
48 AWSLogSourceTagFilter::new()
49 .source("s3".to_string())
50 .tags(Some(vec!["test:test".to_string()]))
51 ],
52 ),
53 )
54 .sources(vec!["s3".to_string()]),
55 ),
56 )
57 .metrics_config(
58 AWSMetricsConfig::new()
59 .automute_enabled(true)
60 .collect_cloudwatch_alarms(true)
61 .collect_custom_metrics(true)
62 .enabled(true)
63 .tag_filters(
64 vec![
65 AWSNamespaceTagFilter::new()
66 .namespace("AWS/EC2".to_string())
67 .tags(Some(vec!["key:value".to_string()]))
68 ],
69 ),
70 )
71 .resources_config(
72 AWSResourcesConfig::new()
73 .cloud_security_posture_management_collection(false)
74 .extended_collection(false),
75 )
76 .traces_config(AWSTracesConfig::new()),
77 AWSAccountType::ACCOUNT,
78 ),
79 );
80 let mut configuration = datadog::Configuration::new();
81 configuration.set_unstable_operation_enabled("v2.UpdateAWSAccount", true);
82 let api = AWSIntegrationAPI::with_config(configuration);
83 let resp = api
84 .update_aws_account(aws_account_v2_data_id.clone(), body)
85 .await;
86 if let Ok(value) = resp {
87 println!("{:#?}", value);
88 } else {
89 println!("{:#?}", resp.unwrap_err());
90 }
91}
pub fn namespace_filters(self, value: AWSNamespaceFilters) -> Self
Sourcepub fn tag_filters(self, value: Vec<AWSNamespaceTagFilter>) -> Self
pub fn tag_filters(self, value: Vec<AWSNamespaceTagFilter>) -> Self
Examples found in repository?
examples/v2_aws-integration_CreateAWSAccount_1716720881.rs (lines 54-56)
21async fn main() {
22 let body = AWSAccountCreateRequest::new(AWSAccountCreateRequestData::new(
23 AWSAccountCreateRequestAttributes::new(
24 AWSAuthConfig::AWSAuthConfigRole(Box::new(AWSAuthConfigRole::new(
25 "DatadogIntegrationRole".to_string(),
26 ))),
27 "123456789012".to_string(),
28 AWSAccountPartition::AWS,
29 )
30 .account_tags(Some(vec!["key:value".to_string()]))
31 .logs_config(
32 AWSLogsConfig::new().lambda_forwarder(
33 AWSLambdaForwarderConfig::new()
34 .lambdas(vec![
35 "arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder"
36 .to_string(),
37 ])
38 .log_source_config(AWSLambdaForwarderConfigLogSourceConfig::new().tag_filters(
39 vec![
40 AWSLogSourceTagFilter::new()
41 .source("s3".to_string())
42 .tags(Some(vec!["test:test".to_string()]))
43 ],
44 ))
45 .sources(vec!["s3".to_string()]),
46 ),
47 )
48 .metrics_config(
49 AWSMetricsConfig::new()
50 .automute_enabled(true)
51 .collect_cloudwatch_alarms(true)
52 .collect_custom_metrics(true)
53 .enabled(true)
54 .tag_filters(vec![AWSNamespaceTagFilter::new()
55 .namespace("AWS/EC2".to_string())
56 .tags(Some(vec!["key:value".to_string()]))]),
57 )
58 .resources_config(
59 AWSResourcesConfig::new()
60 .cloud_security_posture_management_collection(false)
61 .extended_collection(false),
62 )
63 .traces_config(AWSTracesConfig::new()),
64 AWSAccountType::ACCOUNT,
65 ));
66 let mut configuration = datadog::Configuration::new();
67 configuration.set_unstable_operation_enabled("v2.CreateAWSAccount", true);
68 let api = AWSIntegrationAPI::with_config(configuration);
69 let resp = api.create_aws_account(body).await;
70 if let Ok(value) = resp {
71 println!("{:#?}", value);
72 } else {
73 println!("{:#?}", resp.unwrap_err());
74 }
75}
More examples
examples/v2_aws-integration_CreateAWSAccount.rs (lines 55-57)
21async fn main() {
22 let body = AWSAccountCreateRequest::new(AWSAccountCreateRequestData::new(
23 AWSAccountCreateRequestAttributes::new(
24 AWSAuthConfig::AWSAuthConfigKeys(Box::new(
25 AWSAuthConfigKeys::new("AKIAIOSFODNN7EXAMPLE".to_string())
26 .secret_access_key("wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY".to_string()),
27 )),
28 "123456789012".to_string(),
29 AWSAccountPartition::AWS,
30 )
31 .account_tags(Some(vec!["key:value".to_string()]))
32 .logs_config(
33 AWSLogsConfig::new().lambda_forwarder(
34 AWSLambdaForwarderConfig::new()
35 .lambdas(vec![
36 "arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder"
37 .to_string(),
38 ])
39 .log_source_config(AWSLambdaForwarderConfigLogSourceConfig::new().tag_filters(
40 vec![
41 AWSLogSourceTagFilter::new()
42 .source("s3".to_string())
43 .tags(Some(vec!["test:test".to_string()]))
44 ],
45 ))
46 .sources(vec!["s3".to_string()]),
47 ),
48 )
49 .metrics_config(
50 AWSMetricsConfig::new()
51 .automute_enabled(true)
52 .collect_cloudwatch_alarms(true)
53 .collect_custom_metrics(true)
54 .enabled(true)
55 .tag_filters(vec![AWSNamespaceTagFilter::new()
56 .namespace("AWS/EC2".to_string())
57 .tags(Some(vec!["key:value".to_string()]))]),
58 )
59 .resources_config(
60 AWSResourcesConfig::new()
61 .cloud_security_posture_management_collection(false)
62 .extended_collection(false),
63 )
64 .traces_config(AWSTracesConfig::new()),
65 AWSAccountType::ACCOUNT,
66 ));
67 let mut configuration = datadog::Configuration::new();
68 configuration.set_unstable_operation_enabled("v2.CreateAWSAccount", true);
69 let api = AWSIntegrationAPI::with_config(configuration);
70 let resp = api.create_aws_account(body).await;
71 if let Ok(value) = resp {
72 println!("{:#?}", value);
73 } else {
74 println!("{:#?}", resp.unwrap_err());
75 }
76}
examples/v2_aws-integration_UpdateAWSAccount.rs (lines 63-69)
21async fn main() {
22 // there is a valid "aws_account_v2" in the system
23 let aws_account_v2_data_id = std::env::var("AWS_ACCOUNT_V2_DATA_ID").unwrap();
24 let body =
25 AWSAccountUpdateRequest::new(
26 AWSAccountUpdateRequestData::new(
27 AWSAccountUpdateRequestAttributes::new("123456789012".to_string())
28 .account_tags(Some(vec!["key:value".to_string()]))
29 .auth_config(
30 AWSAuthConfig::AWSAuthConfigRole(
31 Box::new(AWSAuthConfigRole::new("DatadogIntegrationRole".to_string())),
32 ),
33 )
34 .aws_partition(AWSAccountPartition::AWS)
35 .logs_config(
36 AWSLogsConfig
37 ::new().lambda_forwarder(
38 AWSLambdaForwarderConfig::new()
39 .lambdas(
40 vec![
41 "arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder".to_string()
42 ],
43 )
44 .log_source_config(
45 AWSLambdaForwarderConfigLogSourceConfig
46 ::new().tag_filters(
47 vec![
48 AWSLogSourceTagFilter::new()
49 .source("s3".to_string())
50 .tags(Some(vec!["test:test".to_string()]))
51 ],
52 ),
53 )
54 .sources(vec!["s3".to_string()]),
55 ),
56 )
57 .metrics_config(
58 AWSMetricsConfig::new()
59 .automute_enabled(true)
60 .collect_cloudwatch_alarms(true)
61 .collect_custom_metrics(true)
62 .enabled(true)
63 .tag_filters(
64 vec![
65 AWSNamespaceTagFilter::new()
66 .namespace("AWS/EC2".to_string())
67 .tags(Some(vec!["key:value".to_string()]))
68 ],
69 ),
70 )
71 .resources_config(
72 AWSResourcesConfig::new()
73 .cloud_security_posture_management_collection(false)
74 .extended_collection(false),
75 )
76 .traces_config(AWSTracesConfig::new()),
77 AWSAccountType::ACCOUNT,
78 ),
79 );
80 let mut configuration = datadog::Configuration::new();
81 configuration.set_unstable_operation_enabled("v2.UpdateAWSAccount", true);
82 let api = AWSIntegrationAPI::with_config(configuration);
83 let resp = api
84 .update_aws_account(aws_account_v2_data_id.clone(), body)
85 .await;
86 if let Ok(value) = resp {
87 println!("{:#?}", value);
88 } else {
89 println!("{:#?}", resp.unwrap_err());
90 }
91}
pub fn additional_properties(self, value: BTreeMap<String, Value>) -> Self
Trait Implementations§
Source§impl Clone for AWSMetricsConfig
impl Clone for AWSMetricsConfig
Source§fn clone(&self) -> AWSMetricsConfig
fn clone(&self) -> AWSMetricsConfig
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 AWSMetricsConfig
impl Debug for AWSMetricsConfig
Source§impl Default for AWSMetricsConfig
impl Default for AWSMetricsConfig
Source§impl<'de> Deserialize<'de> for AWSMetricsConfig
impl<'de> Deserialize<'de> for AWSMetricsConfig
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 AWSMetricsConfig
impl PartialEq for AWSMetricsConfig
Source§impl Serialize for AWSMetricsConfig
impl Serialize for AWSMetricsConfig
impl StructuralPartialEq for AWSMetricsConfig
Auto Trait Implementations§
impl Freeze for AWSMetricsConfig
impl RefUnwindSafe for AWSMetricsConfig
impl Send for AWSMetricsConfig
impl Sync for AWSMetricsConfig
impl Unpin for AWSMetricsConfig
impl UnwindSafe for AWSMetricsConfig
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