Class: AWSCDK::CodeBuild::CfnProject::ProjectCacheProperty
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::CodeBuild::CfnProject::ProjectCacheProperty
- Defined in:
- code_build/cfn_project.rb
Overview
ProjectCache is a property of the AWS CodeBuild Project resource that specifies information about the cache for the build project. If ProjectCache is not specified, then both of its properties default to NO_CACHE .
Instance Attribute Summary collapse
-
#cache_namespace ⇒ String?
readonly
Defines the scope of the cache.
-
#location ⇒ String?
readonly
Information about the cache location:.
-
#modes ⇒ Array<String>?
readonly
An array of strings that specify the local cache modes.
-
#type ⇒ String
readonly
The type of cache used by the build project.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(type:, cache_namespace: nil, location: nil, modes: nil) ⇒ ProjectCacheProperty
constructor
A new instance of ProjectCacheProperty.
- #to_jsii ⇒ Object
Constructor Details
#initialize(type:, cache_namespace: nil, location: nil, modes: nil) ⇒ ProjectCacheProperty
Returns a new instance of ProjectCacheProperty.
1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 |
# File 'code_build/cfn_project.rb', line 1638 def initialize(type:, cache_namespace: nil, location: nil, modes: nil) @type = type Jsii::Type.check_type(@type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "type") @cache_namespace = cache_namespace Jsii::Type.check_type(@cache_namespace, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "cacheNamespace") unless @cache_namespace.nil? @location = location Jsii::Type.check_type(@location, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "location") unless @location.nil? @modes = modes Jsii::Type.check_type(@modes, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "modes") unless @modes.nil? end |
Instance Attribute Details
#cache_namespace ⇒ String? (readonly)
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 .
1664 1665 1666 |
# File 'code_build/cfn_project.rb', line 1664 def cache_namespace @cache_namespace end |
#location ⇒ String? (readonly)
Information about the cache location:.
NO_CACHEorLOCAL: This value is ignored.S3: This is the S3 bucket name/prefix.
1672 1673 1674 |
# File 'code_build/cfn_project.rb', line 1672 def location @location end |
#modes ⇒ Array<String>? (readonly)
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:
- 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.
1693 1694 1695 |
# File 'code_build/cfn_project.rb', line 1693 def modes @modes end |
#type ⇒ String (readonly)
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.
1657 1658 1659 |
# File 'code_build/cfn_project.rb', line 1657 def type @type end |
Class Method Details
.jsii_properties ⇒ Object
1695 1696 1697 1698 1699 1700 1701 1702 |
# File 'code_build/cfn_project.rb', line 1695 def self.jsii_properties { :type => "type", :cache_namespace => "cacheNamespace", :location => "location", :modes => "modes", } end |
Instance Method Details
#to_jsii ⇒ Object
1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 |
# File 'code_build/cfn_project.rb', line 1704 def to_jsii result = {} result.merge!({ "type" => @type, "cacheNamespace" => @cache_namespace, "location" => @location, "modes" => @modes, }) result.compact end |