@@ -29,6 +29,9 @@ pub struct AWSAccount {
29
29
/// to exclude from metrics collection.
30
30
#[ serde( rename = "excluded_regions" ) ]
31
31
pub excluded_regions : Option < Vec < String > > ,
32
+ /// Whether Datadog collects additional attributes and configuration information about the resources in your AWS account. Required for `cspm_resource_collection`.
33
+ #[ serde( rename = "extended_resource_collection_enabled" ) ]
34
+ pub extended_resource_collection_enabled : Option < bool > ,
32
35
/// The array of EC2 tags (in the form `key:value`) defines a filter that Datadog uses when collecting metrics from EC2.
33
36
/// Wildcards, such as `?` (for single characters) and `*` (for multiple characters) can also be used.
34
37
/// Only hosts that match one of the defined tags
@@ -44,7 +47,8 @@ pub struct AWSAccount {
44
47
/// Whether Datadog collects metrics for this AWS account.
45
48
#[ serde( rename = "metrics_collection_enabled" ) ]
46
49
pub metrics_collection_enabled : Option < bool > ,
47
- /// Whether Datadog collects a standard set of resources from your AWS account.
50
+ /// Deprecated in favor of 'extended_resource_collection_enabled'. Whether Datadog collects a standard set of resources from your AWS account.
51
+ #[ deprecated]
48
52
#[ serde( rename = "resource_collection_enabled" ) ]
49
53
pub resource_collection_enabled : Option < bool > ,
50
54
/// Your Datadog role delegation name.
@@ -60,12 +64,14 @@ pub struct AWSAccount {
60
64
61
65
impl AWSAccount {
62
66
pub fn new ( ) -> AWSAccount {
67
+ #[ allow( deprecated) ]
63
68
AWSAccount {
64
69
access_key_id : None ,
65
70
account_id : None ,
66
71
account_specific_namespace_rules : None ,
67
72
cspm_resource_collection_enabled : None ,
68
73
excluded_regions : None ,
74
+ extended_resource_collection_enabled : None ,
69
75
filter_tags : None ,
70
76
host_tags : None ,
71
77
metrics_collection_enabled : None ,
@@ -76,16 +82,19 @@ impl AWSAccount {
76
82
}
77
83
}
78
84
85
+ #[ allow( deprecated) ]
79
86
pub fn access_key_id ( mut self , value : String ) -> Self {
80
87
self . access_key_id = Some ( value) ;
81
88
self
82
89
}
83
90
91
+ #[ allow( deprecated) ]
84
92
pub fn account_id ( mut self , value : String ) -> Self {
85
93
self . account_id = Some ( value) ;
86
94
self
87
95
}
88
96
97
+ #[ allow( deprecated) ]
89
98
pub fn account_specific_namespace_rules (
90
99
mut self ,
91
100
value : std:: collections:: BTreeMap < String , bool > ,
@@ -94,41 +103,55 @@ impl AWSAccount {
94
103
self
95
104
}
96
105
106
+ #[ allow( deprecated) ]
97
107
pub fn cspm_resource_collection_enabled ( mut self , value : bool ) -> Self {
98
108
self . cspm_resource_collection_enabled = Some ( value) ;
99
109
self
100
110
}
101
111
112
+ #[ allow( deprecated) ]
102
113
pub fn excluded_regions ( mut self , value : Vec < String > ) -> Self {
103
114
self . excluded_regions = Some ( value) ;
104
115
self
105
116
}
106
117
118
+ #[ allow( deprecated) ]
119
+ pub fn extended_resource_collection_enabled ( mut self , value : bool ) -> Self {
120
+ self . extended_resource_collection_enabled = Some ( value) ;
121
+ self
122
+ }
123
+
124
+ #[ allow( deprecated) ]
107
125
pub fn filter_tags ( mut self , value : Vec < String > ) -> Self {
108
126
self . filter_tags = Some ( value) ;
109
127
self
110
128
}
111
129
130
+ #[ allow( deprecated) ]
112
131
pub fn host_tags ( mut self , value : Vec < String > ) -> Self {
113
132
self . host_tags = Some ( value) ;
114
133
self
115
134
}
116
135
136
+ #[ allow( deprecated) ]
117
137
pub fn metrics_collection_enabled ( mut self , value : bool ) -> Self {
118
138
self . metrics_collection_enabled = Some ( value) ;
119
139
self
120
140
}
121
141
142
+ #[ allow( deprecated) ]
122
143
pub fn resource_collection_enabled ( mut self , value : bool ) -> Self {
123
144
self . resource_collection_enabled = Some ( value) ;
124
145
self
125
146
}
126
147
148
+ #[ allow( deprecated) ]
127
149
pub fn role_name ( mut self , value : String ) -> Self {
128
150
self . role_name = Some ( value) ;
129
151
self
130
152
}
131
153
154
+ #[ allow( deprecated) ]
132
155
pub fn secret_access_key ( mut self , value : String ) -> Self {
133
156
self . secret_access_key = Some ( value) ;
134
157
self
@@ -165,6 +188,7 @@ impl<'de> Deserialize<'de> for AWSAccount {
165
188
> = None ;
166
189
let mut cspm_resource_collection_enabled: Option < bool > = None ;
167
190
let mut excluded_regions: Option < Vec < String > > = None ;
191
+ let mut extended_resource_collection_enabled: Option < bool > = None ;
168
192
let mut filter_tags: Option < Vec < String > > = None ;
169
193
let mut host_tags: Option < Vec < String > > = None ;
170
194
let mut metrics_collection_enabled: Option < bool > = None ;
@@ -209,6 +233,13 @@ impl<'de> Deserialize<'de> for AWSAccount {
209
233
excluded_regions =
210
234
Some ( serde_json:: from_value ( v) . map_err ( M :: Error :: custom) ?) ;
211
235
}
236
+ "extended_resource_collection_enabled" => {
237
+ if v. is_null ( ) {
238
+ continue ;
239
+ }
240
+ extended_resource_collection_enabled =
241
+ Some ( serde_json:: from_value ( v) . map_err ( M :: Error :: custom) ?) ;
242
+ }
212
243
"filter_tags" => {
213
244
if v. is_null ( ) {
214
245
continue ;
@@ -253,12 +284,14 @@ impl<'de> Deserialize<'de> for AWSAccount {
253
284
}
254
285
}
255
286
287
+ #[ allow( deprecated) ]
256
288
let content = AWSAccount {
257
289
access_key_id,
258
290
account_id,
259
291
account_specific_namespace_rules,
260
292
cspm_resource_collection_enabled,
261
293
excluded_regions,
294
+ extended_resource_collection_enabled,
262
295
filter_tags,
263
296
host_tags,
264
297
metrics_collection_enabled,
0 commit comments