import { type CloudFormationStackArtifact, type Environment } from '@aws-cdk/cloud-assembly-api'; import type { AssetManifestBuilder } from '../deployments'; import type { EnvironmentResources } from '../environment'; import type { IoHelper } from '../io/private'; export type TemplateBodyParameter = { TemplateBody?: string; TemplateURL?: string; }; /** * Prepares the body parameter for +CreateChangeSet+. * * If the template is small enough to be inlined into the API call, just return * it immediately. * * Otherwise, add it to the asset manifest to get uploaded to the staging * bucket and return its coordinates. If there is no staging bucket, an error * is thrown. * * @param stack - the synthesized stack that provides the CloudFormation template * @param toolkitInfo - information about the toolkit stack */ export declare function makeBodyParameter(ioHelper: IoHelper, stack: CloudFormationStackArtifact, resolvedEnvironment: Environment, assetManifest: AssetManifestBuilder, resources: EnvironmentResources, overrideTemplate?: any): Promise; /** * Format an S3 URL in the manifest for use with CloudFormation * * Replaces environment placeholders (which this field may contain), * and reformats s3://.../... urls into S3 REST URLs (which CloudFormation * expects). * * We need to return the official region- and partition-specific URL for AWS S3 * here, so we use the SDK's information about endpoints. At the same time, the * SDK allows overriding this URL by setting an environment variable * (specifically $AWS_ENDPOINT_URL_S3) but we want to *not* honor that, because * there's a 99.9% chance this URL will not be routable from AWS CloudFormation. * * To allow for the off chance that someone is running this tool against a * custom build of CloudFormation that does need a specific S3 endpoint passed * to it, we'll introduce a new environment variable that we'll respect instead: * * AWS_ENDPOINT_URL_S3_FOR_CLOUDFORMATION */ export declare function restUrlFromManifest(url: string, environment: Environment): Promise; //# sourceMappingURL=template-body-parameter.d.ts.map