@Generated(value="jsii-pacmak/1.73.0 (build 6faeda3)",
date="2023-01-31T18:36:54.858Z")
public interface BundlingOptions
Example:
GoFunction.Builder.create(this, "handler") .entry("app/cmd/api") .bundling(BundlingOptions.builder() .dockerImage(DockerImage.fromBuild("/path/to/Dockerfile")) .build()) .build();
Modifier and Type | Interface and Description |
---|---|
static class |
BundlingOptions.Builder
A builder for
BundlingOptions |
static class |
BundlingOptions.Jsii$Proxy
An implementation for
BundlingOptions |
Modifier and Type | Method and Description |
---|---|
static BundlingOptions.Builder |
builder() |
default java.lang.String |
getAssetHash()
(experimental) Specify a custom hash for this asset.
|
default AssetHashType |
getAssetHashType()
(experimental) Determines how the asset hash is calculated.
|
default java.util.Map<java.lang.String,java.lang.String> |
getBuildArgs()
(experimental) Build arguments to pass when building the bundling image.
|
default java.lang.Boolean |
getCgoEnabled()
(experimental) Whether or not to enable cgo during go build.
|
default ICommandHooks |
getCommandHooks()
(experimental) Command hooks.
|
default DockerImage |
getDockerImage()
(experimental) A custom bundling Docker image.
|
default java.util.Map<java.lang.String,java.lang.String> |
getEnvironment()
(experimental) Environment variables defined when go runs.
|
default java.lang.Boolean |
getForcedDockerBundling()
(experimental) Force bundling in a Docker container even if local bundling is possible.
|
default java.util.List<java.lang.String> |
getGoBuildFlags()
(experimental) List of additional flags to use while building.
|
default java.util.List<java.lang.String> |
getGoProxies()
(experimental) What Go proxies to use to fetch the packages involved in the build.
|
default java.lang.String getAssetHash()
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`
default AssetHashType getAssetHashType()
If the asset hash is set to OUTPUT
(default), 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 the
go binary that is output can be different depending on the environment
that it was compiled in. If you want to control when the output is changed
it is recommended that you use immutable build images such as
public.ecr.aws/bitnami/golang:1.16.3-debian-10-r16
.
If the asset hash is set to SOURCE
, then only changes to the source
directory will cause the asset to rebuild. If your go project has multiple
Lambda functions this means that an update to any one function could cause
all the functions to be rebuilt and uploaded.
Default: - AssetHashType.OUTPUT. If `assetHash` is also specified, the default is `CUSTOM`.
default java.util.Map<java.lang.String,java.lang.String> getBuildArgs()
Default: - no build arguments are passed
default java.lang.Boolean getCgoEnabled()
This will set the CGO_ENABLED environment variable
Default: - false
default ICommandHooks getCommandHooks()
Default: - do not run additional commands
default DockerImage getDockerImage()
Default: - use the Docker image provided by
default java.util.Map<java.lang.String,java.lang.String> getEnvironment()
Default: - no environment variables are defined.
default java.lang.Boolean getForcedDockerBundling()
Default: - false
default java.util.List<java.lang.String> getGoBuildFlags()
For example: ['ldflags "-s -w"']
Default: - none
default java.util.List<java.lang.String> getGoProxies()
Pass a list of proxy addresses in order, and/or the string 'direct'
to
attempt direct access.
By default this construct uses no proxies, but a standard Go install would use the Google proxy by default. To recreate that behavior, do the following:
GoFunction.Builder.create(this, "GoFunction") .entry("app/cmd/api") .bundling(BundlingOptions.builder() .goProxies(List.of(GoFunction.GOOGLE_GOPROXY, "direct")) .build()) .build();
Default: - Direct access
static BundlingOptions.Builder builder()
BundlingOptions.Builder
of BundlingOptions