/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.codebuild.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *
* Information about the cache for the build project. *
* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class ProjectCache implements Serializable, Cloneable, StructuredPojo { /** ** The type of cache used by the build project. Valid values include: *
*
* 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.
*
* Information about the cache location: *
*
* NO_CACHE
or LOCAL
: This value is ignored.
*
* S3
: This is the S3 bucket name/prefix.
*
* 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 for LOCAL
cache types.
*
* Possible values are: *
** 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. *
** 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 privileged
flag 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. *
** 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. *
** The type of cache used by the build project. Valid values include: *
*
* 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.
*
* 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.
*
* The type of cache used by the build project. Valid values include: *
*
* 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.
*
* 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.
*
* The type of cache used by the build project. Valid values include: *
*
* 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.
*
* 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.
*
* The type of cache used by the build project. Valid values include: *
*
* 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.
*
* 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.
*
* Information about the cache location: *
*
* NO_CACHE
or LOCAL
: This value is ignored.
*
* S3
: This is the S3 bucket name/prefix.
*
* NO_CACHE
or LOCAL
: This value is ignored.
*
* S3
: This is the S3 bucket name/prefix.
*
* Information about the cache location: *
*
* NO_CACHE
or LOCAL
: This value is ignored.
*
* S3
: This is the S3 bucket name/prefix.
*
* NO_CACHE
or LOCAL
: This value is ignored.
*
* S3
: This is the S3 bucket name/prefix.
*
* Information about the cache location: *
*
* NO_CACHE
or LOCAL
: This value is ignored.
*
* S3
: This is the S3 bucket name/prefix.
*
* NO_CACHE
or LOCAL
: This value is ignored.
*
* S3
: This is the S3 bucket name/prefix.
*
* 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 for LOCAL
cache types.
*
* Possible values are: *
** 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. *
** 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 privileged
flag 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. *
** 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. *
*LOCAL
cache types.
* * Possible values are: *
** 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. *
** 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 privileged
flag 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. *
** 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. *
*
* 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 for LOCAL
cache types.
*
* Possible values are: *
** 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. *
** 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 privileged
flag 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. *
** 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. *
*LOCAL
cache types.
* * Possible values are: *
** 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. *
** 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 privileged
flag 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. *
** 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. *
*
* 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 for LOCAL
cache types.
*
* Possible values are: *
** 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. *
** 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 privileged
flag 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. *
** 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. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setModes(java.util.Collection)} or {@link #withModes(java.util.Collection)} if you want to override the * existing values. *
* * @param 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 forLOCAL
cache types.
* * Possible values are: *
** 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. *
** 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 privileged
flag 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. *
** 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. *
*
* 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 for LOCAL
cache types.
*
* Possible values are: *
** 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. *
** 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 privileged
flag 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. *
** 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. *
*LOCAL
cache types.
* * Possible values are: *
** 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. *
** 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 privileged
flag 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. *
** 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. *
*
* 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 for LOCAL
cache types.
*
* Possible values are: *
** 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. *
** 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 privileged
flag 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. *
** 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. *
*LOCAL
cache types.
* * Possible values are: *
** 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. *
** 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 privileged
flag 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. *
** 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. *
*