import type { CommonDestinationProps } from './common'; import { type HttpAttribute, type HttpBufferingHints, type HttpRetryOptions, HttpBackupMode, HttpCompression, HttpEndpoint } from './http-endpoint'; import type { ISecret } from '../../aws-secretsmanager'; /** * A Datadog endpoint URL for use with Kinesis Data Firehose. * * Use one of the predefined static members for a known Datadog region, or * `DatadogEndpoint.of(url)` for a custom URL. */ export declare class DatadogEndpoint { /** * The endpoint URL string. */ readonly url: string; /** * Logs — US1 */ static readonly LOGS_US1: DatadogEndpoint; /** * Logs — US3 */ static readonly LOGS_US3: DatadogEndpoint; /** * Logs — US5 */ static readonly LOGS_US5: DatadogEndpoint; /** * Logs — AP1 (Japan) */ static readonly LOGS_AP1: DatadogEndpoint; /** * Logs — EU */ static readonly LOGS_EU: DatadogEndpoint; /** * Logs — US Government */ static readonly LOGS_GOV: DatadogEndpoint; /** * Metrics — US */ static readonly METRICS_US: DatadogEndpoint; /** * Metrics — US5 */ static readonly METRICS_US5: DatadogEndpoint; /** * Metrics — AP1 (Japan) */ static readonly METRICS_AP1: DatadogEndpoint; /** * Metrics — EU */ static readonly METRICS_EU: DatadogEndpoint; /** * Configurations — US1 */ static readonly CONFIGURATION_US1: DatadogEndpoint; /** * Configurations — US3 */ static readonly CONFIGURATION_US3: DatadogEndpoint; /** * Configurations — US5 */ static readonly CONFIGURATION_US5: DatadogEndpoint; /** * Configurations — AP1 (Japan) */ static readonly CONFIGURATION_AP1: DatadogEndpoint; /** * Configurations — EU */ static readonly CONFIGURATION_EU: DatadogEndpoint; /** * Configurations — US Government */ static readonly CONFIGURATION_US_GOV: DatadogEndpoint; /** * Use a custom Datadog endpoint URL. * * This is an escape hatch for endpoints not covered by the predefined members (for * example a new region or a proxy in front of Datadog). The value is passed through * as-is and is not validated by CDK. It must be a valid HTTPS Datadog intake URL: the * Firehose API requires the endpoint URL to match `https://`, so an invalid value fails * at deployment. The caller is responsible for providing a correct URL. * * @param url The full HTTPS endpoint URL. */ static of(url: string): DatadogEndpoint; private constructor(); } /** * Props for defining a Datadog destination of a Kinesis Data Firehose delivery stream. */ export interface DatadogProps extends CommonDestinationProps { /** * The API key used to authenticate with Datadog. * * Delivered to Firehose through AWS Secrets Manager (Firehose retrieves it at runtime rather * than embedding it in the template). */ readonly apiKey: ISecret; /** * The Datadog endpoint to send data to. */ readonly endpoint: DatadogEndpoint; /** * Datadog tags to apply for filtering. * * @default - No tags. */ readonly tags?: HttpAttribute[]; /** * Describes the S3 bucket backup options for the data that Kinesis Data Firehose delivers to Datadog. * * @default HttpBackupMode.FAILED */ readonly backupMode?: HttpBackupMode; /** * Buffering hints for data delivery to the Datadog endpoint. * * @default - interval of 60 seconds, size of 4 MiB */ readonly bufferingHints?: HttpBufferingHints; /** * Retry behavior when Kinesis Data Firehose cannot deliver data to Datadog. * * @default - duration of 60 seconds */ readonly retryOptions?: HttpRetryOptions; /** * Content encoding applied to the request body before delivery. * * @default HttpCompression.GZIP */ readonly requestCompression?: HttpCompression; } /** * A Datadog destination for data from a Kinesis Data Firehose delivery stream. */ export declare class Datadog extends HttpEndpoint { constructor(props: DatadogProps); }