-
Notifications
You must be signed in to change notification settings - Fork 3.9k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
4 changed files
with
95 additions
and
115 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,3 @@ | ||
export * from './function'; | ||
export * from './layer'; | ||
export * from './packaging'; | ||
export * from './types'; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
import { AssetHashType, DockerImage } from '@aws-cdk/core'; | ||
|
||
|
||
/** | ||
* Options for bundling | ||
*/ | ||
export interface BundlingOptions { | ||
/** | ||
* Output path suffix ('python' for a layer, '' otherwise) | ||
* | ||
* @default ''' | ||
*/ | ||
readonly outputPathSuffix?: string; | ||
|
||
/** | ||
* Docker image to use for bundling. If no options are provided, the default bundling image | ||
* will be used. The bundling Docker image must have `rsync` installed. Dependencies will be | ||
* copied from the image's`/var/dependencies` directory into the Lambda asset. | ||
* @default - Default bundling image. | ||
*/ | ||
readonly image?: DockerImage; | ||
|
||
/** | ||
* Determines how asset hash is calculated. Assets will get rebuild and | ||
* uploaded only if their hash has changed. | ||
* | ||
* If asset hash is set to `SOURCE` (default), then only changes to the source | ||
* directory will cause the asset to rebuild. This means, for example, that in | ||
* order to pick up a new dependency version, a change must be made to the | ||
* source tree. Ideally, this can be implemented by including a dependency | ||
* lockfile in your source tree or using fixed dependencies. | ||
* | ||
* If the asset hash is set to `OUTPUT`, the hash is calculated after | ||
* bundling. This means that any change in the output will cause the asset to | ||
* be invalidated and uploaded. Bear in mind that `pip` adds timestamps to | ||
* dependencies it installs, which implies that in this mode Python bundles | ||
* will _always_ get rebuild and uploaded. Normally this is an anti-pattern | ||
* since build | ||
* | ||
* @default AssetHashType.SOURCE By default, hash is calculated based on the | ||
* contents of the source directory. This means that only updates to the | ||
* source will cause the asset to rebuild. | ||
*/ | ||
|
||
readonly assetHashType?: AssetHashType; | ||
|
||
/** | ||
* Specify a custom hash for this asset. If `assetHashType` is set it must | ||
* be set to `AssetHashType.CUSTOM`. For consistency, this custom hash will | ||
* be SHA256 hashed and encoded as hex. The resulting hash will be the asset | ||
* hash. | ||
* | ||
* NOTE: the hash is used in order to identify a specific revision of the asset, and | ||
* used for optimizing and caching deployment activities related to this asset such as | ||
* packaging, uploading to Amazon S3, etc. If you chose to customize the hash, you will | ||
* need to make sure it is updated every time the asset changes, or otherwise it is | ||
* possible that some deployments will not be invalidated. | ||
* | ||
* @default - Based on `assetHashType` | ||
*/ | ||
readonly assetHash?: string; | ||
} |