AWSMetricsConfig

Struct AWSMetricsConfig 

Source
#[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

Source

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
Hide additional 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}
Source

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
Hide additional 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}
Source

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
Hide additional 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}
Source

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
Hide additional 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}
Source

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
Hide additional 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}
Source

pub fn namespace_filters(self, value: AWSNamespaceFilters) -> Self

Source

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
Hide additional 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}
Source

pub fn additional_properties(self, value: BTreeMap<String, Value>) -> Self

Trait Implementations§

Source§

impl Clone for AWSMetricsConfig

Source§

fn clone(&self) -> AWSMetricsConfig

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for AWSMetricsConfig

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for AWSMetricsConfig

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for AWSMetricsConfig

Source§

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

Source§

fn eq(&self, other: &AWSMetricsConfig) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for AWSMetricsConfig

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for AWSMetricsConfig

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> ErasedDestructor for T
where T: 'static,