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

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

Inherits:
Struct
  • Object
show all
Defined in:
gems/aws-sdk-codebuild/lib/aws-sdk-codebuild/types.rb

Overview

Note:

When making an API call, you may pass CreateProjectInput data as a 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,
    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,
      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
    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,
    },
  },
}

Instance Attribute Summary collapse

Instance Attribute Details

#artifactsTypes::ProjectArtifacts

Information about the build output artifacts for the build project.



808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
# File 'gems/aws-sdk-codebuild/lib/aws-sdk-codebuild/types.rb', line 808

class CreateProjectInput < Struct.new(
  :name,
  :description,
  :source,
  :secondary_sources,
  :source_version,
  :secondary_source_versions,
  :artifacts,
  :secondary_artifacts,
  :cache,
  :environment,
  :service_role,
  :timeout_in_minutes,
  :queued_timeout_in_minutes,
  :encryption_key,
  :tags,
  :vpc_config,
  :badge_enabled,
  :logs_config)
  include Aws::Structure
end

#badge_enabledBoolean

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

Returns:

  • (Boolean)


808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
# File 'gems/aws-sdk-codebuild/lib/aws-sdk-codebuild/types.rb', line 808

class CreateProjectInput < Struct.new(
  :name,
  :description,
  :source,
  :secondary_sources,
  :source_version,
  :secondary_source_versions,
  :artifacts,
  :secondary_artifacts,
  :cache,
  :environment,
  :service_role,
  :timeout_in_minutes,
  :queued_timeout_in_minutes,
  :encryption_key,
  :tags,
  :vpc_config,
  :badge_enabled,
  :logs_config)
  include Aws::Structure
end

#cacheTypes::ProjectCache

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

Returns:



808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
# File 'gems/aws-sdk-codebuild/lib/aws-sdk-codebuild/types.rb', line 808

class CreateProjectInput < Struct.new(
  :name,
  :description,
  :source,
  :secondary_sources,
  :source_version,
  :secondary_source_versions,
  :artifacts,
  :secondary_artifacts,
  :cache,
  :environment,
  :service_role,
  :timeout_in_minutes,
  :queued_timeout_in_minutes,
  :encryption_key,
  :tags,
  :vpc_config,
  :badge_enabled,
  :logs_config)
  include Aws::Structure
end

#descriptionString

A description that makes the build project easy to identify.

Returns:

  • (String)


808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
# File 'gems/aws-sdk-codebuild/lib/aws-sdk-codebuild/types.rb', line 808

class CreateProjectInput < Struct.new(
  :name,
  :description,
  :source,
  :secondary_sources,
  :source_version,
  :secondary_source_versions,
  :artifacts,
  :secondary_artifacts,
  :cache,
  :environment,
  :service_role,
  :timeout_in_minutes,
  :queued_timeout_in_minutes,
  :encryption_key,
  :tags,
  :vpc_config,
  :badge_enabled,
  :logs_config)
  include Aws::Structure
end

#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)


808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
# File 'gems/aws-sdk-codebuild/lib/aws-sdk-codebuild/types.rb', line 808

class CreateProjectInput < Struct.new(
  :name,
  :description,
  :source,
  :secondary_sources,
  :source_version,
  :secondary_source_versions,
  :artifacts,
  :secondary_artifacts,
  :cache,
  :environment,
  :service_role,
  :timeout_in_minutes,
  :queued_timeout_in_minutes,
  :encryption_key,
  :tags,
  :vpc_config,
  :badge_enabled,
  :logs_config)
  include Aws::Structure
end

#environmentTypes::ProjectEnvironment

Information about the build environment for the build project.



808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
# File 'gems/aws-sdk-codebuild/lib/aws-sdk-codebuild/types.rb', line 808

class CreateProjectInput < Struct.new(
  :name,
  :description,
  :source,
  :secondary_sources,
  :source_version,
  :secondary_source_versions,
  :artifacts,
  :secondary_artifacts,
  :cache,
  :environment,
  :service_role,
  :timeout_in_minutes,
  :queued_timeout_in_minutes,
  :encryption_key,
  :tags,
  :vpc_config,
  :badge_enabled,
  :logs_config)
  include Aws::Structure
end

#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:



808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
# File 'gems/aws-sdk-codebuild/lib/aws-sdk-codebuild/types.rb', line 808

class CreateProjectInput < Struct.new(
  :name,
  :description,
  :source,
  :secondary_sources,
  :source_version,
  :secondary_source_versions,
  :artifacts,
  :secondary_artifacts,
  :cache,
  :environment,
  :service_role,
  :timeout_in_minutes,
  :queued_timeout_in_minutes,
  :encryption_key,
  :tags,
  :vpc_config,
  :badge_enabled,
  :logs_config)
  include Aws::Structure
end

#nameString

The name of the build project.

Returns:

  • (String)


808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
# File 'gems/aws-sdk-codebuild/lib/aws-sdk-codebuild/types.rb', line 808

class CreateProjectInput < Struct.new(
  :name,
  :description,
  :source,
  :secondary_sources,
  :source_version,
  :secondary_source_versions,
  :artifacts,
  :secondary_artifacts,
  :cache,
  :environment,
  :service_role,
  :timeout_in_minutes,
  :queued_timeout_in_minutes,
  :encryption_key,
  :tags,
  :vpc_config,
  :badge_enabled,
  :logs_config)
  include Aws::Structure
end

#queued_timeout_in_minutesInteger

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

Returns:

  • (Integer)


808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
# File 'gems/aws-sdk-codebuild/lib/aws-sdk-codebuild/types.rb', line 808

class CreateProjectInput < Struct.new(
  :name,
  :description,
  :source,
  :secondary_sources,
  :source_version,
  :secondary_source_versions,
  :artifacts,
  :secondary_artifacts,
  :cache,
  :environment,
  :service_role,
  :timeout_in_minutes,
  :queued_timeout_in_minutes,
  :encryption_key,
  :tags,
  :vpc_config,
  :badge_enabled,
  :logs_config)
  include Aws::Structure
end

#secondary_artifactsArray<Types::ProjectArtifacts>

An array of ProjectArtifacts objects.

Returns:



808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
# File 'gems/aws-sdk-codebuild/lib/aws-sdk-codebuild/types.rb', line 808

class CreateProjectInput < Struct.new(
  :name,
  :description,
  :source,
  :secondary_sources,
  :source_version,
  :secondary_source_versions,
  :artifacts,
  :secondary_artifacts,
  :cache,
  :environment,
  :service_role,
  :timeout_in_minutes,
  :queued_timeout_in_minutes,
  :encryption_key,
  :tags,
  :vpc_config,
  :badge_enabled,
  :logs_config)
  include Aws::Structure
end

#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:



808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
# File 'gems/aws-sdk-codebuild/lib/aws-sdk-codebuild/types.rb', line 808

class CreateProjectInput < Struct.new(
  :name,
  :description,
  :source,
  :secondary_sources,
  :source_version,
  :secondary_source_versions,
  :artifacts,
  :secondary_artifacts,
  :cache,
  :environment,
  :service_role,
  :timeout_in_minutes,
  :queued_timeout_in_minutes,
  :encryption_key,
  :tags,
  :vpc_config,
  :badge_enabled,
  :logs_config)
  include Aws::Structure
end

#secondary_sourcesArray<Types::ProjectSource>

An array of ProjectSource objects.

Returns:



808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
# File 'gems/aws-sdk-codebuild/lib/aws-sdk-codebuild/types.rb', line 808

class CreateProjectInput < Struct.new(
  :name,
  :description,
  :source,
  :secondary_sources,
  :source_version,
  :secondary_source_versions,
  :artifacts,
  :secondary_artifacts,
  :cache,
  :environment,
  :service_role,
  :timeout_in_minutes,
  :queued_timeout_in_minutes,
  :encryption_key,
  :tags,
  :vpc_config,
  :badge_enabled,
  :logs_config)
  include Aws::Structure
end

#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)


808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
# File 'gems/aws-sdk-codebuild/lib/aws-sdk-codebuild/types.rb', line 808

class CreateProjectInput < Struct.new(
  :name,
  :description,
  :source,
  :secondary_sources,
  :source_version,
  :secondary_source_versions,
  :artifacts,
  :secondary_artifacts,
  :cache,
  :environment,
  :service_role,
  :timeout_in_minutes,
  :queued_timeout_in_minutes,
  :encryption_key,
  :tags,
  :vpc_config,
  :badge_enabled,
  :logs_config)
  include Aws::Structure
end

#sourceTypes::ProjectSource

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



808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
# File 'gems/aws-sdk-codebuild/lib/aws-sdk-codebuild/types.rb', line 808

class CreateProjectInput < Struct.new(
  :name,
  :description,
  :source,
  :secondary_sources,
  :source_version,
  :secondary_source_versions,
  :artifacts,
  :secondary_artifacts,
  :cache,
  :environment,
  :service_role,
  :timeout_in_minutes,
  :queued_timeout_in_minutes,
  :encryption_key,
  :tags,
  :vpc_config,
  :badge_enabled,
  :logs_config)
  include Aws::Structure
end

#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 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)


808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
# File 'gems/aws-sdk-codebuild/lib/aws-sdk-codebuild/types.rb', line 808

class CreateProjectInput < Struct.new(
  :name,
  :description,
  :source,
  :secondary_sources,
  :source_version,
  :secondary_source_versions,
  :artifacts,
  :secondary_artifacts,
  :cache,
  :environment,
  :service_role,
  :timeout_in_minutes,
  :queued_timeout_in_minutes,
  :encryption_key,
  :tags,
  :vpc_config,
  :badge_enabled,
  :logs_config)
  include Aws::Structure
end

#tagsArray<Types::Tag>

A set of tags for this build project.

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

Returns:



808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
# File 'gems/aws-sdk-codebuild/lib/aws-sdk-codebuild/types.rb', line 808

class CreateProjectInput < Struct.new(
  :name,
  :description,
  :source,
  :secondary_sources,
  :source_version,
  :secondary_source_versions,
  :artifacts,
  :secondary_artifacts,
  :cache,
  :environment,
  :service_role,
  :timeout_in_minutes,
  :queued_timeout_in_minutes,
  :encryption_key,
  :tags,
  :vpc_config,
  :badge_enabled,
  :logs_config)
  include Aws::Structure
end

#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)


808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
# File 'gems/aws-sdk-codebuild/lib/aws-sdk-codebuild/types.rb', line 808

class CreateProjectInput < Struct.new(
  :name,
  :description,
  :source,
  :secondary_sources,
  :source_version,
  :secondary_source_versions,
  :artifacts,
  :secondary_artifacts,
  :cache,
  :environment,
  :service_role,
  :timeout_in_minutes,
  :queued_timeout_in_minutes,
  :encryption_key,
  :tags,
  :vpc_config,
  :badge_enabled,
  :logs_config)
  include Aws::Structure
end

#vpc_configTypes::VpcConfig

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

Returns:



808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
# File 'gems/aws-sdk-codebuild/lib/aws-sdk-codebuild/types.rb', line 808

class CreateProjectInput < Struct.new(
  :name,
  :description,
  :source,
  :secondary_sources,
  :source_version,
  :secondary_source_versions,
  :artifacts,
  :secondary_artifacts,
  :cache,
  :environment,
  :service_role,
  :timeout_in_minutes,
  :queued_timeout_in_minutes,
  :encryption_key,
  :tags,
  :vpc_config,
  :badge_enabled,
  :logs_config)
  include Aws::Structure
end