diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index 488b7e209c..57fa3374b8 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -64447,6 +64447,16 @@ components: - storage_class type: object x-pipeline-types: [logs] + ObservabilityPipelineAmazonS3DestinationServerSideEncryption: + description: Server-side encryption type for Amazon S3. + enum: + - "aws:kms" + - AES256 + example: "aws:kms" + type: string + x-enum-varnames: + - AWS_KMS + - AES256 ObservabilityPipelineAmazonS3DestinationStorageClass: description: S3 storage class. enum: @@ -64601,6 +64611,14 @@ components: description: AWS region of the S3 bucket. example: "us-east-1" type: string + server_side_encryption: + $ref: "#/components/schemas/ObservabilityPipelineAmazonS3DestinationServerSideEncryption" + ssekms_key_id: + description: |- + The AWS KMS key ID used for SSE-KMS encryption. + Only applies when `server_side_encryption` is set to `aws:kms`. + example: "arn:aws:kms:us-east-1:123456789012:key/mrk-abc123" + type: string storage_class: $ref: "#/components/schemas/ObservabilityPipelineAmazonS3DestinationStorageClass" type: diff --git a/docs/datadog_api_client.v2.model.rst b/docs/datadog_api_client.v2.model.rst index a084de08b3..84d05bf09e 100644 --- a/docs/datadog_api_client.v2.model.rst +++ b/docs/datadog_api_client.v2.model.rst @@ -26737,6 +26737,13 @@ datadog\_api\_client.v2.model.observability\_pipeline\_amazon\_s3\_destination m :members: :show-inheritance: +datadog\_api\_client.v2.model.observability\_pipeline\_amazon\_s3\_destination\_server\_side\_encryption module +--------------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.observability_pipeline_amazon_s3_destination_server_side_encryption + :members: + :show-inheritance: + datadog\_api\_client.v2.model.observability\_pipeline\_amazon\_s3\_destination\_storage\_class module ----------------------------------------------------------------------------------------------------- diff --git a/src/datadog_api_client/v2/model/observability_pipeline_amazon_s3_destination_server_side_encryption.py b/src/datadog_api_client/v2/model/observability_pipeline_amazon_s3_destination_server_side_encryption.py new file mode 100644 index 0000000000..fecbdb12a7 --- /dev/null +++ b/src/datadog_api_client/v2/model/observability_pipeline_amazon_s3_destination_server_side_encryption.py @@ -0,0 +1,42 @@ +# 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 ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class ObservabilityPipelineAmazonS3DestinationServerSideEncryption(ModelSimple): + """ + Server-side encryption type for Amazon S3. + + :param value: Must be one of ["aws:kms", "AES256"]. + :type value: str + """ + + allowed_values = { + "aws:kms", + "AES256", + } + AWS_KMS: ClassVar["ObservabilityPipelineAmazonS3DestinationServerSideEncryption"] + AES256: ClassVar["ObservabilityPipelineAmazonS3DestinationServerSideEncryption"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +ObservabilityPipelineAmazonS3DestinationServerSideEncryption.AWS_KMS = ( + ObservabilityPipelineAmazonS3DestinationServerSideEncryption("aws:kms") +) +ObservabilityPipelineAmazonS3DestinationServerSideEncryption.AES256 = ( + ObservabilityPipelineAmazonS3DestinationServerSideEncryption("AES256") +) diff --git a/src/datadog_api_client/v2/model/observability_pipeline_amazon_s3_generic_destination.py b/src/datadog_api_client/v2/model/observability_pipeline_amazon_s3_generic_destination.py index 136307b4e2..fa8562fd2d 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_amazon_s3_generic_destination.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_amazon_s3_generic_destination.py @@ -25,6 +25,9 @@ from datadog_api_client.v2.model.observability_pipeline_amazon_s3_generic_encoding import ( ObservabilityPipelineAmazonS3GenericEncoding, ) + from datadog_api_client.v2.model.observability_pipeline_amazon_s3_destination_server_side_encryption import ( + ObservabilityPipelineAmazonS3DestinationServerSideEncryption, + ) from datadog_api_client.v2.model.observability_pipeline_amazon_s3_destination_storage_class import ( ObservabilityPipelineAmazonS3DestinationStorageClass, ) @@ -71,6 +74,9 @@ def openapi_types(_): from datadog_api_client.v2.model.observability_pipeline_amazon_s3_generic_encoding import ( ObservabilityPipelineAmazonS3GenericEncoding, ) + from datadog_api_client.v2.model.observability_pipeline_amazon_s3_destination_server_side_encryption import ( + ObservabilityPipelineAmazonS3DestinationServerSideEncryption, + ) from datadog_api_client.v2.model.observability_pipeline_amazon_s3_destination_storage_class import ( ObservabilityPipelineAmazonS3DestinationStorageClass, ) @@ -89,6 +95,8 @@ def openapi_types(_): "inputs": ([str],), "key_prefix": (str,), "region": (str,), + "server_side_encryption": (ObservabilityPipelineAmazonS3DestinationServerSideEncryption,), + "ssekms_key_id": (str,), "storage_class": (ObservabilityPipelineAmazonS3DestinationStorageClass,), "type": (ObservabilityPipelineAmazonS3GenericDestinationType,), } @@ -104,6 +112,8 @@ def openapi_types(_): "inputs": "inputs", "key_prefix": "key_prefix", "region": "region", + "server_side_encryption": "server_side_encryption", + "ssekms_key_id": "ssekms_key_id", "storage_class": "storage_class", "type": "type", } @@ -137,6 +147,8 @@ def __init__( UnsetType, ] = unset, key_prefix: Union[str, UnsetType] = unset, + server_side_encryption: Union[ObservabilityPipelineAmazonS3DestinationServerSideEncryption, UnsetType] = unset, + ssekms_key_id: Union[str, UnsetType] = unset, **kwargs, ): """ @@ -175,6 +187,13 @@ def __init__( :param region: AWS region of the S3 bucket. :type region: str + :param server_side_encryption: Server-side encryption type for Amazon S3. + :type server_side_encryption: ObservabilityPipelineAmazonS3DestinationServerSideEncryption, optional + + :param ssekms_key_id: The AWS KMS key ID used for SSE-KMS encryption. + Only applies when ``server_side_encryption`` is set to ``aws:kms``. + :type ssekms_key_id: str, optional + :param storage_class: S3 storage class. :type storage_class: ObservabilityPipelineAmazonS3DestinationStorageClass @@ -189,6 +208,10 @@ def __init__( kwargs["buffer"] = buffer if key_prefix is not unset: kwargs["key_prefix"] = key_prefix + if server_side_encryption is not unset: + kwargs["server_side_encryption"] = server_side_encryption + if ssekms_key_id is not unset: + kwargs["ssekms_key_id"] = ssekms_key_id super().__init__(kwargs) self_.bucket = bucket diff --git a/src/datadog_api_client/v2/model/observability_pipeline_config_destination_item.py b/src/datadog_api_client/v2/model/observability_pipeline_config_destination_item.py index 34adc41705..715180c333 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_config_destination_item.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_config_destination_item.py @@ -94,6 +94,13 @@ def __init__(self, **kwargs): :param batch_settings: Event batching settings :type batch_settings: ObservabilityPipelineAmazonS3GenericBatchSettings, optional + :param server_side_encryption: Server-side encryption type for Amazon S3. + :type server_side_encryption: ObservabilityPipelineAmazonS3DestinationServerSideEncryption, optional + + :param ssekms_key_id: The AWS KMS key ID used for SSE-KMS encryption. + Only applies when `server_side_encryption` is set to `aws:kms`. + :type ssekms_key_id: str, optional + :param custom_source_name: Custom source name for the logs in Security Lake. :type custom_source_name: str diff --git a/src/datadog_api_client/v2/models/__init__.py b/src/datadog_api_client/v2/models/__init__.py index 998d656dbd..7a5e0cb393 100644 --- a/src/datadog_api_client/v2/models/__init__.py +++ b/src/datadog_api_client/v2/models/__init__.py @@ -5021,6 +5021,9 @@ from datadog_api_client.v2.model.observability_pipeline_amazon_s3_destination import ( ObservabilityPipelineAmazonS3Destination, ) +from datadog_api_client.v2.model.observability_pipeline_amazon_s3_destination_server_side_encryption import ( + ObservabilityPipelineAmazonS3DestinationServerSideEncryption, +) from datadog_api_client.v2.model.observability_pipeline_amazon_s3_destination_storage_class import ( ObservabilityPipelineAmazonS3DestinationStorageClass, ) @@ -13356,6 +13359,7 @@ "ObservabilityPipelineAmazonOpenSearchDestinationAuthStrategy", "ObservabilityPipelineAmazonOpenSearchDestinationType", "ObservabilityPipelineAmazonS3Destination", + "ObservabilityPipelineAmazonS3DestinationServerSideEncryption", "ObservabilityPipelineAmazonS3DestinationStorageClass", "ObservabilityPipelineAmazonS3DestinationType", "ObservabilityPipelineAmazonS3GenericBatchSettings",