Class CfnProject.ProjectCacheProperty.Builder
java.lang.Object
software.amazon.awscdk.services.codebuild.CfnProject.ProjectCacheProperty.Builder
- All Implemented Interfaces:
software.amazon.jsii.Builder<CfnProject.ProjectCacheProperty>
- Enclosing interface:
CfnProject.ProjectCacheProperty
@Stability(Stable)
public static final class CfnProject.ProjectCacheProperty.Builder
extends Object
implements software.amazon.jsii.Builder<CfnProject.ProjectCacheProperty>
A builder for
CfnProject.ProjectCacheProperty-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbuild()Builds the configured instance.cacheNamespace(String cacheNamespace) Sets the value ofCfnProject.ProjectCacheProperty.getCacheNamespace()Sets the value ofCfnProject.ProjectCacheProperty.getLocation()Sets the value ofCfnProject.ProjectCacheProperty.getModes()Sets the value ofCfnProject.ProjectCacheProperty.getType()
-
Constructor Details
-
Builder
public Builder()
-
-
Method Details
-
type
Sets the value ofCfnProject.ProjectCacheProperty.getType()- Parameters:
type- The type of cache used by the build project. Valid values include:. This parameter is required.NO_CACHE: The build project does not use any cache.S3: The build project reads and writes from and to S3.LOCAL: The build project stores a cache locally on a build host that is only available to that build host.
- Returns:
this
-
cacheNamespace
@Stability(Stable) public CfnProject.ProjectCacheProperty.Builder cacheNamespace(String cacheNamespace) Sets the value ofCfnProject.ProjectCacheProperty.getCacheNamespace()- Parameters:
cacheNamespace- Defines the scope of the cache. You can use this namespace to share a cache across multiple projects. For more information, see Cache sharing between projects in the AWS CodeBuild User Guide .- Returns:
this
-
location
Sets the value ofCfnProject.ProjectCacheProperty.getLocation()- Parameters:
location- Information about the cache location:.NO_CACHEorLOCAL: This value is ignored.S3: This is the S3 bucket name/prefix.
- Returns:
this
-
modes
Sets the value ofCfnProject.ProjectCacheProperty.getModes()- Parameters:
modes- An array of strings that specify the local cache modes. You can use one or more local cache modes at the same time. This is only used forLOCALcache types.Possible values are:
- LOCAL_SOURCE_CACHE - Caches Git metadata for primary and secondary sources. After the cache is created, subsequent builds pull only the change between commits. This mode is a good choice for projects with a clean working directory and a source that is a large Git repository. If you choose this option and your project does not use a Git repository (GitHub, GitHub Enterprise, or Bitbucket), the option is ignored.
- LOCAL_DOCKER_LAYER_CACHE - Caches existing Docker layers. This mode is a good choice for projects that build or pull large Docker images. It can prevent the performance issues caused by pulling large Docker images down from the network.
- You can use a Docker layer cache in the Linux environment only.
- The
privilegedflag must be set so that your project has the required Docker permissions. - You should consider the security implications before you use a Docker layer cache.
- LOCAL_CUSTOM_CACHE - Caches directories you specify in the buildspec file. This mode is a good choice if your build scenario is not suited to one of the other three local cache modes. If you use a custom cache:
- Only directories can be specified for caching. You cannot specify individual files.
- Symlinks are used to reference cached directories.
- Cached directories are linked to your build before it downloads its project sources. Cached items are overridden if a source item has the same name. Directories are specified using cache paths in the buildspec file.
- Returns:
this
-
build
Builds the configured instance.- Specified by:
buildin interfacesoftware.amazon.jsii.Builder<CfnProject.ProjectCacheProperty>- Returns:
- a new instance of
CfnProject.ProjectCacheProperty - Throws:
NullPointerException- if any required attribute was not provided
-