/* * 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 build environment of the build project. /// public partial class ProjectEnvironment { private string _certificate; private ComputeType _computeType; private List _environmentVariables = new List(); private string _image; private ImagePullCredentialsType _imagePullCredentialsType; private bool? _privilegedMode; private RegistryCredential _registryCredential; private EnvironmentType _type; /// /// Gets and sets the property Certificate. /// /// The ARN of the Amazon S3 bucket, path prefix, and object key that contains the PEM-encoded /// certificate for the build project. For more information, see certificate /// in the CodeBuild User Guide. /// /// public string Certificate { get { return this._certificate; } set { this._certificate = value; } } // Check to see if Certificate property is set internal bool IsSetCertificate() { return this._certificate != null; } /// /// Gets and sets the property ComputeType. /// /// Information about the compute resources the build project uses. Available values include: /// ///
  • /// /// BUILD_GENERAL1_SMALL: Use up to 3 GB memory and 2 vCPUs for builds. /// ///
  • /// /// BUILD_GENERAL1_MEDIUM: Use up to 7 GB memory and 4 vCPUs for builds. /// ///
  • /// /// BUILD_GENERAL1_LARGE: Use up to 16 GB memory and 8 vCPUs for builds, /// depending on your environment type. /// ///
  • /// /// BUILD_GENERAL1_2XLARGE: Use up to 145 GB memory, 72 vCPUs, and 824 GB /// of SSD storage for builds. This compute type supports Docker images up to 100 GB uncompressed. /// ///
/// /// If you use BUILD_GENERAL1_LARGE: /// ///
  • /// /// For environment type LINUX_CONTAINER, you can use up to 15 GB memory /// and 8 vCPUs for builds. /// ///
  • /// /// For environment type LINUX_GPU_CONTAINER, you can use up to 255 GB memory, /// 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds. /// ///
  • /// /// For environment type ARM_CONTAINER, you can use up to 16 GB memory and /// 8 vCPUs on ARM-based processors for builds. /// ///
/// /// For more information, see Build /// Environment Compute Types in the CodeBuild User Guide. /// ///
[AWSProperty(Required=true)] public ComputeType ComputeType { get { return this._computeType; } set { this._computeType = value; } } // Check to see if ComputeType property is set internal bool IsSetComputeType() { return this._computeType != null; } /// /// Gets and sets the property EnvironmentVariables. /// /// A set of environment variables to make available to builds for this build project. /// /// public List EnvironmentVariables { get { return this._environmentVariables; } set { this._environmentVariables = value; } } // Check to see if EnvironmentVariables property is set internal bool IsSetEnvironmentVariables() { return this._environmentVariables != null && this._environmentVariables.Count > 0; } /// /// Gets and sets the property Image. /// /// The image tag or image digest that identifies the Docker image to use for this build /// project. Use the following formats: /// ///
  • /// /// For an image tag: <registry>/<repository>:<tag>. For /// example, in the Docker repository that CodeBuild uses to manage its Docker images, /// this would be aws/codebuild/standard:4.0. /// ///
  • /// /// For an image digest: <registry>/<repository>@<digest>. /// For example, to specify an image with the digest "sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf," /// use <registry>/<repository>@sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf. /// ///
/// /// For more information, see Docker /// images provided by CodeBuild in the CodeBuild user guide. /// ///
[AWSProperty(Required=true, Min=1)] public string Image { get { return this._image; } set { this._image = value; } } // Check to see if Image property is set internal bool IsSetImage() { return this._image != null; } /// /// Gets and sets the property ImagePullCredentialsType. /// /// The type of credentials CodeBuild uses to pull images in your build. There are two /// valid values: /// ///
  • /// /// CODEBUILD specifies that CodeBuild uses its own credentials. This requires /// that you modify your ECR repository policy to trust CodeBuild service principal. /// ///
  • /// /// SERVICE_ROLE specifies that CodeBuild uses your build project's service /// role. /// ///
/// /// When you use a cross-account or private registry image, you must use SERVICE_ROLE /// credentials. When you use an CodeBuild curated image, you must use CODEBUILD credentials. /// /// ///
public ImagePullCredentialsType ImagePullCredentialsType { get { return this._imagePullCredentialsType; } set { this._imagePullCredentialsType = value; } } // Check to see if ImagePullCredentialsType property is set internal bool IsSetImagePullCredentialsType() { return this._imagePullCredentialsType != null; } /// /// Gets and sets the property PrivilegedMode. /// /// Enables running the Docker daemon inside a Docker container. Set to true only if the /// build project is used to build Docker images. Otherwise, a build that attempts to /// interact with the Docker daemon fails. The default setting is false. /// /// /// /// You can initialize the Docker daemon during the install phase of your build by adding /// one of the following sets of commands to the install phase of your buildspec file: /// /// /// /// If the operating system's base image is Ubuntu Linux: /// /// /// /// - nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2375 /// --storage-driver=overlay& /// /// /// /// - timeout 15 sh -c "until docker info; do echo .; sleep 1; done" /// /// /// /// If the operating system's base image is Alpine Linux and the previous command does /// not work, add the -t argument to timeout: /// /// /// /// - nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2375 /// --storage-driver=overlay& /// /// /// /// - timeout -t 15 sh -c "until docker info; do echo .; sleep 1; done" /// /// /// public bool PrivilegedMode { get { return this._privilegedMode.GetValueOrDefault(); } set { this._privilegedMode = value; } } // Check to see if PrivilegedMode property is set internal bool IsSetPrivilegedMode() { return this._privilegedMode.HasValue; } /// /// Gets and sets the property RegistryCredential. /// /// The credentials for access to a private registry. /// /// public RegistryCredential RegistryCredential { get { return this._registryCredential; } set { this._registryCredential = value; } } // Check to see if RegistryCredential property is set internal bool IsSetRegistryCredential() { return this._registryCredential != null; } /// /// Gets and sets the property Type. /// /// The type of build environment to use for related builds. /// ///
  • /// /// The environment type ARM_CONTAINER is available only in regions US East /// (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), /// Asia Pacific (Tokyo), Asia Pacific (Sydney), and EU (Frankfurt). /// ///
  • /// /// The environment type LINUX_CONTAINER with compute type build.general1.2xlarge /// is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), /// Canada (Central), EU (Ireland), EU (London), EU (Frankfurt), Asia Pacific (Tokyo), /// Asia Pacific (Seoul), Asia Pacific (Singapore), Asia Pacific (Sydney), China (Beijing), /// and China (Ningxia). /// ///
  • /// /// The environment type LINUX_GPU_CONTAINER is available only in regions /// US East (N. Virginia), US East (Ohio), US West (Oregon), Canada (Central), EU (Ireland), /// EU (London), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Seoul), Asia Pacific /// (Singapore), Asia Pacific (Sydney) , China (Beijing), and China (Ningxia). /// ///
  • /// /// The environment types WINDOWS_CONTAINER and WINDOWS_SERVER_2019_CONTAINER /// are available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), /// and EU (Ireland). /// ///
/// /// For more information, see Build /// environment compute types in the CodeBuild user guide. /// ///
[AWSProperty(Required=true)] public EnvironmentType Type { get { return this._type; } set { this._type = value; } } // Check to see if Type property is set internal bool IsSetType() { return this._type != null; } } }