/** * Maps a HarnessSpec (harness.json) to the PascalCase property object for the * `AWS::BedrockAgentCore::Harness` CloudFormation resource. * * This is the CDK-synth-time equivalent of the CLI's imperative harness-mapper: * every helper is a pure function that converts one section of the spec into the * corresponding CFN property. Unlike the imperative mapper (which emits the * camelCase SigV4 wire format), this emits PascalCase keys matching the RPDK * resource schema, and resolves the system prompt synchronously (CDK synth is sync). * * The model mapping covers all four providers (Bedrock, OpenAI, Gemini, LiteLLM, incl. apiBase and * additionalParams). Skill sources (Path / S3 / Git — see mapSkill) and PrivateLink Inbound (the * CustomJWTAuthorizer PrivateEndpoint / PrivateEndpointOverrides fields — see mapAuthorizer) are * also emitted. The resource is `additionalProperties: false`, so the mapping must stay within the * migrated surface. */ import type { HarnessSpec } from '../../../../../schema'; export interface MapHarnessCfnArgs { /** The full harness spec (already validated). */ harness: HarnessSpec; /** Physical harness name sent to CFN (`${projectName}_${name}`). */ harnessName: string; /** Execution role ARN (CFN-required). */ executionRoleArn: string; /** Directory containing harness.json — used to resolve a system-prompt file path. */ harnessDir: string; /** Resolved container image URI (from spec.containerUri or a dockerfile build). */ containerUri?: string; /** Resolved memory ARN (intra-stack token or literal) when the harness references memory. */ memoryArn?: string; /** Retrieval config (per-namespace TopK/RelevanceScore) derived from the referenced memory. */ retrievalConfig?: Record; /** Project-level tags to compose with the harness tags. */ projectTags?: Record; /** Credential deployed state for resolving credential names to ARNs (for git skill auth). */ credentials?: Record; } /** * Build the PascalCase `properties` object for the harness CfnResource. */ export declare function mapHarnessSpecToCfnProperties(args: MapHarnessCfnArgs): Record; //# sourceMappingURL=harness-cfn-mapping.d.ts.map