# SynthesizeStackArtifactOptions

Stack artifact options.

A subset of `cxschema.AwsCloudFormationStackProperties` of optional settings that need to be
configurable by synthesizers, plus `additionalDependencies`.

- Source: [`core/lib/stack-synthesizers/stack-synthesizer.ts`](https://github.com/aws/aws-cdk/blob/v2.274.0/packages/aws-cdk-lib/core/lib/stack-synthesizers/stack-synthesizer.ts#L222)
- Type last changed: v2.160.0 · 24 Sep 2024

## Example

```ts
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import * as cdk from 'aws-cdk-lib';

declare const assumeRoleAdditionalOptions: any;
const synthesizeStackArtifactOptions: cdk.SynthesizeStackArtifactOptions = {
  additionalDependencies: ['additionalDependencies'],
  assumeRoleAdditionalOptions: {
    assumeRoleAdditionalOptionsKey: assumeRoleAdditionalOptions,
  },
  assumeRoleArn: 'assumeRoleArn',
  assumeRoleExternalId: 'assumeRoleExternalId',
  bootstrapStackVersionSsmParameter: 'bootstrapStackVersionSsmParameter',
  cloudFormationExecutionRoleArn: 'cloudFormationExecutionRoleArn',
  lookupRole: {
    arn: 'arn',

    // the properties below are optional
    assumeRoleAdditionalOptions: {
      assumeRoleAdditionalOptionsKey: assumeRoleAdditionalOptions,
    },
    assumeRoleExternalId: 'assumeRoleExternalId',
    bootstrapStackVersionSsmParameter: 'bootstrapStackVersionSsmParameter',
    requiresBootstrapStackVersion: 123,
  },
  parameters: {
    parametersKey: 'parameters',
  },
  requiresBootstrapStackVersion: 123,
  stackTemplateAssetObjectUrl: 'stackTemplateAssetObjectUrl',
};
```

## Properties

- `additionalDependencies`: string[] — Identifiers of additional dependencies.

  **Default:** No additional dependencies

- `assumeRoleAdditionalOptions`: { [key: string]: any } — Additional options to pass to STS when assuming the role for cloudformation deployments.

  **Default:** No additional options.

  - `RoleArn` should not be used. Use the dedicated `assumeRoleArn` property instead.
  - `ExternalId` should not be used. Use the dedicated `assumeRoleExternalId` instead.
  - `TransitiveTagKeys` defaults to use all keys (if any) specified in `Tags`. E.g, all tags are transitive by default.

- `assumeRoleArn`: string — The role that needs to be assumed to deploy the stack.

  **Default:** No role is assumed (current credentials are used)

- `assumeRoleExternalId`: string — The externalID to use with the assumeRoleArn.

  **Default:** No externalID is used

- `bootstrapStackVersionSsmParameter`: string — SSM parameter where the bootstrap stack version number can be found.

  **Default:** Bootstrap stack version number looked up

  Only used if `requiresBootstrapStackVersion` is set.

  - If this value is not set, the bootstrap stack name must be known at
    deployment time so the stack version can be looked up from the stack
    outputs.
  - If this value is set, the bootstrap stack can have any name because
    we won't need to look it up.

- `cloudFormationExecutionRoleArn`: string — The role that is passed to CloudFormation to execute the change set.

  **Default:** No role is passed (currently assumed role/credentials are used)

- `lookupRole`: [BootstrapRole](/cdk/api/v2/docs/aws-cdk-lib.cloud_assembly_schema.BootstrapRole.html) = None — The role to use to look up values from the target AWS account.

- `parameters`: { [key: string]: string } — Values for CloudFormation stack parameters that should be passed when the stack is deployed.

  **Default:** No parameters

- `requiresBootstrapStackVersion`: number — Version of bootstrap stack required to deploy this stack.

  **Default:** No bootstrap stack required

- `stackTemplateAssetObjectUrl`: string — If the stack template has already been included in the asset manifest, its asset URL.

  **Default:** Not uploaded yet, upload just before deploying
