/** * Read-only AWS probes for the install advisor. * * Shells out to `aws` CLI — no SDK dependency. Customers with AWS * configured already have the CLI; the ones that don't will see * `aws.available = false` and the advisor will fall back to asking * them for the facts by hand. * * Probe budget is tight: we call roughly 6 read APIs per run. No * pagination — big accounts may get truncated, and that's fine for * an advisor (we just say "and N more..." in the output). */ import type { AwsProbes, ProbeLogEntry } from './types.js'; export interface AwsProbeOpts { /** AWS region. If absent, we pick it up from the CLI config. */ region?: string; /** Substring hint for finding the retriever bucket. Default: 'retriever'. */ bucketHint?: string; /** EKS cluster name to describe, if known. */ eksClusterName?: string; /** Per-call timeout. Default 10_000ms. */ timeoutMs?: number; /** * Probe the serverless estate (Lambda functions, OTel-extension layers, * log-group subscription filters). Default true; one list-functions call * when the account has no functions, up to ~22 calls when it does. */ includeLambda?: boolean; } export declare function probeAws(opts?: AwsProbeOpts): Promise<{ probes: AwsProbes; log: ProbeLogEntry[]; }>;