Skip to content

Commit f744bac

Browse files
api-clients-generation-pipeline[bot]ci.datadog-api-spec
andauthored
Update v1 and v2 GCP API specs to support monitored_resource_configs (#3338)
Co-authored-by: ci.datadog-api-spec <packages@datadoghq.com>
1 parent 8505215 commit f744bac

10 files changed

Lines changed: 680 additions & 54 deletions

.generator/schemas/v1/openapi.yaml

Lines changed: 57 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3288,15 +3288,19 @@ components:
32883288
example: https://www.googleapis.com/robot/v1/metadata/x509/$CLIENT_EMAIL
32893289
type: string
32903290
cloud_run_revision_filters:
3291-
description: 'Limit the Cloud Run revisions that are pulled into Datadog
3292-
by using tags.
3291+
deprecated: true
3292+
description: 'List of filters to limit the Cloud Run revisions that are
3293+
pulled into Datadog by using tags.
32933294

32943295
Only Cloud Run revision resources that apply to specified filters are
3295-
imported into Datadog.'
3296+
imported into Datadog.
3297+
3298+
**Note:** This field is deprecated. Instead, use `monitored_resource_configs`
3299+
with `type=cloud_run_revision`'
32963300
example:
32973301
- $KEY:$VALUE
32983302
items:
3299-
description: Cloud Run Filters
3303+
description: Cloud Run revision filters
33003304
type: string
33013305
type: array
33023306
errors:
@@ -3309,11 +3313,16 @@ components:
33093313
type: string
33103314
type: array
33113315
host_filters:
3312-
description: 'Limit the GCE instances that are pulled into Datadog by using
3313-
tags.
3316+
deprecated: true
3317+
description: 'A comma-separated list of filters to limit the VM instances
3318+
that are pulled into Datadog by using tags.
33143319

3315-
Only hosts that match one of the defined tags are imported into Datadog.'
3316-
example: key:value,filter:example
3320+
Only VM instance resources that apply to specified filters are imported
3321+
into Datadog.
3322+
3323+
**Note:** This field is deprecated. Instead, use `monitored_resource_configs`
3324+
with `type=gce_instance`'
3325+
example: $KEY1:$VALUE1,$KEY2:$VALUE2
33173326
type: string
33183327
is_cspm_enabled:
33193328
description: 'When enabled, Datadog will activate the Cloud Security Monitoring
@@ -3334,6 +3343,15 @@ components:
33343343
account.'
33353344
example: true
33363345
type: boolean
3346+
monitored_resource_configs:
3347+
description: Configurations for GCP monitored resources.
3348+
example:
3349+
- filters:
3350+
- $KEY:$VALUE
3351+
type: gce_instance
3352+
items:
3353+
$ref: '#/components/schemas/GCPMonitoredResourceConfig'
3354+
type: array
33373355
private_key:
33383356
description: Your private key name found in your JSON service account key.
33393357
example: private_key
@@ -3366,6 +3384,37 @@ components:
33663384
items:
33673385
$ref: '#/components/schemas/GCPAccount'
33683386
type: array
3387+
GCPMonitoredResourceConfig:
3388+
description: Configuration for a GCP monitored resource.
3389+
properties:
3390+
filters:
3391+
description: 'List of filters to limit the monitored resources that are
3392+
pulled into Datadog by using tags.
3393+
3394+
Only monitored resources that apply to specified filters are imported
3395+
into Datadog.'
3396+
example:
3397+
- $KEY:$VALUE
3398+
items:
3399+
description: A monitored resource filter
3400+
type: string
3401+
type: array
3402+
type:
3403+
$ref: '#/components/schemas/GCPMonitoredResourceConfigType'
3404+
type: object
3405+
GCPMonitoredResourceConfigType:
3406+
description: The GCP monitored resource type. Only a subset of resource types
3407+
are supported.
3408+
enum:
3409+
- cloud_function
3410+
- cloud_run_revision
3411+
- gce_instance
3412+
example: gce_instance
3413+
type: string
3414+
x-enum-varnames:
3415+
- CLOUD_FUNCTION
3416+
- CLOUD_RUN_REVISION
3417+
- GCE_INSTANCE
33693418
GeomapWidgetDefinition:
33703419
description: This visualization displays a series of values by country on a
33713420
world map.

.generator/schemas/v2/openapi.yaml

Lines changed: 58 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17694,6 +17694,37 @@ components:
1769417694
example: aiplatform
1769517695
type: string
1769617696
type: object
17697+
GCPMonitoredResourceConfig:
17698+
description: Configuration for a GCP monitored resource.
17699+
properties:
17700+
filters:
17701+
description: 'List of filters to limit the monitored resources that are
17702+
pulled into Datadog by using tags.
17703+
17704+
Only monitored resources that apply to specified filters are imported
17705+
into Datadog.'
17706+
example:
17707+
- $KEY:$VALUE
17708+
items:
17709+
description: A monitored resource filter
17710+
type: string
17711+
type: array
17712+
type:
17713+
$ref: '#/components/schemas/GCPMonitoredResourceConfigType'
17714+
type: object
17715+
GCPMonitoredResourceConfigType:
17716+
description: The GCP monitored resource type. Only a subset of resource types
17717+
are supported.
17718+
enum:
17719+
- cloud_function
17720+
- cloud_run_revision
17721+
- gce_instance
17722+
example: gce_instance
17723+
type: string
17724+
x-enum-varnames:
17725+
- CLOUD_FUNCTION
17726+
- CLOUD_RUN_REVISION
17727+
- GCE_INSTANCE
1769717728
GCPSTSDelegateAccount:
1769817729
description: Datadog principal service account info.
1769917730
properties:
@@ -17761,21 +17792,35 @@ components:
1776117792
example: datadog-service-account@test-project.iam.gserviceaccount.com
1776217793
type: string
1776317794
cloud_run_revision_filters:
17795+
deprecated: true
1776417796
description: 'List of filters to limit the Cloud Run revisions that are
1776517797
pulled into Datadog by using tags.
1776617798

1776717799
Only Cloud Run revision resources that apply to specified filters are
17768-
imported into Datadog.'
17800+
imported into Datadog.
17801+
17802+
**Note:** This field is deprecated. Instead, use `monitored_resource_configs`
17803+
with `type=cloud_run_revision`'
1776917804
example:
1777017805
- $KEY:$VALUE
1777117806
items:
17772-
description: Cloud Run Filters
17807+
description: Cloud Run revision filters
1777317808
type: string
1777417809
type: array
1777517810
host_filters:
17776-
description: Your Host Filters.
17811+
deprecated: true
17812+
description: 'List of filters to limit the VM instances that are pulled
17813+
into Datadog by using tags.
17814+
17815+
Only VM instance resources that apply to specified filters are imported
17816+
into Datadog.
17817+
17818+
**Note:** This field is deprecated. Instead, use `monitored_resource_configs`
17819+
with `type=gce_instance`'
17820+
example:
17821+
- $KEY:$VALUE
1777717822
items:
17778-
description: Host Filters
17823+
description: VM instance filters
1777917824
type: string
1778017825
type: array
1778117826
is_cspm_enabled:
@@ -17811,6 +17856,15 @@ components:
1781117856
items:
1781217857
$ref: '#/components/schemas/GCPMetricNamespaceConfig'
1781317858
type: array
17859+
monitored_resource_configs:
17860+
description: Configurations for GCP monitored resources.
17861+
example:
17862+
- filters:
17863+
- $KEY:$VALUE
17864+
type: gce_instance
17865+
items:
17866+
$ref: '#/components/schemas/GCPMonitoredResourceConfig'
17867+
type: array
1781417868
resource_collection_enabled:
1781517869
description: When enabled, Datadog scans for all resources in your GCP environment.
1781617870
type: boolean

api/datadogV1/model_gcp_account.go

Lines changed: 67 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -23,20 +23,26 @@ type GCPAccount struct {
2323
// Should be `https://www.googleapis.com/robot/v1/metadata/x509/$CLIENT_EMAIL`
2424
// where `$CLIENT_EMAIL` is the email found in your JSON service account key.
2525
ClientX509CertUrl *string `json:"client_x509_cert_url,omitempty"`
26-
// Limit the Cloud Run revisions that are pulled into Datadog by using tags.
26+
// List of filters to limit the Cloud Run revisions that are pulled into Datadog by using tags.
2727
// Only Cloud Run revision resources that apply to specified filters are imported into Datadog.
28+
// **Note:** This field is deprecated. Instead, use `monitored_resource_configs` with `type=cloud_run_revision`
29+
// Deprecated
2830
CloudRunRevisionFilters []string `json:"cloud_run_revision_filters,omitempty"`
2931
// An array of errors.
3032
Errors []string `json:"errors,omitempty"`
31-
// Limit the GCE instances that are pulled into Datadog by using tags.
32-
// Only hosts that match one of the defined tags are imported into Datadog.
33+
// A comma-separated list of filters to limit the VM instances that are pulled into Datadog by using tags.
34+
// Only VM instance resources that apply to specified filters are imported into Datadog.
35+
// **Note:** This field is deprecated. Instead, use `monitored_resource_configs` with `type=gce_instance`
36+
// Deprecated
3337
HostFilters *string `json:"host_filters,omitempty"`
3438
// 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.
3539
IsCspmEnabled *bool `json:"is_cspm_enabled,omitempty"`
3640
// When enabled, Datadog scans for all resource change data in your Google Cloud environment.
3741
IsResourceChangeCollectionEnabled *bool `json:"is_resource_change_collection_enabled,omitempty"`
3842
// When enabled, Datadog will attempt to collect Security Command Center Findings. Note: This requires additional permissions on the service account.
3943
IsSecurityCommandCenterEnabled *bool `json:"is_security_command_center_enabled,omitempty"`
44+
// Configurations for GCP monitored resources.
45+
MonitoredResourceConfigs []GCPMonitoredResourceConfig `json:"monitored_resource_configs,omitempty"`
4046
// Your private key name found in your JSON service account key.
4147
PrivateKey *string `json:"private_key,omitempty"`
4248
// Your private key ID found in your JSON service account key.
@@ -248,6 +254,7 @@ func (o *GCPAccount) SetClientX509CertUrl(v string) {
248254
}
249255

250256
// GetCloudRunRevisionFilters returns the CloudRunRevisionFilters field value if set, zero value otherwise.
257+
// Deprecated
251258
func (o *GCPAccount) GetCloudRunRevisionFilters() []string {
252259
if o == nil || o.CloudRunRevisionFilters == nil {
253260
var ret []string
@@ -258,6 +265,7 @@ func (o *GCPAccount) GetCloudRunRevisionFilters() []string {
258265

259266
// GetCloudRunRevisionFiltersOk returns a tuple with the CloudRunRevisionFilters field value if set, nil otherwise
260267
// and a boolean to check if the value has been set.
268+
// Deprecated
261269
func (o *GCPAccount) GetCloudRunRevisionFiltersOk() (*[]string, bool) {
262270
if o == nil || o.CloudRunRevisionFilters == nil {
263271
return nil, false
@@ -271,6 +279,7 @@ func (o *GCPAccount) HasCloudRunRevisionFilters() bool {
271279
}
272280

273281
// SetCloudRunRevisionFilters gets a reference to the given []string and assigns it to the CloudRunRevisionFilters field.
282+
// Deprecated
274283
func (o *GCPAccount) SetCloudRunRevisionFilters(v []string) {
275284
o.CloudRunRevisionFilters = v
276285
}
@@ -304,6 +313,7 @@ func (o *GCPAccount) SetErrors(v []string) {
304313
}
305314

306315
// GetHostFilters returns the HostFilters field value if set, zero value otherwise.
316+
// Deprecated
307317
func (o *GCPAccount) GetHostFilters() string {
308318
if o == nil || o.HostFilters == nil {
309319
var ret string
@@ -314,6 +324,7 @@ func (o *GCPAccount) GetHostFilters() string {
314324

315325
// GetHostFiltersOk returns a tuple with the HostFilters field value if set, nil otherwise
316326
// and a boolean to check if the value has been set.
327+
// Deprecated
317328
func (o *GCPAccount) GetHostFiltersOk() (*string, bool) {
318329
if o == nil || o.HostFilters == nil {
319330
return nil, false
@@ -327,6 +338,7 @@ func (o *GCPAccount) HasHostFilters() bool {
327338
}
328339

329340
// SetHostFilters gets a reference to the given string and assigns it to the HostFilters field.
341+
// Deprecated
330342
func (o *GCPAccount) SetHostFilters(v string) {
331343
o.HostFilters = &v
332344
}
@@ -415,6 +427,34 @@ func (o *GCPAccount) SetIsSecurityCommandCenterEnabled(v bool) {
415427
o.IsSecurityCommandCenterEnabled = &v
416428
}
417429

430+
// GetMonitoredResourceConfigs returns the MonitoredResourceConfigs field value if set, zero value otherwise.
431+
func (o *GCPAccount) GetMonitoredResourceConfigs() []GCPMonitoredResourceConfig {
432+
if o == nil || o.MonitoredResourceConfigs == nil {
433+
var ret []GCPMonitoredResourceConfig
434+
return ret
435+
}
436+
return o.MonitoredResourceConfigs
437+
}
438+
439+
// GetMonitoredResourceConfigsOk returns a tuple with the MonitoredResourceConfigs field value if set, nil otherwise
440+
// and a boolean to check if the value has been set.
441+
func (o *GCPAccount) GetMonitoredResourceConfigsOk() (*[]GCPMonitoredResourceConfig, bool) {
442+
if o == nil || o.MonitoredResourceConfigs == nil {
443+
return nil, false
444+
}
445+
return &o.MonitoredResourceConfigs, true
446+
}
447+
448+
// HasMonitoredResourceConfigs returns a boolean if a field has been set.
449+
func (o *GCPAccount) HasMonitoredResourceConfigs() bool {
450+
return o != nil && o.MonitoredResourceConfigs != nil
451+
}
452+
453+
// SetMonitoredResourceConfigs gets a reference to the given []GCPMonitoredResourceConfig and assigns it to the MonitoredResourceConfigs field.
454+
func (o *GCPAccount) SetMonitoredResourceConfigs(v []GCPMonitoredResourceConfig) {
455+
o.MonitoredResourceConfigs = v
456+
}
457+
418458
// GetPrivateKey returns the PrivateKey field value if set, zero value otherwise.
419459
func (o *GCPAccount) GetPrivateKey() string {
420460
if o == nil || o.PrivateKey == nil {
@@ -625,6 +665,9 @@ func (o GCPAccount) MarshalJSON() ([]byte, error) {
625665
if o.IsSecurityCommandCenterEnabled != nil {
626666
toSerialize["is_security_command_center_enabled"] = o.IsSecurityCommandCenterEnabled
627667
}
668+
if o.MonitoredResourceConfigs != nil {
669+
toSerialize["monitored_resource_configs"] = o.MonitoredResourceConfigs
670+
}
628671
if o.PrivateKey != nil {
629672
toSerialize["private_key"] = o.PrivateKey
630673
}
@@ -653,31 +696,32 @@ func (o GCPAccount) MarshalJSON() ([]byte, error) {
653696
// UnmarshalJSON deserializes the given payload.
654697
func (o *GCPAccount) UnmarshalJSON(bytes []byte) (err error) {
655698
all := struct {
656-
AuthProviderX509CertUrl *string `json:"auth_provider_x509_cert_url,omitempty"`
657-
AuthUri *string `json:"auth_uri,omitempty"`
658-
Automute *bool `json:"automute,omitempty"`
659-
ClientEmail *string `json:"client_email,omitempty"`
660-
ClientId *string `json:"client_id,omitempty"`
661-
ClientX509CertUrl *string `json:"client_x509_cert_url,omitempty"`
662-
CloudRunRevisionFilters []string `json:"cloud_run_revision_filters,omitempty"`
663-
Errors []string `json:"errors,omitempty"`
664-
HostFilters *string `json:"host_filters,omitempty"`
665-
IsCspmEnabled *bool `json:"is_cspm_enabled,omitempty"`
666-
IsResourceChangeCollectionEnabled *bool `json:"is_resource_change_collection_enabled,omitempty"`
667-
IsSecurityCommandCenterEnabled *bool `json:"is_security_command_center_enabled,omitempty"`
668-
PrivateKey *string `json:"private_key,omitempty"`
669-
PrivateKeyId *string `json:"private_key_id,omitempty"`
670-
ProjectId *string `json:"project_id,omitempty"`
671-
ResourceCollectionEnabled *bool `json:"resource_collection_enabled,omitempty"`
672-
TokenUri *string `json:"token_uri,omitempty"`
673-
Type *string `json:"type,omitempty"`
699+
AuthProviderX509CertUrl *string `json:"auth_provider_x509_cert_url,omitempty"`
700+
AuthUri *string `json:"auth_uri,omitempty"`
701+
Automute *bool `json:"automute,omitempty"`
702+
ClientEmail *string `json:"client_email,omitempty"`
703+
ClientId *string `json:"client_id,omitempty"`
704+
ClientX509CertUrl *string `json:"client_x509_cert_url,omitempty"`
705+
CloudRunRevisionFilters []string `json:"cloud_run_revision_filters,omitempty"`
706+
Errors []string `json:"errors,omitempty"`
707+
HostFilters *string `json:"host_filters,omitempty"`
708+
IsCspmEnabled *bool `json:"is_cspm_enabled,omitempty"`
709+
IsResourceChangeCollectionEnabled *bool `json:"is_resource_change_collection_enabled,omitempty"`
710+
IsSecurityCommandCenterEnabled *bool `json:"is_security_command_center_enabled,omitempty"`
711+
MonitoredResourceConfigs []GCPMonitoredResourceConfig `json:"monitored_resource_configs,omitempty"`
712+
PrivateKey *string `json:"private_key,omitempty"`
713+
PrivateKeyId *string `json:"private_key_id,omitempty"`
714+
ProjectId *string `json:"project_id,omitempty"`
715+
ResourceCollectionEnabled *bool `json:"resource_collection_enabled,omitempty"`
716+
TokenUri *string `json:"token_uri,omitempty"`
717+
Type *string `json:"type,omitempty"`
674718
}{}
675719
if err = datadog.Unmarshal(bytes, &all); err != nil {
676720
return datadog.Unmarshal(bytes, &o.UnparsedObject)
677721
}
678722
additionalProperties := make(map[string]interface{})
679723
if err = datadog.Unmarshal(bytes, &additionalProperties); err == nil {
680-
datadog.DeleteKeys(additionalProperties, &[]string{"auth_provider_x509_cert_url", "auth_uri", "automute", "client_email", "client_id", "client_x509_cert_url", "cloud_run_revision_filters", "errors", "host_filters", "is_cspm_enabled", "is_resource_change_collection_enabled", "is_security_command_center_enabled", "private_key", "private_key_id", "project_id", "resource_collection_enabled", "token_uri", "type"})
724+
datadog.DeleteKeys(additionalProperties, &[]string{"auth_provider_x509_cert_url", "auth_uri", "automute", "client_email", "client_id", "client_x509_cert_url", "cloud_run_revision_filters", "errors", "host_filters", "is_cspm_enabled", "is_resource_change_collection_enabled", "is_security_command_center_enabled", "monitored_resource_configs", "private_key", "private_key_id", "project_id", "resource_collection_enabled", "token_uri", "type"})
681725
} else {
682726
return err
683727
}
@@ -693,6 +737,7 @@ func (o *GCPAccount) UnmarshalJSON(bytes []byte) (err error) {
693737
o.IsCspmEnabled = all.IsCspmEnabled
694738
o.IsResourceChangeCollectionEnabled = all.IsResourceChangeCollectionEnabled
695739
o.IsSecurityCommandCenterEnabled = all.IsSecurityCommandCenterEnabled
740+
o.MonitoredResourceConfigs = all.MonitoredResourceConfigs
696741
o.PrivateKey = all.PrivateKey
697742
o.PrivateKeyId = all.PrivateKeyId
698743
o.ProjectId = all.ProjectId

0 commit comments

Comments
 (0)