From e080df26e2a8c9fadff03087beee554772be686f Mon Sep 17 00:00:00 2001 From: "ci.datadog-api-spec" Date: Fri, 19 Jun 2026 11:46:32 +0000 Subject: [PATCH] Regenerate client from commit 7040bb9 of spec repo --- .generator/schemas/v2/openapi.yaml | 76 ++++++++++++++++++- docs/datadog_api_client.v2.model.rst | 14 ++++ .../v2/model/logs_archive_destination_s3.py | 6 +- .../v2/model/logs_archive_integration_s3.py | 45 ++++++----- .../logs_archive_integration_s3_access_key.py | 33 ++++++++ .../model/logs_archive_integration_s3_role.py | 39 ++++++++++ src/datadog_api_client/v2/models/__init__.py | 4 + 7 files changed, 193 insertions(+), 24 deletions(-) create mode 100644 src/datadog_api_client/v2/model/logs_archive_integration_s3_access_key.py create mode 100644 src/datadog_api_client/v2/model/logs_archive_integration_s3_role.py diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index 65d674fb23..b6eb8423df 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -56750,19 +56750,35 @@ components: - client_email type: object LogsArchiveIntegrationS3: - description: The S3 Archive's integration destination. + description: >- + The S3 Archive's integration destination. You must provide one of the following: `access_key_id` alone, or both `account_id` and `role_name` together. + oneOf: + - $ref: "#/components/schemas/LogsArchiveIntegrationS3AccessKey" + - $ref: "#/components/schemas/LogsArchiveIntegrationS3Role" + LogsArchiveIntegrationS3AccessKey: + description: The S3 Archive's integration destination using an access key. + properties: + access_key_id: + description: The access key ID for the integration. + example: AKIAIOSFODNN7EXAMPLE + type: string + required: + - access_key_id + type: object + LogsArchiveIntegrationS3Role: + description: The S3 Archive's integration destination using an IAM role. properties: account_id: description: The account ID for the integration. example: "123456789012" type: string role_name: - description: The path of the integration. + description: The name of the role to assume for the integration. example: role-name type: string required: - - role_name - account_id + - role_name type: object LogsArchiveOrder: description: A ordered list of archive IDs. @@ -148590,6 +148606,18 @@ paths: - team:intake - team:app type: archives + s3_access_key_id: + value: + data: + attributes: + destination: + bucket: my-bucket + integration: + access_key_id: AKIAIOSFODNN7EXAMPLE + type: s3 + name: Nginx Archive + query: source:nginx + type: archives schema: $ref: "#/components/schemas/LogsArchiveCreateRequest" description: The definition of the new archive. @@ -148615,6 +148643,21 @@ paths: state: WORKING id: 00000000-0000-0000-0000-000000000002 type: archives + s3_access_key_id: + value: + data: + attributes: + destination: + bucket: my-bucket + integration: + access_key_id: AKIAIOSFODNN7EXAMPLE + type: s3 + include_tags: false + name: Nginx Archive + query: source:nginx + state: WORKING + id: 00000000-0000-0000-0000-000000000002 + type: archives schema: $ref: "#/components/schemas/LogsArchive" description: OK @@ -148764,6 +148807,18 @@ paths: - team:intake - team:app type: archives + s3_access_key_id: + value: + data: + attributes: + destination: + bucket: my-bucket + integration: + access_key_id: AKIAIOSFODNN7EXAMPLE + type: s3 + name: Nginx Archive + query: source:nginx + type: archives schema: $ref: "#/components/schemas/LogsArchiveCreateRequest" description: New definition of the archive. @@ -148789,6 +148844,21 @@ paths: state: WORKING id: 00000000-0000-0000-0000-000000000004 type: archives + s3_access_key_id: + value: + data: + attributes: + destination: + bucket: my-bucket + integration: + access_key_id: AKIAIOSFODNN7EXAMPLE + type: s3 + include_tags: false + name: Nginx Archive + query: source:nginx + state: WORKING + id: 00000000-0000-0000-0000-000000000004 + type: archives schema: $ref: "#/components/schemas/LogsArchive" description: OK diff --git a/docs/datadog_api_client.v2.model.rst b/docs/datadog_api_client.v2.model.rst index 14023429c7..00f61177f5 100644 --- a/docs/datadog_api_client.v2.model.rst +++ b/docs/datadog_api_client.v2.model.rst @@ -23335,6 +23335,20 @@ datadog\_api\_client.v2.model.logs\_archive\_integration\_s3 module :members: :show-inheritance: +datadog\_api\_client.v2.model.logs\_archive\_integration\_s3\_access\_key module +-------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.logs_archive_integration_s3_access_key + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.logs\_archive\_integration\_s3\_role module +------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.logs_archive_integration_s3_role + :members: + :show-inheritance: + datadog\_api\_client.v2.model.logs\_archive\_order module --------------------------------------------------------- diff --git a/src/datadog_api_client/v2/model/logs_archive_destination_s3.py b/src/datadog_api_client/v2/model/logs_archive_destination_s3.py index a389cf3a95..c2def18e87 100644 --- a/src/datadog_api_client/v2/model/logs_archive_destination_s3.py +++ b/src/datadog_api_client/v2/model/logs_archive_destination_s3.py @@ -18,6 +18,8 @@ from datadog_api_client.v2.model.logs_archive_integration_s3 import LogsArchiveIntegrationS3 from datadog_api_client.v2.model.logs_archive_storage_class_s3_type import LogsArchiveStorageClassS3Type from datadog_api_client.v2.model.logs_archive_destination_s3_type import LogsArchiveDestinationS3Type + from datadog_api_client.v2.model.logs_archive_integration_s3_access_key import LogsArchiveIntegrationS3AccessKey + from datadog_api_client.v2.model.logs_archive_integration_s3_role import LogsArchiveIntegrationS3Role class LogsArchiveDestinationS3(ModelNormal): @@ -49,7 +51,7 @@ def openapi_types(_): def __init__( self_, bucket: str, - integration: LogsArchiveIntegrationS3, + integration: Union[LogsArchiveIntegrationS3, LogsArchiveIntegrationS3AccessKey, LogsArchiveIntegrationS3Role], type: LogsArchiveDestinationS3Type, encryption: Union[LogsArchiveEncryptionS3, UnsetType] = unset, path: Union[str, UnsetType] = unset, @@ -65,7 +67,7 @@ def __init__( :param encryption: The S3 encryption settings. :type encryption: LogsArchiveEncryptionS3, optional - :param integration: The S3 Archive's integration destination. + :param integration: The S3 Archive's integration destination. You must provide one of the following: ``access_key_id`` alone, or both ``account_id`` and ``role_name`` together. :type integration: LogsArchiveIntegrationS3 :param path: The archive path. diff --git a/src/datadog_api_client/v2/model/logs_archive_integration_s3.py b/src/datadog_api_client/v2/model/logs_archive_integration_s3.py index ba18d9e02e..6161cf2b01 100644 --- a/src/datadog_api_client/v2/model/logs_archive_integration_s3.py +++ b/src/datadog_api_client/v2/model/logs_archive_integration_s3.py @@ -5,35 +5,42 @@ from datadog_api_client.model_utils import ( - ModelNormal, + ModelComposed, cached_property, ) -class LogsArchiveIntegrationS3(ModelNormal): - @cached_property - def openapi_types(_): - return { - "account_id": (str,), - "role_name": (str,), - } - - attribute_map = { - "account_id": "account_id", - "role_name": "role_name", - } - - def __init__(self_, account_id: str, role_name: str, **kwargs): +class LogsArchiveIntegrationS3(ModelComposed): + def __init__(self, **kwargs): """ - The S3 Archive's integration destination. + The S3 Archive's integration destination. You must provide one of the following: ``access_key_id`` alone, or both ``account_id`` and ``role_name`` together. + + :param access_key_id: The access key ID for the integration. + :type access_key_id: str :param account_id: The account ID for the integration. :type account_id: str - :param role_name: The path of the integration. + :param role_name: The name of the role to assume for the integration. :type role_name: str """ super().__init__(kwargs) - self_.account_id = account_id - self_.role_name = role_name + @cached_property + def _composed_schemas(_): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + from datadog_api_client.v2.model.logs_archive_integration_s3_access_key import LogsArchiveIntegrationS3AccessKey + from datadog_api_client.v2.model.logs_archive_integration_s3_role import LogsArchiveIntegrationS3Role + + return { + "oneOf": [ + LogsArchiveIntegrationS3AccessKey, + LogsArchiveIntegrationS3Role, + ], + } diff --git a/src/datadog_api_client/v2/model/logs_archive_integration_s3_access_key.py b/src/datadog_api_client/v2/model/logs_archive_integration_s3_access_key.py new file mode 100644 index 0000000000..94ca375e07 --- /dev/null +++ b/src/datadog_api_client/v2/model/logs_archive_integration_s3_access_key.py @@ -0,0 +1,33 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +class LogsArchiveIntegrationS3AccessKey(ModelNormal): + @cached_property + def openapi_types(_): + return { + "access_key_id": (str,), + } + + attribute_map = { + "access_key_id": "access_key_id", + } + + def __init__(self_, access_key_id: str, **kwargs): + """ + The S3 Archive's integration destination using an access key. + + :param access_key_id: The access key ID for the integration. + :type access_key_id: str + """ + super().__init__(kwargs) + + self_.access_key_id = access_key_id diff --git a/src/datadog_api_client/v2/model/logs_archive_integration_s3_role.py b/src/datadog_api_client/v2/model/logs_archive_integration_s3_role.py new file mode 100644 index 0000000000..3b32f58ba9 --- /dev/null +++ b/src/datadog_api_client/v2/model/logs_archive_integration_s3_role.py @@ -0,0 +1,39 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +class LogsArchiveIntegrationS3Role(ModelNormal): + @cached_property + def openapi_types(_): + return { + "account_id": (str,), + "role_name": (str,), + } + + attribute_map = { + "account_id": "account_id", + "role_name": "role_name", + } + + def __init__(self_, account_id: str, role_name: str, **kwargs): + """ + The S3 Archive's integration destination using an IAM role. + + :param account_id: The account ID for the integration. + :type account_id: str + + :param role_name: The name of the role to assume for the integration. + :type role_name: str + """ + super().__init__(kwargs) + + self_.account_id = account_id + self_.role_name = role_name diff --git a/src/datadog_api_client/v2/models/__init__.py b/src/datadog_api_client/v2/models/__init__.py index 9413425cce..bb5644c5c6 100644 --- a/src/datadog_api_client/v2/models/__init__.py +++ b/src/datadog_api_client/v2/models/__init__.py @@ -4371,6 +4371,8 @@ from datadog_api_client.v2.model.logs_archive_integration_azure import LogsArchiveIntegrationAzure from datadog_api_client.v2.model.logs_archive_integration_gcs import LogsArchiveIntegrationGCS from datadog_api_client.v2.model.logs_archive_integration_s3 import LogsArchiveIntegrationS3 +from datadog_api_client.v2.model.logs_archive_integration_s3_access_key import LogsArchiveIntegrationS3AccessKey +from datadog_api_client.v2.model.logs_archive_integration_s3_role import LogsArchiveIntegrationS3Role from datadog_api_client.v2.model.logs_archive_order import LogsArchiveOrder from datadog_api_client.v2.model.logs_archive_order_attributes import LogsArchiveOrderAttributes from datadog_api_client.v2.model.logs_archive_order_definition import LogsArchiveOrderDefinition @@ -12725,6 +12727,8 @@ "LogsArchiveIntegrationAzure", "LogsArchiveIntegrationGCS", "LogsArchiveIntegrationS3", + "LogsArchiveIntegrationS3AccessKey", + "LogsArchiveIntegrationS3Role", "LogsArchiveOrder", "LogsArchiveOrderAttributes", "LogsArchiveOrderDefinition",