/* * Copyright 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. */ /* * Do not modify this file. This file is generated from the codebuild-2016-10-06.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.CodeBuild.Model { /// /// Information about the cache for the build project. /// public partial class ProjectCache { private string _location; private List _modes = new List(); private CacheType _type; /// /// Gets and sets the property Location. /// /// Information about the cache location: /// ///
  • /// /// NO_CACHE or LOCAL: This value is ignored. /// ///
  • /// /// S3: This is the S3 bucket name/prefix. /// ///
///
public string Location { get { return this._location; } set { this._location = value; } } // Check to see if Location property is set internal bool IsSetLocation() { return this._location != null; } /// /// Gets and sets the property 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 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 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. /// /// ///
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. /// ///
///
public List Modes { get { return this._modes; } set { this._modes = value; } } // Check to see if Modes property is set internal bool IsSetModes() { return this._modes != null && this._modes.Count > 0; } /// /// Gets and sets the property Type. /// /// 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. /// ///
///
[AWSProperty(Required=true)] public CacheType Type { get { return this._type; } set { this._type = value; } } // Check to see if Type property is set internal bool IsSetType() { return this._type != null; } } }