Class BundlingOptions.Builder
- java.lang.Object
-
- io.github.cdklabs.awslambdarust.BundlingOptions.Builder
-
- All Implemented Interfaces:
software.amazon.jsii.Builder<BundlingOptions>
- Enclosing interface:
- BundlingOptions
@Stability(Experimental) public static final class BundlingOptions.Builder extends Object implements software.amazon.jsii.Builder<BundlingOptions>
A builder forBundlingOptions
-
-
Constructor Summary
Constructors Constructor Description Builder()
-
Method Summary
-
-
-
Method Detail
-
assetHash
@Stability(Experimental) public BundlingOptions.Builder assetHash(String assetHash)
Sets the value ofBundlingOptions.getAssetHash()- Parameters:
assetHash- Specify a custom hash for this asset. IfassetHashTypeis 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.
- Returns:
this
-
assetHashType
@Stability(Experimental) public BundlingOptions.Builder assetHashType(software.amazon.awscdk.AssetHashType assetHashType)
Sets the value ofBundlingOptions.getAssetHashType()- Parameters:
assetHashType- 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 rust binary that is output can be different depending on the target that it was compiled for.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.- Returns:
this
-
buildArgs
@Stability(Experimental) public BundlingOptions.Builder buildArgs(Map<String,String> buildArgs)
Sets the value ofBundlingOptions.getBuildArgs()- Parameters:
buildArgs- Build arguments to pass when building the bundling image.- Returns:
this
-
bundlingFileAccess
@Stability(Experimental) public BundlingOptions.Builder bundlingFileAccess(software.amazon.awscdk.BundlingFileAccess bundlingFileAccess)
Sets the value ofBundlingOptions.getBundlingFileAccess()- Parameters:
bundlingFileAccess- Which option to use to copy the source files to the docker container and output files back.- Returns:
this
-
commandHooks
@Stability(Experimental) public BundlingOptions.Builder commandHooks(ICommandHooks commandHooks)
Sets the value ofBundlingOptions.getCommandHooks()- Parameters:
commandHooks- Command hooks.- Returns:
this
-
dockerImage
@Stability(Experimental) public BundlingOptions.Builder dockerImage(software.amazon.awscdk.DockerImage dockerImage)
Sets the value ofBundlingOptions.getDockerImage()- Parameters:
dockerImage- A custom bundling Docker image.- Returns:
this
-
extraBuildArgs
@Stability(Experimental) public BundlingOptions.Builder extraBuildArgs(List<String> extraBuildArgs)
Sets the value ofBundlingOptions.getExtraBuildArgs()- Parameters:
extraBuildArgs- Additional arguments that are passed in at build time to package manager.Examples
--all-features--no-default-features
- Returns:
this
-
features
@Stability(Experimental) public BundlingOptions.Builder features(List<String> features)
Sets the value ofBundlingOptions.getFeatures()- Parameters:
features- A list of features to activate when compiling Rust code.- Returns:
this
-
forceDockerBundling
@Stability(Experimental) public BundlingOptions.Builder forceDockerBundling(Boolean forceDockerBundling)
Sets the value ofBundlingOptions.getForceDockerBundling()- Parameters:
forceDockerBundling- Force bundling in a Docker container even if local bundling is possible.- Returns:
this
-
logLevel
@Stability(Experimental) public BundlingOptions.Builder logLevel(LogLevel logLevel)
Sets the value ofBundlingOptions.getLogLevel()- Parameters:
logLevel- Log level for cargo.- Returns:
this
-
packageManagerType
@Stability(Experimental) public BundlingOptions.Builder packageManagerType(PackageManagerType packageManagerType)
Sets the value ofBundlingOptions.getPackageManagerType()- Parameters:
packageManagerType- The type of package manager to use.- Returns:
this
-
target
@Stability(Experimental) public BundlingOptions.Builder target(String target)
Sets the value ofBundlingOptions.getTarget()- Parameters:
target- Cross compilation target environment for the generated binary.- Returns:
this
-
command
@Stability(Stable) public BundlingOptions.Builder command(List<String> command)
Sets the value ofDockerRunOptions.getCommand()- Parameters:
command- The command to run in the container.- Returns:
this
-
entrypoint
@Stability(Stable) public BundlingOptions.Builder entrypoint(List<String> entrypoint)
Sets the value ofDockerRunOptions.getEntrypoint()- Parameters:
entrypoint- The entrypoint to run in the container.- Returns:
this
-
environment
@Stability(Stable) public BundlingOptions.Builder environment(Map<String,String> environment)
Sets the value ofDockerRunOptions.getEnvironment()- Parameters:
environment- The environment variables to pass to the container.- Returns:
this
-
network
@Stability(Stable) public BundlingOptions.Builder network(String network)
Sets the value ofDockerRunOptions.getNetwork()- Parameters:
network- Docker Networking options.- Returns:
this
-
platform
@Stability(Stable) public BundlingOptions.Builder platform(String platform)
Sets the value ofDockerRunOptions.getPlatform()- Parameters:
platform- Set platform if server is multi-platform capable. Requires Docker Engine API v1.38+. Example value:linux/amd64- Returns:
this
-
securityOpt
@Stability(Stable) public BundlingOptions.Builder securityOpt(String securityOpt)
Sets the value ofDockerRunOptions.getSecurityOpt()- Parameters:
securityOpt- Security configuration when running the docker container.- Returns:
this
-
user
@Stability(Stable) public BundlingOptions.Builder user(String user)
Sets the value ofDockerRunOptions.getUser()- Parameters:
user- The user to use when running the container.- Returns:
this
-
volumes
@Stability(Stable) public BundlingOptions.Builder volumes(List<? extends software.amazon.awscdk.DockerVolume> volumes)
Sets the value ofDockerRunOptions.getVolumes()- Parameters:
volumes- Docker volumes to mount.- Returns:
this
-
volumesFrom
@Stability(Stable) public BundlingOptions.Builder volumesFrom(List<String> volumesFrom)
Sets the value ofDockerRunOptions.getVolumesFrom()- Parameters:
volumesFrom- Where to mount the specified volumes from.- Returns:
this
-
workingDirectory
@Stability(Stable) public BundlingOptions.Builder workingDirectory(String workingDirectory)
Sets the value ofDockerRunOptions.getWorkingDirectory()- Parameters:
workingDirectory- Working directory inside the container.- Returns:
this
-
build
@Stability(Experimental) public BundlingOptions build()
Builds the configured instance.- Specified by:
buildin interfacesoftware.amazon.jsii.Builder<BundlingOptions>- Returns:
- a new instance of
BundlingOptions - Throws:
NullPointerException- if any required attribute was not provided
-
-