1. Packages
  2. AWS
  3. API Docs
  4. codebuild
  5. Project
AWS v6.60.0 published on Tuesday, Nov 19, 2024 by Pulumi

aws.codebuild.Project

Explore with Pulumi AI

aws logo
AWS v6.60.0 published on Tuesday, Nov 19, 2024 by Pulumi

    Provides a CodeBuild Project resource. See also the aws.codebuild.Webhook resource, which manages the webhook to the source (e.g., the “rebuild every time a code change is pushed” option in the CodeBuild web console).

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const exampleBucketV2 = new aws.s3.BucketV2("example", {bucket: "example"});
    const exampleBucketAclV2 = new aws.s3.BucketAclV2("example", {
        bucket: exampleBucketV2.id,
        acl: "private",
    });
    const assumeRole = aws.iam.getPolicyDocument({
        statements: [{
            effect: "Allow",
            principals: [{
                type: "Service",
                identifiers: ["codebuild.amazonaws.com"],
            }],
            actions: ["sts:AssumeRole"],
        }],
    });
    const exampleRole = new aws.iam.Role("example", {
        name: "example",
        assumeRolePolicy: assumeRole.then(assumeRole => assumeRole.json),
    });
    const example = pulumi.all([exampleBucketV2.arn, exampleBucketV2.arn]).apply(([exampleBucketV2Arn, exampleBucketV2Arn1]) => aws.iam.getPolicyDocumentOutput({
        statements: [
            {
                effect: "Allow",
                actions: [
                    "logs:CreateLogGroup",
                    "logs:CreateLogStream",
                    "logs:PutLogEvents",
                ],
                resources: ["*"],
            },
            {
                effect: "Allow",
                actions: [
                    "ec2:CreateNetworkInterface",
                    "ec2:DescribeDhcpOptions",
                    "ec2:DescribeNetworkInterfaces",
                    "ec2:DeleteNetworkInterface",
                    "ec2:DescribeSubnets",
                    "ec2:DescribeSecurityGroups",
                    "ec2:DescribeVpcs",
                ],
                resources: ["*"],
            },
            {
                effect: "Allow",
                actions: ["ec2:CreateNetworkInterfacePermission"],
                resources: ["arn:aws:ec2:us-east-1:123456789012:network-interface/*"],
                conditions: [
                    {
                        test: "StringEquals",
                        variable: "ec2:Subnet",
                        values: [
                            example1.arn,
                            example2.arn,
                        ],
                    },
                    {
                        test: "StringEquals",
                        variable: "ec2:AuthorizedService",
                        values: ["codebuild.amazonaws.com"],
                    },
                ],
            },
            {
                effect: "Allow",
                actions: ["s3:*"],
                resources: [
                    exampleBucketV2Arn,
                    `${exampleBucketV2Arn1}/*`,
                ],
            },
        ],
    }));
    const exampleRolePolicy = new aws.iam.RolePolicy("example", {
        role: exampleRole.name,
        policy: example.apply(example => example.json),
    });
    const exampleProject = new aws.codebuild.Project("example", {
        name: "test-project",
        description: "test_codebuild_project",
        buildTimeout: 5,
        serviceRole: exampleRole.arn,
        artifacts: {
            type: "NO_ARTIFACTS",
        },
        cache: {
            type: "S3",
            location: exampleBucketV2.bucket,
        },
        environment: {
            computeType: "BUILD_GENERAL1_SMALL",
            image: "aws/codebuild/amazonlinux2-x86_64-standard:4.0",
            type: "LINUX_CONTAINER",
            imagePullCredentialsType: "CODEBUILD",
            environmentVariables: [
                {
                    name: "SOME_KEY1",
                    value: "SOME_VALUE1",
                },
                {
                    name: "SOME_KEY2",
                    value: "SOME_VALUE2",
                    type: "PARAMETER_STORE",
                },
            ],
        },
        logsConfig: {
            cloudwatchLogs: {
                groupName: "log-group",
                streamName: "log-stream",
            },
            s3Logs: {
                status: "ENABLED",
                location: pulumi.interpolate`${exampleBucketV2.id}/build-log`,
            },
        },
        source: {
            type: "GITHUB",
            location: "https://github.com/mitchellh/packer.git",
            gitCloneDepth: 1,
            gitSubmodulesConfig: {
                fetchSubmodules: true,
            },
        },
        sourceVersion: "master",
        vpcConfig: {
            vpcId: exampleAwsVpc.id,
            subnets: [
                example1.id,
                example2.id,
            ],
            securityGroupIds: [
                example1AwsSecurityGroup.id,
                example2AwsSecurityGroup.id,
            ],
        },
        tags: {
            Environment: "Test",
        },
    });
    const project_with_cache = new aws.codebuild.Project("project-with-cache", {
        name: "test-project-cache",
        description: "test_codebuild_project_cache",
        buildTimeout: 5,
        queuedTimeout: 5,
        serviceRole: exampleRole.arn,
        artifacts: {
            type: "NO_ARTIFACTS",
        },
        cache: {
            type: "LOCAL",
            modes: [
                "LOCAL_DOCKER_LAYER_CACHE",
                "LOCAL_SOURCE_CACHE",
            ],
        },
        environment: {
            computeType: "BUILD_GENERAL1_SMALL",
            image: "aws/codebuild/amazonlinux2-x86_64-standard:4.0",
            type: "LINUX_CONTAINER",
            imagePullCredentialsType: "CODEBUILD",
            environmentVariables: [{
                name: "SOME_KEY1",
                value: "SOME_VALUE1",
            }],
        },
        source: {
            type: "GITHUB",
            location: "https://github.com/mitchellh/packer.git",
            gitCloneDepth: 1,
        },
        tags: {
            Environment: "Test",
        },
    });
    
    import pulumi
    import pulumi_aws as aws
    
    example_bucket_v2 = aws.s3.BucketV2("example", bucket="example")
    example_bucket_acl_v2 = aws.s3.BucketAclV2("example",
        bucket=example_bucket_v2.id,
        acl="private")
    assume_role = aws.iam.get_policy_document(statements=[{
        "effect": "Allow",
        "principals": [{
            "type": "Service",
            "identifiers": ["codebuild.amazonaws.com"],
        }],
        "actions": ["sts:AssumeRole"],
    }])
    example_role = aws.iam.Role("example",
        name="example",
        assume_role_policy=assume_role.json)
    example = pulumi.Output.all(
        exampleBucketV2Arn=example_bucket_v2.arn,
        exampleBucketV2Arn1=example_bucket_v2.arn
    ).apply(lambda resolved_outputs: aws.iam.get_policy_document_output(statements=[
        {
            "effect": "Allow",
            "actions": [
                "logs:CreateLogGroup",
                "logs:CreateLogStream",
                "logs:PutLogEvents",
            ],
            "resources": ["*"],
        },
        {
            "effect": "Allow",
            "actions": [
                "ec2:CreateNetworkInterface",
                "ec2:DescribeDhcpOptions",
                "ec2:DescribeNetworkInterfaces",
                "ec2:DeleteNetworkInterface",
                "ec2:DescribeSubnets",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeVpcs",
            ],
            "resources": ["*"],
        },
        {
            "effect": "Allow",
            "actions": ["ec2:CreateNetworkInterfacePermission"],
            "resources": ["arn:aws:ec2:us-east-1:123456789012:network-interface/*"],
            "conditions": [
                {
                    "test": "StringEquals",
                    "variable": "ec2:Subnet",
                    "values": [
                        example1["arn"],
                        example2["arn"],
                    ],
                },
                {
                    "test": "StringEquals",
                    "variable": "ec2:AuthorizedService",
                    "values": ["codebuild.amazonaws.com"],
                },
            ],
        },
        {
            "effect": "Allow",
            "actions": ["s3:*"],
            "resources": [
                resolved_outputs['exampleBucketV2Arn'],
                f"{resolved_outputs['exampleBucketV2Arn1']}/*",
            ],
        },
    ]))
    
    example_role_policy = aws.iam.RolePolicy("example",
        role=example_role.name,
        policy=example.json)
    example_project = aws.codebuild.Project("example",
        name="test-project",
        description="test_codebuild_project",
        build_timeout=5,
        service_role=example_role.arn,
        artifacts={
            "type": "NO_ARTIFACTS",
        },
        cache={
            "type": "S3",
            "location": example_bucket_v2.bucket,
        },
        environment={
            "compute_type": "BUILD_GENERAL1_SMALL",
            "image": "aws/codebuild/amazonlinux2-x86_64-standard:4.0",
            "type": "LINUX_CONTAINER",
            "image_pull_credentials_type": "CODEBUILD",
            "environment_variables": [
                {
                    "name": "SOME_KEY1",
                    "value": "SOME_VALUE1",
                },
                {
                    "name": "SOME_KEY2",
                    "value": "SOME_VALUE2",
                    "type": "PARAMETER_STORE",
                },
            ],
        },
        logs_config={
            "cloudwatch_logs": {
                "group_name": "log-group",
                "stream_name": "log-stream",
            },
            "s3_logs": {
                "status": "ENABLED",
                "location": example_bucket_v2.id.apply(lambda id: f"{id}/build-log"),
            },
        },
        source={
            "type": "GITHUB",
            "location": "https://github.com/mitchellh/packer.git",
            "git_clone_depth": 1,
            "git_submodules_config": {
                "fetch_submodules": True,
            },
        },
        source_version="master",
        vpc_config={
            "vpc_id": example_aws_vpc["id"],
            "subnets": [
                example1["id"],
                example2["id"],
            ],
            "security_group_ids": [
                example1_aws_security_group["id"],
                example2_aws_security_group["id"],
            ],
        },
        tags={
            "Environment": "Test",
        })
    project_with_cache = aws.codebuild.Project("project-with-cache",
        name="test-project-cache",
        description="test_codebuild_project_cache",
        build_timeout=5,
        queued_timeout=5,
        service_role=example_role.arn,
        artifacts={
            "type": "NO_ARTIFACTS",
        },
        cache={
            "type": "LOCAL",
            "modes": [
                "LOCAL_DOCKER_LAYER_CACHE",
                "LOCAL_SOURCE_CACHE",
            ],
        },
        environment={
            "compute_type": "BUILD_GENERAL1_SMALL",
            "image": "aws/codebuild/amazonlinux2-x86_64-standard:4.0",
            "type": "LINUX_CONTAINER",
            "image_pull_credentials_type": "CODEBUILD",
            "environment_variables": [{
                "name": "SOME_KEY1",
                "value": "SOME_VALUE1",
            }],
        },
        source={
            "type": "GITHUB",
            "location": "https://github.com/mitchellh/packer.git",
            "git_clone_depth": 1,
        },
        tags={
            "Environment": "Test",
        })
    
    package main
    
    import (
    	"fmt"
    
    	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codebuild"
    	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam"
    	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    func main() {
    pulumi.Run(func(ctx *pulumi.Context) error {
    exampleBucketV2, err := s3.NewBucketV2(ctx, "example", &s3.BucketV2Args{
    Bucket: pulumi.String("example"),
    })
    if err != nil {
    return err
    }
    _, err = s3.NewBucketAclV2(ctx, "example", &s3.BucketAclV2Args{
    Bucket: exampleBucketV2.ID(),
    Acl: pulumi.String("private"),
    })
    if err != nil {
    return err
    }
    assumeRole, err := iam.GetPolicyDocument(ctx, &iam.GetPolicyDocumentArgs{
    Statements: []iam.GetPolicyDocumentStatement{
    {
    Effect: pulumi.StringRef("Allow"),
    Principals: []iam.GetPolicyDocumentStatementPrincipal{
    {
    Type: "Service",
    Identifiers: []string{
    "codebuild.amazonaws.com",
    },
    },
    },
    Actions: []string{
    "sts:AssumeRole",
    },
    },
    },
    }, nil);
    if err != nil {
    return err
    }
    exampleRole, err := iam.NewRole(ctx, "example", &iam.RoleArgs{
    Name: pulumi.String("example"),
    AssumeRolePolicy: pulumi.String(assumeRole.Json),
    })
    if err != nil {
    return err
    }
    example := pulumi.All(exampleBucketV2.Arn,exampleBucketV2.Arn).ApplyT(func(_args []interface{}) (iam.GetPolicyDocumentResult, error) {
    exampleBucketV2Arn := _args[0].(string)
    exampleBucketV2Arn1 := _args[1].(string)
    return iam.GetPolicyDocumentResult(interface{}(iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{
    Statements: []iam.GetPolicyDocumentStatement{
    {
    Effect: "Allow",
    Actions: []string{
    "logs:CreateLogGroup",
    "logs:CreateLogStream",
    "logs:PutLogEvents",
    },
    Resources: []string{
    "*",
    },
    },
    {
    Effect: "Allow",
    Actions: []string{
    "ec2:CreateNetworkInterface",
    "ec2:DescribeDhcpOptions",
    "ec2:DescribeNetworkInterfaces",
    "ec2:DeleteNetworkInterface",
    "ec2:DescribeSubnets",
    "ec2:DescribeSecurityGroups",
    "ec2:DescribeVpcs",
    },
    Resources: []string{
    "*",
    },
    },
    {
    Effect: "Allow",
    Actions: []string{
    "ec2:CreateNetworkInterfacePermission",
    },
    Resources: []string{
    "arn:aws:ec2:us-east-1:123456789012:network-interface/*",
    },
    Conditions: []iam.GetPolicyDocumentStatementCondition{
    {
    Test: "StringEquals",
    Variable: "ec2:Subnet",
    Values: interface{}{
    example1.Arn,
    example2.Arn,
    },
    },
    {
    Test: "StringEquals",
    Variable: "ec2:AuthorizedService",
    Values: []string{
    "codebuild.amazonaws.com",
    },
    },
    },
    },
    {
    Effect: "Allow",
    Actions: []string{
    "s3:*",
    },
    Resources: []string{
    exampleBucketV2Arn,
    fmt.Sprintf("%v/*", exampleBucketV2Arn1),
    },
    },
    },
    }, nil))), nil
    }).(iam.GetPolicyDocumentResultOutput)
    _, err = iam.NewRolePolicy(ctx, "example", &iam.RolePolicyArgs{
    Role: exampleRole.Name,
    Policy: pulumi.String(example.ApplyT(func(example iam.GetPolicyDocumentResult) (*string, error) {
    return &example.Json, nil
    }).(pulumi.StringPtrOutput)),
    })
    if err != nil {
    return err
    }
    _, err = codebuild.NewProject(ctx, "example", &codebuild.ProjectArgs{
    Name: pulumi.String("test-project"),
    Description: pulumi.String("test_codebuild_project"),
    BuildTimeout: pulumi.Int(5),
    ServiceRole: exampleRole.Arn,
    Artifacts: &codebuild.ProjectArtifactsArgs{
    Type: pulumi.String("NO_ARTIFACTS"),
    },
    Cache: &codebuild.ProjectCacheArgs{
    Type: pulumi.String("S3"),
    Location: exampleBucketV2.Bucket,
    },
    Environment: &codebuild.ProjectEnvironmentArgs{
    ComputeType: pulumi.String("BUILD_GENERAL1_SMALL"),
    Image: pulumi.String("aws/codebuild/amazonlinux2-x86_64-standard:4.0"),
    Type: pulumi.String("LINUX_CONTAINER"),
    ImagePullCredentialsType: pulumi.String("CODEBUILD"),
    EnvironmentVariables: codebuild.ProjectEnvironmentEnvironmentVariableArray{
    &codebuild.ProjectEnvironmentEnvironmentVariableArgs{
    Name: pulumi.String("SOME_KEY1"),
    Value: pulumi.String("SOME_VALUE1"),
    },
    &codebuild.ProjectEnvironmentEnvironmentVariableArgs{
    Name: pulumi.String("SOME_KEY2"),
    Value: pulumi.String("SOME_VALUE2"),
    Type: pulumi.String("PARAMETER_STORE"),
    },
    },
    },
    LogsConfig: &codebuild.ProjectLogsConfigArgs{
    CloudwatchLogs: &codebuild.ProjectLogsConfigCloudwatchLogsArgs{
    GroupName: pulumi.String("log-group"),
    StreamName: pulumi.String("log-stream"),
    },
    S3Logs: &codebuild.ProjectLogsConfigS3LogsArgs{
    Status: pulumi.String("ENABLED"),
    Location: exampleBucketV2.ID().ApplyT(func(id string) (string, error) {
    return fmt.Sprintf("%v/build-log", id), nil
    }).(pulumi.StringOutput),
    },
    },
    Source: &codebuild.ProjectSourceArgs{
    Type: pulumi.String("GITHUB"),
    Location: pulumi.String("https://github.com/mitchellh/packer.git"),
    GitCloneDepth: pulumi.Int(1),
    GitSubmodulesConfig: &codebuild.ProjectSourceGitSubmodulesConfigArgs{
    FetchSubmodules: pulumi.Bool(true),
    },
    },
    SourceVersion: pulumi.String("master"),
    VpcConfig: &codebuild.ProjectVpcConfigArgs{
    VpcId: pulumi.Any(exampleAwsVpc.Id),
    Subnets: pulumi.StringArray{
    example1.Id,
    example2.Id,
    },
    SecurityGroupIds: pulumi.StringArray{
    example1AwsSecurityGroup.Id,
    example2AwsSecurityGroup.Id,
    },
    },
    Tags: pulumi.StringMap{
    "Environment": pulumi.String("Test"),
    },
    })
    if err != nil {
    return err
    }
    _, err = codebuild.NewProject(ctx, "project-with-cache", &codebuild.ProjectArgs{
    Name: pulumi.String("test-project-cache"),
    Description: pulumi.String("test_codebuild_project_cache"),
    BuildTimeout: pulumi.Int(5),
    QueuedTimeout: pulumi.Int(5),
    ServiceRole: exampleRole.Arn,
    Artifacts: &codebuild.ProjectArtifactsArgs{
    Type: pulumi.String("NO_ARTIFACTS"),
    },
    Cache: &codebuild.ProjectCacheArgs{
    Type: pulumi.String("LOCAL"),
    Modes: pulumi.StringArray{
    pulumi.String("LOCAL_DOCKER_LAYER_CACHE"),
    pulumi.String("LOCAL_SOURCE_CACHE"),
    },
    },
    Environment: &codebuild.ProjectEnvironmentArgs{
    ComputeType: pulumi.String("BUILD_GENERAL1_SMALL"),
    Image: pulumi.String("aws/codebuild/amazonlinux2-x86_64-standard:4.0"),
    Type: pulumi.String("LINUX_CONTAINER"),
    ImagePullCredentialsType: pulumi.String("CODEBUILD"),
    EnvironmentVariables: codebuild.ProjectEnvironmentEnvironmentVariableArray{
    &codebuild.ProjectEnvironmentEnvironmentVariableArgs{
    Name: pulumi.String("SOME_KEY1"),
    Value: pulumi.String("SOME_VALUE1"),
    },
    },
    },
    Source: &codebuild.ProjectSourceArgs{
    Type: pulumi.String("GITHUB"),
    Location: pulumi.String("https://github.com/mitchellh/packer.git"),
    GitCloneDepth: pulumi.Int(1),
    },
    Tags: pulumi.StringMap{
    "Environment": pulumi.String("Test"),
    },
    })
    if err != nil {
    return err
    }
    return nil
    })
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    
    return await Deployment.RunAsync(() => 
    {
        var exampleBucketV2 = new Aws.S3.BucketV2("example", new()
        {
            Bucket = "example",
        });
    
        var exampleBucketAclV2 = new Aws.S3.BucketAclV2("example", new()
        {
            Bucket = exampleBucketV2.Id,
            Acl = "private",
        });
    
        var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()
        {
            Statements = new[]
            {
                new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs
                {
                    Effect = "Allow",
                    Principals = new[]
                    {
                        new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs
                        {
                            Type = "Service",
                            Identifiers = new[]
                            {
                                "codebuild.amazonaws.com",
                            },
                        },
                    },
                    Actions = new[]
                    {
                        "sts:AssumeRole",
                    },
                },
            },
        });
    
        var exampleRole = new Aws.Iam.Role("example", new()
        {
            Name = "example",
            AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult => getPolicyDocumentResult.Json),
        });
    
        var example = Aws.Iam.GetPolicyDocument.Invoke(new()
        {
            Statements = new[]
            {
                new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs
                {
                    Effect = "Allow",
                    Actions = new[]
                    {
                        "logs:CreateLogGroup",
                        "logs:CreateLogStream",
                        "logs:PutLogEvents",
                    },
                    Resources = new[]
                    {
                        "*",
                    },
                },
                new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs
                {
                    Effect = "Allow",
                    Actions = new[]
                    {
                        "ec2:CreateNetworkInterface",
                        "ec2:DescribeDhcpOptions",
                        "ec2:DescribeNetworkInterfaces",
                        "ec2:DeleteNetworkInterface",
                        "ec2:DescribeSubnets",
                        "ec2:DescribeSecurityGroups",
                        "ec2:DescribeVpcs",
                    },
                    Resources = new[]
                    {
                        "*",
                    },
                },
                new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs
                {
                    Effect = "Allow",
                    Actions = new[]
                    {
                        "ec2:CreateNetworkInterfacePermission",
                    },
                    Resources = new[]
                    {
                        "arn:aws:ec2:us-east-1:123456789012:network-interface/*",
                    },
                    Conditions = new[]
                    {
                        new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs
                        {
                            Test = "StringEquals",
                            Variable = "ec2:Subnet",
                            Values = new[]
                            {
                                example1.Arn,
                                example2.Arn,
                            },
                        },
                        new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs
                        {
                            Test = "StringEquals",
                            Variable = "ec2:AuthorizedService",
                            Values = new[]
                            {
                                "codebuild.amazonaws.com",
                            },
                        },
                    },
                },
                new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs
                {
                    Effect = "Allow",
                    Actions = new[]
                    {
                        "s3:*",
                    },
                    Resources = new[]
                    {
                        exampleBucketV2.Arn,
                        $"{exampleBucketV2.Arn}/*",
                    },
                },
            },
        });
    
        var exampleRolePolicy = new Aws.Iam.RolePolicy("example", new()
        {
            Role = exampleRole.Name,
            Policy = example.Apply(getPolicyDocumentResult => getPolicyDocumentResult.Json),
        });
    
        var exampleProject = new Aws.CodeBuild.Project("example", new()
        {
            Name = "test-project",
            Description = "test_codebuild_project",
            BuildTimeout = 5,
            ServiceRole = exampleRole.Arn,
            Artifacts = new Aws.CodeBuild.Inputs.ProjectArtifactsArgs
            {
                Type = "NO_ARTIFACTS",
            },
            Cache = new Aws.CodeBuild.Inputs.ProjectCacheArgs
            {
                Type = "S3",
                Location = exampleBucketV2.Bucket,
            },
            Environment = new Aws.CodeBuild.Inputs.ProjectEnvironmentArgs
            {
                ComputeType = "BUILD_GENERAL1_SMALL",
                Image = "aws/codebuild/amazonlinux2-x86_64-standard:4.0",
                Type = "LINUX_CONTAINER",
                ImagePullCredentialsType = "CODEBUILD",
                EnvironmentVariables = new[]
                {
                    new Aws.CodeBuild.Inputs.ProjectEnvironmentEnvironmentVariableArgs
                    {
                        Name = "SOME_KEY1",
                        Value = "SOME_VALUE1",
                    },
                    new Aws.CodeBuild.Inputs.ProjectEnvironmentEnvironmentVariableArgs
                    {
                        Name = "SOME_KEY2",
                        Value = "SOME_VALUE2",
                        Type = "PARAMETER_STORE",
                    },
                },
            },
            LogsConfig = new Aws.CodeBuild.Inputs.ProjectLogsConfigArgs
            {
                CloudwatchLogs = new Aws.CodeBuild.Inputs.ProjectLogsConfigCloudwatchLogsArgs
                {
                    GroupName = "log-group",
                    StreamName = "log-stream",
                },
                S3Logs = new Aws.CodeBuild.Inputs.ProjectLogsConfigS3LogsArgs
                {
                    Status = "ENABLED",
                    Location = exampleBucketV2.Id.Apply(id => $"{id}/build-log"),
                },
            },
            Source = new Aws.CodeBuild.Inputs.ProjectSourceArgs
            {
                Type = "GITHUB",
                Location = "https://github.com/mitchellh/packer.git",
                GitCloneDepth = 1,
                GitSubmodulesConfig = new Aws.CodeBuild.Inputs.ProjectSourceGitSubmodulesConfigArgs
                {
                    FetchSubmodules = true,
                },
            },
            SourceVersion = "master",
            VpcConfig = new Aws.CodeBuild.Inputs.ProjectVpcConfigArgs
            {
                VpcId = exampleAwsVpc.Id,
                Subnets = new[]
                {
                    example1.Id,
                    example2.Id,
                },
                SecurityGroupIds = new[]
                {
                    example1AwsSecurityGroup.Id,
                    example2AwsSecurityGroup.Id,
                },
            },
            Tags = 
            {
                { "Environment", "Test" },
            },
        });
    
        var project_with_cache = new Aws.CodeBuild.Project("project-with-cache", new()
        {
            Name = "test-project-cache",
            Description = "test_codebuild_project_cache",
            BuildTimeout = 5,
            QueuedTimeout = 5,
            ServiceRole = exampleRole.Arn,
            Artifacts = new Aws.CodeBuild.Inputs.ProjectArtifactsArgs
            {
                Type = "NO_ARTIFACTS",
            },
            Cache = new Aws.CodeBuild.Inputs.ProjectCacheArgs
            {
                Type = "LOCAL",
                Modes = new[]
                {
                    "LOCAL_DOCKER_LAYER_CACHE",
                    "LOCAL_SOURCE_CACHE",
                },
            },
            Environment = new Aws.CodeBuild.Inputs.ProjectEnvironmentArgs
            {
                ComputeType = "BUILD_GENERAL1_SMALL",
                Image = "aws/codebuild/amazonlinux2-x86_64-standard:4.0",
                Type = "LINUX_CONTAINER",
                ImagePullCredentialsType = "CODEBUILD",
                EnvironmentVariables = new[]
                {
                    new Aws.CodeBuild.Inputs.ProjectEnvironmentEnvironmentVariableArgs
                    {
                        Name = "SOME_KEY1",
                        Value = "SOME_VALUE1",
                    },
                },
            },
            Source = new Aws.CodeBuild.Inputs.ProjectSourceArgs
            {
                Type = "GITHUB",
                Location = "https://github.com/mitchellh/packer.git",
                GitCloneDepth = 1,
            },
            Tags = 
            {
                { "Environment", "Test" },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.s3.BucketV2;
    import com.pulumi.aws.s3.BucketV2Args;
    import com.pulumi.aws.s3.BucketAclV2;
    import com.pulumi.aws.s3.BucketAclV2Args;
    import com.pulumi.aws.iam.IamFunctions;
    import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;
    import com.pulumi.aws.iam.Role;
    import com.pulumi.aws.iam.RoleArgs;
    import com.pulumi.aws.iam.RolePolicy;
    import com.pulumi.aws.iam.RolePolicyArgs;
    import com.pulumi.aws.codebuild.Project;
    import com.pulumi.aws.codebuild.ProjectArgs;
    import com.pulumi.aws.codebuild.inputs.ProjectArtifactsArgs;
    import com.pulumi.aws.codebuild.inputs.ProjectCacheArgs;
    import com.pulumi.aws.codebuild.inputs.ProjectEnvironmentArgs;
    import com.pulumi.aws.codebuild.inputs.ProjectLogsConfigArgs;
    import com.pulumi.aws.codebuild.inputs.ProjectLogsConfigCloudwatchLogsArgs;
    import com.pulumi.aws.codebuild.inputs.ProjectLogsConfigS3LogsArgs;
    import com.pulumi.aws.codebuild.inputs.ProjectSourceArgs;
    import com.pulumi.aws.codebuild.inputs.ProjectSourceGitSubmodulesConfigArgs;
    import com.pulumi.aws.codebuild.inputs.ProjectVpcConfigArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var exampleBucketV2 = new BucketV2("exampleBucketV2", BucketV2Args.builder()
                .bucket("example")
                .build());
    
            var exampleBucketAclV2 = new BucketAclV2("exampleBucketAclV2", BucketAclV2Args.builder()
                .bucket(exampleBucketV2.id())
                .acl("private")
                .build());
    
            final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
                .statements(GetPolicyDocumentStatementArgs.builder()
                    .effect("Allow")
                    .principals(GetPolicyDocumentStatementPrincipalArgs.builder()
                        .type("Service")
                        .identifiers("codebuild.amazonaws.com")
                        .build())
                    .actions("sts:AssumeRole")
                    .build())
                .build());
    
            var exampleRole = new Role("exampleRole", RoleArgs.builder()
                .name("example")
                .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))
                .build());
    
            final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
                .statements(            
                    GetPolicyDocumentStatementArgs.builder()
                        .effect("Allow")
                        .actions(                    
                            "logs:CreateLogGroup",
                            "logs:CreateLogStream",
                            "logs:PutLogEvents")
                        .resources("*")
                        .build(),
                    GetPolicyDocumentStatementArgs.builder()
                        .effect("Allow")
                        .actions(                    
                            "ec2:CreateNetworkInterface",
                            "ec2:DescribeDhcpOptions",
                            "ec2:DescribeNetworkInterfaces",
                            "ec2:DeleteNetworkInterface",
                            "ec2:DescribeSubnets",
                            "ec2:DescribeSecurityGroups",
                            "ec2:DescribeVpcs")
                        .resources("*")
                        .build(),
                    GetPolicyDocumentStatementArgs.builder()
                        .effect("Allow")
                        .actions("ec2:CreateNetworkInterfacePermission")
                        .resources("arn:aws:ec2:us-east-1:123456789012:network-interface/*")
                        .conditions(                    
                            GetPolicyDocumentStatementConditionArgs.builder()
                                .test("StringEquals")
                                .variable("ec2:Subnet")
                                .values(                            
                                    example1.arn(),
                                    example2.arn())
                                .build(),
                            GetPolicyDocumentStatementConditionArgs.builder()
                                .test("StringEquals")
                                .variable("ec2:AuthorizedService")
                                .values("codebuild.amazonaws.com")
                                .build())
                        .build(),
                    GetPolicyDocumentStatementArgs.builder()
                        .effect("Allow")
                        .actions("s3:*")
                        .resources(                    
                            exampleBucketV2.arn(),
                            exampleBucketV2.arn().applyValue(arn -> String.format("%s/*", arn)))
                        .build())
                .build());
    
            var exampleRolePolicy = new RolePolicy("exampleRolePolicy", RolePolicyArgs.builder()
                .role(exampleRole.name())
                .policy(example.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(example -> example.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())))
                .build());
    
            var exampleProject = new Project("exampleProject", ProjectArgs.builder()
                .name("test-project")
                .description("test_codebuild_project")
                .buildTimeout(5)
                .serviceRole(exampleRole.arn())
                .artifacts(ProjectArtifactsArgs.builder()
                    .type("NO_ARTIFACTS")
                    .build())
                .cache(ProjectCacheArgs.builder()
                    .type("S3")
                    .location(exampleBucketV2.bucket())
                    .build())
                .environment(ProjectEnvironmentArgs.builder()
                    .computeType("BUILD_GENERAL1_SMALL")
                    .image("aws/codebuild/amazonlinux2-x86_64-standard:4.0")
                    .type("LINUX_CONTAINER")
                    .imagePullCredentialsType("CODEBUILD")
                    .environmentVariables(                
                        ProjectEnvironmentEnvironmentVariableArgs.builder()
                            .name("SOME_KEY1")
                            .value("SOME_VALUE1")
                            .build(),
                        ProjectEnvironmentEnvironmentVariableArgs.builder()
                            .name("SOME_KEY2")
                            .value("SOME_VALUE2")
                            .type("PARAMETER_STORE")
                            .build())
                    .build())
                .logsConfig(ProjectLogsConfigArgs.builder()
                    .cloudwatchLogs(ProjectLogsConfigCloudwatchLogsArgs.builder()
                        .groupName("log-group")
                        .streamName("log-stream")
                        .build())
                    .s3Logs(ProjectLogsConfigS3LogsArgs.builder()
                        .status("ENABLED")
                        .location(exampleBucketV2.id().applyValue(id -> String.format("%s/build-log", id)))
                        .build())
                    .build())
                .source(ProjectSourceArgs.builder()
                    .type("GITHUB")
                    .location("https://github.com/mitchellh/packer.git")
                    .gitCloneDepth(1)
                    .gitSubmodulesConfig(ProjectSourceGitSubmodulesConfigArgs.builder()
                        .fetchSubmodules(true)
                        .build())
                    .build())
                .sourceVersion("master")
                .vpcConfig(ProjectVpcConfigArgs.builder()
                    .vpcId(exampleAwsVpc.id())
                    .subnets(                
                        example1.id(),
                        example2.id())
                    .securityGroupIds(                
                        example1AwsSecurityGroup.id(),
                        example2AwsSecurityGroup.id())
                    .build())
                .tags(Map.of("Environment", "Test"))
                .build());
    
            var project_with_cache = new Project("project-with-cache", ProjectArgs.builder()
                .name("test-project-cache")
                .description("test_codebuild_project_cache")
                .buildTimeout(5)
                .queuedTimeout(5)
                .serviceRole(exampleRole.arn())
                .artifacts(ProjectArtifactsArgs.builder()
                    .type("NO_ARTIFACTS")
                    .build())
                .cache(ProjectCacheArgs.builder()
                    .type("LOCAL")
                    .modes(                
                        "LOCAL_DOCKER_LAYER_CACHE",
                        "LOCAL_SOURCE_CACHE")
                    .build())
                .environment(ProjectEnvironmentArgs.builder()
                    .computeType("BUILD_GENERAL1_SMALL")
                    .image("aws/codebuild/amazonlinux2-x86_64-standard:4.0")
                    .type("LINUX_CONTAINER")
                    .imagePullCredentialsType("CODEBUILD")
                    .environmentVariables(ProjectEnvironmentEnvironmentVariableArgs.builder()
                        .name("SOME_KEY1")
                        .value("SOME_VALUE1")
                        .build())
                    .build())
                .source(ProjectSourceArgs.builder()
                    .type("GITHUB")
                    .location("https://github.com/mitchellh/packer.git")
                    .gitCloneDepth(1)
                    .build())
                .tags(Map.of("Environment", "Test"))
                .build());
    
        }
    }
    
    resources:
      exampleBucketV2:
        type: aws:s3:BucketV2
        name: example
        properties:
          bucket: example
      exampleBucketAclV2:
        type: aws:s3:BucketAclV2
        name: example
        properties:
          bucket: ${exampleBucketV2.id}
          acl: private
      exampleRole:
        type: aws:iam:Role
        name: example
        properties:
          name: example
          assumeRolePolicy: ${assumeRole.json}
      exampleRolePolicy:
        type: aws:iam:RolePolicy
        name: example
        properties:
          role: ${exampleRole.name}
          policy: ${example.json}
      exampleProject:
        type: aws:codebuild:Project
        name: example
        properties:
          name: test-project
          description: test_codebuild_project
          buildTimeout: 5
          serviceRole: ${exampleRole.arn}
          artifacts:
            type: NO_ARTIFACTS
          cache:
            type: S3
            location: ${exampleBucketV2.bucket}
          environment:
            computeType: BUILD_GENERAL1_SMALL
            image: aws/codebuild/amazonlinux2-x86_64-standard:4.0
            type: LINUX_CONTAINER
            imagePullCredentialsType: CODEBUILD
            environmentVariables:
              - name: SOME_KEY1
                value: SOME_VALUE1
              - name: SOME_KEY2
                value: SOME_VALUE2
                type: PARAMETER_STORE
          logsConfig:
            cloudwatchLogs:
              groupName: log-group
              streamName: log-stream
            s3Logs:
              status: ENABLED
              location: ${exampleBucketV2.id}/build-log
          source:
            type: GITHUB
            location: https://github.com/mitchellh/packer.git
            gitCloneDepth: 1
            gitSubmodulesConfig:
              fetchSubmodules: true
          sourceVersion: master
          vpcConfig:
            vpcId: ${exampleAwsVpc.id}
            subnets:
              - ${example1.id}
              - ${example2.id}
            securityGroupIds:
              - ${example1AwsSecurityGroup.id}
              - ${example2AwsSecurityGroup.id}
          tags:
            Environment: Test
      project-with-cache:
        type: aws:codebuild:Project
        properties:
          name: test-project-cache
          description: test_codebuild_project_cache
          buildTimeout: 5
          queuedTimeout: 5
          serviceRole: ${exampleRole.arn}
          artifacts:
            type: NO_ARTIFACTS
          cache:
            type: LOCAL
            modes:
              - LOCAL_DOCKER_LAYER_CACHE
              - LOCAL_SOURCE_CACHE
          environment:
            computeType: BUILD_GENERAL1_SMALL
            image: aws/codebuild/amazonlinux2-x86_64-standard:4.0
            type: LINUX_CONTAINER
            imagePullCredentialsType: CODEBUILD
            environmentVariables:
              - name: SOME_KEY1
                value: SOME_VALUE1
          source:
            type: GITHUB
            location: https://github.com/mitchellh/packer.git
            gitCloneDepth: 1
          tags:
            Environment: Test
    variables:
      assumeRole:
        fn::invoke:
          Function: aws:iam:getPolicyDocument
          Arguments:
            statements:
              - effect: Allow
                principals:
                  - type: Service
                    identifiers:
                      - codebuild.amazonaws.com
                actions:
                  - sts:AssumeRole
      example:
        fn::invoke:
          Function: aws:iam:getPolicyDocument
          Arguments:
            statements:
              - effect: Allow
                actions:
                  - logs:CreateLogGroup
                  - logs:CreateLogStream
                  - logs:PutLogEvents
                resources:
                  - '*'
              - effect: Allow
                actions:
                  - ec2:CreateNetworkInterface
                  - ec2:DescribeDhcpOptions
                  - ec2:DescribeNetworkInterfaces
                  - ec2:DeleteNetworkInterface
                  - ec2:DescribeSubnets
                  - ec2:DescribeSecurityGroups
                  - ec2:DescribeVpcs
                resources:
                  - '*'
              - effect: Allow
                actions:
                  - ec2:CreateNetworkInterfacePermission
                resources:
                  - arn:aws:ec2:us-east-1:123456789012:network-interface/*
                conditions:
                  - test: StringEquals
                    variable: ec2:Subnet
                    values:
                      - ${example1.arn}
                      - ${example2.arn}
                  - test: StringEquals
                    variable: ec2:AuthorizedService
                    values:
                      - codebuild.amazonaws.com
              - effect: Allow
                actions:
                  - s3:*
                resources:
                  - ${exampleBucketV2.arn}
                  - ${exampleBucketV2.arn}/*
    

    Create Project Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new Project(name: string, args: ProjectArgs, opts?: CustomResourceOptions);
    @overload
    def Project(resource_name: str,
                args: ProjectArgs,
                opts: Optional[ResourceOptions] = None)
    
    @overload
    def Project(resource_name: str,
                opts: Optional[ResourceOptions] = None,
                environment: Optional[ProjectEnvironmentArgs] = None,
                source: Optional[ProjectSourceArgs] = None,
                service_role: Optional[str] = None,
                artifacts: Optional[ProjectArtifactsArgs] = None,
                logs_config: Optional[ProjectLogsConfigArgs] = None,
                queued_timeout: Optional[int] = None,
                description: Optional[str] = None,
                encryption_key: Optional[str] = None,
                cache: Optional[ProjectCacheArgs] = None,
                file_system_locations: Optional[Sequence[ProjectFileSystemLocationArgs]] = None,
                build_timeout: Optional[int] = None,
                name: Optional[str] = None,
                project_visibility: Optional[str] = None,
                concurrent_build_limit: Optional[int] = None,
                resource_access_role: Optional[str] = None,
                secondary_artifacts: Optional[Sequence[ProjectSecondaryArtifactArgs]] = None,
                secondary_source_versions: Optional[Sequence[ProjectSecondarySourceVersionArgs]] = None,
                secondary_sources: Optional[Sequence[ProjectSecondarySourceArgs]] = None,
                build_batch_config: Optional[ProjectBuildBatchConfigArgs] = None,
                badge_enabled: Optional[bool] = None,
                source_version: Optional[str] = None,
                tags: Optional[Mapping[str, str]] = None,
                vpc_config: Optional[ProjectVpcConfigArgs] = None)
    func NewProject(ctx *Context, name string, args ProjectArgs, opts ...ResourceOption) (*Project, error)
    public Project(string name, ProjectArgs args, CustomResourceOptions? opts = null)
    public Project(String name, ProjectArgs args)
    public Project(String name, ProjectArgs args, CustomResourceOptions options)
    
    type: aws:codebuild:Project
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args ProjectArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args ProjectArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args ProjectArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args ProjectArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args ProjectArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var projectResource = new Aws.CodeBuild.Project("projectResource", new()
    {
        Environment = new Aws.CodeBuild.Inputs.ProjectEnvironmentArgs
        {
            ComputeType = "string",
            Image = "string",
            Type = "string",
            Certificate = "string",
            EnvironmentVariables = new[]
            {
                new Aws.CodeBuild.Inputs.ProjectEnvironmentEnvironmentVariableArgs
                {
                    Name = "string",
                    Value = "string",
                    Type = "string",
                },
            },
            Fleet = new Aws.CodeBuild.Inputs.ProjectEnvironmentFleetArgs
            {
                FleetArn = "string",
            },
            ImagePullCredentialsType = "string",
            PrivilegedMode = false,
            RegistryCredential = new Aws.CodeBuild.Inputs.ProjectEnvironmentRegistryCredentialArgs
            {
                Credential = "string",
                CredentialProvider = "string",
            },
        },
        Source = new Aws.CodeBuild.Inputs.ProjectSourceArgs
        {
            Type = "string",
            BuildStatusConfig = new Aws.CodeBuild.Inputs.ProjectSourceBuildStatusConfigArgs
            {
                Context = "string",
                TargetUrl = "string",
            },
            Buildspec = "string",
            GitCloneDepth = 0,
            GitSubmodulesConfig = new Aws.CodeBuild.Inputs.ProjectSourceGitSubmodulesConfigArgs
            {
                FetchSubmodules = false,
            },
            InsecureSsl = false,
            Location = "string",
            ReportBuildStatus = false,
        },
        ServiceRole = "string",
        Artifacts = new Aws.CodeBuild.Inputs.ProjectArtifactsArgs
        {
            Type = "string",
            ArtifactIdentifier = "string",
            BucketOwnerAccess = "string",
            EncryptionDisabled = false,
            Location = "string",
            Name = "string",
            NamespaceType = "string",
            OverrideArtifactName = false,
            Packaging = "string",
            Path = "string",
        },
        LogsConfig = new Aws.CodeBuild.Inputs.ProjectLogsConfigArgs
        {
            CloudwatchLogs = new Aws.CodeBuild.Inputs.ProjectLogsConfigCloudwatchLogsArgs
            {
                GroupName = "string",
                Status = "string",
                StreamName = "string",
            },
            S3Logs = new Aws.CodeBuild.Inputs.ProjectLogsConfigS3LogsArgs
            {
                BucketOwnerAccess = "string",
                EncryptionDisabled = false,
                Location = "string",
                Status = "string",
            },
        },
        QueuedTimeout = 0,
        Description = "string",
        EncryptionKey = "string",
        Cache = new Aws.CodeBuild.Inputs.ProjectCacheArgs
        {
            Location = "string",
            Modes = new[]
            {
                "string",
            },
            Type = "string",
        },
        FileSystemLocations = new[]
        {
            new Aws.CodeBuild.Inputs.ProjectFileSystemLocationArgs
            {
                Identifier = "string",
                Location = "string",
                MountOptions = "string",
                MountPoint = "string",
                Type = "string",
            },
        },
        BuildTimeout = 0,
        Name = "string",
        ProjectVisibility = "string",
        ConcurrentBuildLimit = 0,
        ResourceAccessRole = "string",
        SecondaryArtifacts = new[]
        {
            new Aws.CodeBuild.Inputs.ProjectSecondaryArtifactArgs
            {
                ArtifactIdentifier = "string",
                Type = "string",
                BucketOwnerAccess = "string",
                EncryptionDisabled = false,
                Location = "string",
                Name = "string",
                NamespaceType = "string",
                OverrideArtifactName = false,
                Packaging = "string",
                Path = "string",
            },
        },
        SecondarySourceVersions = new[]
        {
            new Aws.CodeBuild.Inputs.ProjectSecondarySourceVersionArgs
            {
                SourceIdentifier = "string",
                SourceVersion = "string",
            },
        },
        SecondarySources = new[]
        {
            new Aws.CodeBuild.Inputs.ProjectSecondarySourceArgs
            {
                SourceIdentifier = "string",
                Type = "string",
                BuildStatusConfig = new Aws.CodeBuild.Inputs.ProjectSecondarySourceBuildStatusConfigArgs
                {
                    Context = "string",
                    TargetUrl = "string",
                },
                Buildspec = "string",
                GitCloneDepth = 0,
                GitSubmodulesConfig = new Aws.CodeBuild.Inputs.ProjectSecondarySourceGitSubmodulesConfigArgs
                {
                    FetchSubmodules = false,
                },
                InsecureSsl = false,
                Location = "string",
                ReportBuildStatus = false,
            },
        },
        BuildBatchConfig = new Aws.CodeBuild.Inputs.ProjectBuildBatchConfigArgs
        {
            ServiceRole = "string",
            CombineArtifacts = false,
            Restrictions = new Aws.CodeBuild.Inputs.ProjectBuildBatchConfigRestrictionsArgs
            {
                ComputeTypesAlloweds = new[]
                {
                    "string",
                },
                MaximumBuildsAllowed = 0,
            },
            TimeoutInMins = 0,
        },
        BadgeEnabled = false,
        SourceVersion = "string",
        Tags = 
        {
            { "string", "string" },
        },
        VpcConfig = new Aws.CodeBuild.Inputs.ProjectVpcConfigArgs
        {
            SecurityGroupIds = new[]
            {
                "string",
            },
            Subnets = new[]
            {
                "string",
            },
            VpcId = "string",
        },
    });
    
    example, err := codebuild.NewProject(ctx, "projectResource", &codebuild.ProjectArgs{
    	Environment: &codebuild.ProjectEnvironmentArgs{
    		ComputeType: pulumi.String("string"),
    		Image:       pulumi.String("string"),
    		Type:        pulumi.String("string"),
    		Certificate: pulumi.String("string"),
    		EnvironmentVariables: codebuild.ProjectEnvironmentEnvironmentVariableArray{
    			&codebuild.ProjectEnvironmentEnvironmentVariableArgs{
    				Name:  pulumi.String("string"),
    				Value: pulumi.String("string"),
    				Type:  pulumi.String("string"),
    			},
    		},
    		Fleet: &codebuild.ProjectEnvironmentFleetArgs{
    			FleetArn: pulumi.String("string"),
    		},
    		ImagePullCredentialsType: pulumi.String("string"),
    		PrivilegedMode:           pulumi.Bool(false),
    		RegistryCredential: &codebuild.ProjectEnvironmentRegistryCredentialArgs{
    			Credential:         pulumi.String("string"),
    			CredentialProvider: pulumi.String("string"),
    		},
    	},
    	Source: &codebuild.ProjectSourceArgs{
    		Type: pulumi.String("string"),
    		BuildStatusConfig: &codebuild.ProjectSourceBuildStatusConfigArgs{
    			Context:   pulumi.String("string"),
    			TargetUrl: pulumi.String("string"),
    		},
    		Buildspec:     pulumi.String("string"),
    		GitCloneDepth: pulumi.Int(0),
    		GitSubmodulesConfig: &codebuild.ProjectSourceGitSubmodulesConfigArgs{
    			FetchSubmodules: pulumi.Bool(false),
    		},
    		InsecureSsl:       pulumi.Bool(false),
    		Location:          pulumi.String("string"),
    		ReportBuildStatus: pulumi.Bool(false),
    	},
    	ServiceRole: pulumi.String("string"),
    	Artifacts: &codebuild.ProjectArtifactsArgs{
    		Type:                 pulumi.String("string"),
    		ArtifactIdentifier:   pulumi.String("string"),
    		BucketOwnerAccess:    pulumi.String("string"),
    		EncryptionDisabled:   pulumi.Bool(false),
    		Location:             pulumi.String("string"),
    		Name:                 pulumi.String("string"),
    		NamespaceType:        pulumi.String("string"),
    		OverrideArtifactName: pulumi.Bool(false),
    		Packaging:            pulumi.String("string"),
    		Path:                 pulumi.String("string"),
    	},
    	LogsConfig: &codebuild.ProjectLogsConfigArgs{
    		CloudwatchLogs: &codebuild.ProjectLogsConfigCloudwatchLogsArgs{
    			GroupName:  pulumi.String("string"),
    			Status:     pulumi.String("string"),
    			StreamName: pulumi.String("string"),
    		},
    		S3Logs: &codebuild.ProjectLogsConfigS3LogsArgs{
    			BucketOwnerAccess:  pulumi.String("string"),
    			EncryptionDisabled: pulumi.Bool(false),
    			Location:           pulumi.String("string"),
    			Status:             pulumi.String("string"),
    		},
    	},
    	QueuedTimeout: pulumi.Int(0),
    	Description:   pulumi.String("string"),
    	EncryptionKey: pulumi.String("string"),
    	Cache: &codebuild.ProjectCacheArgs{
    		Location: pulumi.String("string"),
    		Modes: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		Type: pulumi.String("string"),
    	},
    	FileSystemLocations: codebuild.ProjectFileSystemLocationArray{
    		&codebuild.ProjectFileSystemLocationArgs{
    			Identifier:   pulumi.String("string"),
    			Location:     pulumi.String("string"),
    			MountOptions: pulumi.String("string"),
    			MountPoint:   pulumi.String("string"),
    			Type:         pulumi.String("string"),
    		},
    	},
    	BuildTimeout:         pulumi.Int(0),
    	Name:                 pulumi.String("string"),
    	ProjectVisibility:    pulumi.String("string"),
    	ConcurrentBuildLimit: pulumi.Int(0),
    	ResourceAccessRole:   pulumi.String("string"),
    	SecondaryArtifacts: codebuild.ProjectSecondaryArtifactArray{
    		&codebuild.ProjectSecondaryArtifactArgs{
    			ArtifactIdentifier:   pulumi.String("string"),
    			Type:                 pulumi.String("string"),
    			BucketOwnerAccess:    pulumi.String("string"),
    			EncryptionDisabled:   pulumi.Bool(false),
    			Location:             pulumi.String("string"),
    			Name:                 pulumi.String("string"),
    			NamespaceType:        pulumi.String("string"),
    			OverrideArtifactName: pulumi.Bool(false),
    			Packaging:            pulumi.String("string"),
    			Path:                 pulumi.String("string"),
    		},
    	},
    	SecondarySourceVersions: codebuild.ProjectSecondarySourceVersionArray{
    		&codebuild.ProjectSecondarySourceVersionArgs{
    			SourceIdentifier: pulumi.String("string"),
    			SourceVersion:    pulumi.String("string"),
    		},
    	},
    	SecondarySources: codebuild.ProjectSecondarySourceArray{
    		&codebuild.ProjectSecondarySourceArgs{
    			SourceIdentifier: pulumi.String("string"),
    			Type:             pulumi.String("string"),
    			BuildStatusConfig: &codebuild.ProjectSecondarySourceBuildStatusConfigArgs{
    				Context:   pulumi.String("string"),
    				TargetUrl: pulumi.String("string"),
    			},
    			Buildspec:     pulumi.String("string"),
    			GitCloneDepth: pulumi.Int(0),
    			GitSubmodulesConfig: &codebuild.ProjectSecondarySourceGitSubmodulesConfigArgs{
    				FetchSubmodules: pulumi.Bool(false),
    			},
    			InsecureSsl:       pulumi.Bool(false),
    			Location:          pulumi.String("string"),
    			ReportBuildStatus: pulumi.Bool(false),
    		},
    	},
    	BuildBatchConfig: &codebuild.ProjectBuildBatchConfigArgs{
    		ServiceRole:      pulumi.String("string"),
    		CombineArtifacts: pulumi.Bool(false),
    		Restrictions: &codebuild.ProjectBuildBatchConfigRestrictionsArgs{
    			ComputeTypesAlloweds: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			MaximumBuildsAllowed: pulumi.Int(0),
    		},
    		TimeoutInMins: pulumi.Int(0),
    	},
    	BadgeEnabled:  pulumi.Bool(false),
    	SourceVersion: pulumi.String("string"),
    	Tags: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	VpcConfig: &codebuild.ProjectVpcConfigArgs{
    		SecurityGroupIds: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		Subnets: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		VpcId: pulumi.String("string"),
    	},
    })
    
    var projectResource = new Project("projectResource", ProjectArgs.builder()
        .environment(ProjectEnvironmentArgs.builder()
            .computeType("string")
            .image("string")
            .type("string")
            .certificate("string")
            .environmentVariables(ProjectEnvironmentEnvironmentVariableArgs.builder()
                .name("string")
                .value("string")
                .type("string")
                .build())
            .fleet(ProjectEnvironmentFleetArgs.builder()
                .fleetArn("string")
                .build())
            .imagePullCredentialsType("string")
            .privilegedMode(false)
            .registryCredential(ProjectEnvironmentRegistryCredentialArgs.builder()
                .credential("string")
                .credentialProvider("string")
                .build())
            .build())
        .source(ProjectSourceArgs.builder()
            .type("string")
            .buildStatusConfig(ProjectSourceBuildStatusConfigArgs.builder()
                .context("string")
                .targetUrl("string")
                .build())
            .buildspec("string")
            .gitCloneDepth(0)
            .gitSubmodulesConfig(ProjectSourceGitSubmodulesConfigArgs.builder()
                .fetchSubmodules(false)
                .build())
            .insecureSsl(false)
            .location("string")
            .reportBuildStatus(false)
            .build())
        .serviceRole("string")
        .artifacts(ProjectArtifactsArgs.builder()
            .type("string")
            .artifactIdentifier("string")
            .bucketOwnerAccess("string")
            .encryptionDisabled(false)
            .location("string")
            .name("string")
            .namespaceType("string")
            .overrideArtifactName(false)
            .packaging("string")
            .path("string")
            .build())
        .logsConfig(ProjectLogsConfigArgs.builder()
            .cloudwatchLogs(ProjectLogsConfigCloudwatchLogsArgs.builder()
                .groupName("string")
                .status("string")
                .streamName("string")
                .build())
            .s3Logs(ProjectLogsConfigS3LogsArgs.builder()
                .bucketOwnerAccess("string")
                .encryptionDisabled(false)
                .location("string")
                .status("string")
                .build())
            .build())
        .queuedTimeout(0)
        .description("string")
        .encryptionKey("string")
        .cache(ProjectCacheArgs.builder()
            .location("string")
            .modes("string")
            .type("string")
            .build())
        .fileSystemLocations(ProjectFileSystemLocationArgs.builder()
            .identifier("string")
            .location("string")
            .mountOptions("string")
            .mountPoint("string")
            .type("string")
            .build())
        .buildTimeout(0)
        .name("string")
        .projectVisibility("string")
        .concurrentBuildLimit(0)
        .resourceAccessRole("string")
        .secondaryArtifacts(ProjectSecondaryArtifactArgs.builder()
            .artifactIdentifier("string")
            .type("string")
            .bucketOwnerAccess("string")
            .encryptionDisabled(false)
            .location("string")
            .name("string")
            .namespaceType("string")
            .overrideArtifactName(false)
            .packaging("string")
            .path("string")
            .build())
        .secondarySourceVersions(ProjectSecondarySourceVersionArgs.builder()
            .sourceIdentifier("string")
            .sourceVersion("string")
            .build())
        .secondarySources(ProjectSecondarySourceArgs.builder()
            .sourceIdentifier("string")
            .type("string")
            .buildStatusConfig(ProjectSecondarySourceBuildStatusConfigArgs.builder()
                .context("string")
                .targetUrl("string")
                .build())
            .buildspec("string")
            .gitCloneDepth(0)
            .gitSubmodulesConfig(ProjectSecondarySourceGitSubmodulesConfigArgs.builder()
                .fetchSubmodules(false)
                .build())
            .insecureSsl(false)
            .location("string")
            .reportBuildStatus(false)
            .build())
        .buildBatchConfig(ProjectBuildBatchConfigArgs.builder()
            .serviceRole("string")
            .combineArtifacts(false)
            .restrictions(ProjectBuildBatchConfigRestrictionsArgs.builder()
                .computeTypesAlloweds("string")
                .maximumBuildsAllowed(0)
                .build())
            .timeoutInMins(0)
            .build())
        .badgeEnabled(false)
        .sourceVersion("string")
        .tags(Map.of("string", "string"))
        .vpcConfig(ProjectVpcConfigArgs.builder()
            .securityGroupIds("string")
            .subnets("string")
            .vpcId("string")
            .build())
        .build());
    
    project_resource = aws.codebuild.Project("projectResource",
        environment={
            "compute_type": "string",
            "image": "string",
            "type": "string",
            "certificate": "string",
            "environment_variables": [{
                "name": "string",
                "value": "string",
                "type": "string",
            }],
            "fleet": {
                "fleet_arn": "string",
            },
            "image_pull_credentials_type": "string",
            "privileged_mode": False,
            "registry_credential": {
                "credential": "string",
                "credential_provider": "string",
            },
        },
        source={
            "type": "string",
            "build_status_config": {
                "context": "string",
                "target_url": "string",
            },
            "buildspec": "string",
            "git_clone_depth": 0,
            "git_submodules_config": {
                "fetch_submodules": False,
            },
            "insecure_ssl": False,
            "location": "string",
            "report_build_status": False,
        },
        service_role="string",
        artifacts={
            "type": "string",
            "artifact_identifier": "string",
            "bucket_owner_access": "string",
            "encryption_disabled": False,
            "location": "string",
            "name": "string",
            "namespace_type": "string",
            "override_artifact_name": False,
            "packaging": "string",
            "path": "string",
        },
        logs_config={
            "cloudwatch_logs": {
                "group_name": "string",
                "status": "string",
                "stream_name": "string",
            },
            "s3_logs": {
                "bucket_owner_access": "string",
                "encryption_disabled": False,
                "location": "string",
                "status": "string",
            },
        },
        queued_timeout=0,
        description="string",
        encryption_key="string",
        cache={
            "location": "string",
            "modes": ["string"],
            "type": "string",
        },
        file_system_locations=[{
            "identifier": "string",
            "location": "string",
            "mount_options": "string",
            "mount_point": "string",
            "type": "string",
        }],
        build_timeout=0,
        name="string",
        project_visibility="string",
        concurrent_build_limit=0,
        resource_access_role="string",
        secondary_artifacts=[{
            "artifact_identifier": "string",
            "type": "string",
            "bucket_owner_access": "string",
            "encryption_disabled": False,
            "location": "string",
            "name": "string",
            "namespace_type": "string",
            "override_artifact_name": False,
            "packaging": "string",
            "path": "string",
        }],
        secondary_source_versions=[{
            "source_identifier": "string",
            "source_version": "string",
        }],
        secondary_sources=[{
            "source_identifier": "string",
            "type": "string",
            "build_status_config": {
                "context": "string",
                "target_url": "string",
            },
            "buildspec": "string",
            "git_clone_depth": 0,
            "git_submodules_config": {
                "fetch_submodules": False,
            },
            "insecure_ssl": False,
            "location": "string",
            "report_build_status": False,
        }],
        build_batch_config={
            "service_role": "string",
            "combine_artifacts": False,
            "restrictions": {
                "compute_types_alloweds": ["string"],
                "maximum_builds_allowed": 0,
            },
            "timeout_in_mins": 0,
        },
        badge_enabled=False,
        source_version="string",
        tags={
            "string": "string",
        },
        vpc_config={
            "security_group_ids": ["string"],
            "subnets": ["string"],
            "vpc_id": "string",
        })
    
    const projectResource = new aws.codebuild.Project("projectResource", {
        environment: {
            computeType: "string",
            image: "string",
            type: "string",
            certificate: "string",
            environmentVariables: [{
                name: "string",
                value: "string",
                type: "string",
            }],
            fleet: {
                fleetArn: "string",
            },
            imagePullCredentialsType: "string",
            privilegedMode: false,
            registryCredential: {
                credential: "string",
                credentialProvider: "string",
            },
        },
        source: {
            type: "string",
            buildStatusConfig: {
                context: "string",
                targetUrl: "string",
            },
            buildspec: "string",
            gitCloneDepth: 0,
            gitSubmodulesConfig: {
                fetchSubmodules: false,
            },
            insecureSsl: false,
            location: "string",
            reportBuildStatus: false,
        },
        serviceRole: "string",
        artifacts: {
            type: "string",
            artifactIdentifier: "string",
            bucketOwnerAccess: "string",
            encryptionDisabled: false,
            location: "string",
            name: "string",
            namespaceType: "string",
            overrideArtifactName: false,
            packaging: "string",
            path: "string",
        },
        logsConfig: {
            cloudwatchLogs: {
                groupName: "string",
                status: "string",
                streamName: "string",
            },
            s3Logs: {
                bucketOwnerAccess: "string",
                encryptionDisabled: false,
                location: "string",
                status: "string",
            },
        },
        queuedTimeout: 0,
        description: "string",
        encryptionKey: "string",
        cache: {
            location: "string",
            modes: ["string"],
            type: "string",
        },
        fileSystemLocations: [{
            identifier: "string",
            location: "string",
            mountOptions: "string",
            mountPoint: "string",
            type: "string",
        }],
        buildTimeout: 0,
        name: "string",
        projectVisibility: "string",
        concurrentBuildLimit: 0,
        resourceAccessRole: "string",
        secondaryArtifacts: [{
            artifactIdentifier: "string",
            type: "string",
            bucketOwnerAccess: "string",
            encryptionDisabled: false,
            location: "string",
            name: "string",
            namespaceType: "string",
            overrideArtifactName: false,
            packaging: "string",
            path: "string",
        }],
        secondarySourceVersions: [{
            sourceIdentifier: "string",
            sourceVersion: "string",
        }],
        secondarySources: [{
            sourceIdentifier: "string",
            type: "string",
            buildStatusConfig: {
                context: "string",
                targetUrl: "string",
            },
            buildspec: "string",
            gitCloneDepth: 0,
            gitSubmodulesConfig: {
                fetchSubmodules: false,
            },
            insecureSsl: false,
            location: "string",
            reportBuildStatus: false,
        }],
        buildBatchConfig: {
            serviceRole: "string",
            combineArtifacts: false,
            restrictions: {
                computeTypesAlloweds: ["string"],
                maximumBuildsAllowed: 0,
            },
            timeoutInMins: 0,
        },
        badgeEnabled: false,
        sourceVersion: "string",
        tags: {
            string: "string",
        },
        vpcConfig: {
            securityGroupIds: ["string"],
            subnets: ["string"],
            vpcId: "string",
        },
    });
    
    type: aws:codebuild:Project
    properties:
        artifacts:
            artifactIdentifier: string
            bucketOwnerAccess: string
            encryptionDisabled: false
            location: string
            name: string
            namespaceType: string
            overrideArtifactName: false
            packaging: string
            path: string
            type: string
        badgeEnabled: false
        buildBatchConfig:
            combineArtifacts: false
            restrictions:
                computeTypesAlloweds:
                    - string
                maximumBuildsAllowed: 0
            serviceRole: string
            timeoutInMins: 0
        buildTimeout: 0
        cache:
            location: string
            modes:
                - string
            type: string
        concurrentBuildLimit: 0
        description: string
        encryptionKey: string
        environment:
            certificate: string
            computeType: string
            environmentVariables:
                - name: string
                  type: string
                  value: string
            fleet:
                fleetArn: string
            image: string
            imagePullCredentialsType: string
            privilegedMode: false
            registryCredential:
                credential: string
                credentialProvider: string
            type: string
        fileSystemLocations:
            - identifier: string
              location: string
              mountOptions: string
              mountPoint: string
              type: string
        logsConfig:
            cloudwatchLogs:
                groupName: string
                status: string
                streamName: string
            s3Logs:
                bucketOwnerAccess: string
                encryptionDisabled: false
                location: string
                status: string
        name: string
        projectVisibility: string
        queuedTimeout: 0
        resourceAccessRole: string
        secondaryArtifacts:
            - artifactIdentifier: string
              bucketOwnerAccess: string
              encryptionDisabled: false
              location: string
              name: string
              namespaceType: string
              overrideArtifactName: false
              packaging: string
              path: string
              type: string
        secondarySourceVersions:
            - sourceIdentifier: string
              sourceVersion: string
        secondarySources:
            - buildStatusConfig:
                context: string
                targetUrl: string
              buildspec: string
              gitCloneDepth: 0
              gitSubmodulesConfig:
                fetchSubmodules: false
              insecureSsl: false
              location: string
              reportBuildStatus: false
              sourceIdentifier: string
              type: string
        serviceRole: string
        source:
            buildStatusConfig:
                context: string
                targetUrl: string
            buildspec: string
            gitCloneDepth: 0
            gitSubmodulesConfig:
                fetchSubmodules: false
            insecureSsl: false
            location: string
            reportBuildStatus: false
            type: string
        sourceVersion: string
        tags:
            string: string
        vpcConfig:
            securityGroupIds:
                - string
            subnets:
                - string
            vpcId: string
    

    Project Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The Project resource accepts the following input properties:

    Artifacts ProjectArtifacts
    Configuration block. Detailed below.
    Environment ProjectEnvironment
    Configuration block. Detailed below.
    ServiceRole string
    Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that enables AWS CodeBuild to interact with dependent AWS services on behalf of the AWS account.
    Source ProjectSource

    Configuration block. Detailed below.

    The following arguments are optional:

    BadgeEnabled bool
    Generates a publicly-accessible URL for the projects build badge. Available as badge_url attribute when enabled.
    BuildBatchConfig ProjectBuildBatchConfig
    Defines the batch build options for the project.
    BuildTimeout int
    Number of minutes, from 5 to 2160 (36 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The build_timeout property is not available on the Lambda compute type.
    Cache ProjectCache
    Configuration block. Detailed below.
    ConcurrentBuildLimit int
    Specify a maximum number of concurrent builds for the project. The value specified must be greater than 0 and less than the account concurrent running builds limit.
    Description string
    Short description of the project.
    EncryptionKey string
    AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build project's build output artifacts.
    FileSystemLocations List<ProjectFileSystemLocation>
    A set of file system locations to mount inside the build. File system locations are documented below.
    LogsConfig ProjectLogsConfig
    Configuration block. Detailed below.
    Name string
    Project's name.
    ProjectVisibility string
    Specifies the visibility of the project's builds. Possible values are: PUBLIC_READ and PRIVATE. Default value is PRIVATE.
    QueuedTimeout int
    Number of minutes, from 5 to 480 (8 hours), a build is allowed to be queued before it times out. The default is 8 hours. The queued_timeout property is not available on the Lambda compute type.
    ResourceAccessRole string
    The ARN of the IAM role that enables CodeBuild to access the CloudWatch Logs and Amazon S3 artifacts for the project's builds in order to display them publicly. Only applicable if project_visibility is PUBLIC_READ.
    SecondaryArtifacts List<ProjectSecondaryArtifact>
    Configuration block. Detailed below.
    SecondarySourceVersions List<ProjectSecondarySourceVersion>
    Configuration block. Detailed below.
    SecondarySources List<ProjectSecondarySource>
    Configuration block. Detailed below.
    SourceVersion string
    Version of the build input to be built for this project. If not specified, the latest version is used.
    Tags Dictionary<string, string>
    Map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    VpcConfig ProjectVpcConfig
    Configuration block. Detailed below.
    Artifacts ProjectArtifactsArgs
    Configuration block. Detailed below.
    Environment ProjectEnvironmentArgs
    Configuration block. Detailed below.
    ServiceRole string
    Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that enables AWS CodeBuild to interact with dependent AWS services on behalf of the AWS account.
    Source ProjectSourceArgs

    Configuration block. Detailed below.

    The following arguments are optional:

    BadgeEnabled bool
    Generates a publicly-accessible URL for the projects build badge. Available as badge_url attribute when enabled.
    BuildBatchConfig ProjectBuildBatchConfigArgs
    Defines the batch build options for the project.
    BuildTimeout int
    Number of minutes, from 5 to 2160 (36 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The build_timeout property is not available on the Lambda compute type.
    Cache ProjectCacheArgs
    Configuration block. Detailed below.
    ConcurrentBuildLimit int
    Specify a maximum number of concurrent builds for the project. The value specified must be greater than 0 and less than the account concurrent running builds limit.
    Description string
    Short description of the project.
    EncryptionKey string
    AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build project's build output artifacts.
    FileSystemLocations []ProjectFileSystemLocationArgs
    A set of file system locations to mount inside the build. File system locations are documented below.
    LogsConfig ProjectLogsConfigArgs
    Configuration block. Detailed below.
    Name string
    Project's name.
    ProjectVisibility string
    Specifies the visibility of the project's builds. Possible values are: PUBLIC_READ and PRIVATE. Default value is PRIVATE.
    QueuedTimeout int
    Number of minutes, from 5 to 480 (8 hours), a build is allowed to be queued before it times out. The default is 8 hours. The queued_timeout property is not available on the Lambda compute type.
    ResourceAccessRole string
    The ARN of the IAM role that enables CodeBuild to access the CloudWatch Logs and Amazon S3 artifacts for the project's builds in order to display them publicly. Only applicable if project_visibility is PUBLIC_READ.
    SecondaryArtifacts []ProjectSecondaryArtifactArgs
    Configuration block. Detailed below.
    SecondarySourceVersions []ProjectSecondarySourceVersionArgs
    Configuration block. Detailed below.
    SecondarySources []ProjectSecondarySourceArgs
    Configuration block. Detailed below.
    SourceVersion string
    Version of the build input to be built for this project. If not specified, the latest version is used.
    Tags map[string]string
    Map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    VpcConfig ProjectVpcConfigArgs
    Configuration block. Detailed below.
    artifacts ProjectArtifacts
    Configuration block. Detailed below.
    environment ProjectEnvironment
    Configuration block. Detailed below.
    serviceRole String
    Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that enables AWS CodeBuild to interact with dependent AWS services on behalf of the AWS account.
    source ProjectSource

    Configuration block. Detailed below.

    The following arguments are optional:

    badgeEnabled Boolean
    Generates a publicly-accessible URL for the projects build badge. Available as badge_url attribute when enabled.
    buildBatchConfig ProjectBuildBatchConfig
    Defines the batch build options for the project.
    buildTimeout Integer
    Number of minutes, from 5 to 2160 (36 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The build_timeout property is not available on the Lambda compute type.
    cache ProjectCache
    Configuration block. Detailed below.
    concurrentBuildLimit Integer
    Specify a maximum number of concurrent builds for the project. The value specified must be greater than 0 and less than the account concurrent running builds limit.
    description String
    Short description of the project.
    encryptionKey String
    AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build project's build output artifacts.
    fileSystemLocations List<ProjectFileSystemLocation>
    A set of file system locations to mount inside the build. File system locations are documented below.
    logsConfig ProjectLogsConfig
    Configuration block. Detailed below.
    name String
    Project's name.
    projectVisibility String
    Specifies the visibility of the project's builds. Possible values are: PUBLIC_READ and PRIVATE. Default value is PRIVATE.
    queuedTimeout Integer
    Number of minutes, from 5 to 480 (8 hours), a build is allowed to be queued before it times out. The default is 8 hours. The queued_timeout property is not available on the Lambda compute type.
    resourceAccessRole String
    The ARN of the IAM role that enables CodeBuild to access the CloudWatch Logs and Amazon S3 artifacts for the project's builds in order to display them publicly. Only applicable if project_visibility is PUBLIC_READ.
    secondaryArtifacts List<ProjectSecondaryArtifact>
    Configuration block. Detailed below.
    secondarySourceVersions List<ProjectSecondarySourceVersion>
    Configuration block. Detailed below.
    secondarySources List<ProjectSecondarySource>
    Configuration block. Detailed below.
    sourceVersion String
    Version of the build input to be built for this project. If not specified, the latest version is used.
    tags Map<String,String>
    Map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    vpcConfig ProjectVpcConfig
    Configuration block. Detailed below.
    artifacts ProjectArtifacts
    Configuration block. Detailed below.
    environment ProjectEnvironment
    Configuration block. Detailed below.
    serviceRole string
    Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that enables AWS CodeBuild to interact with dependent AWS services on behalf of the AWS account.
    source ProjectSource

    Configuration block. Detailed below.

    The following arguments are optional:

    badgeEnabled boolean
    Generates a publicly-accessible URL for the projects build badge. Available as badge_url attribute when enabled.
    buildBatchConfig ProjectBuildBatchConfig
    Defines the batch build options for the project.
    buildTimeout number
    Number of minutes, from 5 to 2160 (36 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The build_timeout property is not available on the Lambda compute type.
    cache ProjectCache
    Configuration block. Detailed below.
    concurrentBuildLimit number
    Specify a maximum number of concurrent builds for the project. The value specified must be greater than 0 and less than the account concurrent running builds limit.
    description string
    Short description of the project.
    encryptionKey string
    AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build project's build output artifacts.
    fileSystemLocations ProjectFileSystemLocation[]
    A set of file system locations to mount inside the build. File system locations are documented below.
    logsConfig ProjectLogsConfig
    Configuration block. Detailed below.
    name string
    Project's name.
    projectVisibility string
    Specifies the visibility of the project's builds. Possible values are: PUBLIC_READ and PRIVATE. Default value is PRIVATE.
    queuedTimeout number
    Number of minutes, from 5 to 480 (8 hours), a build is allowed to be queued before it times out. The default is 8 hours. The queued_timeout property is not available on the Lambda compute type.
    resourceAccessRole string
    The ARN of the IAM role that enables CodeBuild to access the CloudWatch Logs and Amazon S3 artifacts for the project's builds in order to display them publicly. Only applicable if project_visibility is PUBLIC_READ.
    secondaryArtifacts ProjectSecondaryArtifact[]
    Configuration block. Detailed below.
    secondarySourceVersions ProjectSecondarySourceVersion[]
    Configuration block. Detailed below.
    secondarySources ProjectSecondarySource[]
    Configuration block. Detailed below.
    sourceVersion string
    Version of the build input to be built for this project. If not specified, the latest version is used.
    tags {[key: string]: string}
    Map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    vpcConfig ProjectVpcConfig
    Configuration block. Detailed below.
    artifacts ProjectArtifactsArgs
    Configuration block. Detailed below.
    environment ProjectEnvironmentArgs
    Configuration block. Detailed below.
    service_role str
    Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that enables AWS CodeBuild to interact with dependent AWS services on behalf of the AWS account.
    source ProjectSourceArgs

    Configuration block. Detailed below.

    The following arguments are optional:

    badge_enabled bool
    Generates a publicly-accessible URL for the projects build badge. Available as badge_url attribute when enabled.
    build_batch_config ProjectBuildBatchConfigArgs
    Defines the batch build options for the project.
    build_timeout int
    Number of minutes, from 5 to 2160 (36 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The build_timeout property is not available on the Lambda compute type.
    cache ProjectCacheArgs
    Configuration block. Detailed below.
    concurrent_build_limit int
    Specify a maximum number of concurrent builds for the project. The value specified must be greater than 0 and less than the account concurrent running builds limit.
    description str
    Short description of the project.
    encryption_key str
    AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build project's build output artifacts.
    file_system_locations Sequence[ProjectFileSystemLocationArgs]
    A set of file system locations to mount inside the build. File system locations are documented below.
    logs_config ProjectLogsConfigArgs
    Configuration block. Detailed below.
    name str
    Project's name.
    project_visibility str
    Specifies the visibility of the project's builds. Possible values are: PUBLIC_READ and PRIVATE. Default value is PRIVATE.
    queued_timeout int
    Number of minutes, from 5 to 480 (8 hours), a build is allowed to be queued before it times out. The default is 8 hours. The queued_timeout property is not available on the Lambda compute type.
    resource_access_role str
    The ARN of the IAM role that enables CodeBuild to access the CloudWatch Logs and Amazon S3 artifacts for the project's builds in order to display them publicly. Only applicable if project_visibility is PUBLIC_READ.
    secondary_artifacts Sequence[ProjectSecondaryArtifactArgs]
    Configuration block. Detailed below.
    secondary_source_versions Sequence[ProjectSecondarySourceVersionArgs]
    Configuration block. Detailed below.
    secondary_sources Sequence[ProjectSecondarySourceArgs]
    Configuration block. Detailed below.
    source_version str
    Version of the build input to be built for this project. If not specified, the latest version is used.
    tags Mapping[str, str]
    Map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    vpc_config ProjectVpcConfigArgs
    Configuration block. Detailed below.
    artifacts Property Map
    Configuration block. Detailed below.
    environment Property Map
    Configuration block. Detailed below.
    serviceRole String
    Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that enables AWS CodeBuild to interact with dependent AWS services on behalf of the AWS account.
    source Property Map

    Configuration block. Detailed below.

    The following arguments are optional:

    badgeEnabled Boolean
    Generates a publicly-accessible URL for the projects build badge. Available as badge_url attribute when enabled.
    buildBatchConfig Property Map
    Defines the batch build options for the project.
    buildTimeout Number
    Number of minutes, from 5 to 2160 (36 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The build_timeout property is not available on the Lambda compute type.
    cache Property Map
    Configuration block. Detailed below.
    concurrentBuildLimit Number
    Specify a maximum number of concurrent builds for the project. The value specified must be greater than 0 and less than the account concurrent running builds limit.
    description String
    Short description of the project.
    encryptionKey String
    AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build project's build output artifacts.
    fileSystemLocations List<Property Map>
    A set of file system locations to mount inside the build. File system locations are documented below.
    logsConfig Property Map
    Configuration block. Detailed below.
    name String
    Project's name.
    projectVisibility String
    Specifies the visibility of the project's builds. Possible values are: PUBLIC_READ and PRIVATE. Default value is PRIVATE.
    queuedTimeout Number
    Number of minutes, from 5 to 480 (8 hours), a build is allowed to be queued before it times out. The default is 8 hours. The queued_timeout property is not available on the Lambda compute type.
    resourceAccessRole String
    The ARN of the IAM role that enables CodeBuild to access the CloudWatch Logs and Amazon S3 artifacts for the project's builds in order to display them publicly. Only applicable if project_visibility is PUBLIC_READ.
    secondaryArtifacts List<Property Map>
    Configuration block. Detailed below.
    secondarySourceVersions List<Property Map>
    Configuration block. Detailed below.
    secondarySources List<Property Map>
    Configuration block. Detailed below.
    sourceVersion String
    Version of the build input to be built for this project. If not specified, the latest version is used.
    tags Map<String>
    Map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    vpcConfig Property Map
    Configuration block. Detailed below.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the Project resource produces the following output properties:

    Arn string
    ARN of the CodeBuild project.
    BadgeUrl string
    URL of the build badge when badge_enabled is enabled.
    Id string
    The provider-assigned unique ID for this managed resource.
    PublicProjectAlias string
    The project identifier used with the public build APIs.
    TagsAll Dictionary<string, string>
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    Arn string
    ARN of the CodeBuild project.
    BadgeUrl string
    URL of the build badge when badge_enabled is enabled.
    Id string
    The provider-assigned unique ID for this managed resource.
    PublicProjectAlias string
    The project identifier used with the public build APIs.
    TagsAll map[string]string
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    arn String
    ARN of the CodeBuild project.
    badgeUrl String
    URL of the build badge when badge_enabled is enabled.
    id String
    The provider-assigned unique ID for this managed resource.
    publicProjectAlias String
    The project identifier used with the public build APIs.
    tagsAll Map<String,String>
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    arn string
    ARN of the CodeBuild project.
    badgeUrl string
    URL of the build badge when badge_enabled is enabled.
    id string
    The provider-assigned unique ID for this managed resource.
    publicProjectAlias string
    The project identifier used with the public build APIs.
    tagsAll {[key: string]: string}
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    arn str
    ARN of the CodeBuild project.
    badge_url str
    URL of the build badge when badge_enabled is enabled.
    id str
    The provider-assigned unique ID for this managed resource.
    public_project_alias str
    The project identifier used with the public build APIs.
    tags_all Mapping[str, str]
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    arn String
    ARN of the CodeBuild project.
    badgeUrl String
    URL of the build badge when badge_enabled is enabled.
    id String
    The provider-assigned unique ID for this managed resource.
    publicProjectAlias String
    The project identifier used with the public build APIs.
    tagsAll Map<String>
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    Look up Existing Project Resource

    Get an existing Project resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: ProjectState, opts?: CustomResourceOptions): Project
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            arn: Optional[str] = None,
            artifacts: Optional[ProjectArtifactsArgs] = None,
            badge_enabled: Optional[bool] = None,
            badge_url: Optional[str] = None,
            build_batch_config: Optional[ProjectBuildBatchConfigArgs] = None,
            build_timeout: Optional[int] = None,
            cache: Optional[ProjectCacheArgs] = None,
            concurrent_build_limit: Optional[int] = None,
            description: Optional[str] = None,
            encryption_key: Optional[str] = None,
            environment: Optional[ProjectEnvironmentArgs] = None,
            file_system_locations: Optional[Sequence[ProjectFileSystemLocationArgs]] = None,
            logs_config: Optional[ProjectLogsConfigArgs] = None,
            name: Optional[str] = None,
            project_visibility: Optional[str] = None,
            public_project_alias: Optional[str] = None,
            queued_timeout: Optional[int] = None,
            resource_access_role: Optional[str] = None,
            secondary_artifacts: Optional[Sequence[ProjectSecondaryArtifactArgs]] = None,
            secondary_source_versions: Optional[Sequence[ProjectSecondarySourceVersionArgs]] = None,
            secondary_sources: Optional[Sequence[ProjectSecondarySourceArgs]] = None,
            service_role: Optional[str] = None,
            source: Optional[ProjectSourceArgs] = None,
            source_version: Optional[str] = None,
            tags: Optional[Mapping[str, str]] = None,
            tags_all: Optional[Mapping[str, str]] = None,
            vpc_config: Optional[ProjectVpcConfigArgs] = None) -> Project
    func GetProject(ctx *Context, name string, id IDInput, state *ProjectState, opts ...ResourceOption) (*Project, error)
    public static Project Get(string name, Input<string> id, ProjectState? state, CustomResourceOptions? opts = null)
    public static Project get(String name, Output<String> id, ProjectState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    Arn string
    ARN of the CodeBuild project.
    Artifacts ProjectArtifacts
    Configuration block. Detailed below.
    BadgeEnabled bool
    Generates a publicly-accessible URL for the projects build badge. Available as badge_url attribute when enabled.
    BadgeUrl string
    URL of the build badge when badge_enabled is enabled.
    BuildBatchConfig ProjectBuildBatchConfig
    Defines the batch build options for the project.
    BuildTimeout int
    Number of minutes, from 5 to 2160 (36 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The build_timeout property is not available on the Lambda compute type.
    Cache ProjectCache
    Configuration block. Detailed below.
    ConcurrentBuildLimit int
    Specify a maximum number of concurrent builds for the project. The value specified must be greater than 0 and less than the account concurrent running builds limit.
    Description string
    Short description of the project.
    EncryptionKey string
    AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build project's build output artifacts.
    Environment ProjectEnvironment
    Configuration block. Detailed below.
    FileSystemLocations List<ProjectFileSystemLocation>
    A set of file system locations to mount inside the build. File system locations are documented below.
    LogsConfig ProjectLogsConfig
    Configuration block. Detailed below.
    Name string
    Project's name.
    ProjectVisibility string
    Specifies the visibility of the project's builds. Possible values are: PUBLIC_READ and PRIVATE. Default value is PRIVATE.
    PublicProjectAlias string
    The project identifier used with the public build APIs.
    QueuedTimeout int
    Number of minutes, from 5 to 480 (8 hours), a build is allowed to be queued before it times out. The default is 8 hours. The queued_timeout property is not available on the Lambda compute type.
    ResourceAccessRole string
    The ARN of the IAM role that enables CodeBuild to access the CloudWatch Logs and Amazon S3 artifacts for the project's builds in order to display them publicly. Only applicable if project_visibility is PUBLIC_READ.
    SecondaryArtifacts List<ProjectSecondaryArtifact>
    Configuration block. Detailed below.
    SecondarySourceVersions List<ProjectSecondarySourceVersion>
    Configuration block. Detailed below.
    SecondarySources List<ProjectSecondarySource>
    Configuration block. Detailed below.
    ServiceRole string
    Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that enables AWS CodeBuild to interact with dependent AWS services on behalf of the AWS account.
    Source ProjectSource

    Configuration block. Detailed below.

    The following arguments are optional:

    SourceVersion string
    Version of the build input to be built for this project. If not specified, the latest version is used.
    Tags Dictionary<string, string>
    Map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    TagsAll Dictionary<string, string>
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    VpcConfig ProjectVpcConfig
    Configuration block. Detailed below.
    Arn string
    ARN of the CodeBuild project.
    Artifacts ProjectArtifactsArgs
    Configuration block. Detailed below.
    BadgeEnabled bool
    Generates a publicly-accessible URL for the projects build badge. Available as badge_url attribute when enabled.
    BadgeUrl string
    URL of the build badge when badge_enabled is enabled.
    BuildBatchConfig ProjectBuildBatchConfigArgs
    Defines the batch build options for the project.
    BuildTimeout int
    Number of minutes, from 5 to 2160 (36 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The build_timeout property is not available on the Lambda compute type.
    Cache ProjectCacheArgs
    Configuration block. Detailed below.
    ConcurrentBuildLimit int
    Specify a maximum number of concurrent builds for the project. The value specified must be greater than 0 and less than the account concurrent running builds limit.
    Description string
    Short description of the project.
    EncryptionKey string
    AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build project's build output artifacts.
    Environment ProjectEnvironmentArgs
    Configuration block. Detailed below.
    FileSystemLocations []ProjectFileSystemLocationArgs
    A set of file system locations to mount inside the build. File system locations are documented below.
    LogsConfig ProjectLogsConfigArgs
    Configuration block. Detailed below.
    Name string
    Project's name.
    ProjectVisibility string
    Specifies the visibility of the project's builds. Possible values are: PUBLIC_READ and PRIVATE. Default value is PRIVATE.
    PublicProjectAlias string
    The project identifier used with the public build APIs.
    QueuedTimeout int
    Number of minutes, from 5 to 480 (8 hours), a build is allowed to be queued before it times out. The default is 8 hours. The queued_timeout property is not available on the Lambda compute type.
    ResourceAccessRole string
    The ARN of the IAM role that enables CodeBuild to access the CloudWatch Logs and Amazon S3 artifacts for the project's builds in order to display them publicly. Only applicable if project_visibility is PUBLIC_READ.
    SecondaryArtifacts []ProjectSecondaryArtifactArgs
    Configuration block. Detailed below.
    SecondarySourceVersions []ProjectSecondarySourceVersionArgs
    Configuration block. Detailed below.
    SecondarySources []ProjectSecondarySourceArgs
    Configuration block. Detailed below.
    ServiceRole string
    Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that enables AWS CodeBuild to interact with dependent AWS services on behalf of the AWS account.
    Source ProjectSourceArgs

    Configuration block. Detailed below.

    The following arguments are optional:

    SourceVersion string
    Version of the build input to be built for this project. If not specified, the latest version is used.
    Tags map[string]string
    Map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    TagsAll map[string]string
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    VpcConfig ProjectVpcConfigArgs
    Configuration block. Detailed below.
    arn String
    ARN of the CodeBuild project.
    artifacts ProjectArtifacts
    Configuration block. Detailed below.
    badgeEnabled Boolean
    Generates a publicly-accessible URL for the projects build badge. Available as badge_url attribute when enabled.
    badgeUrl String
    URL of the build badge when badge_enabled is enabled.
    buildBatchConfig ProjectBuildBatchConfig
    Defines the batch build options for the project.
    buildTimeout Integer
    Number of minutes, from 5 to 2160 (36 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The build_timeout property is not available on the Lambda compute type.
    cache ProjectCache
    Configuration block. Detailed below.
    concurrentBuildLimit Integer
    Specify a maximum number of concurrent builds for the project. The value specified must be greater than 0 and less than the account concurrent running builds limit.
    description String
    Short description of the project.
    encryptionKey String
    AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build project's build output artifacts.
    environment ProjectEnvironment
    Configuration block. Detailed below.
    fileSystemLocations List<ProjectFileSystemLocation>
    A set of file system locations to mount inside the build. File system locations are documented below.
    logsConfig ProjectLogsConfig
    Configuration block. Detailed below.
    name String
    Project's name.
    projectVisibility String
    Specifies the visibility of the project's builds. Possible values are: PUBLIC_READ and PRIVATE. Default value is PRIVATE.
    publicProjectAlias String
    The project identifier used with the public build APIs.
    queuedTimeout Integer
    Number of minutes, from 5 to 480 (8 hours), a build is allowed to be queued before it times out. The default is 8 hours. The queued_timeout property is not available on the Lambda compute type.
    resourceAccessRole String
    The ARN of the IAM role that enables CodeBuild to access the CloudWatch Logs and Amazon S3 artifacts for the project's builds in order to display them publicly. Only applicable if project_visibility is PUBLIC_READ.
    secondaryArtifacts List<ProjectSecondaryArtifact>
    Configuration block. Detailed below.
    secondarySourceVersions List<ProjectSecondarySourceVersion>
    Configuration block. Detailed below.
    secondarySources List<ProjectSecondarySource>
    Configuration block. Detailed below.
    serviceRole String
    Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that enables AWS CodeBuild to interact with dependent AWS services on behalf of the AWS account.
    source ProjectSource

    Configuration block. Detailed below.

    The following arguments are optional:

    sourceVersion String
    Version of the build input to be built for this project. If not specified, the latest version is used.
    tags Map<String,String>
    Map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    tagsAll Map<String,String>
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    vpcConfig ProjectVpcConfig
    Configuration block. Detailed below.
    arn string
    ARN of the CodeBuild project.
    artifacts ProjectArtifacts
    Configuration block. Detailed below.
    badgeEnabled boolean
    Generates a publicly-accessible URL for the projects build badge. Available as badge_url attribute when enabled.
    badgeUrl string
    URL of the build badge when badge_enabled is enabled.
    buildBatchConfig ProjectBuildBatchConfig
    Defines the batch build options for the project.
    buildTimeout number
    Number of minutes, from 5 to 2160 (36 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The build_timeout property is not available on the Lambda compute type.
    cache ProjectCache
    Configuration block. Detailed below.
    concurrentBuildLimit number
    Specify a maximum number of concurrent builds for the project. The value specified must be greater than 0 and less than the account concurrent running builds limit.
    description string
    Short description of the project.
    encryptionKey string
    AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build project's build output artifacts.
    environment ProjectEnvironment
    Configuration block. Detailed below.
    fileSystemLocations ProjectFileSystemLocation[]
    A set of file system locations to mount inside the build. File system locations are documented below.
    logsConfig ProjectLogsConfig
    Configuration block. Detailed below.
    name string
    Project's name.
    projectVisibility string
    Specifies the visibility of the project's builds. Possible values are: PUBLIC_READ and PRIVATE. Default value is PRIVATE.
    publicProjectAlias string
    The project identifier used with the public build APIs.
    queuedTimeout number
    Number of minutes, from 5 to 480 (8 hours), a build is allowed to be queued before it times out. The default is 8 hours. The queued_timeout property is not available on the Lambda compute type.
    resourceAccessRole string
    The ARN of the IAM role that enables CodeBuild to access the CloudWatch Logs and Amazon S3 artifacts for the project's builds in order to display them publicly. Only applicable if project_visibility is PUBLIC_READ.
    secondaryArtifacts ProjectSecondaryArtifact[]
    Configuration block. Detailed below.
    secondarySourceVersions ProjectSecondarySourceVersion[]
    Configuration block. Detailed below.
    secondarySources ProjectSecondarySource[]
    Configuration block. Detailed below.
    serviceRole string
    Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that enables AWS CodeBuild to interact with dependent AWS services on behalf of the AWS account.
    source ProjectSource

    Configuration block. Detailed below.

    The following arguments are optional:

    sourceVersion string
    Version of the build input to be built for this project. If not specified, the latest version is used.
    tags {[key: string]: string}
    Map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    tagsAll {[key: string]: string}
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    vpcConfig ProjectVpcConfig
    Configuration block. Detailed below.
    arn str
    ARN of the CodeBuild project.
    artifacts ProjectArtifactsArgs
    Configuration block. Detailed below.
    badge_enabled bool
    Generates a publicly-accessible URL for the projects build badge. Available as badge_url attribute when enabled.
    badge_url str
    URL of the build badge when badge_enabled is enabled.
    build_batch_config ProjectBuildBatchConfigArgs
    Defines the batch build options for the project.
    build_timeout int
    Number of minutes, from 5 to 2160 (36 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The build_timeout property is not available on the Lambda compute type.
    cache ProjectCacheArgs
    Configuration block. Detailed below.
    concurrent_build_limit int
    Specify a maximum number of concurrent builds for the project. The value specified must be greater than 0 and less than the account concurrent running builds limit.
    description str
    Short description of the project.
    encryption_key str
    AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build project's build output artifacts.
    environment ProjectEnvironmentArgs
    Configuration block. Detailed below.
    file_system_locations Sequence[ProjectFileSystemLocationArgs]
    A set of file system locations to mount inside the build. File system locations are documented below.
    logs_config ProjectLogsConfigArgs
    Configuration block. Detailed below.
    name str
    Project's name.
    project_visibility str
    Specifies the visibility of the project's builds. Possible values are: PUBLIC_READ and PRIVATE. Default value is PRIVATE.
    public_project_alias str
    The project identifier used with the public build APIs.
    queued_timeout int
    Number of minutes, from 5 to 480 (8 hours), a build is allowed to be queued before it times out. The default is 8 hours. The queued_timeout property is not available on the Lambda compute type.
    resource_access_role str
    The ARN of the IAM role that enables CodeBuild to access the CloudWatch Logs and Amazon S3 artifacts for the project's builds in order to display them publicly. Only applicable if project_visibility is PUBLIC_READ.
    secondary_artifacts Sequence[ProjectSecondaryArtifactArgs]
    Configuration block. Detailed below.
    secondary_source_versions Sequence[ProjectSecondarySourceVersionArgs]
    Configuration block. Detailed below.
    secondary_sources Sequence[ProjectSecondarySourceArgs]
    Configuration block. Detailed below.
    service_role str
    Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that enables AWS CodeBuild to interact with dependent AWS services on behalf of the AWS account.
    source ProjectSourceArgs

    Configuration block. Detailed below.

    The following arguments are optional:

    source_version str
    Version of the build input to be built for this project. If not specified, the latest version is used.
    tags Mapping[str, str]
    Map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    tags_all Mapping[str, str]
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    vpc_config ProjectVpcConfigArgs
    Configuration block. Detailed below.
    arn String
    ARN of the CodeBuild project.
    artifacts Property Map
    Configuration block. Detailed below.
    badgeEnabled Boolean
    Generates a publicly-accessible URL for the projects build badge. Available as badge_url attribute when enabled.
    badgeUrl String
    URL of the build badge when badge_enabled is enabled.
    buildBatchConfig Property Map
    Defines the batch build options for the project.
    buildTimeout Number
    Number of minutes, from 5 to 2160 (36 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes. The build_timeout property is not available on the Lambda compute type.
    cache Property Map
    Configuration block. Detailed below.
    concurrentBuildLimit Number
    Specify a maximum number of concurrent builds for the project. The value specified must be greater than 0 and less than the account concurrent running builds limit.
    description String
    Short description of the project.
    encryptionKey String
    AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build project's build output artifacts.
    environment Property Map
    Configuration block. Detailed below.
    fileSystemLocations List<Property Map>
    A set of file system locations to mount inside the build. File system locations are documented below.
    logsConfig Property Map
    Configuration block. Detailed below.
    name String
    Project's name.
    projectVisibility String
    Specifies the visibility of the project's builds. Possible values are: PUBLIC_READ and PRIVATE. Default value is PRIVATE.
    publicProjectAlias String
    The project identifier used with the public build APIs.
    queuedTimeout Number
    Number of minutes, from 5 to 480 (8 hours), a build is allowed to be queued before it times out. The default is 8 hours. The queued_timeout property is not available on the Lambda compute type.
    resourceAccessRole String
    The ARN of the IAM role that enables CodeBuild to access the CloudWatch Logs and Amazon S3 artifacts for the project's builds in order to display them publicly. Only applicable if project_visibility is PUBLIC_READ.
    secondaryArtifacts List<Property Map>
    Configuration block. Detailed below.
    secondarySourceVersions List<Property Map>
    Configuration block. Detailed below.
    secondarySources List<Property Map>
    Configuration block. Detailed below.
    serviceRole String
    Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that enables AWS CodeBuild to interact with dependent AWS services on behalf of the AWS account.
    source Property Map

    Configuration block. Detailed below.

    The following arguments are optional:

    sourceVersion String
    Version of the build input to be built for this project. If not specified, the latest version is used.
    tags Map<String>
    Map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    tagsAll Map<String>
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    vpcConfig Property Map
    Configuration block. Detailed below.

    Supporting Types

    ProjectArtifacts, ProjectArtifactsArgs

    Type string
    Build output artifact's type. Valid values: CODEPIPELINE, NO_ARTIFACTS, S3.
    ArtifactIdentifier string
    Artifact identifier. Must be the same specified inside the AWS CodeBuild build specification.
    BucketOwnerAccess string
    Specifies the bucket owner's access for objects that another account uploads to their Amazon S3 bucket. By default, only the account that uploads the objects to the bucket has access to these objects. This property allows you to give the bucket owner access to these objects. Valid values are NONE, READ_ONLY, and FULL. your CodeBuild service role must have the s3:PutBucketAcl permission. This permission allows CodeBuild to modify the access control list for the bucket.
    EncryptionDisabled bool
    Whether to disable encrypting output artifacts. If type is set to NO_ARTIFACTS, this value is ignored. Defaults to false.
    Location string
    Information about the build output artifact location. If type is set to CODEPIPELINE or NO_ARTIFACTS, this value is ignored. If type is set to S3, this is the name of the output bucket.
    Name string
    Name of the project. If type is set to S3, this is the name of the output artifact object
    NamespaceType string
    Namespace to use in storing build artifacts. If type is set to S3, then valid values are BUILD_ID, NONE.
    OverrideArtifactName bool
    Whether a name specified in the build specification overrides the artifact name.
    Packaging string
    Type of build output artifact to create. If type is set to S3, valid values are NONE, ZIP
    Path string
    If type is set to S3, this is the path to the output artifact.
    Type string
    Build output artifact's type. Valid values: CODEPIPELINE, NO_ARTIFACTS, S3.
    ArtifactIdentifier string
    Artifact identifier. Must be the same specified inside the AWS CodeBuild build specification.
    BucketOwnerAccess string
    Specifies the bucket owner's access for objects that another account uploads to their Amazon S3 bucket. By default, only the account that uploads the objects to the bucket has access to these objects. This property allows you to give the bucket owner access to these objects. Valid values are NONE, READ_ONLY, and FULL. your CodeBuild service role must have the s3:PutBucketAcl permission. This permission allows CodeBuild to modify the access control list for the bucket.
    EncryptionDisabled bool
    Whether to disable encrypting output artifacts. If type is set to NO_ARTIFACTS, this value is ignored. Defaults to false.
    Location string
    Information about the build output artifact location. If type is set to CODEPIPELINE or NO_ARTIFACTS, this value is ignored. If type is set to S3, this is the name of the output bucket.
    Name string
    Name of the project. If type is set to S3, this is the name of the output artifact object
    NamespaceType string
    Namespace to use in storing build artifacts. If type is set to S3, then valid values are BUILD_ID, NONE.
    OverrideArtifactName bool
    Whether a name specified in the build specification overrides the artifact name.
    Packaging string
    Type of build output artifact to create. If type is set to S3, valid values are NONE, ZIP
    Path string
    If type is set to S3, this is the path to the output artifact.
    type String
    Build output artifact's type. Valid values: CODEPIPELINE, NO_ARTIFACTS, S3.
    artifactIdentifier String
    Artifact identifier. Must be the same specified inside the AWS CodeBuild build specification.
    bucketOwnerAccess String
    Specifies the bucket owner's access for objects that another account uploads to their Amazon S3 bucket. By default, only the account that uploads the objects to the bucket has access to these objects. This property allows you to give the bucket owner access to these objects. Valid values are NONE, READ_ONLY, and FULL. your CodeBuild service role must have the s3:PutBucketAcl permission. This permission allows CodeBuild to modify the access control list for the bucket.
    encryptionDisabled Boolean
    Whether to disable encrypting output artifacts. If type is set to NO_ARTIFACTS, this value is ignored. Defaults to false.
    location String
    Information about the build output artifact location. If type is set to CODEPIPELINE or NO_ARTIFACTS, this value is ignored. If type is set to S3, this is the name of the output bucket.
    name String
    Name of the project. If type is set to S3, this is the name of the output artifact object
    namespaceType String
    Namespace to use in storing build artifacts. If type is set to S3, then valid values are BUILD_ID, NONE.
    overrideArtifactName Boolean
    Whether a name specified in the build specification overrides the artifact name.
    packaging String
    Type of build output artifact to create. If type is set to S3, valid values are NONE, ZIP
    path String
    If type is set to S3, this is the path to the output artifact.
    type string
    Build output artifact's type. Valid values: CODEPIPELINE, NO_ARTIFACTS, S3.
    artifactIdentifier string
    Artifact identifier. Must be the same specified inside the AWS CodeBuild build specification.
    bucketOwnerAccess string
    Specifies the bucket owner's access for objects that another account uploads to their Amazon S3 bucket. By default, only the account that uploads the objects to the bucket has access to these objects. This property allows you to give the bucket owner access to these objects. Valid values are NONE, READ_ONLY, and FULL. your CodeBuild service role must have the s3:PutBucketAcl permission. This permission allows CodeBuild to modify the access control list for the bucket.
    encryptionDisabled boolean
    Whether to disable encrypting output artifacts. If type is set to NO_ARTIFACTS, this value is ignored. Defaults to false.
    location string
    Information about the build output artifact location. If type is set to CODEPIPELINE or NO_ARTIFACTS, this value is ignored. If type is set to S3, this is the name of the output bucket.
    name string
    Name of the project. If type is set to S3, this is the name of the output artifact object
    namespaceType string
    Namespace to use in storing build artifacts. If type is set to S3, then valid values are BUILD_ID, NONE.
    overrideArtifactName boolean
    Whether a name specified in the build specification overrides the artifact name.
    packaging string
    Type of build output artifact to create. If type is set to S3, valid values are NONE, ZIP
    path string
    If type is set to S3, this is the path to the output artifact.
    type str
    Build output artifact's type. Valid values: CODEPIPELINE, NO_ARTIFACTS, S3.
    artifact_identifier str
    Artifact identifier. Must be the same specified inside the AWS CodeBuild build specification.
    bucket_owner_access str
    Specifies the bucket owner's access for objects that another account uploads to their Amazon S3 bucket. By default, only the account that uploads the objects to the bucket has access to these objects. This property allows you to give the bucket owner access to these objects. Valid values are NONE, READ_ONLY, and FULL. your CodeBuild service role must have the s3:PutBucketAcl permission. This permission allows CodeBuild to modify the access control list for the bucket.
    encryption_disabled bool
    Whether to disable encrypting output artifacts. If type is set to NO_ARTIFACTS, this value is ignored. Defaults to false.
    location str
    Information about the build output artifact location. If type is set to CODEPIPELINE or NO_ARTIFACTS, this value is ignored. If type is set to S3, this is the name of the output bucket.
    name str
    Name of the project. If type is set to S3, this is the name of the output artifact object
    namespace_type str
    Namespace to use in storing build artifacts. If type is set to S3, then valid values are BUILD_ID, NONE.
    override_artifact_name bool
    Whether a name specified in the build specification overrides the artifact name.
    packaging str
    Type of build output artifact to create. If type is set to S3, valid values are NONE, ZIP
    path str
    If type is set to S3, this is the path to the output artifact.
    type String
    Build output artifact's type. Valid values: CODEPIPELINE, NO_ARTIFACTS, S3.
    artifactIdentifier String
    Artifact identifier. Must be the same specified inside the AWS CodeBuild build specification.
    bucketOwnerAccess String
    Specifies the bucket owner's access for objects that another account uploads to their Amazon S3 bucket. By default, only the account that uploads the objects to the bucket has access to these objects. This property allows you to give the bucket owner access to these objects. Valid values are NONE, READ_ONLY, and FULL. your CodeBuild service role must have the s3:PutBucketAcl permission. This permission allows CodeBuild to modify the access control list for the bucket.
    encryptionDisabled Boolean
    Whether to disable encrypting output artifacts. If type is set to NO_ARTIFACTS, this value is ignored. Defaults to false.
    location String
    Information about the build output artifact location. If type is set to CODEPIPELINE or NO_ARTIFACTS, this value is ignored. If type is set to S3, this is the name of the output bucket.
    name String
    Name of the project. If type is set to S3, this is the name of the output artifact object
    namespaceType String
    Namespace to use in storing build artifacts. If type is set to S3, then valid values are BUILD_ID, NONE.
    overrideArtifactName Boolean
    Whether a name specified in the build specification overrides the artifact name.
    packaging String
    Type of build output artifact to create. If type is set to S3, valid values are NONE, ZIP
    path String
    If type is set to S3, this is the path to the output artifact.

    ProjectBuildBatchConfig, ProjectBuildBatchConfigArgs

    ServiceRole string
    Specifies the service role ARN for the batch build project.
    CombineArtifacts bool
    Specifies if the build artifacts for the batch build should be combined into a single artifact location.
    Restrictions ProjectBuildBatchConfigRestrictions
    Configuration block specifying the restrictions for the batch build. Detailed below.
    TimeoutInMins int
    Specifies the maximum amount of time, in minutes, that the batch build must be completed in.
    ServiceRole string
    Specifies the service role ARN for the batch build project.
    CombineArtifacts bool
    Specifies if the build artifacts for the batch build should be combined into a single artifact location.
    Restrictions ProjectBuildBatchConfigRestrictions
    Configuration block specifying the restrictions for the batch build. Detailed below.
    TimeoutInMins int
    Specifies the maximum amount of time, in minutes, that the batch build must be completed in.
    serviceRole String
    Specifies the service role ARN for the batch build project.
    combineArtifacts Boolean
    Specifies if the build artifacts for the batch build should be combined into a single artifact location.
    restrictions ProjectBuildBatchConfigRestrictions
    Configuration block specifying the restrictions for the batch build. Detailed below.
    timeoutInMins Integer
    Specifies the maximum amount of time, in minutes, that the batch build must be completed in.
    serviceRole string
    Specifies the service role ARN for the batch build project.
    combineArtifacts boolean
    Specifies if the build artifacts for the batch build should be combined into a single artifact location.
    restrictions ProjectBuildBatchConfigRestrictions
    Configuration block specifying the restrictions for the batch build. Detailed below.
    timeoutInMins number
    Specifies the maximum amount of time, in minutes, that the batch build must be completed in.
    service_role str
    Specifies the service role ARN for the batch build project.
    combine_artifacts bool
    Specifies if the build artifacts for the batch build should be combined into a single artifact location.
    restrictions ProjectBuildBatchConfigRestrictions
    Configuration block specifying the restrictions for the batch build. Detailed below.
    timeout_in_mins int
    Specifies the maximum amount of time, in minutes, that the batch build must be completed in.
    serviceRole String
    Specifies the service role ARN for the batch build project.
    combineArtifacts Boolean
    Specifies if the build artifacts for the batch build should be combined into a single artifact location.
    restrictions Property Map
    Configuration block specifying the restrictions for the batch build. Detailed below.
    timeoutInMins Number
    Specifies the maximum amount of time, in minutes, that the batch build must be completed in.

    ProjectBuildBatchConfigRestrictions, ProjectBuildBatchConfigRestrictionsArgs

    ComputeTypesAlloweds List<string>
    An array of strings that specify the compute types that are allowed for the batch build. See Build environment compute types in the AWS CodeBuild User Guide for these values.
    MaximumBuildsAllowed int
    Specifies the maximum number of builds allowed.
    ComputeTypesAlloweds []string
    An array of strings that specify the compute types that are allowed for the batch build. See Build environment compute types in the AWS CodeBuild User Guide for these values.
    MaximumBuildsAllowed int
    Specifies the maximum number of builds allowed.
    computeTypesAlloweds List<String>
    An array of strings that specify the compute types that are allowed for the batch build. See Build environment compute types in the AWS CodeBuild User Guide for these values.
    maximumBuildsAllowed Integer
    Specifies the maximum number of builds allowed.
    computeTypesAlloweds string[]
    An array of strings that specify the compute types that are allowed for the batch build. See Build environment compute types in the AWS CodeBuild User Guide for these values.
    maximumBuildsAllowed number
    Specifies the maximum number of builds allowed.
    compute_types_alloweds Sequence[str]
    An array of strings that specify the compute types that are allowed for the batch build. See Build environment compute types in the AWS CodeBuild User Guide for these values.
    maximum_builds_allowed int
    Specifies the maximum number of builds allowed.
    computeTypesAlloweds List<String>
    An array of strings that specify the compute types that are allowed for the batch build. See Build environment compute types in the AWS CodeBuild User Guide for these values.
    maximumBuildsAllowed Number
    Specifies the maximum number of builds allowed.

    ProjectCache, ProjectCacheArgs

    Location string
    Location where the AWS CodeBuild project stores cached resources. For type S3, the value must be a valid S3 bucket name/prefix.
    Modes List<string>
    Specifies settings that AWS CodeBuild uses to store and reuse build dependencies. Valid values: LOCAL_SOURCE_CACHE, LOCAL_DOCKER_LAYER_CACHE, LOCAL_CUSTOM_CACHE.
    Type string
    Type of storage that will be used for the AWS CodeBuild project cache. Valid values: NO_CACHE, LOCAL, S3. Defaults to NO_CACHE.
    Location string
    Location where the AWS CodeBuild project stores cached resources. For type S3, the value must be a valid S3 bucket name/prefix.
    Modes []string
    Specifies settings that AWS CodeBuild uses to store and reuse build dependencies. Valid values: LOCAL_SOURCE_CACHE, LOCAL_DOCKER_LAYER_CACHE, LOCAL_CUSTOM_CACHE.
    Type string
    Type of storage that will be used for the AWS CodeBuild project cache. Valid values: NO_CACHE, LOCAL, S3. Defaults to NO_CACHE.
    location String
    Location where the AWS CodeBuild project stores cached resources. For type S3, the value must be a valid S3 bucket name/prefix.
    modes List<String>
    Specifies settings that AWS CodeBuild uses to store and reuse build dependencies. Valid values: LOCAL_SOURCE_CACHE, LOCAL_DOCKER_LAYER_CACHE, LOCAL_CUSTOM_CACHE.
    type String
    Type of storage that will be used for the AWS CodeBuild project cache. Valid values: NO_CACHE, LOCAL, S3. Defaults to NO_CACHE.
    location string
    Location where the AWS CodeBuild project stores cached resources. For type S3, the value must be a valid S3 bucket name/prefix.
    modes string[]
    Specifies settings that AWS CodeBuild uses to store and reuse build dependencies. Valid values: LOCAL_SOURCE_CACHE, LOCAL_DOCKER_LAYER_CACHE, LOCAL_CUSTOM_CACHE.
    type string
    Type of storage that will be used for the AWS CodeBuild project cache. Valid values: NO_CACHE, LOCAL, S3. Defaults to NO_CACHE.
    location str
    Location where the AWS CodeBuild project stores cached resources. For type S3, the value must be a valid S3 bucket name/prefix.
    modes Sequence[str]
    Specifies settings that AWS CodeBuild uses to store and reuse build dependencies. Valid values: LOCAL_SOURCE_CACHE, LOCAL_DOCKER_LAYER_CACHE, LOCAL_CUSTOM_CACHE.
    type str
    Type of storage that will be used for the AWS CodeBuild project cache. Valid values: NO_CACHE, LOCAL, S3. Defaults to NO_CACHE.
    location String
    Location where the AWS CodeBuild project stores cached resources. For type S3, the value must be a valid S3 bucket name/prefix.
    modes List<String>
    Specifies settings that AWS CodeBuild uses to store and reuse build dependencies. Valid values: LOCAL_SOURCE_CACHE, LOCAL_DOCKER_LAYER_CACHE, LOCAL_CUSTOM_CACHE.
    type String
    Type of storage that will be used for the AWS CodeBuild project cache. Valid values: NO_CACHE, LOCAL, S3. Defaults to NO_CACHE.

    ProjectEnvironment, ProjectEnvironmentArgs

    ComputeType string
    Information about the compute resources the build project will use. Valid values: BUILD_GENERAL1_SMALL, BUILD_GENERAL1_MEDIUM, BUILD_GENERAL1_LARGE, BUILD_GENERAL1_2XLARGE, BUILD_LAMBDA_1GB, BUILD_LAMBDA_2GB, BUILD_LAMBDA_4GB, BUILD_LAMBDA_8GB, BUILD_LAMBDA_10GB. BUILD_GENERAL1_SMALL is only valid if type is set to LINUX_CONTAINER. When type is set to LINUX_GPU_CONTAINER, compute_type must be BUILD_GENERAL1_LARGE. When type is set to LINUX_LAMBDA_CONTAINER or ARM_LAMBDA_CONTAINER, compute_type must be BUILD_LAMBDA_XGB.`
    Image string
    Docker image to use for this build project. Valid values include Docker images provided by CodeBuild (e.g aws/codebuild/amazonlinux2-x86_64-standard:4.0), Docker Hub images (e.g., pulumi/pulumi:latest), and full Docker repository URIs such as those for ECR (e.g., 137112412989.dkr.ecr.us-west-2.amazonaws.com/amazonlinux:latest).
    Type string
    Type of build environment to use for related builds. Valid values: LINUX_CONTAINER, LINUX_GPU_CONTAINER, WINDOWS_CONTAINER (deprecated), WINDOWS_SERVER_2019_CONTAINER, ARM_CONTAINER, LINUX_LAMBDA_CONTAINER, ARM_LAMBDA_CONTAINER. For additional information, see the CodeBuild User Guide.
    Certificate string
    ARN of the S3 bucket, path prefix and object key that contains the PEM-encoded certificate.
    EnvironmentVariables List<ProjectEnvironmentEnvironmentVariable>
    Configuration block. Detailed below.
    Fleet ProjectEnvironmentFleet
    Configuration block. Detailed below.
    ImagePullCredentialsType string
    Type of credentials AWS CodeBuild uses to pull images in your build. Valid values: CODEBUILD, SERVICE_ROLE. When you use a cross-account or private registry image, you must use SERVICE_ROLE credentials. When you use an AWS CodeBuild curated image, you must use CodeBuild credentials. Defaults to CODEBUILD.
    PrivilegedMode bool
    Whether to enable running the Docker daemon inside a Docker container. Defaults to false.
    RegistryCredential ProjectEnvironmentRegistryCredential
    Configuration block. Detailed below.
    ComputeType string
    Information about the compute resources the build project will use. Valid values: BUILD_GENERAL1_SMALL, BUILD_GENERAL1_MEDIUM, BUILD_GENERAL1_LARGE, BUILD_GENERAL1_2XLARGE, BUILD_LAMBDA_1GB, BUILD_LAMBDA_2GB, BUILD_LAMBDA_4GB, BUILD_LAMBDA_8GB, BUILD_LAMBDA_10GB. BUILD_GENERAL1_SMALL is only valid if type is set to LINUX_CONTAINER. When type is set to LINUX_GPU_CONTAINER, compute_type must be BUILD_GENERAL1_LARGE. When type is set to LINUX_LAMBDA_CONTAINER or ARM_LAMBDA_CONTAINER, compute_type must be BUILD_LAMBDA_XGB.`
    Image string
    Docker image to use for this build project. Valid values include Docker images provided by CodeBuild (e.g aws/codebuild/amazonlinux2-x86_64-standard:4.0), Docker Hub images (e.g., pulumi/pulumi:latest), and full Docker repository URIs such as those for ECR (e.g., 137112412989.dkr.ecr.us-west-2.amazonaws.com/amazonlinux:latest).
    Type string
    Type of build environment to use for related builds. Valid values: LINUX_CONTAINER, LINUX_GPU_CONTAINER, WINDOWS_CONTAINER (deprecated), WINDOWS_SERVER_2019_CONTAINER, ARM_CONTAINER, LINUX_LAMBDA_CONTAINER, ARM_LAMBDA_CONTAINER. For additional information, see the CodeBuild User Guide.
    Certificate string
    ARN of the S3 bucket, path prefix and object key that contains the PEM-encoded certificate.
    EnvironmentVariables []ProjectEnvironmentEnvironmentVariable
    Configuration block. Detailed below.
    Fleet ProjectEnvironmentFleet
    Configuration block. Detailed below.
    ImagePullCredentialsType string
    Type of credentials AWS CodeBuild uses to pull images in your build. Valid values: CODEBUILD, SERVICE_ROLE. When you use a cross-account or private registry image, you must use SERVICE_ROLE credentials. When you use an AWS CodeBuild curated image, you must use CodeBuild credentials. Defaults to CODEBUILD.
    PrivilegedMode bool
    Whether to enable running the Docker daemon inside a Docker container. Defaults to false.
    RegistryCredential ProjectEnvironmentRegistryCredential
    Configuration block. Detailed below.
    computeType String
    Information about the compute resources the build project will use. Valid values: BUILD_GENERAL1_SMALL, BUILD_GENERAL1_MEDIUM, BUILD_GENERAL1_LARGE, BUILD_GENERAL1_2XLARGE, BUILD_LAMBDA_1GB, BUILD_LAMBDA_2GB, BUILD_LAMBDA_4GB, BUILD_LAMBDA_8GB, BUILD_LAMBDA_10GB. BUILD_GENERAL1_SMALL is only valid if type is set to LINUX_CONTAINER. When type is set to LINUX_GPU_CONTAINER, compute_type must be BUILD_GENERAL1_LARGE. When type is set to LINUX_LAMBDA_CONTAINER or ARM_LAMBDA_CONTAINER, compute_type must be BUILD_LAMBDA_XGB.`
    image String
    Docker image to use for this build project. Valid values include Docker images provided by CodeBuild (e.g aws/codebuild/amazonlinux2-x86_64-standard:4.0), Docker Hub images (e.g., pulumi/pulumi:latest), and full Docker repository URIs such as those for ECR (e.g., 137112412989.dkr.ecr.us-west-2.amazonaws.com/amazonlinux:latest).
    type String
    Type of build environment to use for related builds. Valid values: LINUX_CONTAINER, LINUX_GPU_CONTAINER, WINDOWS_CONTAINER (deprecated), WINDOWS_SERVER_2019_CONTAINER, ARM_CONTAINER, LINUX_LAMBDA_CONTAINER, ARM_LAMBDA_CONTAINER. For additional information, see the CodeBuild User Guide.
    certificate String
    ARN of the S3 bucket, path prefix and object key that contains the PEM-encoded certificate.
    environmentVariables List<ProjectEnvironmentEnvironmentVariable>
    Configuration block. Detailed below.
    fleet ProjectEnvironmentFleet
    Configuration block. Detailed below.
    imagePullCredentialsType String
    Type of credentials AWS CodeBuild uses to pull images in your build. Valid values: CODEBUILD, SERVICE_ROLE. When you use a cross-account or private registry image, you must use SERVICE_ROLE credentials. When you use an AWS CodeBuild curated image, you must use CodeBuild credentials. Defaults to CODEBUILD.
    privilegedMode Boolean
    Whether to enable running the Docker daemon inside a Docker container. Defaults to false.
    registryCredential ProjectEnvironmentRegistryCredential
    Configuration block. Detailed below.
    computeType string
    Information about the compute resources the build project will use. Valid values: BUILD_GENERAL1_SMALL, BUILD_GENERAL1_MEDIUM, BUILD_GENERAL1_LARGE, BUILD_GENERAL1_2XLARGE, BUILD_LAMBDA_1GB, BUILD_LAMBDA_2GB, BUILD_LAMBDA_4GB, BUILD_LAMBDA_8GB, BUILD_LAMBDA_10GB. BUILD_GENERAL1_SMALL is only valid if type is set to LINUX_CONTAINER. When type is set to LINUX_GPU_CONTAINER, compute_type must be BUILD_GENERAL1_LARGE. When type is set to LINUX_LAMBDA_CONTAINER or ARM_LAMBDA_CONTAINER, compute_type must be BUILD_LAMBDA_XGB.`
    image string
    Docker image to use for this build project. Valid values include Docker images provided by CodeBuild (e.g aws/codebuild/amazonlinux2-x86_64-standard:4.0), Docker Hub images (e.g., pulumi/pulumi:latest), and full Docker repository URIs such as those for ECR (e.g., 137112412989.dkr.ecr.us-west-2.amazonaws.com/amazonlinux:latest).
    type string
    Type of build environment to use for related builds. Valid values: LINUX_CONTAINER, LINUX_GPU_CONTAINER, WINDOWS_CONTAINER (deprecated), WINDOWS_SERVER_2019_CONTAINER, ARM_CONTAINER, LINUX_LAMBDA_CONTAINER, ARM_LAMBDA_CONTAINER. For additional information, see the CodeBuild User Guide.
    certificate string
    ARN of the S3 bucket, path prefix and object key that contains the PEM-encoded certificate.
    environmentVariables ProjectEnvironmentEnvironmentVariable[]
    Configuration block. Detailed below.
    fleet ProjectEnvironmentFleet
    Configuration block. Detailed below.
    imagePullCredentialsType string
    Type of credentials AWS CodeBuild uses to pull images in your build. Valid values: CODEBUILD, SERVICE_ROLE. When you use a cross-account or private registry image, you must use SERVICE_ROLE credentials. When you use an AWS CodeBuild curated image, you must use CodeBuild credentials. Defaults to CODEBUILD.
    privilegedMode boolean
    Whether to enable running the Docker daemon inside a Docker container. Defaults to false.
    registryCredential ProjectEnvironmentRegistryCredential
    Configuration block. Detailed below.
    compute_type str
    Information about the compute resources the build project will use. Valid values: BUILD_GENERAL1_SMALL, BUILD_GENERAL1_MEDIUM, BUILD_GENERAL1_LARGE, BUILD_GENERAL1_2XLARGE, BUILD_LAMBDA_1GB, BUILD_LAMBDA_2GB, BUILD_LAMBDA_4GB, BUILD_LAMBDA_8GB, BUILD_LAMBDA_10GB. BUILD_GENERAL1_SMALL is only valid if type is set to LINUX_CONTAINER. When type is set to LINUX_GPU_CONTAINER, compute_type must be BUILD_GENERAL1_LARGE. When type is set to LINUX_LAMBDA_CONTAINER or ARM_LAMBDA_CONTAINER, compute_type must be BUILD_LAMBDA_XGB.`
    image str
    Docker image to use for this build project. Valid values include Docker images provided by CodeBuild (e.g aws/codebuild/amazonlinux2-x86_64-standard:4.0), Docker Hub images (e.g., pulumi/pulumi:latest), and full Docker repository URIs such as those for ECR (e.g., 137112412989.dkr.ecr.us-west-2.amazonaws.com/amazonlinux:latest).
    type str
    Type of build environment to use for related builds. Valid values: LINUX_CONTAINER, LINUX_GPU_CONTAINER, WINDOWS_CONTAINER (deprecated), WINDOWS_SERVER_2019_CONTAINER, ARM_CONTAINER, LINUX_LAMBDA_CONTAINER, ARM_LAMBDA_CONTAINER. For additional information, see the CodeBuild User Guide.
    certificate str
    ARN of the S3 bucket, path prefix and object key that contains the PEM-encoded certificate.
    environment_variables Sequence[ProjectEnvironmentEnvironmentVariable]
    Configuration block. Detailed below.
    fleet ProjectEnvironmentFleet
    Configuration block. Detailed below.
    image_pull_credentials_type str
    Type of credentials AWS CodeBuild uses to pull images in your build. Valid values: CODEBUILD, SERVICE_ROLE. When you use a cross-account or private registry image, you must use SERVICE_ROLE credentials. When you use an AWS CodeBuild curated image, you must use CodeBuild credentials. Defaults to CODEBUILD.
    privileged_mode bool
    Whether to enable running the Docker daemon inside a Docker container. Defaults to false.
    registry_credential ProjectEnvironmentRegistryCredential
    Configuration block. Detailed below.
    computeType String
    Information about the compute resources the build project will use. Valid values: BUILD_GENERAL1_SMALL, BUILD_GENERAL1_MEDIUM, BUILD_GENERAL1_LARGE, BUILD_GENERAL1_2XLARGE, BUILD_LAMBDA_1GB, BUILD_LAMBDA_2GB, BUILD_LAMBDA_4GB, BUILD_LAMBDA_8GB, BUILD_LAMBDA_10GB. BUILD_GENERAL1_SMALL is only valid if type is set to LINUX_CONTAINER. When type is set to LINUX_GPU_CONTAINER, compute_type must be BUILD_GENERAL1_LARGE. When type is set to LINUX_LAMBDA_CONTAINER or ARM_LAMBDA_CONTAINER, compute_type must be BUILD_LAMBDA_XGB.`
    image String
    Docker image to use for this build project. Valid values include Docker images provided by CodeBuild (e.g aws/codebuild/amazonlinux2-x86_64-standard:4.0), Docker Hub images (e.g., pulumi/pulumi:latest), and full Docker repository URIs such as those for ECR (e.g., 137112412989.dkr.ecr.us-west-2.amazonaws.com/amazonlinux:latest).
    type String
    Type of build environment to use for related builds. Valid values: LINUX_CONTAINER, LINUX_GPU_CONTAINER, WINDOWS_CONTAINER (deprecated), WINDOWS_SERVER_2019_CONTAINER, ARM_CONTAINER, LINUX_LAMBDA_CONTAINER, ARM_LAMBDA_CONTAINER. For additional information, see the CodeBuild User Guide.
    certificate String
    ARN of the S3 bucket, path prefix and object key that contains the PEM-encoded certificate.
    environmentVariables List<Property Map>
    Configuration block. Detailed below.
    fleet Property Map
    Configuration block. Detailed below.
    imagePullCredentialsType String
    Type of credentials AWS CodeBuild uses to pull images in your build. Valid values: CODEBUILD, SERVICE_ROLE. When you use a cross-account or private registry image, you must use SERVICE_ROLE credentials. When you use an AWS CodeBuild curated image, you must use CodeBuild credentials. Defaults to CODEBUILD.
    privilegedMode Boolean
    Whether to enable running the Docker daemon inside a Docker container. Defaults to false.
    registryCredential Property Map
    Configuration block. Detailed below.

    ProjectEnvironmentEnvironmentVariable, ProjectEnvironmentEnvironmentVariableArgs

    Name string
    Environment variable's name or key.
    Value string
    Environment variable's value.
    Type string
    Type of environment variable. Valid values: PARAMETER_STORE, PLAINTEXT, SECRETS_MANAGER.
    Name string
    Environment variable's name or key.
    Value string
    Environment variable's value.
    Type string
    Type of environment variable. Valid values: PARAMETER_STORE, PLAINTEXT, SECRETS_MANAGER.
    name String
    Environment variable's name or key.
    value String
    Environment variable's value.
    type String
    Type of environment variable. Valid values: PARAMETER_STORE, PLAINTEXT, SECRETS_MANAGER.
    name string
    Environment variable's name or key.
    value string
    Environment variable's value.
    type string
    Type of environment variable. Valid values: PARAMETER_STORE, PLAINTEXT, SECRETS_MANAGER.
    name str
    Environment variable's name or key.
    value str
    Environment variable's value.
    type str
    Type of environment variable. Valid values: PARAMETER_STORE, PLAINTEXT, SECRETS_MANAGER.
    name String
    Environment variable's name or key.
    value String
    Environment variable's value.
    type String
    Type of environment variable. Valid values: PARAMETER_STORE, PLAINTEXT, SECRETS_MANAGER.

    ProjectEnvironmentFleet, ProjectEnvironmentFleetArgs

    FleetArn string
    Compute fleet ARN for the build project.
    FleetArn string
    Compute fleet ARN for the build project.
    fleetArn String
    Compute fleet ARN for the build project.
    fleetArn string
    Compute fleet ARN for the build project.
    fleet_arn str
    Compute fleet ARN for the build project.
    fleetArn String
    Compute fleet ARN for the build project.

    ProjectEnvironmentRegistryCredential, ProjectEnvironmentRegistryCredentialArgs

    Credential string
    ARN or name of credentials created using AWS Secrets Manager.
    CredentialProvider string
    Service that created the credentials to access a private Docker registry. Valid value: SECRETS_MANAGER (AWS Secrets Manager).
    Credential string
    ARN or name of credentials created using AWS Secrets Manager.
    CredentialProvider string
    Service that created the credentials to access a private Docker registry. Valid value: SECRETS_MANAGER (AWS Secrets Manager).
    credential String
    ARN or name of credentials created using AWS Secrets Manager.
    credentialProvider String
    Service that created the credentials to access a private Docker registry. Valid value: SECRETS_MANAGER (AWS Secrets Manager).
    credential string
    ARN or name of credentials created using AWS Secrets Manager.
    credentialProvider string
    Service that created the credentials to access a private Docker registry. Valid value: SECRETS_MANAGER (AWS Secrets Manager).
    credential str
    ARN or name of credentials created using AWS Secrets Manager.
    credential_provider str
    Service that created the credentials to access a private Docker registry. Valid value: SECRETS_MANAGER (AWS Secrets Manager).
    credential String
    ARN or name of credentials created using AWS Secrets Manager.
    credentialProvider String
    Service that created the credentials to access a private Docker registry. Valid value: SECRETS_MANAGER (AWS Secrets Manager).

    ProjectFileSystemLocation, ProjectFileSystemLocationArgs

    Identifier string
    The name used to access a file system created by Amazon EFS. CodeBuild creates an environment variable by appending the identifier in all capital letters to CODEBUILD_. For example, if you specify my-efs for identifier, a new environment variable is create named CODEBUILD_MY-EFS.
    Location string
    A string that specifies the location of the file system created by Amazon EFS. Its format is efs-dns-name:/directory-path.
    MountOptions string
    The mount options for a file system created by AWS EFS.
    MountPoint string
    The location in the container where you mount the file system.
    Type string
    The type of the file system. The one supported type is EFS.
    Identifier string
    The name used to access a file system created by Amazon EFS. CodeBuild creates an environment variable by appending the identifier in all capital letters to CODEBUILD_. For example, if you specify my-efs for identifier, a new environment variable is create named CODEBUILD_MY-EFS.
    Location string
    A string that specifies the location of the file system created by Amazon EFS. Its format is efs-dns-name:/directory-path.
    MountOptions string
    The mount options for a file system created by AWS EFS.
    MountPoint string
    The location in the container where you mount the file system.
    Type string
    The type of the file system. The one supported type is EFS.
    identifier String
    The name used to access a file system created by Amazon EFS. CodeBuild creates an environment variable by appending the identifier in all capital letters to CODEBUILD_. For example, if you specify my-efs for identifier, a new environment variable is create named CODEBUILD_MY-EFS.
    location String
    A string that specifies the location of the file system created by Amazon EFS. Its format is efs-dns-name:/directory-path.
    mountOptions String
    The mount options for a file system created by AWS EFS.
    mountPoint String
    The location in the container where you mount the file system.
    type String
    The type of the file system. The one supported type is EFS.
    identifier string
    The name used to access a file system created by Amazon EFS. CodeBuild creates an environment variable by appending the identifier in all capital letters to CODEBUILD_. For example, if you specify my-efs for identifier, a new environment variable is create named CODEBUILD_MY-EFS.
    location string
    A string that specifies the location of the file system created by Amazon EFS. Its format is efs-dns-name:/directory-path.
    mountOptions string
    The mount options for a file system created by AWS EFS.
    mountPoint string
    The location in the container where you mount the file system.
    type string
    The type of the file system. The one supported type is EFS.
    identifier str
    The name used to access a file system created by Amazon EFS. CodeBuild creates an environment variable by appending the identifier in all capital letters to CODEBUILD_. For example, if you specify my-efs for identifier, a new environment variable is create named CODEBUILD_MY-EFS.
    location str
    A string that specifies the location of the file system created by Amazon EFS. Its format is efs-dns-name:/directory-path.
    mount_options str
    The mount options for a file system created by AWS EFS.
    mount_point str
    The location in the container where you mount the file system.
    type str
    The type of the file system. The one supported type is EFS.
    identifier String
    The name used to access a file system created by Amazon EFS. CodeBuild creates an environment variable by appending the identifier in all capital letters to CODEBUILD_. For example, if you specify my-efs for identifier, a new environment variable is create named CODEBUILD_MY-EFS.
    location String
    A string that specifies the location of the file system created by Amazon EFS. Its format is efs-dns-name:/directory-path.
    mountOptions String
    The mount options for a file system created by AWS EFS.
    mountPoint String
    The location in the container where you mount the file system.
    type String
    The type of the file system. The one supported type is EFS.

    ProjectLogsConfig, ProjectLogsConfigArgs

    CloudwatchLogs ProjectLogsConfigCloudwatchLogs
    Configuration block. Detailed below.
    S3Logs ProjectLogsConfigS3Logs
    Configuration block. Detailed below.
    CloudwatchLogs ProjectLogsConfigCloudwatchLogs
    Configuration block. Detailed below.
    S3Logs ProjectLogsConfigS3Logs
    Configuration block. Detailed below.
    cloudwatchLogs ProjectLogsConfigCloudwatchLogs
    Configuration block. Detailed below.
    s3Logs ProjectLogsConfigS3Logs
    Configuration block. Detailed below.
    cloudwatchLogs ProjectLogsConfigCloudwatchLogs
    Configuration block. Detailed below.
    s3Logs ProjectLogsConfigS3Logs
    Configuration block. Detailed below.
    cloudwatch_logs ProjectLogsConfigCloudwatchLogs
    Configuration block. Detailed below.
    s3_logs ProjectLogsConfigS3Logs
    Configuration block. Detailed below.
    cloudwatchLogs Property Map
    Configuration block. Detailed below.
    s3Logs Property Map
    Configuration block. Detailed below.

    ProjectLogsConfigCloudwatchLogs, ProjectLogsConfigCloudwatchLogsArgs

    GroupName string
    Group name of the logs in CloudWatch Logs.
    Status string
    Current status of logs in CloudWatch Logs for a build project. Valid values: ENABLED, DISABLED. Defaults to ENABLED.
    StreamName string
    Prefix of the log stream name of the logs in CloudWatch Logs.
    GroupName string
    Group name of the logs in CloudWatch Logs.
    Status string
    Current status of logs in CloudWatch Logs for a build project. Valid values: ENABLED, DISABLED. Defaults to ENABLED.
    StreamName string
    Prefix of the log stream name of the logs in CloudWatch Logs.
    groupName String
    Group name of the logs in CloudWatch Logs.
    status String
    Current status of logs in CloudWatch Logs for a build project. Valid values: ENABLED, DISABLED. Defaults to ENABLED.
    streamName String
    Prefix of the log stream name of the logs in CloudWatch Logs.
    groupName string
    Group name of the logs in CloudWatch Logs.
    status string
    Current status of logs in CloudWatch Logs for a build project. Valid values: ENABLED, DISABLED. Defaults to ENABLED.
    streamName string
    Prefix of the log stream name of the logs in CloudWatch Logs.
    group_name str
    Group name of the logs in CloudWatch Logs.
    status str
    Current status of logs in CloudWatch Logs for a build project. Valid values: ENABLED, DISABLED. Defaults to ENABLED.
    stream_name str
    Prefix of the log stream name of the logs in CloudWatch Logs.
    groupName String
    Group name of the logs in CloudWatch Logs.
    status String
    Current status of logs in CloudWatch Logs for a build project. Valid values: ENABLED, DISABLED. Defaults to ENABLED.
    streamName String
    Prefix of the log stream name of the logs in CloudWatch Logs.

    ProjectLogsConfigS3Logs, ProjectLogsConfigS3LogsArgs

    BucketOwnerAccess string
    Specifies the bucket owner's access for objects that another account uploads to their Amazon S3 bucket. By default, only the account that uploads the objects to the bucket has access to these objects. This property allows you to give the bucket owner access to these objects. Valid values are NONE, READ_ONLY, and FULL. your CodeBuild service role must have the s3:PutBucketAcl permission. This permission allows CodeBuild to modify the access control list for the bucket.
    EncryptionDisabled bool
    Whether to disable encrypting S3 logs. Defaults to false.
    Location string
    Name of the S3 bucket and the path prefix for S3 logs. Must be set if status is ENABLED, otherwise it must be empty.
    Status string
    Current status of logs in S3 for a build project. Valid values: ENABLED, DISABLED. Defaults to DISABLED.
    BucketOwnerAccess string
    Specifies the bucket owner's access for objects that another account uploads to their Amazon S3 bucket. By default, only the account that uploads the objects to the bucket has access to these objects. This property allows you to give the bucket owner access to these objects. Valid values are NONE, READ_ONLY, and FULL. your CodeBuild service role must have the s3:PutBucketAcl permission. This permission allows CodeBuild to modify the access control list for the bucket.
    EncryptionDisabled bool
    Whether to disable encrypting S3 logs. Defaults to false.
    Location string
    Name of the S3 bucket and the path prefix for S3 logs. Must be set if status is ENABLED, otherwise it must be empty.
    Status string
    Current status of logs in S3 for a build project. Valid values: ENABLED, DISABLED. Defaults to DISABLED.
    bucketOwnerAccess String
    Specifies the bucket owner's access for objects that another account uploads to their Amazon S3 bucket. By default, only the account that uploads the objects to the bucket has access to these objects. This property allows you to give the bucket owner access to these objects. Valid values are NONE, READ_ONLY, and FULL. your CodeBuild service role must have the s3:PutBucketAcl permission. This permission allows CodeBuild to modify the access control list for the bucket.
    encryptionDisabled Boolean
    Whether to disable encrypting S3 logs. Defaults to false.
    location String
    Name of the S3 bucket and the path prefix for S3 logs. Must be set if status is ENABLED, otherwise it must be empty.
    status String
    Current status of logs in S3 for a build project. Valid values: ENABLED, DISABLED. Defaults to DISABLED.
    bucketOwnerAccess string
    Specifies the bucket owner's access for objects that another account uploads to their Amazon S3 bucket. By default, only the account that uploads the objects to the bucket has access to these objects. This property allows you to give the bucket owner access to these objects. Valid values are NONE, READ_ONLY, and FULL. your CodeBuild service role must have the s3:PutBucketAcl permission. This permission allows CodeBuild to modify the access control list for the bucket.
    encryptionDisabled boolean
    Whether to disable encrypting S3 logs. Defaults to false.
    location string
    Name of the S3 bucket and the path prefix for S3 logs. Must be set if status is ENABLED, otherwise it must be empty.
    status string
    Current status of logs in S3 for a build project. Valid values: ENABLED, DISABLED. Defaults to DISABLED.
    bucket_owner_access str
    Specifies the bucket owner's access for objects that another account uploads to their Amazon S3 bucket. By default, only the account that uploads the objects to the bucket has access to these objects. This property allows you to give the bucket owner access to these objects. Valid values are NONE, READ_ONLY, and FULL. your CodeBuild service role must have the s3:PutBucketAcl permission. This permission allows CodeBuild to modify the access control list for the bucket.
    encryption_disabled bool
    Whether to disable encrypting S3 logs. Defaults to false.
    location str
    Name of the S3 bucket and the path prefix for S3 logs. Must be set if status is ENABLED, otherwise it must be empty.
    status str
    Current status of logs in S3 for a build project. Valid values: ENABLED, DISABLED. Defaults to DISABLED.
    bucketOwnerAccess String
    Specifies the bucket owner's access for objects that another account uploads to their Amazon S3 bucket. By default, only the account that uploads the objects to the bucket has access to these objects. This property allows you to give the bucket owner access to these objects. Valid values are NONE, READ_ONLY, and FULL. your CodeBuild service role must have the s3:PutBucketAcl permission. This permission allows CodeBuild to modify the access control list for the bucket.
    encryptionDisabled Boolean
    Whether to disable encrypting S3 logs. Defaults to false.
    location String
    Name of the S3 bucket and the path prefix for S3 logs. Must be set if status is ENABLED, otherwise it must be empty.
    status String
    Current status of logs in S3 for a build project. Valid values: ENABLED, DISABLED. Defaults to DISABLED.

    ProjectSecondaryArtifact, ProjectSecondaryArtifactArgs

    ArtifactIdentifier string
    Artifact identifier. Must be the same specified inside the AWS CodeBuild build specification.
    Type string
    Build output artifact's type. Valid values CODEPIPELINE, NO_ARTIFACTS, and S3.
    BucketOwnerAccess string
    Specifies the bucket owner's access for objects that another account uploads to their Amazon S3 bucket. By default, only the account that uploads the objects to the bucket has access to these objects. This property allows you to give the bucket owner access to these objects. Valid values are NONE, READ_ONLY, and FULL. The CodeBuild service role must have the s3:PutBucketAcl permission. This permission allows CodeBuild to modify the access control list for the bucket.
    EncryptionDisabled bool
    Whether to disable encrypting output artifacts. If type is set to NO_ARTIFACTS, this value is ignored. Defaults to false.
    Location string
    Information about the build output artifact location. If type is set to CODEPIPELINE or NO_ARTIFACTS, this value is ignored if specified. If type is set to S3, this is the name of the output bucket. If path is not specified, location can specify the path of the output artifact in the output bucket.
    Name string
    Name of the project. If type is set to CODEPIPELINE or NO_ARTIFACTS, this value is ignored if specified. If type is set to S3, this is the name of the output artifact object.
    NamespaceType string
    Namespace to use in storing build artifacts. If type is set to CODEPIPELINE or NO_ARTIFACTS, this value is ignored if specified. If type is set to S3, valid values are BUILD_ID or NONE.
    OverrideArtifactName bool
    Whether a name specified in the build specification overrides the artifact name.
    Packaging string
    Type of build output artifact to create. If type is set to CODEPIPELINE or NO_ARTIFACTS, this value is ignored if specified. If type is set to S3, valid values are NONE or ZIP.
    Path string
    Along with namespace_type and name, the pattern that AWS CodeBuild uses to name and store the output artifact. If type is set to CODEPIPELINE or NO_ARTIFACTS, this value is ignored if specified. If type is set to S3, this is the path to the output artifact.
    ArtifactIdentifier string
    Artifact identifier. Must be the same specified inside the AWS CodeBuild build specification.
    Type string
    Build output artifact's type. Valid values CODEPIPELINE, NO_ARTIFACTS, and S3.
    BucketOwnerAccess string
    Specifies the bucket owner's access for objects that another account uploads to their Amazon S3 bucket. By default, only the account that uploads the objects to the bucket has access to these objects. This property allows you to give the bucket owner access to these objects. Valid values are NONE, READ_ONLY, and FULL. The CodeBuild service role must have the s3:PutBucketAcl permission. This permission allows CodeBuild to modify the access control list for the bucket.
    EncryptionDisabled bool
    Whether to disable encrypting output artifacts. If type is set to NO_ARTIFACTS, this value is ignored. Defaults to false.
    Location string
    Information about the build output artifact location. If type is set to CODEPIPELINE or NO_ARTIFACTS, this value is ignored if specified. If type is set to S3, this is the name of the output bucket. If path is not specified, location can specify the path of the output artifact in the output bucket.
    Name string
    Name of the project. If type is set to CODEPIPELINE or NO_ARTIFACTS, this value is ignored if specified. If type is set to S3, this is the name of the output artifact object.
    NamespaceType string
    Namespace to use in storing build artifacts. If type is set to CODEPIPELINE or NO_ARTIFACTS, this value is ignored if specified. If type is set to S3, valid values are BUILD_ID or NONE.
    OverrideArtifactName bool
    Whether a name specified in the build specification overrides the artifact name.
    Packaging string
    Type of build output artifact to create. If type is set to CODEPIPELINE or NO_ARTIFACTS, this value is ignored if specified. If type is set to S3, valid values are NONE or ZIP.
    Path string
    Along with namespace_type and name, the pattern that AWS CodeBuild uses to name and store the output artifact. If type is set to CODEPIPELINE or NO_ARTIFACTS, this value is ignored if specified. If type is set to S3, this is the path to the output artifact.
    artifactIdentifier String
    Artifact identifier. Must be the same specified inside the AWS CodeBuild build specification.
    type String
    Build output artifact's type. Valid values CODEPIPELINE, NO_ARTIFACTS, and S3.
    bucketOwnerAccess String
    Specifies the bucket owner's access for objects that another account uploads to their Amazon S3 bucket. By default, only the account that uploads the objects to the bucket has access to these objects. This property allows you to give the bucket owner access to these objects. Valid values are NONE, READ_ONLY, and FULL. The CodeBuild service role must have the s3:PutBucketAcl permission. This permission allows CodeBuild to modify the access control list for the bucket.
    encryptionDisabled Boolean
    Whether to disable encrypting output artifacts. If type is set to NO_ARTIFACTS, this value is ignored. Defaults to false.
    location String
    Information about the build output artifact location. If type is set to CODEPIPELINE or NO_ARTIFACTS, this value is ignored if specified. If type is set to S3, this is the name of the output bucket. If path is not specified, location can specify the path of the output artifact in the output bucket.
    name String
    Name of the project. If type is set to CODEPIPELINE or NO_ARTIFACTS, this value is ignored if specified. If type is set to S3, this is the name of the output artifact object.
    namespaceType String
    Namespace to use in storing build artifacts. If type is set to CODEPIPELINE or NO_ARTIFACTS, this value is ignored if specified. If type is set to S3, valid values are BUILD_ID or NONE.
    overrideArtifactName Boolean
    Whether a name specified in the build specification overrides the artifact name.
    packaging String
    Type of build output artifact to create. If type is set to CODEPIPELINE or NO_ARTIFACTS, this value is ignored if specified. If type is set to S3, valid values are NONE or ZIP.
    path String
    Along with namespace_type and name, the pattern that AWS CodeBuild uses to name and store the output artifact. If type is set to CODEPIPELINE or NO_ARTIFACTS, this value is ignored if specified. If type is set to S3, this is the path to the output artifact.
    artifactIdentifier string
    Artifact identifier. Must be the same specified inside the AWS CodeBuild build specification.
    type string
    Build output artifact's type. Valid values CODEPIPELINE, NO_ARTIFACTS, and S3.
    bucketOwnerAccess string
    Specifies the bucket owner's access for objects that another account uploads to their Amazon S3 bucket. By default, only the account that uploads the objects to the bucket has access to these objects. This property allows you to give the bucket owner access to these objects. Valid values are NONE, READ_ONLY, and FULL. The CodeBuild service role must have the s3:PutBucketAcl permission. This permission allows CodeBuild to modify the access control list for the bucket.
    encryptionDisabled boolean
    Whether to disable encrypting output artifacts. If type is set to NO_ARTIFACTS, this value is ignored. Defaults to false.
    location string
    Information about the build output artifact location. If type is set to CODEPIPELINE or NO_ARTIFACTS, this value is ignored if specified. If type is set to S3, this is the name of the output bucket. If path is not specified, location can specify the path of the output artifact in the output bucket.
    name string
    Name of the project. If type is set to CODEPIPELINE or NO_ARTIFACTS, this value is ignored if specified. If type is set to S3, this is the name of the output artifact object.
    namespaceType string
    Namespace to use in storing build artifacts. If type is set to CODEPIPELINE or NO_ARTIFACTS, this value is ignored if specified. If type is set to S3, valid values are BUILD_ID or NONE.
    overrideArtifactName boolean
    Whether a name specified in the build specification overrides the artifact name.
    packaging string
    Type of build output artifact to create. If type is set to CODEPIPELINE or NO_ARTIFACTS, this value is ignored if specified. If type is set to S3, valid values are NONE or ZIP.
    path string
    Along with namespace_type and name, the pattern that AWS CodeBuild uses to name and store the output artifact. If type is set to CODEPIPELINE or NO_ARTIFACTS, this value is ignored if specified. If type is set to S3, this is the path to the output artifact.
    artifact_identifier str
    Artifact identifier. Must be the same specified inside the AWS CodeBuild build specification.
    type str
    Build output artifact's type. Valid values CODEPIPELINE, NO_ARTIFACTS, and S3.
    bucket_owner_access str
    Specifies the bucket owner's access for objects that another account uploads to their Amazon S3 bucket. By default, only the account that uploads the objects to the bucket has access to these objects. This property allows you to give the bucket owner access to these objects. Valid values are NONE, READ_ONLY, and FULL. The CodeBuild service role must have the s3:PutBucketAcl permission. This permission allows CodeBuild to modify the access control list for the bucket.
    encryption_disabled bool
    Whether to disable encrypting output artifacts. If type is set to NO_ARTIFACTS, this value is ignored. Defaults to false.
    location str
    Information about the build output artifact location. If type is set to CODEPIPELINE or NO_ARTIFACTS, this value is ignored if specified. If type is set to S3, this is the name of the output bucket. If path is not specified, location can specify the path of the output artifact in the output bucket.
    name str
    Name of the project. If type is set to CODEPIPELINE or NO_ARTIFACTS, this value is ignored if specified. If type is set to S3, this is the name of the output artifact object.
    namespace_type str
    Namespace to use in storing build artifacts. If type is set to CODEPIPELINE or NO_ARTIFACTS, this value is ignored if specified. If type is set to S3, valid values are BUILD_ID or NONE.
    override_artifact_name bool
    Whether a name specified in the build specification overrides the artifact name.
    packaging str
    Type of build output artifact to create. If type is set to CODEPIPELINE or NO_ARTIFACTS, this value is ignored if specified. If type is set to S3, valid values are NONE or ZIP.
    path str
    Along with namespace_type and name, the pattern that AWS CodeBuild uses to name and store the output artifact. If type is set to CODEPIPELINE or NO_ARTIFACTS, this value is ignored if specified. If type is set to S3, this is the path to the output artifact.
    artifactIdentifier String
    Artifact identifier. Must be the same specified inside the AWS CodeBuild build specification.
    type String
    Build output artifact's type. Valid values CODEPIPELINE, NO_ARTIFACTS, and S3.
    bucketOwnerAccess String
    Specifies the bucket owner's access for objects that another account uploads to their Amazon S3 bucket. By default, only the account that uploads the objects to the bucket has access to these objects. This property allows you to give the bucket owner access to these objects. Valid values are NONE, READ_ONLY, and FULL. The CodeBuild service role must have the s3:PutBucketAcl permission. This permission allows CodeBuild to modify the access control list for the bucket.
    encryptionDisabled Boolean
    Whether to disable encrypting output artifacts. If type is set to NO_ARTIFACTS, this value is ignored. Defaults to false.
    location String
    Information about the build output artifact location. If type is set to CODEPIPELINE or NO_ARTIFACTS, this value is ignored if specified. If type is set to S3, this is the name of the output bucket. If path is not specified, location can specify the path of the output artifact in the output bucket.
    name String
    Name of the project. If type is set to CODEPIPELINE or NO_ARTIFACTS, this value is ignored if specified. If type is set to S3, this is the name of the output artifact object.
    namespaceType String
    Namespace to use in storing build artifacts. If type is set to CODEPIPELINE or NO_ARTIFACTS, this value is ignored if specified. If type is set to S3, valid values are BUILD_ID or NONE.
    overrideArtifactName Boolean
    Whether a name specified in the build specification overrides the artifact name.
    packaging String
    Type of build output artifact to create. If type is set to CODEPIPELINE or NO_ARTIFACTS, this value is ignored if specified. If type is set to S3, valid values are NONE or ZIP.
    path String
    Along with namespace_type and name, the pattern that AWS CodeBuild uses to name and store the output artifact. If type is set to CODEPIPELINE or NO_ARTIFACTS, this value is ignored if specified. If type is set to S3, this is the path to the output artifact.

    ProjectSecondarySource, ProjectSecondarySourceArgs

    SourceIdentifier string
    An identifier for this project source. The identifier can only contain alphanumeric characters and underscores, and must be less than 128 characters in length.
    Type string
    Type of repository that contains the source code to be built. Valid values: BITBUCKET, CODECOMMIT, CODEPIPELINE, GITHUB, GITHUB_ENTERPRISE, GITLAB, GITLAB_SELF_MANAGED, NO_SOURCE, S3.
    BuildStatusConfig ProjectSecondarySourceBuildStatusConfig
    Configuration block that contains information that defines how the build project reports the build status to the source provider. This option is only used when the source provider is GitHub, GitHub Enterprise, GitLab, GitLab Self Managed, or Bitbucket. build_status_config blocks are documented below.
    Buildspec string
    The build spec declaration to use for this build project's related builds. This must be set when type is NO_SOURCE. It can either be a path to a file residing in the repository to be built or a local file path leveraging the file() built-in.
    GitCloneDepth int
    Truncate git history to this many commits. Use 0 for a Full checkout which you need to run commands like git branch --show-current. See AWS CodePipeline User Guide: Tutorial: Use full clone with a GitHub pipeline source for details.
    GitSubmodulesConfig ProjectSecondarySourceGitSubmodulesConfig
    Configuration block. Detailed below.
    InsecureSsl bool
    Ignore SSL warnings when connecting to source control.
    Location string
    Location of the source code from git or s3.
    ReportBuildStatus bool
    Whether to report the status of a build's start and finish to your source provider. This option is valid only when your source provider is GitHub, GitHub Enterprise, GitLab, GitLab Self Managed, or Bitbucket.
    SourceIdentifier string
    An identifier for this project source. The identifier can only contain alphanumeric characters and underscores, and must be less than 128 characters in length.
    Type string
    Type of repository that contains the source code to be built. Valid values: BITBUCKET, CODECOMMIT, CODEPIPELINE, GITHUB, GITHUB_ENTERPRISE, GITLAB, GITLAB_SELF_MANAGED, NO_SOURCE, S3.
    BuildStatusConfig ProjectSecondarySourceBuildStatusConfig
    Configuration block that contains information that defines how the build project reports the build status to the source provider. This option is only used when the source provider is GitHub, GitHub Enterprise, GitLab, GitLab Self Managed, or Bitbucket. build_status_config blocks are documented below.
    Buildspec string
    The build spec declaration to use for this build project's related builds. This must be set when type is NO_SOURCE. It can either be a path to a file residing in the repository to be built or a local file path leveraging the file() built-in.
    GitCloneDepth int
    Truncate git history to this many commits. Use 0 for a Full checkout which you need to run commands like git branch --show-current. See AWS CodePipeline User Guide: Tutorial: Use full clone with a GitHub pipeline source for details.
    GitSubmodulesConfig ProjectSecondarySourceGitSubmodulesConfig
    Configuration block. Detailed below.
    InsecureSsl bool
    Ignore SSL warnings when connecting to source control.
    Location string
    Location of the source code from git or s3.
    ReportBuildStatus bool
    Whether to report the status of a build's start and finish to your source provider. This option is valid only when your source provider is GitHub, GitHub Enterprise, GitLab, GitLab Self Managed, or Bitbucket.
    sourceIdentifier String
    An identifier for this project source. The identifier can only contain alphanumeric characters and underscores, and must be less than 128 characters in length.
    type String
    Type of repository that contains the source code to be built. Valid values: BITBUCKET, CODECOMMIT, CODEPIPELINE, GITHUB, GITHUB_ENTERPRISE, GITLAB, GITLAB_SELF_MANAGED, NO_SOURCE, S3.
    buildStatusConfig ProjectSecondarySourceBuildStatusConfig
    Configuration block that contains information that defines how the build project reports the build status to the source provider. This option is only used when the source provider is GitHub, GitHub Enterprise, GitLab, GitLab Self Managed, or Bitbucket. build_status_config blocks are documented below.
    buildspec String
    The build spec declaration to use for this build project's related builds. This must be set when type is NO_SOURCE. It can either be a path to a file residing in the repository to be built or a local file path leveraging the file() built-in.
    gitCloneDepth Integer
    Truncate git history to this many commits. Use 0 for a Full checkout which you need to run commands like git branch --show-current. See AWS CodePipeline User Guide: Tutorial: Use full clone with a GitHub pipeline source for details.
    gitSubmodulesConfig ProjectSecondarySourceGitSubmodulesConfig
    Configuration block. Detailed below.
    insecureSsl Boolean
    Ignore SSL warnings when connecting to source control.
    location String
    Location of the source code from git or s3.
    reportBuildStatus Boolean
    Whether to report the status of a build's start and finish to your source provider. This option is valid only when your source provider is GitHub, GitHub Enterprise, GitLab, GitLab Self Managed, or Bitbucket.
    sourceIdentifier string
    An identifier for this project source. The identifier can only contain alphanumeric characters and underscores, and must be less than 128 characters in length.
    type string
    Type of repository that contains the source code to be built. Valid values: BITBUCKET, CODECOMMIT, CODEPIPELINE, GITHUB, GITHUB_ENTERPRISE, GITLAB, GITLAB_SELF_MANAGED, NO_SOURCE, S3.
    buildStatusConfig ProjectSecondarySourceBuildStatusConfig
    Configuration block that contains information that defines how the build project reports the build status to the source provider. This option is only used when the source provider is GitHub, GitHub Enterprise, GitLab, GitLab Self Managed, or Bitbucket. build_status_config blocks are documented below.
    buildspec string
    The build spec declaration to use for this build project's related builds. This must be set when type is NO_SOURCE. It can either be a path to a file residing in the repository to be built or a local file path leveraging the file() built-in.
    gitCloneDepth number
    Truncate git history to this many commits. Use 0 for a Full checkout which you need to run commands like git branch --show-current. See AWS CodePipeline User Guide: Tutorial: Use full clone with a GitHub pipeline source for details.
    gitSubmodulesConfig ProjectSecondarySourceGitSubmodulesConfig
    Configuration block. Detailed below.
    insecureSsl boolean
    Ignore SSL warnings when connecting to source control.
    location string
    Location of the source code from git or s3.
    reportBuildStatus boolean
    Whether to report the status of a build's start and finish to your source provider. This option is valid only when your source provider is GitHub, GitHub Enterprise, GitLab, GitLab Self Managed, or Bitbucket.
    source_identifier str
    An identifier for this project source. The identifier can only contain alphanumeric characters and underscores, and must be less than 128 characters in length.
    type str
    Type of repository that contains the source code to be built. Valid values: BITBUCKET, CODECOMMIT, CODEPIPELINE, GITHUB, GITHUB_ENTERPRISE, GITLAB, GITLAB_SELF_MANAGED, NO_SOURCE, S3.
    build_status_config ProjectSecondarySourceBuildStatusConfig
    Configuration block that contains information that defines how the build project reports the build status to the source provider. This option is only used when the source provider is GitHub, GitHub Enterprise, GitLab, GitLab Self Managed, or Bitbucket. build_status_config blocks are documented below.
    buildspec str
    The build spec declaration to use for this build project's related builds. This must be set when type is NO_SOURCE. It can either be a path to a file residing in the repository to be built or a local file path leveraging the file() built-in.
    git_clone_depth int
    Truncate git history to this many commits. Use 0 for a Full checkout which you need to run commands like git branch --show-current. See AWS CodePipeline User Guide: Tutorial: Use full clone with a GitHub pipeline source for details.
    git_submodules_config ProjectSecondarySourceGitSubmodulesConfig
    Configuration block. Detailed below.
    insecure_ssl bool
    Ignore SSL warnings when connecting to source control.
    location str
    Location of the source code from git or s3.
    report_build_status bool
    Whether to report the status of a build's start and finish to your source provider. This option is valid only when your source provider is GitHub, GitHub Enterprise, GitLab, GitLab Self Managed, or Bitbucket.
    sourceIdentifier String
    An identifier for this project source. The identifier can only contain alphanumeric characters and underscores, and must be less than 128 characters in length.
    type String
    Type of repository that contains the source code to be built. Valid values: BITBUCKET, CODECOMMIT, CODEPIPELINE, GITHUB, GITHUB_ENTERPRISE, GITLAB, GITLAB_SELF_MANAGED, NO_SOURCE, S3.
    buildStatusConfig Property Map
    Configuration block that contains information that defines how the build project reports the build status to the source provider. This option is only used when the source provider is GitHub, GitHub Enterprise, GitLab, GitLab Self Managed, or Bitbucket. build_status_config blocks are documented below.
    buildspec String
    The build spec declaration to use for this build project's related builds. This must be set when type is NO_SOURCE. It can either be a path to a file residing in the repository to be built or a local file path leveraging the file() built-in.
    gitCloneDepth Number
    Truncate git history to this many commits. Use 0 for a Full checkout which you need to run commands like git branch --show-current. See AWS CodePipeline User Guide: Tutorial: Use full clone with a GitHub pipeline source for details.
    gitSubmodulesConfig Property Map
    Configuration block. Detailed below.
    insecureSsl Boolean
    Ignore SSL warnings when connecting to source control.
    location String
    Location of the source code from git or s3.
    reportBuildStatus Boolean
    Whether to report the status of a build's start and finish to your source provider. This option is valid only when your source provider is GitHub, GitHub Enterprise, GitLab, GitLab Self Managed, or Bitbucket.

    ProjectSecondarySourceBuildStatusConfig, ProjectSecondarySourceBuildStatusConfigArgs

    Context string
    Specifies the context of the build status CodeBuild sends to the source provider. The usage of this parameter depends on the source provider.
    TargetUrl string
    Specifies the target url of the build status CodeBuild sends to the source provider. The usage of this parameter depends on the source provider.
    Context string
    Specifies the context of the build status CodeBuild sends to the source provider. The usage of this parameter depends on the source provider.
    TargetUrl string
    Specifies the target url of the build status CodeBuild sends to the source provider. The usage of this parameter depends on the source provider.
    context String
    Specifies the context of the build status CodeBuild sends to the source provider. The usage of this parameter depends on the source provider.
    targetUrl String
    Specifies the target url of the build status CodeBuild sends to the source provider. The usage of this parameter depends on the source provider.
    context string
    Specifies the context of the build status CodeBuild sends to the source provider. The usage of this parameter depends on the source provider.
    targetUrl string
    Specifies the target url of the build status CodeBuild sends to the source provider. The usage of this parameter depends on the source provider.
    context str
    Specifies the context of the build status CodeBuild sends to the source provider. The usage of this parameter depends on the source provider.
    target_url str
    Specifies the target url of the build status CodeBuild sends to the source provider. The usage of this parameter depends on the source provider.
    context String
    Specifies the context of the build status CodeBuild sends to the source provider. The usage of this parameter depends on the source provider.
    targetUrl String
    Specifies the target url of the build status CodeBuild sends to the source provider. The usage of this parameter depends on the source provider.

    ProjectSecondarySourceGitSubmodulesConfig, ProjectSecondarySourceGitSubmodulesConfigArgs

    FetchSubmodules bool
    Whether to fetch Git submodules for the AWS CodeBuild build project.
    FetchSubmodules bool
    Whether to fetch Git submodules for the AWS CodeBuild build project.
    fetchSubmodules Boolean
    Whether to fetch Git submodules for the AWS CodeBuild build project.
    fetchSubmodules boolean
    Whether to fetch Git submodules for the AWS CodeBuild build project.
    fetch_submodules bool
    Whether to fetch Git submodules for the AWS CodeBuild build project.
    fetchSubmodules Boolean
    Whether to fetch Git submodules for the AWS CodeBuild build project.

    ProjectSecondarySourceVersion, ProjectSecondarySourceVersionArgs

    SourceIdentifier string
    An identifier for a source in the build project.
    SourceVersion string
    The source version for the corresponding source identifier. See AWS docs for more details.
    SourceIdentifier string
    An identifier for a source in the build project.
    SourceVersion string
    The source version for the corresponding source identifier. See AWS docs for more details.
    sourceIdentifier String
    An identifier for a source in the build project.
    sourceVersion String
    The source version for the corresponding source identifier. See AWS docs for more details.
    sourceIdentifier string
    An identifier for a source in the build project.
    sourceVersion string
    The source version for the corresponding source identifier. See AWS docs for more details.
    source_identifier str
    An identifier for a source in the build project.
    source_version str
    The source version for the corresponding source identifier. See AWS docs for more details.
    sourceIdentifier String
    An identifier for a source in the build project.
    sourceVersion String
    The source version for the corresponding source identifier. See AWS docs for more details.

    ProjectSource, ProjectSourceArgs

    Type string
    Type of repository that contains the source code to be built. Valid values: BITBUCKET, CODECOMMIT, CODEPIPELINE, GITHUB, GITHUB_ENTERPRISE, GITLAB, GITLAB_SELF_MANAGED, NO_SOURCE, S3.
    BuildStatusConfig ProjectSourceBuildStatusConfig
    Configuration block that contains information that defines how the build project reports the build status to the source provider. This option is only used when the source provider is GitHub, GitHub Enterprise, GitLab, GitLab Self Managed, or Bitbucket. build_status_config blocks are documented below.
    Buildspec string
    Build specification to use for this build project's related builds. This must be set when type is NO_SOURCE. Also, if a non-default buildspec file name or file path aside from the root is used, it must be specified.
    GitCloneDepth int
    Truncate git history to this many commits. Use 0 for a Full checkout which you need to run commands like git branch --show-current. See AWS CodePipeline User Guide: Tutorial: Use full clone with a GitHub pipeline source for details.
    GitSubmodulesConfig ProjectSourceGitSubmodulesConfig
    Configuration block. Detailed below.
    InsecureSsl bool
    Ignore SSL warnings when connecting to source control.
    Location string
    Location of the source code from git or s3.
    ReportBuildStatus bool
    Whether to report the status of a build's start and finish to your source provider. This option is valid only when your source provider is GitHub, GitHub Enterprise, GitLab, GitLab Self Managed, or Bitbucket.
    Type string
    Type of repository that contains the source code to be built. Valid values: BITBUCKET, CODECOMMIT, CODEPIPELINE, GITHUB, GITHUB_ENTERPRISE, GITLAB, GITLAB_SELF_MANAGED, NO_SOURCE, S3.
    BuildStatusConfig ProjectSourceBuildStatusConfig
    Configuration block that contains information that defines how the build project reports the build status to the source provider. This option is only used when the source provider is GitHub, GitHub Enterprise, GitLab, GitLab Self Managed, or Bitbucket. build_status_config blocks are documented below.
    Buildspec string
    Build specification to use for this build project's related builds. This must be set when type is NO_SOURCE. Also, if a non-default buildspec file name or file path aside from the root is used, it must be specified.
    GitCloneDepth int
    Truncate git history to this many commits. Use 0 for a Full checkout which you need to run commands like git branch --show-current. See AWS CodePipeline User Guide: Tutorial: Use full clone with a GitHub pipeline source for details.
    GitSubmodulesConfig ProjectSourceGitSubmodulesConfig
    Configuration block. Detailed below.
    InsecureSsl bool
    Ignore SSL warnings when connecting to source control.
    Location string
    Location of the source code from git or s3.
    ReportBuildStatus bool
    Whether to report the status of a build's start and finish to your source provider. This option is valid only when your source provider is GitHub, GitHub Enterprise, GitLab, GitLab Self Managed, or Bitbucket.
    type String
    Type of repository that contains the source code to be built. Valid values: BITBUCKET, CODECOMMIT, CODEPIPELINE, GITHUB, GITHUB_ENTERPRISE, GITLAB, GITLAB_SELF_MANAGED, NO_SOURCE, S3.
    buildStatusConfig ProjectSourceBuildStatusConfig
    Configuration block that contains information that defines how the build project reports the build status to the source provider. This option is only used when the source provider is GitHub, GitHub Enterprise, GitLab, GitLab Self Managed, or Bitbucket. build_status_config blocks are documented below.
    buildspec String
    Build specification to use for this build project's related builds. This must be set when type is NO_SOURCE. Also, if a non-default buildspec file name or file path aside from the root is used, it must be specified.
    gitCloneDepth Integer
    Truncate git history to this many commits. Use 0 for a Full checkout which you need to run commands like git branch --show-current. See AWS CodePipeline User Guide: Tutorial: Use full clone with a GitHub pipeline source for details.
    gitSubmodulesConfig ProjectSourceGitSubmodulesConfig
    Configuration block. Detailed below.
    insecureSsl Boolean
    Ignore SSL warnings when connecting to source control.
    location String
    Location of the source code from git or s3.
    reportBuildStatus Boolean
    Whether to report the status of a build's start and finish to your source provider. This option is valid only when your source provider is GitHub, GitHub Enterprise, GitLab, GitLab Self Managed, or Bitbucket.
    type string
    Type of repository that contains the source code to be built. Valid values: BITBUCKET, CODECOMMIT, CODEPIPELINE, GITHUB, GITHUB_ENTERPRISE, GITLAB, GITLAB_SELF_MANAGED, NO_SOURCE, S3.
    buildStatusConfig ProjectSourceBuildStatusConfig
    Configuration block that contains information that defines how the build project reports the build status to the source provider. This option is only used when the source provider is GitHub, GitHub Enterprise, GitLab, GitLab Self Managed, or Bitbucket. build_status_config blocks are documented below.
    buildspec string
    Build specification to use for this build project's related builds. This must be set when type is NO_SOURCE. Also, if a non-default buildspec file name or file path aside from the root is used, it must be specified.
    gitCloneDepth number
    Truncate git history to this many commits. Use 0 for a Full checkout which you need to run commands like git branch --show-current. See AWS CodePipeline User Guide: Tutorial: Use full clone with a GitHub pipeline source for details.
    gitSubmodulesConfig ProjectSourceGitSubmodulesConfig
    Configuration block. Detailed below.
    insecureSsl boolean
    Ignore SSL warnings when connecting to source control.
    location string
    Location of the source code from git or s3.
    reportBuildStatus boolean
    Whether to report the status of a build's start and finish to your source provider. This option is valid only when your source provider is GitHub, GitHub Enterprise, GitLab, GitLab Self Managed, or Bitbucket.
    type str
    Type of repository that contains the source code to be built. Valid values: BITBUCKET, CODECOMMIT, CODEPIPELINE, GITHUB, GITHUB_ENTERPRISE, GITLAB, GITLAB_SELF_MANAGED, NO_SOURCE, S3.
    build_status_config ProjectSourceBuildStatusConfig
    Configuration block that contains information that defines how the build project reports the build status to the source provider. This option is only used when the source provider is GitHub, GitHub Enterprise, GitLab, GitLab Self Managed, or Bitbucket. build_status_config blocks are documented below.
    buildspec str
    Build specification to use for this build project's related builds. This must be set when type is NO_SOURCE. Also, if a non-default buildspec file name or file path aside from the root is used, it must be specified.
    git_clone_depth int
    Truncate git history to this many commits. Use 0 for a Full checkout which you need to run commands like git branch --show-current. See AWS CodePipeline User Guide: Tutorial: Use full clone with a GitHub pipeline source for details.
    git_submodules_config ProjectSourceGitSubmodulesConfig
    Configuration block. Detailed below.
    insecure_ssl bool
    Ignore SSL warnings when connecting to source control.
    location str
    Location of the source code from git or s3.
    report_build_status bool
    Whether to report the status of a build's start and finish to your source provider. This option is valid only when your source provider is GitHub, GitHub Enterprise, GitLab, GitLab Self Managed, or Bitbucket.
    type String
    Type of repository that contains the source code to be built. Valid values: BITBUCKET, CODECOMMIT, CODEPIPELINE, GITHUB, GITHUB_ENTERPRISE, GITLAB, GITLAB_SELF_MANAGED, NO_SOURCE, S3.
    buildStatusConfig Property Map
    Configuration block that contains information that defines how the build project reports the build status to the source provider. This option is only used when the source provider is GitHub, GitHub Enterprise, GitLab, GitLab Self Managed, or Bitbucket. build_status_config blocks are documented below.
    buildspec String
    Build specification to use for this build project's related builds. This must be set when type is NO_SOURCE. Also, if a non-default buildspec file name or file path aside from the root is used, it must be specified.
    gitCloneDepth Number
    Truncate git history to this many commits. Use 0 for a Full checkout which you need to run commands like git branch --show-current. See AWS CodePipeline User Guide: Tutorial: Use full clone with a GitHub pipeline source for details.
    gitSubmodulesConfig Property Map
    Configuration block. Detailed below.
    insecureSsl Boolean
    Ignore SSL warnings when connecting to source control.
    location String
    Location of the source code from git or s3.
    reportBuildStatus Boolean
    Whether to report the status of a build's start and finish to your source provider. This option is valid only when your source provider is GitHub, GitHub Enterprise, GitLab, GitLab Self Managed, or Bitbucket.

    ProjectSourceBuildStatusConfig, ProjectSourceBuildStatusConfigArgs

    Context string
    Specifies the context of the build status CodeBuild sends to the source provider. The usage of this parameter depends on the source provider.
    TargetUrl string
    Specifies the target url of the build status CodeBuild sends to the source provider. The usage of this parameter depends on the source provider.
    Context string
    Specifies the context of the build status CodeBuild sends to the source provider. The usage of this parameter depends on the source provider.
    TargetUrl string
    Specifies the target url of the build status CodeBuild sends to the source provider. The usage of this parameter depends on the source provider.
    context String
    Specifies the context of the build status CodeBuild sends to the source provider. The usage of this parameter depends on the source provider.
    targetUrl String
    Specifies the target url of the build status CodeBuild sends to the source provider. The usage of this parameter depends on the source provider.
    context string
    Specifies the context of the build status CodeBuild sends to the source provider. The usage of this parameter depends on the source provider.
    targetUrl string
    Specifies the target url of the build status CodeBuild sends to the source provider. The usage of this parameter depends on the source provider.
    context str
    Specifies the context of the build status CodeBuild sends to the source provider. The usage of this parameter depends on the source provider.
    target_url str
    Specifies the target url of the build status CodeBuild sends to the source provider. The usage of this parameter depends on the source provider.
    context String
    Specifies the context of the build status CodeBuild sends to the source provider. The usage of this parameter depends on the source provider.
    targetUrl String
    Specifies the target url of the build status CodeBuild sends to the source provider. The usage of this parameter depends on the source provider.

    ProjectSourceGitSubmodulesConfig, ProjectSourceGitSubmodulesConfigArgs

    FetchSubmodules bool
    Whether to fetch Git submodules for the AWS CodeBuild build project.
    FetchSubmodules bool
    Whether to fetch Git submodules for the AWS CodeBuild build project.
    fetchSubmodules Boolean
    Whether to fetch Git submodules for the AWS CodeBuild build project.
    fetchSubmodules boolean
    Whether to fetch Git submodules for the AWS CodeBuild build project.
    fetch_submodules bool
    Whether to fetch Git submodules for the AWS CodeBuild build project.
    fetchSubmodules Boolean
    Whether to fetch Git submodules for the AWS CodeBuild build project.

    ProjectVpcConfig, ProjectVpcConfigArgs

    SecurityGroupIds List<string>
    Security group IDs to assign to running builds.
    Subnets List<string>
    Subnet IDs within which to run builds.
    VpcId string
    ID of the VPC within which to run builds.
    SecurityGroupIds []string
    Security group IDs to assign to running builds.
    Subnets []string
    Subnet IDs within which to run builds.
    VpcId string
    ID of the VPC within which to run builds.
    securityGroupIds List<String>
    Security group IDs to assign to running builds.
    subnets List<String>
    Subnet IDs within which to run builds.
    vpcId String
    ID of the VPC within which to run builds.
    securityGroupIds string[]
    Security group IDs to assign to running builds.
    subnets string[]
    Subnet IDs within which to run builds.
    vpcId string
    ID of the VPC within which to run builds.
    security_group_ids Sequence[str]
    Security group IDs to assign to running builds.
    subnets Sequence[str]
    Subnet IDs within which to run builds.
    vpc_id str
    ID of the VPC within which to run builds.
    securityGroupIds List<String>
    Security group IDs to assign to running builds.
    subnets List<String>
    Subnet IDs within which to run builds.
    vpcId String
    ID of the VPC within which to run builds.

    Import

    Using pulumi import, import CodeBuild Project using the name. For example:

    $ pulumi import aws:codebuild/project:Project name project-name
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    AWS Classic pulumi/pulumi-aws
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the aws Terraform Provider.
    aws logo
    AWS v6.60.0 published on Tuesday, Nov 19, 2024 by Pulumi