# FileAssetSource

Represents the source for a file asset.

- Source: [`core/lib/assets.ts`](https://github.com/aws/aws-cdk/blob/v2.274.0/packages/aws-cdk-lib/core/lib/assets.ts#L100)
- Type last changed: v2.187.0 · 31 Mar 2025

## 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';
const fileAssetSource: cdk.FileAssetSource = {
  sourceHash: 'sourceHash',

  // the properties below are optional
  deployTime: false,
  displayName: 'displayName',
  executable: ['executable'],
  fileName: 'fileName',
  packaging: cdk.FileAssetPackaging.ZIP_DIRECTORY,
};
```

## Properties

- `deployTime`: boolean = false — Whether or not the asset needs to exist beyond deployment time;

  i.e.
  are copied over to a different location and not needed afterwards.
  Setting this property to true has an impact on the lifecycle of the asset,
  because we will assume that it is safe to delete after the CloudFormation
  deployment succeeds.

  For example, Lambda Function assets are copied over to Lambda during
  deployment. Therefore, it is not necessary to store the asset in S3, so
  we consider those deployTime assets.

- `displayName`: string — A display name for this asset.

  **Default:** The asset hash is used to display the asset

  If supplied, the display name will be used in locations where the asset
  identifier is printed, like in the CLI progress information.

- `executable`: string[] — An external command that will produce the packaged asset.

  **Default:** Exactly one of `fileName` and `executable` is required

  The command should produce the location of a ZIP file on `stdout`.

- `fileName`: string — The path, relative to the root of the cloud assembly, in which this asset source resides.

  **Default:** Exactly one of `fileName` and `executable` is required

  This can be a path to a file or a directory, depending on the
  packaging type.

- `packaging`: [FileAssetPackaging](/cdk/api/v2/docs/aws-cdk-lib.FileAssetPackaging.html) — Which type of packaging to perform.

  **Default:** Required if `fileName` is specified.

- `sourceHash`: string (required) — A hash on the content source.

  This hash is used to uniquely identify this
  asset throughout the system. If this value doesn't change, the asset will
  not be rebuilt or republished.
