/** * The step after the POC on a Datadog install: the fleet default, the limit * and the route for every service the POC report gives no rule of its own. * * The plan states the rule in user units, the always-pass sample, what an * error monitor sees, and the destination side the route needs: the Flex * index that takes `@routeState:tier_down`, or the forwarder's S3 branch for * `offload`. Nothing here calls Datadog. */ import type { ForwarderKind } from '../discovery/types.js'; import { type OffloadForwarderId } from '../offload-recipes.js'; import { type FleetDefaultAction } from '../fleet-default.js'; import type { ReceiverFleetValues } from '../fleet-default-install.js'; export declare const FLEX_INDEX_FILTER = "@routeState:tier_down"; export interface FleetDefaultStepInput { /** Where lines above the limit go. Default `tier_down` (Flex); `offload` (S3) for an account without Flex. */ action?: FleetDefaultAction; /** Share of ERROR and CRITICAL lines above the limit kept in Standard. Default 0.5 for offload, 0 for tier_down. */ errorFloor?: number; forwarder?: ForwarderKind; /** The offload bucket, when discovery found one. */ bucket?: string; region?: string; /** The Receiver values the plan writes, and why any are held back. */ receiverValues?: ReceiverFleetValues; /** True when the caller passed the limit (`cap_bytes_per_window_per_node`). */ capGiven?: boolean; } export type FleetDefaultDestinationSetup = { kind: 'flex_index'; index_filter: string; language: 'hcl'; body: string; } | { kind: 's3_offload'; bucket: string; prefix: string; forwarder: OffloadForwarderId | null; language?: string; body?: string; placement?: string; }; export interface FleetDefaultStep { destination: 'datadog'; action: FleetDefaultAction; error_floor: number; always_pass_lines: number; /** The rule in user units. */ rule: string; always_pass: string; error_monitors: string; destination_setup: FleetDefaultDestinationSetup; /** The Receiver side, and what holds until the engine reads the default action. */ receiver: string; /** True when the plan's Receiver values carry the fleet default. */ receiver_values_written: boolean; /** The options after the app, in order, when written. */ receiver_options?: Array<[string, string]>; /** Env vars on the Receiver container, when written. */ receiver_env?: Array<[string, string]>; markdown: string; } export declare function buildFleetDefaultStep(input?: FleetDefaultStepInput): FleetDefaultStep;