BundlingOptions
- class aws_cdk.aws_lambda_go_alpha.BundlingOptions(*, command=None, entrypoint=None, environment=None, network=None, platform=None, security_opt=None, user=None, volumes=None, volumes_from=None, working_directory=None, asset_hash=None, asset_hash_type=None, build_args=None, bundling_file_access=None, cgo_enabled=None, command_hooks=None, docker_image=None, forced_docker_bundling=None, go_build_flags=None, go_proxies=None)
Bases:
DockerRunOptions
(experimental) Bundling options.
- Parameters:
command (
Optional
[Sequence
[str
]]) – The command to run in the container. Default: - run the command defined in the imageentrypoint (
Optional
[Sequence
[str
]]) – The entrypoint to run in the container. Default: - run the entrypoint defined in the imageenvironment (
Optional
[Mapping
[str
,str
]]) – The environment variables to pass to the container. Default: - no environment variables.network (
Optional
[str
]) – Docker Networking options. Default: - no networking optionsplatform (
Optional
[str
]) – Set platform if server is multi-platform capable. Requires Docker Engine API v1.38+. Example value:linux/amd64
Default: - no platform specifiedsecurity_opt (
Optional
[str
]) – Security configuration when running the docker container. Default: - no security optionsuser (
Optional
[str
]) – The user to use when running the container. Default: - root or image defaultvolumes (
Optional
[Sequence
[Union
[DockerVolume
,Dict
[str
,Any
]]]]) – Docker volumes to mount. Default: - no volumes are mountedvolumes_from (
Optional
[Sequence
[str
]]) – Where to mount the specified volumes from. Default: - no containers are specified to mount volumes fromworking_directory (
Optional
[str
]) – Working directory inside the container. Default: - image defaultasset_hash (
Optional
[str
]) – (experimental) Specify a custom hash for this asset. IfassetHashType
is set it must be set toAssetHashType.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 onassetHashType
asset_hash_type (
Optional
[AssetHashType
]) – (experimental) Determines how the asset hash is calculated. Assets will get rebuilt and uploaded only if their hash has changed. If the asset hash is set toOUTPUT
(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 aspublic.ecr.aws/bitnami/golang:1.16.3-debian-10-r16
. If the asset hash is set toSOURCE
, 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. IfassetHash
is also specified, the default isCUSTOM
.build_args (
Optional
[Mapping
[str
,str
]]) – (experimental) Build arguments to pass when building the bundling image. Default: - no build arguments are passedbundling_file_access (
Optional
[BundlingFileAccess
]) – (experimental) Which option to use to copy the source files to the docker container and output files back. Default: - BundlingFileAccess.BIND_MOUNTcgo_enabled (
Optional
[bool
]) – (experimental) Whether or not to enable cgo during go build. This will set the CGO_ENABLED environment variable Default: - falsecommand_hooks (
Optional
[ICommandHooks
]) – (experimental) Command hooks. Default: - do not run additional commandsdocker_image (
Optional
[DockerImage
]) – (experimental) A custom bundling Docker image. Default: - use the Docker image provided byforced_docker_bundling (
Optional
[bool
]) – (experimental) Force bundling in a Docker container even if local bundling is possible. Default: - falsego_build_flags (
Optional
[Sequence
[str
]]) – (experimental) List of additional flags to use while building. For example: [‘ldflags “-s -w”’] Default: - nonego_proxies (
Optional
[Sequence
[str
]]) – (experimental) What Go proxies to use to fetch the packages involved in the build. 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:: new go.GoFunction(this, ‘GoFunction’, { entry: ‘app/cmd/api’, bundling: { goProxies: [go.GoFunction.GOOGLE_GOPROXY, ‘direct’], }, }); Default: - Direct access
- Stability:
experimental
- ExampleMetadata:
infused
Example:
go.GoFunction(self, "handler", entry="app/cmd/api", bundling=go.BundlingOptions( environment={ "HELLO": "WORLD" } ) )
Attributes
- asset_hash
(experimental) Specify a custom hash for this asset.
If
assetHashType
is set it must be set toAssetHashType.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
- Stability:
experimental
- asset_hash_type
(experimental) Determines how the asset hash is calculated. Assets will get rebuilt and uploaded only if their hash has changed.
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 aspublic.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
.- Stability:
experimental
- build_args
(experimental) Build arguments to pass when building the bundling image.
- Default:
no build arguments are passed
- Stability:
experimental
- bundling_file_access
(experimental) Which option to use to copy the source files to the docker container and output files back.
- Default:
BundlingFileAccess.BIND_MOUNT
- Stability:
experimental
- cgo_enabled
(experimental) Whether or not to enable cgo during go build.
This will set the CGO_ENABLED environment variable
- Default:
false
- Stability:
experimental
- command
The command to run in the container.
- Default:
run the command defined in the image
- command_hooks
(experimental) Command hooks.
- Default:
do not run additional commands
- Stability:
experimental
- docker_image
(experimental) A custom bundling Docker image.
- Default:
use the Docker image provided by
- Stability:
experimental
- Aws-cdk:
/aws-lambda-go-alpha
- entrypoint
The entrypoint to run in the container.
- Default:
run the entrypoint defined in the image
- environment
The environment variables to pass to the container.
- Default:
no environment variables.
- forced_docker_bundling
(experimental) Force bundling in a Docker container even if local bundling is possible.
- Default:
false
- Stability:
experimental
- go_build_flags
(experimental) List of additional flags to use while building.
For example: [‘ldflags “-s -w”’]
- Default:
none
- Stability:
experimental
- go_proxies
(experimental) What Go proxies to use to fetch the packages involved in the build.
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:
go.GoFunction(self, "GoFunction", entry="app/cmd/api", bundling=go.BundlingOptions( go_proxies=[go.GoFunction.GOOGLE_GOPROXY, "direct"] ) )
- Default:
Direct access
- Stability:
experimental
- network
//docs.docker.com/engine/reference/commandline/run/#connect-a-container-to-a-network—network>`_.
- Default:
no networking options
- Type:
Docker `Networking options <https
- platform
Set platform if server is multi-platform capable. Requires Docker Engine API v1.38+.
Example value:
linux/amd64
- Default:
no platform specified
- security_opt
//docs.docker.com/engine/reference/run/#security-configuration>`_ when running the docker container.
- Default:
no security options
- Type:
`Security configuration <https
- user
The user to use when running the container.
- Default:
root or image default
- volumes
Docker volumes to mount.
- Default:
no volumes are mounted
- volumes_from
Where to mount the specified volumes from.
- Default:
no containers are specified to mount volumes from
- See:
https://docs.docker.com/engine/reference/commandline/run/#mount-volumes-from-container—volumes-from
- working_directory
Working directory inside the container.
- Default:
image default