import { Value } from '../../../cloudformation/Value';
import { EnvironmentVariableProps } from './EnvironmentVariableProps';
import { RegistryCredentialProps } from './RegistryCredentialProps';
/**
  <code>Environment</code> is a property of the <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html">AWS::CodeBuild::Project</a> resource that specifies the environment for an AWS CodeBuild project.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-environment.html">the AWS Docs</a>
*/
export interface EnvironmentProps {
    /** <p> */
    type: Value<string>;
    /** <code>EnvironmentVariables</code>  <a name="cfn-codebuild-project-environment-environmentvariables"></a>
  A set of environment variables to make available to builds for this build project.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    environmentVariables?: EnvironmentVariableProps[];
    /** <code>PrivilegedMode</code>  <a name="cfn-codebuild-project-environment-privilegedmode"></a>
  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 <code>false</code>.<br />
  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:<br />
  If the operating system’s base image is Ubuntu Linux:<br />
  <code>- nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2375 --storage-driver=overlay&amp;</code><br />
  <code>- timeout 15 sh -c &quot;until docker info; do echo .; sleep 1; done&quot;</code><br />
  If the operating system’s base image is Alpine Linux and the previous command does not work, add the <code>-t</code> argument to <code>timeout</code>:<br />
  <code>- nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2375 --storage-driver=overlay&amp;</code><br />
  <code>- timeout -t 15 sh -c &quot;until docker info; do echo .; sleep 1; done&quot;</code><br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    privilegedMode?: Value<boolean>;
    /** <p> */
    imagePullCredentialsType?: Value<string>;
    /** <p> */
    image: Value<string>;
    /** <p> */
    registryCredential?: RegistryCredentialProps;
    /** <p> */
    computeType: Value<string>;
    /** <code>Certificate</code>  <a name="cfn-codebuild-project-environment-certificate"></a>
  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 <a href="https://docs.aws.amazon.com/codebuild/latest/userguide/create-project-cli.html#cli.environment.certificate">certificate</a> in the * AWS CodeBuild User Guide*.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    certificate?: Value<string>;
}
