@@ -35,6 +35,9 @@ pub struct GCPSTSServiceAccountAttributes {
3535 /// When enabled, Datadog will activate the Cloud Security Monitoring product for this service account. Note: This requires resource_collection_enabled to be set to true.
3636 #[ serde( rename = "is_cspm_enabled" ) ]
3737 pub is_cspm_enabled : Option < bool > ,
38+ /// When enabled, metrics, events, and resources where location is explicitly stated as “global” or where location information could not be deduced from GCP labels will be collected.
39+ #[ serde( rename = "is_global_location_enabled" ) ]
40+ pub is_global_location_enabled : Option < bool > ,
3841 /// When enabled, Datadog applies the `X-Goog-User-Project` header, attributing Google Cloud billing and quota usage to the project being monitored rather than the default service account project.
3942 #[ serde( rename = "is_per_project_quota_enabled" ) ]
4043 pub is_per_project_quota_enabled : Option < bool > ,
@@ -51,6 +54,9 @@ pub struct GCPSTSServiceAccountAttributes {
5154 #[ serde( rename = "monitored_resource_configs" ) ]
5255 pub monitored_resource_configs :
5356 Option < Vec < crate :: datadogV2:: model:: GCPMonitoredResourceConfig > > ,
57+ /// Filters to limit metric collection by GCP region. By default Datadog collects from all regions.
58+ #[ serde( rename = "region_filter_configs" ) ]
59+ pub region_filter_configs : Option < Vec < String > > ,
5460 /// When enabled, Datadog scans for all resources in your GCP environment.
5561 #[ serde( rename = "resource_collection_enabled" ) ]
5662 pub resource_collection_enabled : Option < bool > ,
@@ -71,11 +77,13 @@ impl GCPSTSServiceAccountAttributes {
7177 cloud_run_revision_filters : None ,
7278 host_filters : None ,
7379 is_cspm_enabled : None ,
80+ is_global_location_enabled : None ,
7481 is_per_project_quota_enabled : None ,
7582 is_resource_change_collection_enabled : None ,
7683 is_security_command_center_enabled : None ,
7784 metric_namespace_configs : None ,
7885 monitored_resource_configs : None ,
86+ region_filter_configs : None ,
7987 resource_collection_enabled : None ,
8088 additional_properties : std:: collections:: BTreeMap :: new ( ) ,
8189 _unparsed : false ,
@@ -118,6 +126,12 @@ impl GCPSTSServiceAccountAttributes {
118126 self
119127 }
120128
129+ #[ allow( deprecated) ]
130+ pub fn is_global_location_enabled ( mut self , value : bool ) -> Self {
131+ self . is_global_location_enabled = Some ( value) ;
132+ self
133+ }
134+
121135 #[ allow( deprecated) ]
122136 pub fn is_per_project_quota_enabled ( mut self , value : bool ) -> Self {
123137 self . is_per_project_quota_enabled = Some ( value) ;
@@ -154,6 +168,12 @@ impl GCPSTSServiceAccountAttributes {
154168 self
155169 }
156170
171+ #[ allow( deprecated) ]
172+ pub fn region_filter_configs ( mut self , value : Vec < String > ) -> Self {
173+ self . region_filter_configs = Some ( value) ;
174+ self
175+ }
176+
157177 #[ allow( deprecated) ]
158178 pub fn resource_collection_enabled ( mut self , value : bool ) -> Self {
159179 self . resource_collection_enabled = Some ( value) ;
@@ -198,6 +218,7 @@ impl<'de> Deserialize<'de> for GCPSTSServiceAccountAttributes {
198218 let mut cloud_run_revision_filters: Option < Vec < String > > = None ;
199219 let mut host_filters: Option < Vec < String > > = None ;
200220 let mut is_cspm_enabled: Option < bool > = None ;
221+ let mut is_global_location_enabled: Option < bool > = None ;
201222 let mut is_per_project_quota_enabled: Option < bool > = None ;
202223 let mut is_resource_change_collection_enabled: Option < bool > = None ;
203224 let mut is_security_command_center_enabled: Option < bool > = None ;
@@ -207,6 +228,7 @@ impl<'de> Deserialize<'de> for GCPSTSServiceAccountAttributes {
207228 let mut monitored_resource_configs: Option <
208229 Vec < crate :: datadogV2:: model:: GCPMonitoredResourceConfig > ,
209230 > = None ;
231+ let mut region_filter_configs: Option < Vec < String > > = None ;
210232 let mut resource_collection_enabled: Option < bool > = None ;
211233 let mut additional_properties: std:: collections:: BTreeMap <
212234 String ,
@@ -257,6 +279,13 @@ impl<'de> Deserialize<'de> for GCPSTSServiceAccountAttributes {
257279 is_cspm_enabled =
258280 Some ( serde_json:: from_value ( v) . map_err ( M :: Error :: custom) ?) ;
259281 }
282+ "is_global_location_enabled" => {
283+ if v. is_null ( ) {
284+ continue ;
285+ }
286+ is_global_location_enabled =
287+ Some ( serde_json:: from_value ( v) . map_err ( M :: Error :: custom) ?) ;
288+ }
260289 "is_per_project_quota_enabled" => {
261290 if v. is_null ( ) {
262291 continue ;
@@ -292,6 +321,13 @@ impl<'de> Deserialize<'de> for GCPSTSServiceAccountAttributes {
292321 monitored_resource_configs =
293322 Some ( serde_json:: from_value ( v) . map_err ( M :: Error :: custom) ?) ;
294323 }
324+ "region_filter_configs" => {
325+ if v. is_null ( ) {
326+ continue ;
327+ }
328+ region_filter_configs =
329+ Some ( serde_json:: from_value ( v) . map_err ( M :: Error :: custom) ?) ;
330+ }
295331 "resource_collection_enabled" => {
296332 if v. is_null ( ) {
297333 continue ;
@@ -315,11 +351,13 @@ impl<'de> Deserialize<'de> for GCPSTSServiceAccountAttributes {
315351 cloud_run_revision_filters,
316352 host_filters,
317353 is_cspm_enabled,
354+ is_global_location_enabled,
318355 is_per_project_quota_enabled,
319356 is_resource_change_collection_enabled,
320357 is_security_command_center_enabled,
321358 metric_namespace_configs,
322359 monitored_resource_configs,
360+ region_filter_configs,
323361 resource_collection_enabled,
324362 additional_properties,
325363 _unparsed,
0 commit comments