Skip to content

Commit 8abefdf

Browse files
api-clients-generation-pipeline[bot]ci.datadog-api-spec
andauthored
Update v1 and v2 GCP API specs to support monitored_resource_configs (#2769)
Co-authored-by: ci.datadog-api-spec <[email protected]>
1 parent 03b7406 commit 8abefdf

14 files changed

+331
-23
lines changed

.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
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

features/v1/gcp_integration.feature

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ Feature: GCP Integration
1313
@generated @skip @team:DataDog/gcp-integrations
1414
Scenario: Create a GCP integration returns "Bad Request" response
1515
Given new "CreateGCPIntegration" request
16-
And body with value {"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", "auth_uri": "https://accounts.google.com/o/oauth2/auth", "client_email": "[email protected]", "client_id": "123456712345671234567", "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/$CLIENT_EMAIL", "cloud_run_revision_filters": ["$KEY:$VALUE"], "errors": ["*"], "host_filters": "key:value,filter:example", "is_cspm_enabled": true, "is_resource_change_collection_enabled": true, "is_security_command_center_enabled": true, "private_key": "private_key", "private_key_id": "123456789abcdefghi123456789abcdefghijklm", "project_id": "datadog-apitest", "resource_collection_enabled": true, "token_uri": "https://accounts.google.com/o/oauth2/token", "type": "service_account"}
16+
And body with value {"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", "auth_uri": "https://accounts.google.com/o/oauth2/auth", "client_email": "[email protected]", "client_id": "123456712345671234567", "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/$CLIENT_EMAIL", "cloud_run_revision_filters": ["$KEY:$VALUE"], "errors": ["*"], "host_filters": "$KEY1:$VALUE1,$KEY2:$VALUE2", "is_cspm_enabled": true, "is_resource_change_collection_enabled": true, "is_security_command_center_enabled": true, "monitored_resource_configs": [{"filters": ["$KEY:$VALUE"], "type": "gce_instance"}], "private_key": "private_key", "private_key_id": "123456789abcdefghi123456789abcdefghijklm", "project_id": "datadog-apitest", "resource_collection_enabled": true, "token_uri": "https://accounts.google.com/o/oauth2/token", "type": "service_account"}
1717
When the request is sent
1818
Then the response status is 400 Bad Request
1919

@@ -27,7 +27,7 @@ Feature: GCP Integration
2727
@generated @skip @team:DataDog/gcp-integrations
2828
Scenario: Delete a GCP integration returns "Bad Request" response
2929
Given new "DeleteGCPIntegration" request
30-
And body with value {"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", "auth_uri": "https://accounts.google.com/o/oauth2/auth", "client_email": "[email protected]", "client_id": "123456712345671234567", "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/$CLIENT_EMAIL", "cloud_run_revision_filters": ["$KEY:$VALUE"], "errors": ["*"], "host_filters": "key:value,filter:example", "is_cspm_enabled": true, "is_resource_change_collection_enabled": true, "is_security_command_center_enabled": true, "private_key": "private_key", "private_key_id": "123456789abcdefghi123456789abcdefghijklm", "project_id": "datadog-apitest", "resource_collection_enabled": true, "token_uri": "https://accounts.google.com/o/oauth2/token", "type": "service_account"}
30+
And body with value {"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", "auth_uri": "https://accounts.google.com/o/oauth2/auth", "client_email": "[email protected]", "client_id": "123456712345671234567", "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/$CLIENT_EMAIL", "cloud_run_revision_filters": ["$KEY:$VALUE"], "errors": ["*"], "host_filters": "$KEY1:$VALUE1,$KEY2:$VALUE2", "is_cspm_enabled": true, "is_resource_change_collection_enabled": true, "is_security_command_center_enabled": true, "monitored_resource_configs": [{"filters": ["$KEY:$VALUE"], "type": "gce_instance"}], "private_key": "private_key", "private_key_id": "123456789abcdefghi123456789abcdefghijklm", "project_id": "datadog-apitest", "resource_collection_enabled": true, "token_uri": "https://accounts.google.com/o/oauth2/token", "type": "service_account"}
3131
When the request is sent
3232
Then the response status is 400 Bad Request
3333

@@ -62,7 +62,7 @@ Feature: GCP Integration
6262
@generated @skip @team:DataDog/gcp-integrations
6363
Scenario: Update a GCP integration returns "Bad Request" response
6464
Given new "UpdateGCPIntegration" request
65-
And body with value {"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", "auth_uri": "https://accounts.google.com/o/oauth2/auth", "client_email": "[email protected]", "client_id": "123456712345671234567", "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/$CLIENT_EMAIL", "cloud_run_revision_filters": ["$KEY:$VALUE"], "errors": ["*"], "host_filters": "key:value,filter:example", "is_cspm_enabled": true, "is_resource_change_collection_enabled": true, "is_security_command_center_enabled": true, "private_key": "private_key", "private_key_id": "123456789abcdefghi123456789abcdefghijklm", "project_id": "datadog-apitest", "resource_collection_enabled": true, "token_uri": "https://accounts.google.com/o/oauth2/token", "type": "service_account"}
65+
And body with value {"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", "auth_uri": "https://accounts.google.com/o/oauth2/auth", "client_email": "[email protected]", "client_id": "123456712345671234567", "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/$CLIENT_EMAIL", "cloud_run_revision_filters": ["$KEY:$VALUE"], "errors": ["*"], "host_filters": "$KEY1:$VALUE1,$KEY2:$VALUE2", "is_cspm_enabled": true, "is_resource_change_collection_enabled": true, "is_security_command_center_enabled": true, "monitored_resource_configs": [{"filters": ["$KEY:$VALUE"], "type": "gce_instance"}], "private_key": "private_key", "private_key_id": "123456789abcdefghi123456789abcdefghijklm", "project_id": "datadog-apitest", "resource_collection_enabled": true, "token_uri": "https://accounts.google.com/o/oauth2/token", "type": "service_account"}
6666
When the request is sent
6767
Then the response status is 400 Bad Request
6868

features/v2/gcp_integration.feature

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,14 +34,14 @@ Feature: GCP Integration
3434
@generated @skip @team:DataDog/gcp-integrations
3535
Scenario: Create a new entry for your service account returns "Bad Request" response
3636
Given new "CreateGCPSTSAccount" request
37-
And body with value {"data": {"attributes": {"account_tags": [], "client_email": "[email protected]", "cloud_run_revision_filters": ["$KEY:$VALUE"], "host_filters": [], "is_per_project_quota_enabled": true, "is_resource_change_collection_enabled": true, "is_security_command_center_enabled": true, "metric_namespace_configs": [{"disabled": true, "id": "aiplatform"}]}, "type": "gcp_service_account"}}
37+
And body with value {"data": {"attributes": {"account_tags": [], "client_email": "[email protected]", "cloud_run_revision_filters": ["$KEY:$VALUE"], "host_filters": ["$KEY:$VALUE"], "is_per_project_quota_enabled": true, "is_resource_change_collection_enabled": true, "is_security_command_center_enabled": true, "metric_namespace_configs": [{"disabled": true, "id": "aiplatform"}], "monitored_resource_configs": [{"filters": ["$KEY:$VALUE"], "type": "gce_instance"}]}, "type": "gcp_service_account"}}
3838
When the request is sent
3939
Then the response status is 400 Bad Request
4040

4141
@generated @skip @team:DataDog/gcp-integrations
4242
Scenario: Create a new entry for your service account returns "Conflict" response
4343
Given new "CreateGCPSTSAccount" request
44-
And body with value {"data": {"attributes": {"account_tags": [], "client_email": "[email protected]", "cloud_run_revision_filters": ["$KEY:$VALUE"], "host_filters": [], "is_per_project_quota_enabled": true, "is_resource_change_collection_enabled": true, "is_security_command_center_enabled": true, "metric_namespace_configs": [{"disabled": true, "id": "aiplatform"}]}, "type": "gcp_service_account"}}
44+
And body with value {"data": {"attributes": {"account_tags": [], "client_email": "[email protected]", "cloud_run_revision_filters": ["$KEY:$VALUE"], "host_filters": ["$KEY:$VALUE"], "is_per_project_quota_enabled": true, "is_resource_change_collection_enabled": true, "is_security_command_center_enabled": true, "metric_namespace_configs": [{"disabled": true, "id": "aiplatform"}], "monitored_resource_configs": [{"filters": ["$KEY:$VALUE"], "type": "gce_instance"}]}, "type": "gcp_service_account"}}
4545
When the request is sent
4646
Then the response status is 409 Conflict
4747

@@ -151,15 +151,15 @@ Feature: GCP Integration
151151
Scenario: Update STS Service Account returns "Bad Request" response
152152
Given new "UpdateGCPSTSAccount" request
153153
And request contains "account_id" parameter from "REPLACE.ME"
154-
And body with value {"data": {"attributes": {"account_tags": [], "client_email": "[email protected]", "cloud_run_revision_filters": ["$KEY:$VALUE"], "host_filters": [], "is_per_project_quota_enabled": true, "is_resource_change_collection_enabled": true, "is_security_command_center_enabled": true, "metric_namespace_configs": [{"disabled": true, "id": "aiplatform"}]}, "id": "d291291f-12c2-22g4-j290-123456678897", "type": "gcp_service_account"}}
154+
And body with value {"data": {"attributes": {"account_tags": [], "client_email": "[email protected]", "cloud_run_revision_filters": ["$KEY:$VALUE"], "host_filters": ["$KEY:$VALUE"], "is_per_project_quota_enabled": true, "is_resource_change_collection_enabled": true, "is_security_command_center_enabled": true, "metric_namespace_configs": [{"disabled": true, "id": "aiplatform"}], "monitored_resource_configs": [{"filters": ["$KEY:$VALUE"], "type": "gce_instance"}]}, "id": "d291291f-12c2-22g4-j290-123456678897", "type": "gcp_service_account"}}
155155
When the request is sent
156156
Then the response status is 400 Bad Request
157157

158158
@generated @skip @team:DataDog/gcp-integrations
159159
Scenario: Update STS Service Account returns "Not Found" response
160160
Given new "UpdateGCPSTSAccount" request
161161
And request contains "account_id" parameter from "REPLACE.ME"
162-
And body with value {"data": {"attributes": {"account_tags": [], "client_email": "[email protected]", "cloud_run_revision_filters": ["$KEY:$VALUE"], "host_filters": [], "is_per_project_quota_enabled": true, "is_resource_change_collection_enabled": true, "is_security_command_center_enabled": true, "metric_namespace_configs": [{"disabled": true, "id": "aiplatform"}]}, "id": "d291291f-12c2-22g4-j290-123456678897", "type": "gcp_service_account"}}
162+
And body with value {"data": {"attributes": {"account_tags": [], "client_email": "[email protected]", "cloud_run_revision_filters": ["$KEY:$VALUE"], "host_filters": ["$KEY:$VALUE"], "is_per_project_quota_enabled": true, "is_resource_change_collection_enabled": true, "is_security_command_center_enabled": true, "metric_namespace_configs": [{"disabled": true, "id": "aiplatform"}], "monitored_resource_configs": [{"filters": ["$KEY:$VALUE"], "type": "gce_instance"}]}, "id": "d291291f-12c2-22g4-j290-123456678897", "type": "gcp_service_account"}}
163163
When the request is sent
164164
Then the response status is 404 Not Found
165165

packages/datadog-api-client-v1/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -477,6 +477,8 @@ export { FunnelWidgetDefinition } from "./models/FunnelWidgetDefinition";
477477
export { FunnelWidgetDefinitionType } from "./models/FunnelWidgetDefinitionType";
478478
export { FunnelWidgetRequest } from "./models/FunnelWidgetRequest";
479479
export { GCPAccount } from "./models/GCPAccount";
480+
export { GCPMonitoredResourceConfig } from "./models/GCPMonitoredResourceConfig";
481+
export { GCPMonitoredResourceConfigType } from "./models/GCPMonitoredResourceConfigType";
480482
export { GeomapWidgetDefinition } from "./models/GeomapWidgetDefinition";
481483
export { GeomapWidgetDefinitionStyle } from "./models/GeomapWidgetDefinitionStyle";
482484
export { GeomapWidgetDefinitionType } from "./models/GeomapWidgetDefinitionType";

0 commit comments

Comments
 (0)