You are viewing documentation for version 2 of the AWS SDK for Ruby. Version 3 documentation can be found here.

Class: Aws::CodeBuild::Types::CreateProjectInput

Inherits:
Struct
  • Object
show all
Defined in:
(unknown)

Overview

Note:

When passing CreateProjectInput as input to an Aws::Client method, you can use a vanilla Hash:

{
  name: "ProjectName", # required
  description: "ProjectDescription",
  source: { # required
    type: "CODECOMMIT", # required, accepts CODECOMMIT, CODEPIPELINE, GITHUB, S3, BITBUCKET, GITHUB_ENTERPRISE, NO_SOURCE
    location: "String",
    git_clone_depth: 1,
    git_submodules_config: {
      fetch_submodules: false, # required
    },
    buildspec: "String",
    auth: {
      type: "OAUTH", # required, accepts OAUTH
      resource: "String",
    },
    report_build_status: false,
    build_status_config: {
      context: "String",
      target_url: "String",
    },
    insecure_ssl: false,
    source_identifier: "String",
  },
  secondary_sources: [
    {
      type: "CODECOMMIT", # required, accepts CODECOMMIT, CODEPIPELINE, GITHUB, S3, BITBUCKET, GITHUB_ENTERPRISE, NO_SOURCE
      location: "String",
      git_clone_depth: 1,
      git_submodules_config: {
        fetch_submodules: false, # required
      },
      buildspec: "String",
      auth: {
        type: "OAUTH", # required, accepts OAUTH
        resource: "String",
      },
      report_build_status: false,
      build_status_config: {
        context: "String",
        target_url: "String",
      },
      insecure_ssl: false,
      source_identifier: "String",
    },
  ],
  source_version: "String",
  secondary_source_versions: [
    {
      source_identifier: "String", # required
      source_version: "String", # required
    },
  ],
  artifacts: { # required
    type: "CODEPIPELINE", # required, accepts CODEPIPELINE, S3, NO_ARTIFACTS
    location: "String",
    path: "String",
    namespace_type: "NONE", # accepts NONE, BUILD_ID
    name: "String",
    packaging: "NONE", # accepts NONE, ZIP
    override_artifact_name: false,
    encryption_disabled: false,
    artifact_identifier: "String",
  },
  secondary_artifacts: [
    {
      type: "CODEPIPELINE", # required, accepts CODEPIPELINE, S3, NO_ARTIFACTS
      location: "String",
      path: "String",
      namespace_type: "NONE", # accepts NONE, BUILD_ID
      name: "String",
      packaging: "NONE", # accepts NONE, ZIP
      override_artifact_name: false,
      encryption_disabled: false,
      artifact_identifier: "String",
    },
  ],
  cache: {
    type: "NO_CACHE", # required, accepts NO_CACHE, S3, LOCAL
    location: "String",
    modes: ["LOCAL_DOCKER_LAYER_CACHE"], # accepts LOCAL_DOCKER_LAYER_CACHE, LOCAL_SOURCE_CACHE, LOCAL_CUSTOM_CACHE
  },
  environment: { # required
    type: "WINDOWS_CONTAINER", # required, accepts WINDOWS_CONTAINER, LINUX_CONTAINER, LINUX_GPU_CONTAINER, ARM_CONTAINER, WINDOWS_SERVER_2019_CONTAINER
    image: "NonEmptyString", # required
    compute_type: "BUILD_GENERAL1_SMALL", # required, accepts BUILD_GENERAL1_SMALL, BUILD_GENERAL1_MEDIUM, BUILD_GENERAL1_LARGE, BUILD_GENERAL1_2XLARGE
    environment_variables: [
      {
        name: "NonEmptyString", # required
        value: "String", # required
        type: "PLAINTEXT", # accepts PLAINTEXT, PARAMETER_STORE, SECRETS_MANAGER
      },
    ],
    privileged_mode: false,
    certificate: "String",
    registry_credential: {
      credential: "NonEmptyString", # required
      credential_provider: "SECRETS_MANAGER", # required, accepts SECRETS_MANAGER
    },
    image_pull_credentials_type: "CODEBUILD", # accepts CODEBUILD, SERVICE_ROLE
  },
  service_role: "NonEmptyString", # required
  timeout_in_minutes: 1,
  queued_timeout_in_minutes: 1,
  encryption_key: "NonEmptyString",
  tags: [
    {
      key: "KeyInput",
      value: "ValueInput",
    },
  ],
  vpc_config: {
    vpc_id: "NonEmptyString",
    subnets: ["NonEmptyString"],
    security_group_ids: ["NonEmptyString"],
  },
  badge_enabled: false,
  logs_config: {
    cloud_watch_logs: {
      status: "ENABLED", # required, accepts ENABLED, DISABLED
      group_name: "String",
      stream_name: "String",
    },
    s3_logs: {
      status: "ENABLED", # required, accepts ENABLED, DISABLED
      location: "String",
      encryption_disabled: false,
    },
  },
  file_system_locations: [
    {
      type: "EFS", # accepts EFS
      location: "String",
      mount_point: "String",
      identifier: "String",
      mount_options: "String",
    },
  ],
  build_batch_config: {
    service_role: "NonEmptyString",
    combine_artifacts: false,
    restrictions: {
      maximum_builds_allowed: 1,
      compute_types_allowed: ["NonEmptyString"],
    },
    timeout_in_mins: 1,
  },
}

Instance Attribute Summary collapse

Instance Attribute Details

#artifactsTypes::ProjectArtifacts

Information about the build output artifacts for the build project.

Returns:

#badge_enabledBoolean

Set this to true to generate a publicly accessible URL for your project\'s build badge.

Returns:

  • (Boolean)

    Set this to true to generate a publicly accessible URL for your project\'s build badge.

#build_batch_configTypes::ProjectBuildBatchConfig

A ProjectBuildBatchConfig object that defines the batch build options for the project.

Returns:

#cacheTypes::ProjectCache

Stores recently used information so that it can be quickly accessed at a later time.

Returns:

  • (Types::ProjectCache)

    Stores recently used information so that it can be quickly accessed at a later time.

#descriptionString

A description that makes the build project easy to identify.

Returns:

  • (String)

    A description that makes the build project easy to identify.

#encryption_keyString

The AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build output artifacts.

You can use a cross-account KMS key to encrypt the build output artifacts if your service role has permission to that key.

You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, the CMK\'s alias (using the format alias/<alias-name>).

Returns:

  • (String)

    The AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build output artifacts.

#environmentTypes::ProjectEnvironment

Information about the build environment for the build project.

Returns:

#file_system_locationsArray<Types::ProjectFileSystemLocation>

An array of ProjectFileSystemLocation objects for a CodeBuild build project. A ProjectFileSystemLocation object specifies the identifier, location, mountOptions, mountPoint, and type of a file system created using Amazon Elastic File System.

Returns:

#logs_configTypes::LogsConfig

Information about logs for the build project. These can be logs in Amazon CloudWatch Logs, logs uploaded to a specified S3 bucket, or both.

Returns:

#nameString

The name of the build project.

Returns:

  • (String)

    The name of the build project.

#queued_timeout_in_minutesInteger

The number of minutes a build is allowed to be queued before it times out.

Returns:

  • (Integer)

    The number of minutes a build is allowed to be queued before it times out.

#secondary_artifactsArray<Types::ProjectArtifacts>

An array of ProjectArtifacts objects.

Returns:

#secondary_source_versionsArray<Types::ProjectSourceVersion>

An array of ProjectSourceVersion objects. If secondarySourceVersions is specified at the build level, then they take precedence over these secondarySourceVersions (at the project level).

Returns:

#secondary_sourcesArray<Types::ProjectSource>

An array of ProjectSource objects.

Returns:

#service_roleString

The 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.

Returns:

  • (String)

    The 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.

#sourceTypes::ProjectSource

Information about the build input source code for the build project.

Returns:

#source_versionString

A version of the build input to be built for this project. If not specified, the latest version is used. If specified, it must be one of:

  • For AWS CodeCommit: the commit ID, branch, or Git tag to use.

  • For GitHub: the commit ID, pull request ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a pull request ID is specified, it must use the format pr/pull-request-ID (for example pr/25). If a branch name is specified, the branch\'s HEAD commit ID is used. If not specified, the default branch\'s HEAD commit ID is used.

  • For Bitbucket: the commit ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a branch name is specified, the branch\'s HEAD commit ID is used. If not specified, the default branch\'s HEAD commit ID is used.

  • For Amazon Simple Storage Service (Amazon S3): the version ID of the object that represents the build input ZIP file to use.

If sourceVersion is specified at the build level, then that version takes precedence over this sourceVersion (at the project level).

For more information, see Source Version Sample with CodeBuild in the AWS CodeBuild User Guide.

Returns:

  • (String)

    A version of the build input to be built for this project.

#tagsArray<Types::Tag>

A list of tag key and value pairs associated with this build project.

These tags are available for use by AWS services that support AWS CodeBuild build project tags.

Returns:

  • (Array<Types::Tag>)

    A list of tag key and value pairs associated with this build project.

#timeout_in_minutesInteger

How long, in minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait before it times out any build that has not been marked as completed. The default is 60 minutes.

Returns:

  • (Integer)

    How long, in minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait before it times out any build that has not been marked as completed.

#vpc_configTypes::VpcConfig

VpcConfig enables AWS CodeBuild to access resources in an Amazon VPC.

Returns:

  • (Types::VpcConfig)

    VpcConfig enables AWS CodeBuild to access resources in an Amazon VPC.