# CfnIncludeProps

Construction properties of `CfnInclude`.

Extends: CfnIncludeProps
Used as props by: CfnInclude

- Source: [`cloudformation-include/lib/cfn-include.ts`](https://github.com/aws/aws-cdk/blob/v2.275.0/packages/aws-cdk-lib/cloudformation-include/lib/cfn-include.ts#L11)
- Type last changed: v2.161.0 · 4 Oct 2024

## Example

```ts
const parentTemplate = new cfn_inc.CfnInclude(this, 'ParentStack', {
  templateFile: 'path/to/my-parent-template.json',
  loadNestedStacks: {
    'ChildStack': {
      templateFile: 'path/to/my-nested-template.json',
    },
  },
});
```

## Properties

- `allowCyclicalReferences`: boolean — Specifies whether to allow cyclical references, effectively disregarding safeguards meant to avoid undeployable templates.

  **Default:** will throw an error on detecting any cyclical references

  This should only be set to true in the case of templates utilizing cloud transforms (e.g. SAM) that
  after processing the transform will no longer contain any circular references.

- `dehydratedResources`: string[] — Specifies a list of LogicalIDs for resources that will be included in the CDK Stack, but will not be parsed and converted to CDK types.

  **Default:** All resources are hydrated

  This allows you to use CFN templates
  that rely on Intrinsic placement that `cfn-include`
  would otherwise reject, such as non-primitive values in resource update policies.

- `loadNestedStacks`: { [key: string]: [CfnIncludeProps](/cdk/api/v2/docs/aws-cdk-lib.cloudformation_include.CfnIncludeProps.html) } — Specifies the template files that define nested stacks that should be included.

  **Default:** no nested stacks will be included

  If your template specifies a stack that isn't included here, it won't be created as a NestedStack
  resource, and it won't be accessible from the `CfnInclude.getNestedStack` method
  (but will still be accessible from the `CfnInclude.getResource` method).

  If you include a stack here with an ID that isn't in the template,
  or is in the template but is not a nested stack,
  template creation will fail and an error will be thrown.

- `parameters`: { [key: string]: any } — Specifies parameters to be replaced by the values in this mapping.

  **Default:** parameters will retain their original definitions

  Any parameters in the template that aren't specified here will be left unmodified.
  If you include a parameter here with an ID that isn't in the template,
  template creation will fail and an error will be thrown.

  If you are importing a parameter from a live stack, we cannot know the value of that
  parameter. You will need to supply a value for your parameters, else the default
  value will be used.

- `preserveLogicalIds`: boolean = true — Whether the resources should have the same logical IDs in the resulting CDK template as they did in the original CloudFormation template file.

  If you're vending a Construct using an existing CloudFormation template,
  make sure to pass this as `false`.

  **Note**: regardless of whether this option is true or false,
  the `CfnInclude.getResource` and related methods always uses the original logical ID of the resource/element,
  as specified in the template file.

- `templateFile`: string (required) — Path to the template file.

  Both JSON and YAML template formats are supported.
