Skip to content

Commit 529873d

Browse files
api-clients-generation-pipeline[bot]ci.datadog-api-spec
andauthored
Add log autosubscription tag filters config to aws v2 API (#2741)
Co-authored-by: ci.datadog-api-spec <[email protected]>
1 parent 95fe4a2 commit 529873d

File tree

45 files changed

+288
-73
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+288
-73
lines changed

.generated-info

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
{
2-
"spec_repo_commit": "fd3370f",
3-
"generated": "2025-08-06 20:54:19.208"
2+
"spec_repo_commit": "c5cca50",
3+
"generated": "2025-08-07 18:03:26.051"
44
}

.generator/schemas/v2/openapi.yaml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1625,6 +1625,8 @@ components:
16251625
example: arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder
16261626
type: string
16271627
type: array
1628+
log_source_config:
1629+
$ref: '#/components/schemas/AWSLambdaForwarderConfigLogSourceConfig'
16281630
sources:
16291631
description: 'List of service IDs set to enable automatic log collection.
16301632
Discover the list of available services with the
@@ -1636,6 +1638,44 @@ components:
16361638
type: string
16371639
type: array
16381640
type: object
1641+
AWSLambdaForwarderConfigLogSourceConfig:
1642+
description: Log source configuration.
1643+
properties:
1644+
tag_filters:
1645+
description: List of AWS log source tag filters. Defaults to `[]`.
1646+
items:
1647+
$ref: '#/components/schemas/AWSLogSourceTagFilter'
1648+
type: array
1649+
type: object
1650+
AWSLogSourceTagFilter:
1651+
description: 'AWS log source tag filter list. Defaults to `[]`.
1652+
1653+
Array of log source to AWS resource tag mappings. Each mapping contains a
1654+
log source and its associated AWS resource tags (in `key:value` format) used
1655+
to filter logs submitted to Datadog.
1656+
1657+
Tag filters are applied for tags on the AWS resource emitting logs; tags associated
1658+
with the log storage entity (such as a CloudWatch Log Group or S3 Bucket)
1659+
are not considered.
1660+
1661+
For more information on resource tag filter syntax, [see AWS resource exclusion](https://docs.datadoghq.com/account_management/billing/aws/#aws-resource-exclusion)
1662+
in the AWS integration billing page.'
1663+
properties:
1664+
source:
1665+
description: The AWS log source to which the tag filters defined in `tags`
1666+
are applied.
1667+
example: s3
1668+
type: string
1669+
tags:
1670+
description: The AWS resource tags to filter on for the log source specified
1671+
by `source`.
1672+
items:
1673+
description: Tag in the form `key:value`.
1674+
example: env:prod
1675+
type: string
1676+
nullable: true
1677+
type: array
1678+
type: object
16391679
AWSLogsConfig:
16401680
description: AWS Logs Collection config.
16411681
properties:

docs/datadog_api_client.v2.model.rst

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1586,6 +1586,20 @@ datadog\_api\_client.v2.model.aws\_lambda\_forwarder\_config module
15861586
:members:
15871587
:show-inheritance:
15881588

1589+
datadog\_api\_client.v2.model.aws\_lambda\_forwarder\_config\_log\_source\_config module
1590+
----------------------------------------------------------------------------------------
1591+
1592+
.. automodule:: datadog_api_client.v2.model.aws_lambda_forwarder_config_log_source_config
1593+
:members:
1594+
:show-inheritance:
1595+
1596+
datadog\_api\_client.v2.model.aws\_log\_source\_tag\_filter module
1597+
------------------------------------------------------------------
1598+
1599+
.. automodule:: datadog_api_client.v2.model.aws_log_source_tag_filter
1600+
:members:
1601+
:show-inheritance:
1602+
15891603
datadog\_api\_client.v2.model.aws\_logs\_config module
15901604
------------------------------------------------------
15911605

examples/v2/aws-integration/CreateAWSAccount.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@
1111
from datadog_api_client.v2.model.aws_account_type import AWSAccountType
1212
from datadog_api_client.v2.model.aws_auth_config_keys import AWSAuthConfigKeys
1313
from datadog_api_client.v2.model.aws_lambda_forwarder_config import AWSLambdaForwarderConfig
14+
from datadog_api_client.v2.model.aws_lambda_forwarder_config_log_source_config import (
15+
AWSLambdaForwarderConfigLogSourceConfig,
16+
)
17+
from datadog_api_client.v2.model.aws_log_source_tag_filter import AWSLogSourceTagFilter
1418
from datadog_api_client.v2.model.aws_logs_config import AWSLogsConfig
1519
from datadog_api_client.v2.model.aws_metrics_config import AWSMetricsConfig
1620
from datadog_api_client.v2.model.aws_namespace_tag_filter import AWSNamespaceTagFilter
@@ -34,6 +38,16 @@
3438
lambdas=[
3539
"arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder",
3640
],
41+
log_source_config=AWSLambdaForwarderConfigLogSourceConfig(
42+
tag_filters=[
43+
AWSLogSourceTagFilter(
44+
source="s3",
45+
tags=[
46+
"test:test",
47+
],
48+
),
49+
],
50+
),
3751
sources=[
3852
"s3",
3953
],

examples/v2/aws-integration/CreateAWSAccount_1716720881.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@
1111
from datadog_api_client.v2.model.aws_account_type import AWSAccountType
1212
from datadog_api_client.v2.model.aws_auth_config_role import AWSAuthConfigRole
1313
from datadog_api_client.v2.model.aws_lambda_forwarder_config import AWSLambdaForwarderConfig
14+
from datadog_api_client.v2.model.aws_lambda_forwarder_config_log_source_config import (
15+
AWSLambdaForwarderConfigLogSourceConfig,
16+
)
17+
from datadog_api_client.v2.model.aws_log_source_tag_filter import AWSLogSourceTagFilter
1418
from datadog_api_client.v2.model.aws_logs_config import AWSLogsConfig
1519
from datadog_api_client.v2.model.aws_metrics_config import AWSMetricsConfig
1620
from datadog_api_client.v2.model.aws_namespace_tag_filter import AWSNamespaceTagFilter
@@ -33,6 +37,16 @@
3337
lambdas=[
3438
"arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder",
3539
],
40+
log_source_config=AWSLambdaForwarderConfigLogSourceConfig(
41+
tag_filters=[
42+
AWSLogSourceTagFilter(
43+
source="s3",
44+
tags=[
45+
"test:test",
46+
],
47+
),
48+
],
49+
),
3650
sources=[
3751
"s3",
3852
],

examples/v2/aws-integration/UpdateAWSAccount.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@
1212
from datadog_api_client.v2.model.aws_account_update_request_data import AWSAccountUpdateRequestData
1313
from datadog_api_client.v2.model.aws_auth_config_role import AWSAuthConfigRole
1414
from datadog_api_client.v2.model.aws_lambda_forwarder_config import AWSLambdaForwarderConfig
15+
from datadog_api_client.v2.model.aws_lambda_forwarder_config_log_source_config import (
16+
AWSLambdaForwarderConfigLogSourceConfig,
17+
)
18+
from datadog_api_client.v2.model.aws_log_source_tag_filter import AWSLogSourceTagFilter
1519
from datadog_api_client.v2.model.aws_logs_config import AWSLogsConfig
1620
from datadog_api_client.v2.model.aws_metrics_config import AWSMetricsConfig
1721
from datadog_api_client.v2.model.aws_namespace_tag_filter import AWSNamespaceTagFilter
@@ -37,6 +41,16 @@
3741
lambdas=[
3842
"arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder",
3943
],
44+
log_source_config=AWSLambdaForwarderConfigLogSourceConfig(
45+
tag_filters=[
46+
AWSLogSourceTagFilter(
47+
source="s3",
48+
tags=[
49+
"test:test",
50+
],
51+
),
52+
],
53+
),
4054
sources=[
4155
"s3",
4256
],

src/datadog_api_client/v2/model/aws_lambda_forwarder_config.py

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# Copyright 2019-Present Datadog, Inc.
44
from __future__ import annotations
55

6-
from typing import List, Union
6+
from typing import List, Union, TYPE_CHECKING
77

88
from datadog_api_client.model_utils import (
99
ModelNormal,
@@ -13,21 +13,37 @@
1313
)
1414

1515

16+
if TYPE_CHECKING:
17+
from datadog_api_client.v2.model.aws_lambda_forwarder_config_log_source_config import (
18+
AWSLambdaForwarderConfigLogSourceConfig,
19+
)
20+
21+
1622
class AWSLambdaForwarderConfig(ModelNormal):
1723
@cached_property
1824
def openapi_types(_):
25+
from datadog_api_client.v2.model.aws_lambda_forwarder_config_log_source_config import (
26+
AWSLambdaForwarderConfigLogSourceConfig,
27+
)
28+
1929
return {
2030
"lambdas": ([str],),
31+
"log_source_config": (AWSLambdaForwarderConfigLogSourceConfig,),
2132
"sources": ([str],),
2233
}
2334

2435
attribute_map = {
2536
"lambdas": "lambdas",
37+
"log_source_config": "log_source_config",
2638
"sources": "sources",
2739
}
2840

2941
def __init__(
30-
self_, lambdas: Union[List[str], UnsetType] = unset, sources: Union[List[str], UnsetType] = unset, **kwargs
42+
self_,
43+
lambdas: Union[List[str], UnsetType] = unset,
44+
log_source_config: Union[AWSLambdaForwarderConfigLogSourceConfig, UnsetType] = unset,
45+
sources: Union[List[str], UnsetType] = unset,
46+
**kwargs,
3147
):
3248
"""
3349
Log Autosubscription configuration for Datadog Forwarder Lambda functions. Automatically set up triggers for existing
@@ -36,12 +52,17 @@ def __init__(
3652
:param lambdas: List of Datadog Lambda Log Forwarder ARNs in your AWS account. Defaults to ``[]``.
3753
:type lambdas: [str], optional
3854
55+
:param log_source_config: Log source configuration.
56+
:type log_source_config: AWSLambdaForwarderConfigLogSourceConfig, optional
57+
3958
:param sources: List of service IDs set to enable automatic log collection. Discover the list of available services with the
4059
`Get list of AWS log ready services <https://docs.datadoghq.com/api/latest/aws-logs-integration/#get-list-of-aws-log-ready-services>`_ endpoint.
4160
:type sources: [str], optional
4261
"""
4362
if lambdas is not unset:
4463
kwargs["lambdas"] = lambdas
64+
if log_source_config is not unset:
65+
kwargs["log_source_config"] = log_source_config
4566
if sources is not unset:
4667
kwargs["sources"] = sources
4768
super().__init__(kwargs)
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
2+
# This product includes software developed at Datadog (https://www.datadoghq.com/).
3+
# Copyright 2019-Present Datadog, Inc.
4+
from __future__ import annotations
5+
6+
from typing import List, Union, TYPE_CHECKING
7+
8+
from datadog_api_client.model_utils import (
9+
ModelNormal,
10+
cached_property,
11+
unset,
12+
UnsetType,
13+
)
14+
15+
16+
if TYPE_CHECKING:
17+
from datadog_api_client.v2.model.aws_log_source_tag_filter import AWSLogSourceTagFilter
18+
19+
20+
class AWSLambdaForwarderConfigLogSourceConfig(ModelNormal):
21+
@cached_property
22+
def openapi_types(_):
23+
from datadog_api_client.v2.model.aws_log_source_tag_filter import AWSLogSourceTagFilter
24+
25+
return {
26+
"tag_filters": ([AWSLogSourceTagFilter],),
27+
}
28+
29+
attribute_map = {
30+
"tag_filters": "tag_filters",
31+
}
32+
33+
def __init__(self_, tag_filters: Union[List[AWSLogSourceTagFilter], UnsetType] = unset, **kwargs):
34+
"""
35+
Log source configuration.
36+
37+
:param tag_filters: List of AWS log source tag filters. Defaults to ``[]``.
38+
:type tag_filters: [AWSLogSourceTagFilter], optional
39+
"""
40+
if tag_filters is not unset:
41+
kwargs["tag_filters"] = tag_filters
42+
super().__init__(kwargs)
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
2+
# This product includes software developed at Datadog (https://www.datadoghq.com/).
3+
# Copyright 2019-Present Datadog, Inc.
4+
from __future__ import annotations
5+
6+
from typing import List, Union
7+
8+
from datadog_api_client.model_utils import (
9+
ModelNormal,
10+
cached_property,
11+
none_type,
12+
unset,
13+
UnsetType,
14+
)
15+
16+
17+
class AWSLogSourceTagFilter(ModelNormal):
18+
@cached_property
19+
def openapi_types(_):
20+
return {
21+
"source": (str,),
22+
"tags": ([str], none_type),
23+
}
24+
25+
attribute_map = {
26+
"source": "source",
27+
"tags": "tags",
28+
}
29+
30+
def __init__(
31+
self_, source: Union[str, UnsetType] = unset, tags: Union[List[str], none_type, UnsetType] = unset, **kwargs
32+
):
33+
"""
34+
AWS log source tag filter list. Defaults to ``[]``.
35+
Array of log source to AWS resource tag mappings. Each mapping contains a log source and its associated AWS resource tags (in ``key:value`` format) used to filter logs submitted to Datadog.
36+
Tag filters are applied for tags on the AWS resource emitting logs; tags associated with the log storage entity (such as a CloudWatch Log Group or S3 Bucket) are not considered.
37+
For more information on resource tag filter syntax, `see AWS resource exclusion <https://docs.datadoghq.com/account_management/billing/aws/#aws-resource-exclusion>`_ in the AWS integration billing page.
38+
39+
:param source: The AWS log source to which the tag filters defined in ``tags`` are applied.
40+
:type source: str, optional
41+
42+
:param tags: The AWS resource tags to filter on for the log source specified by ``source``.
43+
:type tags: [str], none_type, optional
44+
"""
45+
if source is not unset:
46+
kwargs["source"] = source
47+
if tags is not unset:
48+
kwargs["tags"] = tags
49+
super().__init__(kwargs)

src/datadog_api_client/v2/models/__init__.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,10 @@
4949
from datadog_api_client.v2.model.aws_integration_type import AWSIntegrationType
5050
from datadog_api_client.v2.model.aws_integration_update import AWSIntegrationUpdate
5151
from datadog_api_client.v2.model.aws_lambda_forwarder_config import AWSLambdaForwarderConfig
52+
from datadog_api_client.v2.model.aws_lambda_forwarder_config_log_source_config import (
53+
AWSLambdaForwarderConfigLogSourceConfig,
54+
)
55+
from datadog_api_client.v2.model.aws_log_source_tag_filter import AWSLogSourceTagFilter
5256
from datadog_api_client.v2.model.aws_logs_config import AWSLogsConfig
5357
from datadog_api_client.v2.model.aws_logs_services_response import AWSLogsServicesResponse
5458
from datadog_api_client.v2.model.aws_logs_services_response_attributes import AWSLogsServicesResponseAttributes
@@ -3859,6 +3863,8 @@
38593863
"AWSIntegrationType",
38603864
"AWSIntegrationUpdate",
38613865
"AWSLambdaForwarderConfig",
3866+
"AWSLambdaForwarderConfigLogSourceConfig",
3867+
"AWSLogSourceTagFilter",
38623868
"AWSLogsConfig",
38633869
"AWSLogsServicesResponse",
38643870
"AWSLogsServicesResponseAttributes",

0 commit comments

Comments
 (0)