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

Class: Aws::CodeBuild::Client

Inherits:
Seahorse::Client::Base show all
Defined in:
(unknown)

Overview

An API client for AWS CodeBuild. To construct a client, you need to configure a :region and :credentials.

codebuild = Aws::CodeBuild::Client.new(
  region: region_name,
  credentials: credentials,
  # ...
)

See #initialize for a full list of supported configuration options.

Region

You can configure a default region in the following locations:

  • ENV['AWS_REGION']
  • Aws.config[:region]

Go here for a list of supported regions.

Credentials

Default credentials are loaded automatically from the following locations:

  • ENV['AWS_ACCESS_KEY_ID'] and ENV['AWS_SECRET_ACCESS_KEY']
  • Aws.config[:credentials]
  • The shared credentials ini file at ~/.aws/credentials (more information)
  • From an instance profile when running on EC2

You can also construct a credentials object from one of the following classes:

Alternatively, you configure credentials with :access_key_id and :secret_access_key:

# load credentials from disk
creds = YAML.load(File.read('/path/to/secrets'))

Aws::CodeBuild::Client.new(
  access_key_id: creds['access_key_id'],
  secret_access_key: creds['secret_access_key']
)

Always load your credentials from outside your application. Avoid configuring credentials statically and never commit them to source control.

Instance Attribute Summary

Attributes inherited from Seahorse::Client::Base

#config, #handlers

Constructor collapse

API Operations collapse

Instance Method Summary collapse

Methods inherited from Seahorse::Client::Base

add_plugin, api, #build_request, clear_plugins, define, new, #operation, #operation_names, plugins, remove_plugin, set_api, set_plugins

Methods included from Seahorse::Client::HandlerBuilder

#handle, #handle_request, #handle_response

Constructor Details

#initialize(options = {}) ⇒ Aws::CodeBuild::Client

Constructs an API client.

Options Hash (options):

  • :access_key_id (String)

    Used to set credentials statically. See Plugins::RequestSigner for more details.

  • :active_endpoint_cache (Boolean)

    When set to true, a thread polling for endpoints will be running in the background every 60 secs (default). Defaults to false. See Plugins::EndpointDiscovery for more details.

  • :convert_params (Boolean) — default: true

    When true, an attempt is made to coerce request parameters into the required types. See Plugins::ParamConverter for more details.

  • :credentials (required, Credentials)

    Your AWS credentials. The following locations will be searched in order for credentials:

    • :access_key_id, :secret_access_key, and :session_token options
    • ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
    • HOME/.aws/credentials shared credentials file
    • EC2 instance profile credentials See Plugins::RequestSigner for more details.
  • :disable_host_prefix_injection (Boolean)

    Set to true to disable SDK automatically adding host prefix to default service endpoint when available. See Plugins::EndpointPattern for more details.

  • :endpoint (String)

    A default endpoint is constructed from the :region. See Plugins::RegionalEndpoint for more details.

  • :endpoint_cache_max_entries (Integer)

    Used for the maximum size limit of the LRU cache storing endpoints data for endpoint discovery enabled operations. Defaults to 1000. See Plugins::EndpointDiscovery for more details.

  • :endpoint_cache_max_threads (Integer)

    Used for the maximum threads in use for polling endpoints to be cached, defaults to 10. See Plugins::EndpointDiscovery for more details.

  • :endpoint_cache_poll_interval (Integer)

    When :endpoint_discovery and :active_endpoint_cache is enabled, Use this option to config the time interval in seconds for making requests fetching endpoints information. Defaults to 60 sec. See Plugins::EndpointDiscovery for more details.

  • :endpoint_discovery (Boolean)

    When set to true, endpoint discovery will be enabled for operations when available. Defaults to false. See Plugins::EndpointDiscovery for more details.

  • :http_continue_timeout (Float) — default: 1

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :http_idle_timeout (Integer) — default: 5

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :http_open_timeout (Integer) — default: 15

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :http_proxy (String)

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :http_read_timeout (Integer) — default: 60

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :http_wire_trace (Boolean) — default: false

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :log_level (Symbol) — default: :info

    The log level to send messages to the logger at. See Plugins::Logging for more details.

  • :log_formatter (Logging::LogFormatter)

    The log formatter. Defaults to Seahorse::Client::Logging::Formatter.default. See Plugins::Logging for more details.

  • :logger (Logger) — default: nil

    The Logger instance to send log messages to. If this option is not set, logging will be disabled. See Plugins::Logging for more details.

  • :profile (String)

    Used when loading credentials from the shared credentials file at HOME/.aws/credentials. When not specified, 'default' is used. See Plugins::RequestSigner for more details.

  • :raise_response_errors (Boolean) — default: true

    When true, response errors are raised. See Seahorse::Client::Plugins::RaiseResponseErrors for more details.

  • :region (required, String)

    The AWS region to connect to. The region is used to construct the client endpoint. Defaults to ENV['AWS_REGION']. Also checks AMAZON_REGION and AWS_DEFAULT_REGION. See Plugins::RegionalEndpoint for more details.

  • :retry_limit (Integer) — default: 3

    The maximum number of times to retry failed requests. Only ~ 500 level server errors and certain ~ 400 level client errors are retried. Generally, these are throttling errors, data checksum errors, networking errors, timeout errors and auth errors from expired credentials. See Plugins::RetryErrors for more details.

  • :secret_access_key (String)

    Used to set credentials statically. See Plugins::RequestSigner for more details.

  • :session_token (String)

    Used to set credentials statically. See Plugins::RequestSigner for more details.

  • :simple_json (Boolean) — default: false

    Disables request parameter conversion, validation, and formatting. Also disable response data type conversions. This option is useful when you want to ensure the highest level of performance by avoiding overhead of walking request parameters and response data structures.

    When :simple_json is enabled, the request parameters hash must be formatted exactly as the DynamoDB API expects. See Plugins::Protocols::JsonRpc for more details.

  • :ssl_ca_bundle (String)

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :ssl_ca_directory (String)

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :ssl_ca_store (String)

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :ssl_verify_peer (Boolean) — default: true

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :stub_responses (Boolean) — default: false

    Causes the client to return stubbed responses. By default fake responses are generated and returned. You can specify the response data to return or errors to raise by calling Aws::ClientStubs#stub_responses. See Aws::ClientStubs for more information.

    Please note When response stubbing is enabled, no HTTP requests are made, and retries are disabled. See Plugins::StubResponses for more details.

  • :validate_params (Boolean) — default: true

    When true, request parameters are validated before sending the request. See Plugins::ParamValidator for more details.

Instance Method Details

#batch_delete_builds(options = {}) ⇒ Types::BatchDeleteBuildsOutput

Deletes one or more builds.

Examples:

Request syntax with placeholder values


resp = client.batch_delete_builds({
  ids: ["NonEmptyString"], # required
})

Response structure


resp.builds_deleted #=> Array
resp.builds_deleted[0] #=> String
resp.builds_not_deleted #=> Array
resp.builds_not_deleted[0].id #=> String
resp.builds_not_deleted[0].status_code #=> String

Options Hash (options):

  • :ids (required, Array<String>)

    The IDs of the builds to delete.

Returns:

See Also:

#batch_get_build_batches(options = {}) ⇒ Types::BatchGetBuildBatchesOutput

Retrieves information about one or more batch builds.

Examples:

Request syntax with placeholder values


resp = client.batch_get_build_batches({
  ids: ["NonEmptyString"], # required
})

Response structure


resp.build_batches #=> Array
resp.build_batches[0].id #=> String
resp.build_batches[0].arn #=> String
resp.build_batches[0].start_time #=> Time
resp.build_batches[0].end_time #=> Time
resp.build_batches[0].current_phase #=> String
resp.build_batches[0].build_batch_status #=> String, one of "SUCCEEDED", "FAILED", "FAULT", "TIMED_OUT", "IN_PROGRESS", "STOPPED"
resp.build_batches[0].source_version #=> String
resp.build_batches[0].resolved_source_version #=> String
resp.build_batches[0].project_name #=> String
resp.build_batches[0].phases #=> Array
resp.build_batches[0].phases[0].phase_type #=> String, one of "SUBMITTED", "DOWNLOAD_BATCHSPEC", "IN_PROGRESS", "COMBINE_ARTIFACTS", "SUCCEEDED", "FAILED", "STOPPED"
resp.build_batches[0].phases[0].phase_status #=> String, one of "SUCCEEDED", "FAILED", "FAULT", "TIMED_OUT", "IN_PROGRESS", "STOPPED"
resp.build_batches[0].phases[0].start_time #=> Time
resp.build_batches[0].phases[0].end_time #=> Time
resp.build_batches[0].phases[0].duration_in_seconds #=> Integer
resp.build_batches[0].phases[0].contexts #=> Array
resp.build_batches[0].phases[0].contexts[0].status_code #=> String
resp.build_batches[0].phases[0].contexts[0].message #=> String
resp.build_batches[0].source.type #=> String, one of "CODECOMMIT", "CODEPIPELINE", "GITHUB", "S3", "BITBUCKET", "GITHUB_ENTERPRISE", "NO_SOURCE"
resp.build_batches[0].source.location #=> String
resp.build_batches[0].source.git_clone_depth #=> Integer
resp.build_batches[0].source.git_submodules_config.fetch_submodules #=> true/false
resp.build_batches[0].source.buildspec #=> String
resp.build_batches[0].source.auth.type #=> String, one of "OAUTH"
resp.build_batches[0].source.auth.resource #=> String
resp.build_batches[0].source.report_build_status #=> true/false
resp.build_batches[0].source.build_status_config.context #=> String
resp.build_batches[0].source.build_status_config.target_url #=> String
resp.build_batches[0].source.insecure_ssl #=> true/false
resp.build_batches[0].source.source_identifier #=> String
resp.build_batches[0].secondary_sources #=> Array
resp.build_batches[0].secondary_sources[0].type #=> String, one of "CODECOMMIT", "CODEPIPELINE", "GITHUB", "S3", "BITBUCKET", "GITHUB_ENTERPRISE", "NO_SOURCE"
resp.build_batches[0].secondary_sources[0].location #=> String
resp.build_batches[0].secondary_sources[0].git_clone_depth #=> Integer
resp.build_batches[0].secondary_sources[0].git_submodules_config.fetch_submodules #=> true/false
resp.build_batches[0].secondary_sources[0].buildspec #=> String
resp.build_batches[0].secondary_sources[0].auth.type #=> String, one of "OAUTH"
resp.build_batches[0].secondary_sources[0].auth.resource #=> String
resp.build_batches[0].secondary_sources[0].report_build_status #=> true/false
resp.build_batches[0].secondary_sources[0].build_status_config.context #=> String
resp.build_batches[0].secondary_sources[0].build_status_config.target_url #=> String
resp.build_batches[0].secondary_sources[0].insecure_ssl #=> true/false
resp.build_batches[0].secondary_sources[0].source_identifier #=> String
resp.build_batches[0].secondary_source_versions #=> Array
resp.build_batches[0].secondary_source_versions[0].source_identifier #=> String
resp.build_batches[0].secondary_source_versions[0].source_version #=> String
resp.build_batches[0].artifacts.location #=> String
resp.build_batches[0].artifacts.sha256sum #=> String
resp.build_batches[0].artifacts.md5sum #=> String
resp.build_batches[0].artifacts.override_artifact_name #=> true/false
resp.build_batches[0].artifacts.encryption_disabled #=> true/false
resp.build_batches[0].artifacts.artifact_identifier #=> String
resp.build_batches[0].secondary_artifacts #=> Array
resp.build_batches[0].secondary_artifacts[0].location #=> String
resp.build_batches[0].secondary_artifacts[0].sha256sum #=> String
resp.build_batches[0].secondary_artifacts[0].md5sum #=> String
resp.build_batches[0].secondary_artifacts[0].override_artifact_name #=> true/false
resp.build_batches[0].secondary_artifacts[0].encryption_disabled #=> true/false
resp.build_batches[0].secondary_artifacts[0].artifact_identifier #=> String
resp.build_batches[0].cache.type #=> String, one of "NO_CACHE", "S3", "LOCAL"
resp.build_batches[0].cache.location #=> String
resp.build_batches[0].cache.modes #=> Array
resp.build_batches[0].cache.modes[0] #=> String, one of "LOCAL_DOCKER_LAYER_CACHE", "LOCAL_SOURCE_CACHE", "LOCAL_CUSTOM_CACHE"
resp.build_batches[0].environment.type #=> String, one of "WINDOWS_CONTAINER", "LINUX_CONTAINER", "LINUX_GPU_CONTAINER", "ARM_CONTAINER", "WINDOWS_SERVER_2019_CONTAINER"
resp.build_batches[0].environment.image #=> String
resp.build_batches[0].environment.compute_type #=> String, one of "BUILD_GENERAL1_SMALL", "BUILD_GENERAL1_MEDIUM", "BUILD_GENERAL1_LARGE", "BUILD_GENERAL1_2XLARGE"
resp.build_batches[0].environment.environment_variables #=> Array
resp.build_batches[0].environment.environment_variables[0].name #=> String
resp.build_batches[0].environment.environment_variables[0].value #=> String
resp.build_batches[0].environment.environment_variables[0].type #=> String, one of "PLAINTEXT", "PARAMETER_STORE", "SECRETS_MANAGER"
resp.build_batches[0].environment.privileged_mode #=> true/false
resp.build_batches[0].environment.certificate #=> String
resp.build_batches[0].environment.registry_credential.credential #=> String
resp.build_batches[0].environment.registry_credential.credential_provider #=> String, one of "SECRETS_MANAGER"
resp.build_batches[0].environment.image_pull_credentials_type #=> String, one of "CODEBUILD", "SERVICE_ROLE"
resp.build_batches[0].service_role #=> String
resp.build_batches[0].log_config.cloud_watch_logs.status #=> String, one of "ENABLED", "DISABLED"
resp.build_batches[0].log_config.cloud_watch_logs.group_name #=> String
resp.build_batches[0].log_config.cloud_watch_logs.stream_name #=> String
resp.build_batches[0].log_config.s3_logs.status #=> String, one of "ENABLED", "DISABLED"
resp.build_batches[0].log_config.s3_logs.location #=> String
resp.build_batches[0].log_config.s3_logs.encryption_disabled #=> true/false
resp.build_batches[0].build_timeout_in_minutes #=> Integer
resp.build_batches[0].queued_timeout_in_minutes #=> Integer
resp.build_batches[0].complete #=> true/false
resp.build_batches[0].initiator #=> String
resp.build_batches[0].vpc_config.vpc_id #=> String
resp.build_batches[0].vpc_config.subnets #=> Array
resp.build_batches[0].vpc_config.subnets[0] #=> String
resp.build_batches[0].vpc_config.security_group_ids #=> Array
resp.build_batches[0].vpc_config.security_group_ids[0] #=> String
resp.build_batches[0].encryption_key #=> String
resp.build_batches[0].build_batch_number #=> Integer
resp.build_batches[0].file_system_locations #=> Array
resp.build_batches[0].file_system_locations[0].type #=> String, one of "EFS"
resp.build_batches[0].file_system_locations[0].location #=> String
resp.build_batches[0].file_system_locations[0].mount_point #=> String
resp.build_batches[0].file_system_locations[0].identifier #=> String
resp.build_batches[0].file_system_locations[0].mount_options #=> String
resp.build_batches[0].build_batch_config.service_role #=> String
resp.build_batches[0].build_batch_config.combine_artifacts #=> true/false
resp.build_batches[0].build_batch_config.restrictions.maximum_builds_allowed #=> Integer
resp.build_batches[0].build_batch_config.restrictions.compute_types_allowed #=> Array
resp.build_batches[0].build_batch_config.restrictions.compute_types_allowed[0] #=> String
resp.build_batches[0].build_batch_config.timeout_in_mins #=> Integer
resp.build_batches[0].build_groups #=> Array
resp.build_batches[0].build_groups[0].identifier #=> String
resp.build_batches[0].build_groups[0].depends_on #=> Array
resp.build_batches[0].build_groups[0].depends_on[0] #=> String
resp.build_batches[0].build_groups[0].ignore_failure #=> true/false
resp.build_batches[0].build_groups[0].current_build_summary.arn #=> String
resp.build_batches[0].build_groups[0].current_build_summary.requested_on #=> Time
resp.build_batches[0].build_groups[0].current_build_summary.build_status #=> String, one of "SUCCEEDED", "FAILED", "FAULT", "TIMED_OUT", "IN_PROGRESS", "STOPPED"
resp.build_batches[0].build_groups[0].current_build_summary.primary_artifact.type #=> String, one of "CODEPIPELINE", "S3", "NO_ARTIFACTS"
resp.build_batches[0].build_groups[0].current_build_summary.primary_artifact.location #=> String
resp.build_batches[0].build_groups[0].current_build_summary.primary_artifact.identifier #=> String
resp.build_batches[0].build_groups[0].current_build_summary.secondary_artifacts #=> Array
resp.build_batches[0].build_groups[0].current_build_summary.secondary_artifacts[0].type #=> String, one of "CODEPIPELINE", "S3", "NO_ARTIFACTS"
resp.build_batches[0].build_groups[0].current_build_summary.secondary_artifacts[0].location #=> String
resp.build_batches[0].build_groups[0].current_build_summary.secondary_artifacts[0].identifier #=> String
resp.build_batches[0].build_groups[0].prior_build_summary_list #=> Array
resp.build_batches[0].build_groups[0].prior_build_summary_list[0].arn #=> String
resp.build_batches[0].build_groups[0].prior_build_summary_list[0].requested_on #=> Time
resp.build_batches[0].build_groups[0].prior_build_summary_list[0].build_status #=> String, one of "SUCCEEDED", "FAILED", "FAULT", "TIMED_OUT", "IN_PROGRESS", "STOPPED"
resp.build_batches[0].build_groups[0].prior_build_summary_list[0].primary_artifact.type #=> String, one of "CODEPIPELINE", "S3", "NO_ARTIFACTS"
resp.build_batches[0].build_groups[0].prior_build_summary_list[0].primary_artifact.location #=> String
resp.build_batches[0].build_groups[0].prior_build_summary_list[0].primary_artifact.identifier #=> String
resp.build_batches[0].build_groups[0].prior_build_summary_list[0].secondary_artifacts #=> Array
resp.build_batches[0].build_groups[0].prior_build_summary_list[0].secondary_artifacts[0].type #=> String, one of "CODEPIPELINE", "S3", "NO_ARTIFACTS"
resp.build_batches[0].build_groups[0].prior_build_summary_list[0].secondary_artifacts[0].location #=> String
resp.build_batches[0].build_groups[0].prior_build_summary_list[0].secondary_artifacts[0].identifier #=> String
resp.build_batches_not_found #=> Array
resp.build_batches_not_found[0] #=> String

Options Hash (options):

  • :ids (required, Array<String>)

    An array that contains the batch build identifiers to retrieve.

Returns:

See Also:

#batch_get_builds(options = {}) ⇒ Types::BatchGetBuildsOutput

Gets information about one or more builds.

Examples:

Example: To get information about builds


# The following example gets information about builds with the specified build IDs.

resp = client.batch_get_builds({
  ids: [
    "codebuild-demo-project:9b0ac37f-d19e-4254-9079-f47e9a389eEX", 
    "codebuild-demo-project:b79a46f7-1473-4636-a23f-da9c45c208EX", 
  ], 
})

# resp.to_h outputs the following:
{
  builds: [
    {
      arn: "arn:aws:codebuild:us-east-1:123456789012:build/codebuild-demo-project:9b0ac37f-d19e-4254-9079-f47e9a389eEX", 
      artifacts: {
        location: "arn:aws:s3:::codebuild-123456789012-output-bucket/codebuild-demo-project", 
      }, 
      build_complete: true, 
      build_status: "SUCCEEDED", 
      current_phase: "COMPLETED", 
      end_time: Time.parse(1479832474.764), 
      environment: {
        type: "LINUX_CONTAINER", 
        compute_type: "BUILD_GENERAL1_SMALL", 
        environment_variables: [
        ], 
        image: "aws/codebuild/java:openjdk-8", 
        privileged_mode: false, 
      }, 
      id: "codebuild-demo-project:9b0ac37f-d19e-4254-9079-f47e9a389eEX", 
      initiator: "MyDemoUser", 
      logs: {
        deep_link: "https://console.aws.amazon.com/cloudwatch/home?region=us-east-1#logEvent:group=/aws/codebuild/codebuild-demo-project;stream=9b0ac37f-d19e-4254-9079-f47e9a389eEX", 
        group_name: "/aws/codebuild/codebuild-demo-project", 
        stream_name: "9b0ac37f-d19e-4254-9079-f47e9a389eEX", 
      }, 
      phases: [
        {
          duration_in_seconds: 0, 
          end_time: Time.parse(1479832342.23), 
          phase_status: "SUCCEEDED", 
          phase_type: "SUBMITTED", 
          start_time: Time.parse(1479832341.854), 
        }, 
        {
          contexts: [
          ], 
          duration_in_seconds: 72, 
          end_time: Time.parse(1479832415.064), 
          phase_status: "SUCCEEDED", 
          phase_type: "PROVISIONING", 
          start_time: Time.parse(1479832342.23), 
        }, 
        {
          contexts: [
          ], 
          duration_in_seconds: 46, 
          end_time: Time.parse(1479832461.261), 
          phase_status: "SUCCEEDED", 
          phase_type: "DOWNLOAD_SOURCE", 
          start_time: Time.parse(1479832415.064), 
        }, 
        {
          contexts: [
          ], 
          duration_in_seconds: 0, 
          end_time: Time.parse(1479832461.354), 
          phase_status: "SUCCEEDED", 
          phase_type: "INSTALL", 
          start_time: Time.parse(1479832461.261), 
        }, 
        {
          contexts: [
          ], 
          duration_in_seconds: 0, 
          end_time: Time.parse(1479832461.448), 
          phase_status: "SUCCEEDED", 
          phase_type: "PRE_BUILD", 
          start_time: Time.parse(1479832461.354), 
        }, 
        {
          contexts: [
          ], 
          duration_in_seconds: 9, 
          end_time: Time.parse(1479832471.115), 
          phase_status: "SUCCEEDED", 
          phase_type: "BUILD", 
          start_time: Time.parse(1479832461.448), 
        }, 
        {
          contexts: [
          ], 
          duration_in_seconds: 0, 
          end_time: Time.parse(1479832471.224), 
          phase_status: "SUCCEEDED", 
          phase_type: "POST_BUILD", 
          start_time: Time.parse(1479832471.115), 
        }, 
        {
          contexts: [
          ], 
          duration_in_seconds: 0, 
          end_time: Time.parse(1479832471.791), 
          phase_status: "SUCCEEDED", 
          phase_type: "UPLOAD_ARTIFACTS", 
          start_time: Time.parse(1479832471.224), 
        }, 
        {
          contexts: [
          ], 
          duration_in_seconds: 2, 
          end_time: Time.parse(1479832474.764), 
          phase_status: "SUCCEEDED", 
          phase_type: "FINALIZING", 
          start_time: Time.parse(1479832471.791), 
        }, 
        {
          phase_type: "COMPLETED", 
          start_time: Time.parse(1479832474.764), 
        }, 
      ], 
      project_name: "codebuild-demo-project", 
      source: {
        type: "S3", 
        buildspec: "", 
        location: "arn:aws:s3:::codebuild-123456789012-input-bucket/MessageUtil.zip", 
      }, 
      start_time: Time.parse(1479832341.854), 
      timeout_in_minutes: 60, 
    }, 
    {
      arn: "arn:aws:codebuild:us-east-1:123456789012:build/codebuild-demo-project:b79a46f7-1473-4636-a23f-da9c45c208EX", 
      artifacts: {
        location: "arn:aws:s3:::codebuild-123456789012-output-bucket/codebuild-demo-project", 
      }, 
      build_complete: true, 
      build_status: "SUCCEEDED", 
      current_phase: "COMPLETED", 
      end_time: Time.parse(1479401214.239), 
      environment: {
        type: "LINUX_CONTAINER", 
        compute_type: "BUILD_GENERAL1_SMALL", 
        environment_variables: [
        ], 
        image: "aws/codebuild/java:openjdk-8", 
        privileged_mode: false, 
      }, 
      id: "codebuild-demo-project:b79a46f7-1473-4636-a23f-da9c45c208EX", 
      initiator: "MyDemoUser", 
      logs: {
        deep_link: "https://console.aws.amazon.com/cloudwatch/home?region=us-east-1#logEvent:group=/aws/codebuild/codebuild-demo-project;stream=b79a46f7-1473-4636-a23f-da9c45c208EX", 
        group_name: "/aws/codebuild/codebuild-demo-project", 
        stream_name: "b79a46f7-1473-4636-a23f-da9c45c208EX", 
      }, 
      phases: [
        {
          duration_in_seconds: 0, 
          end_time: Time.parse(1479401082.342), 
          phase_status: "SUCCEEDED", 
          phase_type: "SUBMITTED", 
          start_time: Time.parse(1479401081.869), 
        }, 
        {
          contexts: [
          ], 
          duration_in_seconds: 71, 
          end_time: Time.parse(1479401154.129), 
          phase_status: "SUCCEEDED", 
          phase_type: "PROVISIONING", 
          start_time: Time.parse(1479401082.342), 
        }, 
        {
          contexts: [
          ], 
          duration_in_seconds: 45, 
          end_time: Time.parse(1479401199.136), 
          phase_status: "SUCCEEDED", 
          phase_type: "DOWNLOAD_SOURCE", 
          start_time: Time.parse(1479401154.129), 
        }, 
        {
          contexts: [
          ], 
          duration_in_seconds: 0, 
          end_time: Time.parse(1479401199.236), 
          phase_status: "SUCCEEDED", 
          phase_type: "INSTALL", 
          start_time: Time.parse(1479401199.136), 
        }, 
        {
          contexts: [
          ], 
          duration_in_seconds: 0, 
          end_time: Time.parse(1479401199.345), 
          phase_status: "SUCCEEDED", 
          phase_type: "PRE_BUILD", 
          start_time: Time.parse(1479401199.236), 
        }, 
        {
          contexts: [
          ], 
          duration_in_seconds: 9, 
          end_time: Time.parse(1479401208.68), 
          phase_status: "SUCCEEDED", 
          phase_type: "BUILD", 
          start_time: Time.parse(1479401199.345), 
        }, 
        {
          contexts: [
          ], 
          duration_in_seconds: 0, 
          end_time: Time.parse(1479401208.783), 
          phase_status: "SUCCEEDED", 
          phase_type: "POST_BUILD", 
          start_time: Time.parse(1479401208.68), 
        }, 
        {
          contexts: [
          ], 
          duration_in_seconds: 0, 
          end_time: Time.parse(1479401209.463), 
          phase_status: "SUCCEEDED", 
          phase_type: "UPLOAD_ARTIFACTS", 
          start_time: Time.parse(1479401208.783), 
        }, 
        {
          contexts: [
          ], 
          duration_in_seconds: 4, 
          end_time: Time.parse(1479401214.239), 
          phase_status: "SUCCEEDED", 
          phase_type: "FINALIZING", 
          start_time: Time.parse(1479401209.463), 
        }, 
        {
          phase_type: "COMPLETED", 
          start_time: Time.parse(1479401214.239), 
        }, 
      ], 
      project_name: "codebuild-demo-project", 
      source: {
        type: "S3", 
        location: "arn:aws:s3:::codebuild-123456789012-input-bucket/MessageUtil.zip", 
      }, 
      start_time: Time.parse(1479401081.869), 
      timeout_in_minutes: 60, 
    }, 
  ], 
}

Request syntax with placeholder values


resp = client.batch_get_builds({
  ids: ["NonEmptyString"], # required
})

Response structure


resp.builds #=> Array
resp.builds[0].id #=> String
resp.builds[0].arn #=> String
resp.builds[0].build_number #=> Integer
resp.builds[0].start_time #=> Time
resp.builds[0].end_time #=> Time
resp.builds[0].current_phase #=> String
resp.builds[0].build_status #=> String, one of "SUCCEEDED", "FAILED", "FAULT", "TIMED_OUT", "IN_PROGRESS", "STOPPED"
resp.builds[0].source_version #=> String
resp.builds[0].resolved_source_version #=> String
resp.builds[0].project_name #=> String
resp.builds[0].phases #=> Array
resp.builds[0].phases[0].phase_type #=> String, one of "SUBMITTED", "QUEUED", "PROVISIONING", "DOWNLOAD_SOURCE", "INSTALL", "PRE_BUILD", "BUILD", "POST_BUILD", "UPLOAD_ARTIFACTS", "FINALIZING", "COMPLETED"
resp.builds[0].phases[0].phase_status #=> String, one of "SUCCEEDED", "FAILED", "FAULT", "TIMED_OUT", "IN_PROGRESS", "STOPPED"
resp.builds[0].phases[0].start_time #=> Time
resp.builds[0].phases[0].end_time #=> Time
resp.builds[0].phases[0].duration_in_seconds #=> Integer
resp.builds[0].phases[0].contexts #=> Array
resp.builds[0].phases[0].contexts[0].status_code #=> String
resp.builds[0].phases[0].contexts[0].message #=> String
resp.builds[0].source.type #=> String, one of "CODECOMMIT", "CODEPIPELINE", "GITHUB", "S3", "BITBUCKET", "GITHUB_ENTERPRISE", "NO_SOURCE"
resp.builds[0].source.location #=> String
resp.builds[0].source.git_clone_depth #=> Integer
resp.builds[0].source.git_submodules_config.fetch_submodules #=> true/false
resp.builds[0].source.buildspec #=> String
resp.builds[0].source.auth.type #=> String, one of "OAUTH"
resp.builds[0].source.auth.resource #=> String
resp.builds[0].source.report_build_status #=> true/false
resp.builds[0].source.build_status_config.context #=> String
resp.builds[0].source.build_status_config.target_url #=> String
resp.builds[0].source.insecure_ssl #=> true/false
resp.builds[0].source.source_identifier #=> String
resp.builds[0].secondary_sources #=> Array
resp.builds[0].secondary_sources[0].type #=> String, one of "CODECOMMIT", "CODEPIPELINE", "GITHUB", "S3", "BITBUCKET", "GITHUB_ENTERPRISE", "NO_SOURCE"
resp.builds[0].secondary_sources[0].location #=> String
resp.builds[0].secondary_sources[0].git_clone_depth #=> Integer
resp.builds[0].secondary_sources[0].git_submodules_config.fetch_submodules #=> true/false
resp.builds[0].secondary_sources[0].buildspec #=> String
resp.builds[0].secondary_sources[0].auth.type #=> String, one of "OAUTH"
resp.builds[0].secondary_sources[0].auth.resource #=> String
resp.builds[0].secondary_sources[0].report_build_status #=> true/false
resp.builds[0].secondary_sources[0].build_status_config.context #=> String
resp.builds[0].secondary_sources[0].build_status_config.target_url #=> String
resp.builds[0].secondary_sources[0].insecure_ssl #=> true/false
resp.builds[0].secondary_sources[0].source_identifier #=> String
resp.builds[0].secondary_source_versions #=> Array
resp.builds[0].secondary_source_versions[0].source_identifier #=> String
resp.builds[0].secondary_source_versions[0].source_version #=> String
resp.builds[0].artifacts.location #=> String
resp.builds[0].artifacts.sha256sum #=> String
resp.builds[0].artifacts.md5sum #=> String
resp.builds[0].artifacts.override_artifact_name #=> true/false
resp.builds[0].artifacts.encryption_disabled #=> true/false
resp.builds[0].artifacts.artifact_identifier #=> String
resp.builds[0].secondary_artifacts #=> Array
resp.builds[0].secondary_artifacts[0].location #=> String
resp.builds[0].secondary_artifacts[0].sha256sum #=> String
resp.builds[0].secondary_artifacts[0].md5sum #=> String
resp.builds[0].secondary_artifacts[0].override_artifact_name #=> true/false
resp.builds[0].secondary_artifacts[0].encryption_disabled #=> true/false
resp.builds[0].secondary_artifacts[0].artifact_identifier #=> String
resp.builds[0].cache.type #=> String, one of "NO_CACHE", "S3", "LOCAL"
resp.builds[0].cache.location #=> String
resp.builds[0].cache.modes #=> Array
resp.builds[0].cache.modes[0] #=> String, one of "LOCAL_DOCKER_LAYER_CACHE", "LOCAL_SOURCE_CACHE", "LOCAL_CUSTOM_CACHE"
resp.builds[0].environment.type #=> String, one of "WINDOWS_CONTAINER", "LINUX_CONTAINER", "LINUX_GPU_CONTAINER", "ARM_CONTAINER", "WINDOWS_SERVER_2019_CONTAINER"
resp.builds[0].environment.image #=> String
resp.builds[0].environment.compute_type #=> String, one of "BUILD_GENERAL1_SMALL", "BUILD_GENERAL1_MEDIUM", "BUILD_GENERAL1_LARGE", "BUILD_GENERAL1_2XLARGE"
resp.builds[0].environment.environment_variables #=> Array
resp.builds[0].environment.environment_variables[0].name #=> String
resp.builds[0].environment.environment_variables[0].value #=> String
resp.builds[0].environment.environment_variables[0].type #=> String, one of "PLAINTEXT", "PARAMETER_STORE", "SECRETS_MANAGER"
resp.builds[0].environment.privileged_mode #=> true/false
resp.builds[0].environment.certificate #=> String
resp.builds[0].environment.registry_credential.credential #=> String
resp.builds[0].environment.registry_credential.credential_provider #=> String, one of "SECRETS_MANAGER"
resp.builds[0].environment.image_pull_credentials_type #=> String, one of "CODEBUILD", "SERVICE_ROLE"
resp.builds[0].service_role #=> String
resp.builds[0].logs.group_name #=> String
resp.builds[0].logs.stream_name #=> String
resp.builds[0].logs.deep_link #=> String
resp.builds[0].logs.s3_deep_link #=> String
resp.builds[0].logs.cloud_watch_logs_arn #=> String
resp.builds[0].logs.s3_logs_arn #=> String
resp.builds[0].logs.cloud_watch_logs.status #=> String, one of "ENABLED", "DISABLED"
resp.builds[0].logs.cloud_watch_logs.group_name #=> String
resp.builds[0].logs.cloud_watch_logs.stream_name #=> String
resp.builds[0].logs.s3_logs.status #=> String, one of "ENABLED", "DISABLED"
resp.builds[0].logs.s3_logs.location #=> String
resp.builds[0].logs.s3_logs.encryption_disabled #=> true/false
resp.builds[0].timeout_in_minutes #=> Integer
resp.builds[0].queued_timeout_in_minutes #=> Integer
resp.builds[0].build_complete #=> true/false
resp.builds[0].initiator #=> String
resp.builds[0].vpc_config.vpc_id #=> String
resp.builds[0].vpc_config.subnets #=> Array
resp.builds[0].vpc_config.subnets[0] #=> String
resp.builds[0].vpc_config.security_group_ids #=> Array
resp.builds[0].vpc_config.security_group_ids[0] #=> String
resp.builds[0].network_interface.subnet_id #=> String
resp.builds[0].network_interface.network_interface_id #=> String
resp.builds[0].encryption_key #=> String
resp.builds[0].exported_environment_variables #=> Array
resp.builds[0].exported_environment_variables[0].name #=> String
resp.builds[0].exported_environment_variables[0].value #=> String
resp.builds[0].report_arns #=> Array
resp.builds[0].report_arns[0] #=> String
resp.builds[0].file_system_locations #=> Array
resp.builds[0].file_system_locations[0].type #=> String, one of "EFS"
resp.builds[0].file_system_locations[0].location #=> String
resp.builds[0].file_system_locations[0].mount_point #=> String
resp.builds[0].file_system_locations[0].identifier #=> String
resp.builds[0].file_system_locations[0].mount_options #=> String
resp.builds[0].debug_session.session_enabled #=> true/false
resp.builds[0].debug_session.session_target #=> String
resp.builds[0].build_batch_arn #=> String
resp.builds_not_found #=> Array
resp.builds_not_found[0] #=> String

Options Hash (options):

  • :ids (required, Array<String>)

    The IDs of the builds.

Returns:

See Also:

#batch_get_projects(options = {}) ⇒ Types::BatchGetProjectsOutput

Gets information about one or more build projects.

Examples:

Request syntax with placeholder values


resp = client.batch_get_projects({
  names: ["NonEmptyString"], # required
})

Response structure


resp.projects #=> Array
resp.projects[0].name #=> String
resp.projects[0].arn #=> String
resp.projects[0].description #=> String
resp.projects[0].source.type #=> String, one of "CODECOMMIT", "CODEPIPELINE", "GITHUB", "S3", "BITBUCKET", "GITHUB_ENTERPRISE", "NO_SOURCE"
resp.projects[0].source.location #=> String
resp.projects[0].source.git_clone_depth #=> Integer
resp.projects[0].source.git_submodules_config.fetch_submodules #=> true/false
resp.projects[0].source.buildspec #=> String
resp.projects[0].source.auth.type #=> String, one of "OAUTH"
resp.projects[0].source.auth.resource #=> String
resp.projects[0].source.report_build_status #=> true/false
resp.projects[0].source.build_status_config.context #=> String
resp.projects[0].source.build_status_config.target_url #=> String
resp.projects[0].source.insecure_ssl #=> true/false
resp.projects[0].source.source_identifier #=> String
resp.projects[0].secondary_sources #=> Array
resp.projects[0].secondary_sources[0].type #=> String, one of "CODECOMMIT", "CODEPIPELINE", "GITHUB", "S3", "BITBUCKET", "GITHUB_ENTERPRISE", "NO_SOURCE"
resp.projects[0].secondary_sources[0].location #=> String
resp.projects[0].secondary_sources[0].git_clone_depth #=> Integer
resp.projects[0].secondary_sources[0].git_submodules_config.fetch_submodules #=> true/false
resp.projects[0].secondary_sources[0].buildspec #=> String
resp.projects[0].secondary_sources[0].auth.type #=> String, one of "OAUTH"
resp.projects[0].secondary_sources[0].auth.resource #=> String
resp.projects[0].secondary_sources[0].report_build_status #=> true/false
resp.projects[0].secondary_sources[0].build_status_config.context #=> String
resp.projects[0].secondary_sources[0].build_status_config.target_url #=> String
resp.projects[0].secondary_sources[0].insecure_ssl #=> true/false
resp.projects[0].secondary_sources[0].source_identifier #=> String
resp.projects[0].source_version #=> String
resp.projects[0].secondary_source_versions #=> Array
resp.projects[0].secondary_source_versions[0].source_identifier #=> String
resp.projects[0].secondary_source_versions[0].source_version #=> String
resp.projects[0].artifacts.type #=> String, one of "CODEPIPELINE", "S3", "NO_ARTIFACTS"
resp.projects[0].artifacts.location #=> String
resp.projects[0].artifacts.path #=> String
resp.projects[0].artifacts.namespace_type #=> String, one of "NONE", "BUILD_ID"
resp.projects[0].artifacts.name #=> String
resp.projects[0].artifacts.packaging #=> String, one of "NONE", "ZIP"
resp.projects[0].artifacts.override_artifact_name #=> true/false
resp.projects[0].artifacts.encryption_disabled #=> true/false
resp.projects[0].artifacts.artifact_identifier #=> String
resp.projects[0].secondary_artifacts #=> Array
resp.projects[0].secondary_artifacts[0].type #=> String, one of "CODEPIPELINE", "S3", "NO_ARTIFACTS"
resp.projects[0].secondary_artifacts[0].location #=> String
resp.projects[0].secondary_artifacts[0].path #=> String
resp.projects[0].secondary_artifacts[0].namespace_type #=> String, one of "NONE", "BUILD_ID"
resp.projects[0].secondary_artifacts[0].name #=> String
resp.projects[0].secondary_artifacts[0].packaging #=> String, one of "NONE", "ZIP"
resp.projects[0].secondary_artifacts[0].override_artifact_name #=> true/false
resp.projects[0].secondary_artifacts[0].encryption_disabled #=> true/false
resp.projects[0].secondary_artifacts[0].artifact_identifier #=> String
resp.projects[0].cache.type #=> String, one of "NO_CACHE", "S3", "LOCAL"
resp.projects[0].cache.location #=> String
resp.projects[0].cache.modes #=> Array
resp.projects[0].cache.modes[0] #=> String, one of "LOCAL_DOCKER_LAYER_CACHE", "LOCAL_SOURCE_CACHE", "LOCAL_CUSTOM_CACHE"
resp.projects[0].environment.type #=> String, one of "WINDOWS_CONTAINER", "LINUX_CONTAINER", "LINUX_GPU_CONTAINER", "ARM_CONTAINER", "WINDOWS_SERVER_2019_CONTAINER"
resp.projects[0].environment.image #=> String
resp.projects[0].environment.compute_type #=> String, one of "BUILD_GENERAL1_SMALL", "BUILD_GENERAL1_MEDIUM", "BUILD_GENERAL1_LARGE", "BUILD_GENERAL1_2XLARGE"
resp.projects[0].environment.environment_variables #=> Array
resp.projects[0].environment.environment_variables[0].name #=> String
resp.projects[0].environment.environment_variables[0].value #=> String
resp.projects[0].environment.environment_variables[0].type #=> String, one of "PLAINTEXT", "PARAMETER_STORE", "SECRETS_MANAGER"
resp.projects[0].environment.privileged_mode #=> true/false
resp.projects[0].environment.certificate #=> String
resp.projects[0].environment.registry_credential.credential #=> String
resp.projects[0].environment.registry_credential.credential_provider #=> String, one of "SECRETS_MANAGER"
resp.projects[0].environment.image_pull_credentials_type #=> String, one of "CODEBUILD", "SERVICE_ROLE"
resp.projects[0].service_role #=> String
resp.projects[0].timeout_in_minutes #=> Integer
resp.projects[0].queued_timeout_in_minutes #=> Integer
resp.projects[0].encryption_key #=> String
resp.projects[0].tags #=> Array
resp.projects[0].tags[0].key #=> String
resp.projects[0].tags[0].value #=> String
resp.projects[0].created #=> Time
resp.projects[0].last_modified #=> Time
resp.projects[0].webhook.url #=> String
resp.projects[0].webhook.payload_url #=> String
resp.projects[0].webhook.secret #=> String
resp.projects[0].webhook.branch_filter #=> String
resp.projects[0].webhook.filter_groups #=> Array
resp.projects[0].webhook.filter_groups[0] #=> Array
resp.projects[0].webhook.filter_groups[0][0].type #=> String, one of "EVENT", "BASE_REF", "HEAD_REF", "ACTOR_ACCOUNT_ID", "FILE_PATH", "COMMIT_MESSAGE"
resp.projects[0].webhook.filter_groups[0][0].pattern #=> String
resp.projects[0].webhook.filter_groups[0][0].exclude_matched_pattern #=> true/false
resp.projects[0].webhook.build_type #=> String, one of "BUILD", "BUILD_BATCH"
resp.projects[0].webhook.last_modified_secret #=> Time
resp.projects[0].vpc_config.vpc_id #=> String
resp.projects[0].vpc_config.subnets #=> Array
resp.projects[0].vpc_config.subnets[0] #=> String
resp.projects[0].vpc_config.security_group_ids #=> Array
resp.projects[0].vpc_config.security_group_ids[0] #=> String
resp.projects[0].badge.badge_enabled #=> true/false
resp.projects[0].badge.badge_request_url #=> String
resp.projects[0].logs_config.cloud_watch_logs.status #=> String, one of "ENABLED", "DISABLED"
resp.projects[0].logs_config.cloud_watch_logs.group_name #=> String
resp.projects[0].logs_config.cloud_watch_logs.stream_name #=> String
resp.projects[0].logs_config.s3_logs.status #=> String, one of "ENABLED", "DISABLED"
resp.projects[0].logs_config.s3_logs.location #=> String
resp.projects[0].logs_config.s3_logs.encryption_disabled #=> true/false
resp.projects[0].file_system_locations #=> Array
resp.projects[0].file_system_locations[0].type #=> String, one of "EFS"
resp.projects[0].file_system_locations[0].location #=> String
resp.projects[0].file_system_locations[0].mount_point #=> String
resp.projects[0].file_system_locations[0].identifier #=> String
resp.projects[0].file_system_locations[0].mount_options #=> String
resp.projects[0].build_batch_config.service_role #=> String
resp.projects[0].build_batch_config.combine_artifacts #=> true/false
resp.projects[0].build_batch_config.restrictions.maximum_builds_allowed #=> Integer
resp.projects[0].build_batch_config.restrictions.compute_types_allowed #=> Array
resp.projects[0].build_batch_config.restrictions.compute_types_allowed[0] #=> String
resp.projects[0].build_batch_config.timeout_in_mins #=> Integer
resp.projects_not_found #=> Array
resp.projects_not_found[0] #=> String

Options Hash (options):

  • :names (required, Array<String>)

    The names or ARNs of the build projects. To get information about a project shared with your AWS account, its ARN must be specified. You cannot specify a shared project using its name.

Returns:

See Also:

#batch_get_report_groups(options = {}) ⇒ Types::BatchGetReportGroupsOutput

Returns an array of report groups.

Examples:

Request syntax with placeholder values


resp = client.batch_get_report_groups({
  report_group_arns: ["NonEmptyString"], # required
})

Response structure


resp.report_groups #=> Array
resp.report_groups[0].arn #=> String
resp.report_groups[0].name #=> String
resp.report_groups[0].type #=> String, one of "TEST", "CODE_COVERAGE"
resp.report_groups[0].export_config.export_config_type #=> String, one of "S3", "NO_EXPORT"
resp.report_groups[0].export_config.s3_destination.bucket #=> String
resp.report_groups[0].export_config.s3_destination.path #=> String
resp.report_groups[0].export_config.s3_destination.packaging #=> String, one of "ZIP", "NONE"
resp.report_groups[0].export_config.s3_destination.encryption_key #=> String
resp.report_groups[0].export_config.s3_destination.encryption_disabled #=> true/false
resp.report_groups[0].created #=> Time
resp.report_groups[0].last_modified #=> Time
resp.report_groups[0].tags #=> Array
resp.report_groups[0].tags[0].key #=> String
resp.report_groups[0].tags[0].value #=> String
resp.report_groups[0].status #=> String, one of "ACTIVE", "DELETING"
resp.report_groups_not_found #=> Array
resp.report_groups_not_found[0] #=> String

Options Hash (options):

  • :report_group_arns (required, Array<String>)

    An array of report group ARNs that identify the report groups to return.

Returns:

See Also:

#batch_get_reports(options = {}) ⇒ Types::BatchGetReportsOutput

Returns an array of reports.

Examples:

Request syntax with placeholder values


resp = client.batch_get_reports({
  report_arns: ["NonEmptyString"], # required
})

Response structure


resp.reports #=> Array
resp.reports[0].arn #=> String
resp.reports[0].type #=> String, one of "TEST", "CODE_COVERAGE"
resp.reports[0].name #=> String
resp.reports[0].report_group_arn #=> String
resp.reports[0].execution_id #=> String
resp.reports[0].status #=> String, one of "GENERATING", "SUCCEEDED", "FAILED", "INCOMPLETE", "DELETING"
resp.reports[0].created #=> Time
resp.reports[0].expired #=> Time
resp.reports[0].export_config.export_config_type #=> String, one of "S3", "NO_EXPORT"
resp.reports[0].export_config.s3_destination.bucket #=> String
resp.reports[0].export_config.s3_destination.path #=> String
resp.reports[0].export_config.s3_destination.packaging #=> String, one of "ZIP", "NONE"
resp.reports[0].export_config.s3_destination.encryption_key #=> String
resp.reports[0].export_config.s3_destination.encryption_disabled #=> true/false
resp.reports[0].truncated #=> true/false
resp.reports[0].test_summary.total #=> Integer
resp.reports[0].test_summary.status_counts #=> Hash
resp.reports[0].test_summary.status_counts["String"] #=> Integer
resp.reports[0].test_summary.duration_in_nano_seconds #=> Integer
resp.reports[0].code_coverage_summary.line_coverage_percentage #=> Float
resp.reports[0].code_coverage_summary.lines_covered #=> Integer
resp.reports[0].code_coverage_summary.lines_missed #=> Integer
resp.reports[0].code_coverage_summary.branch_coverage_percentage #=> Float
resp.reports[0].code_coverage_summary.branches_covered #=> Integer
resp.reports[0].code_coverage_summary.branches_missed #=> Integer
resp.reports_not_found #=> Array
resp.reports_not_found[0] #=> String

Options Hash (options):

  • :report_arns (required, Array<String>)

    An array of ARNs that identify the Report objects to return.

Returns:

See Also:

#create_project(options = {}) ⇒ Types::CreateProjectOutput

Creates a build project.

Examples:

Request syntax with placeholder values


resp = client.create_project({
  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,
  },
})

Response structure


resp.project.name #=> String
resp.project.arn #=> String
resp.project.description #=> String
resp.project.source.type #=> String, one of "CODECOMMIT", "CODEPIPELINE", "GITHUB", "S3", "BITBUCKET", "GITHUB_ENTERPRISE", "NO_SOURCE"
resp.project.source.location #=> String
resp.project.source.git_clone_depth #=> Integer
resp.project.source.git_submodules_config.fetch_submodules #=> true/false
resp.project.source.buildspec #=> String
resp.project.source.auth.type #=> String, one of "OAUTH"
resp.project.source.auth.resource #=> String
resp.project.source.report_build_status #=> true/false
resp.project.source.build_status_config.context #=> String
resp.project.source.build_status_config.target_url #=> String
resp.project.source.insecure_ssl #=> true/false
resp.project.source.source_identifier #=> String
resp.project.secondary_sources #=> Array
resp.project.secondary_sources[0].type #=> String, one of "CODECOMMIT", "CODEPIPELINE", "GITHUB", "S3", "BITBUCKET", "GITHUB_ENTERPRISE", "NO_SOURCE"
resp.project.secondary_sources[0].location #=> String
resp.project.secondary_sources[0].git_clone_depth #=> Integer
resp.project.secondary_sources[0].git_submodules_config.fetch_submodules #=> true/false
resp.project.secondary_sources[0].buildspec #=> String
resp.project.secondary_sources[0].auth.type #=> String, one of "OAUTH"
resp.project.secondary_sources[0].auth.resource #=> String
resp.project.secondary_sources[0].report_build_status #=> true/false
resp.project.secondary_sources[0].build_status_config.context #=> String
resp.project.secondary_sources[0].build_status_config.target_url #=> String
resp.project.secondary_sources[0].insecure_ssl #=> true/false
resp.project.secondary_sources[0].source_identifier #=> String
resp.project.source_version #=> String
resp.project.secondary_source_versions #=> Array
resp.project.secondary_source_versions[0].source_identifier #=> String
resp.project.secondary_source_versions[0].source_version #=> String
resp.project.artifacts.type #=> String, one of "CODEPIPELINE", "S3", "NO_ARTIFACTS"
resp.project.artifacts.location #=> String
resp.project.artifacts.path #=> String
resp.project.artifacts.namespace_type #=> String, one of "NONE", "BUILD_ID"
resp.project.artifacts.name #=> String
resp.project.artifacts.packaging #=> String, one of "NONE", "ZIP"
resp.project.artifacts.override_artifact_name #=> true/false
resp.project.artifacts.encryption_disabled #=> true/false
resp.project.artifacts.artifact_identifier #=> String
resp.project.secondary_artifacts #=> Array
resp.project.secondary_artifacts[0].type #=> String, one of "CODEPIPELINE", "S3", "NO_ARTIFACTS"
resp.project.secondary_artifacts[0].location #=> String
resp.project.secondary_artifacts[0].path #=> String
resp.project.secondary_artifacts[0].namespace_type #=> String, one of "NONE", "BUILD_ID"
resp.project.secondary_artifacts[0].name #=> String
resp.project.secondary_artifacts[0].packaging #=> String, one of "NONE", "ZIP"
resp.project.secondary_artifacts[0].override_artifact_name #=> true/false
resp.project.secondary_artifacts[0].encryption_disabled #=> true/false
resp.project.secondary_artifacts[0].artifact_identifier #=> String
resp.project.cache.type #=> String, one of "NO_CACHE", "S3", "LOCAL"
resp.project.cache.location #=> String
resp.project.cache.modes #=> Array
resp.project.cache.modes[0] #=> String, one of "LOCAL_DOCKER_LAYER_CACHE", "LOCAL_SOURCE_CACHE", "LOCAL_CUSTOM_CACHE"
resp.project.environment.type #=> String, one of "WINDOWS_CONTAINER", "LINUX_CONTAINER", "LINUX_GPU_CONTAINER", "ARM_CONTAINER", "WINDOWS_SERVER_2019_CONTAINER"
resp.project.environment.image #=> String
resp.project.environment.compute_type #=> String, one of "BUILD_GENERAL1_SMALL", "BUILD_GENERAL1_MEDIUM", "BUILD_GENERAL1_LARGE", "BUILD_GENERAL1_2XLARGE"
resp.project.environment.environment_variables #=> Array
resp.project.environment.environment_variables[0].name #=> String
resp.project.environment.environment_variables[0].value #=> String
resp.project.environment.environment_variables[0].type #=> String, one of "PLAINTEXT", "PARAMETER_STORE", "SECRETS_MANAGER"
resp.project.environment.privileged_mode #=> true/false
resp.project.environment.certificate #=> String
resp.project.environment.registry_credential.credential #=> String
resp.project.environment.registry_credential.credential_provider #=> String, one of "SECRETS_MANAGER"
resp.project.environment.image_pull_credentials_type #=> String, one of "CODEBUILD", "SERVICE_ROLE"
resp.project.service_role #=> String
resp.project.timeout_in_minutes #=> Integer
resp.project.queued_timeout_in_minutes #=> Integer
resp.project.encryption_key #=> String
resp.project.tags #=> Array
resp.project.tags[0].key #=> String
resp.project.tags[0].value #=> String
resp.project.created #=> Time
resp.project.last_modified #=> Time
resp.project.webhook.url #=> String
resp.project.webhook.payload_url #=> String
resp.project.webhook.secret #=> String
resp.project.webhook.branch_filter #=> String
resp.project.webhook.filter_groups #=> Array
resp.project.webhook.filter_groups[0] #=> Array
resp.project.webhook.filter_groups[0][0].type #=> String, one of "EVENT", "BASE_REF", "HEAD_REF", "ACTOR_ACCOUNT_ID", "FILE_PATH", "COMMIT_MESSAGE"
resp.project.webhook.filter_groups[0][0].pattern #=> String
resp.project.webhook.filter_groups[0][0].exclude_matched_pattern #=> true/false
resp.project.webhook.build_type #=> String, one of "BUILD", "BUILD_BATCH"
resp.project.webhook.last_modified_secret #=> Time
resp.project.vpc_config.vpc_id #=> String
resp.project.vpc_config.subnets #=> Array
resp.project.vpc_config.subnets[0] #=> String
resp.project.vpc_config.security_group_ids #=> Array
resp.project.vpc_config.security_group_ids[0] #=> String
resp.project.badge.badge_enabled #=> true/false
resp.project.badge.badge_request_url #=> String
resp.project.logs_config.cloud_watch_logs.status #=> String, one of "ENABLED", "DISABLED"
resp.project.logs_config.cloud_watch_logs.group_name #=> String
resp.project.logs_config.cloud_watch_logs.stream_name #=> String
resp.project.logs_config.s3_logs.status #=> String, one of "ENABLED", "DISABLED"
resp.project.logs_config.s3_logs.location #=> String
resp.project.logs_config.s3_logs.encryption_disabled #=> true/false
resp.project.file_system_locations #=> Array
resp.project.file_system_locations[0].type #=> String, one of "EFS"
resp.project.file_system_locations[0].location #=> String
resp.project.file_system_locations[0].mount_point #=> String
resp.project.file_system_locations[0].identifier #=> String
resp.project.file_system_locations[0].mount_options #=> String
resp.project.build_batch_config.service_role #=> String
resp.project.build_batch_config.combine_artifacts #=> true/false
resp.project.build_batch_config.restrictions.maximum_builds_allowed #=> Integer
resp.project.build_batch_config.restrictions.compute_types_allowed #=> Array
resp.project.build_batch_config.restrictions.compute_types_allowed[0] #=> String
resp.project.build_batch_config.timeout_in_mins #=> Integer

Options Hash (options):

  • :name (required, String)

    The name of the build project.

  • :description (String)

    A description that makes the build project easy to identify.

  • :source (required, Types::ProjectSource)

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

  • :secondary_sources (Array<Types::ProjectSource>)

    An array of ProjectSource objects.

  • :source_version (String)

    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.

  • :secondary_source_versions (Array<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).

  • :artifacts (required, Types::ProjectArtifacts)

    Information about the build output artifacts for the build project.

  • :secondary_artifacts (Array<Types::ProjectArtifacts>)

    An array of ProjectArtifacts objects.

  • :cache (Types::ProjectCache)

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

  • :environment (required, Types::ProjectEnvironment)

    Information about the build environment for the build project.

  • :service_role (required, 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.

  • :timeout_in_minutes (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. The default is 60 minutes.

  • :queued_timeout_in_minutes (Integer)

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

  • :encryption_key (String)

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

  • :tags (Array<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.

  • :vpc_config (Types::VpcConfig)

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

  • :badge_enabled (Boolean)

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

  • :logs_config (Types::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.

  • :file_system_locations (Array<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.

  • :build_batch_config (Types::ProjectBuildBatchConfig)

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

Returns:

See Also:

#create_report_group(options = {}) ⇒ Types::CreateReportGroupOutput

Creates a report group. A report group contains a collection of reports.

Examples:

Request syntax with placeholder values


resp = client.create_report_group({
  name: "ReportGroupName", # required
  type: "TEST", # required, accepts TEST, CODE_COVERAGE
  export_config: { # required
    export_config_type: "S3", # accepts S3, NO_EXPORT
    s3_destination: {
      bucket: "NonEmptyString",
      path: "String",
      packaging: "ZIP", # accepts ZIP, NONE
      encryption_key: "NonEmptyString",
      encryption_disabled: false,
    },
  },
  tags: [
    {
      key: "KeyInput",
      value: "ValueInput",
    },
  ],
})

Response structure


resp.report_group.arn #=> String
resp.report_group.name #=> String
resp.report_group.type #=> String, one of "TEST", "CODE_COVERAGE"
resp.report_group.export_config.export_config_type #=> String, one of "S3", "NO_EXPORT"
resp.report_group.export_config.s3_destination.bucket #=> String
resp.report_group.export_config.s3_destination.path #=> String
resp.report_group.export_config.s3_destination.packaging #=> String, one of "ZIP", "NONE"
resp.report_group.export_config.s3_destination.encryption_key #=> String
resp.report_group.export_config.s3_destination.encryption_disabled #=> true/false
resp.report_group.created #=> Time
resp.report_group.last_modified #=> Time
resp.report_group.tags #=> Array
resp.report_group.tags[0].key #=> String
resp.report_group.tags[0].value #=> String
resp.report_group.status #=> String, one of "ACTIVE", "DELETING"

Options Hash (options):

  • :name (required, String)

    The name of the report group.

  • :type (required, String)

    The type of report group.

  • :export_config (required, Types::ReportExportConfig)

    A ReportExportConfig object that contains information about where the report group test results are exported.

  • :tags (Array<Types::Tag>)

    A list of tag key and value pairs associated with this report group.

    These tags are available for use by AWS services that support AWS CodeBuild report group tags.

Returns:

See Also:

#create_webhook(options = {}) ⇒ Types::CreateWebhookOutput

For an existing AWS CodeBuild build project that has its source code stored in a GitHub or Bitbucket repository, enables AWS CodeBuild to start rebuilding the source code every time a code change is pushed to the repository.

If you enable webhooks for an AWS CodeBuild project, and the project is used as a build step in AWS CodePipeline, then two identical builds are created for each commit. One build is triggered through webhooks, and one through AWS CodePipeline. Because billing is on a per-build basis, you are billed for both builds. Therefore, if you are using AWS CodePipeline, we recommend that you disable webhooks in AWS CodeBuild. In the AWS CodeBuild console, clear the Webhook box. For more information, see step 5 in Change a Build Project's Settings.

Examples:

Request syntax with placeholder values


resp = client.create_webhook({
  project_name: "ProjectName", # required
  branch_filter: "String",
  filter_groups: [
    [
      {
        type: "EVENT", # required, accepts EVENT, BASE_REF, HEAD_REF, ACTOR_ACCOUNT_ID, FILE_PATH, COMMIT_MESSAGE
        pattern: "String", # required
        exclude_matched_pattern: false,
      },
    ],
  ],
  build_type: "BUILD", # accepts BUILD, BUILD_BATCH
})

Response structure


resp.webhook.url #=> String
resp.webhook.payload_url #=> String
resp.webhook.secret #=> String
resp.webhook.branch_filter #=> String
resp.webhook.filter_groups #=> Array
resp.webhook.filter_groups[0] #=> Array
resp.webhook.filter_groups[0][0].type #=> String, one of "EVENT", "BASE_REF", "HEAD_REF", "ACTOR_ACCOUNT_ID", "FILE_PATH", "COMMIT_MESSAGE"
resp.webhook.filter_groups[0][0].pattern #=> String
resp.webhook.filter_groups[0][0].exclude_matched_pattern #=> true/false
resp.webhook.build_type #=> String, one of "BUILD", "BUILD_BATCH"
resp.webhook.last_modified_secret #=> Time

Options Hash (options):

  • :project_name (required, String)

    The name of the AWS CodeBuild project.

  • :branch_filter (String)

    A regular expression used to determine which repository branches are built when a webhook is triggered. If the name of a branch matches the regular expression, then it is built. If branchFilter is empty, then all branches are built.

    It is recommended that you use filterGroups instead of branchFilter.

  • :filter_groups (Array<Array<Types::WebhookFilter>>)

    An array of arrays of WebhookFilter objects used to determine which webhooks are triggered. At least one WebhookFilter in the array must specify EVENT as its type.

    For a build to be triggered, at least one filter group in the filterGroups array must pass. For a filter group to pass, each of its filters must pass.

  • :build_type (String)

    Specifies the type of build this webhook will trigger.

Returns:

See Also:

#delete_build_batch(options = {}) ⇒ Types::DeleteBuildBatchOutput

Deletes a batch build.

Examples:

Request syntax with placeholder values


resp = client.delete_build_batch({
  id: "NonEmptyString", # required
})

Response structure


resp.status_code #=> String
resp.builds_deleted #=> Array
resp.builds_deleted[0] #=> String
resp.builds_not_deleted #=> Array
resp.builds_not_deleted[0].id #=> String
resp.builds_not_deleted[0].status_code #=> String

Options Hash (options):

  • :id (required, String)

    The identifier of the batch build to delete.

Returns:

See Also:

#delete_project(options = {}) ⇒ Struct

Deletes a build project. When you delete a project, its builds are not deleted.

Examples:

Request syntax with placeholder values


resp = client.delete_project({
  name: "NonEmptyString", # required
})

Options Hash (options):

  • :name (required, String)

    The name of the build project.

Returns:

  • (Struct)

    Returns an empty response.

See Also:

#delete_report(options = {}) ⇒ Struct

Deletes a report.

Examples:

Request syntax with placeholder values


resp = client.delete_report({
  arn: "NonEmptyString", # required
})

Options Hash (options):

  • :arn (required, String)

    The ARN of the report to delete.

Returns:

  • (Struct)

    Returns an empty response.

See Also:

#delete_report_group(options = {}) ⇒ Struct

Deletes a report group. Before you delete a report group, you must delete its reports.

Examples:

Request syntax with placeholder values


resp = client.delete_report_group({
  arn: "NonEmptyString", # required
  delete_reports: false,
})

Options Hash (options):

  • :arn (required, String)

    The ARN of the report group to delete.

  • :delete_reports (Boolean)

    If true, deletes any reports that belong to a report group before deleting the report group.

    If false, you must delete any reports in the report group. Use ListReportsForReportGroup to get the reports in a report group. Use DeleteReport to delete the reports. If you call DeleteReportGroup for a report group that contains one or more reports, an exception is thrown.

Returns:

  • (Struct)

    Returns an empty response.

See Also:

#delete_resource_policy(options = {}) ⇒ Struct

Deletes a resource policy that is identified by its resource ARN.

Examples:

Request syntax with placeholder values


resp = client.delete_resource_policy({
  resource_arn: "NonEmptyString", # required
})

Options Hash (options):

  • :resource_arn (required, String)

    The ARN of the resource that is associated with the resource policy.

Returns:

  • (Struct)

    Returns an empty response.

See Also:

#delete_source_credentials(options = {}) ⇒ Types::DeleteSourceCredentialsOutput

Deletes a set of GitHub, GitHub Enterprise, or Bitbucket source credentials.

Examples:

Request syntax with placeholder values


resp = client.delete_source_credentials({
  arn: "NonEmptyString", # required
})

Response structure


resp.arn #=> String

Options Hash (options):

  • :arn (required, String)

    The Amazon Resource Name (ARN) of the token.

Returns:

See Also:

#delete_webhook(options = {}) ⇒ Struct

For an existing AWS CodeBuild build project that has its source code stored in a GitHub or Bitbucket repository, stops AWS CodeBuild from rebuilding the source code every time a code change is pushed to the repository.

Examples:

Request syntax with placeholder values


resp = client.delete_webhook({
  project_name: "ProjectName", # required
})

Options Hash (options):

  • :project_name (required, String)

    The name of the AWS CodeBuild project.

Returns:

  • (Struct)

    Returns an empty response.

See Also:

#describe_code_coverages(options = {}) ⇒ Types::DescribeCodeCoveragesOutput

Retrieves one or more code coverage reports.

Examples:

Request syntax with placeholder values


resp = client.describe_code_coverages({
  report_arn: "NonEmptyString", # required
  next_token: "String",
  max_results: 1,
  sort_order: "ASCENDING", # accepts ASCENDING, DESCENDING
  sort_by: "LINE_COVERAGE_PERCENTAGE", # accepts LINE_COVERAGE_PERCENTAGE, FILE_PATH
  min_line_coverage_percentage: 1.0,
  max_line_coverage_percentage: 1.0,
})

Response structure


resp.next_token #=> String
resp.code_coverages #=> Array
resp.code_coverages[0].id #=> String
resp.code_coverages[0].report_arn #=> String
resp.code_coverages[0].file_path #=> String
resp.code_coverages[0].line_coverage_percentage #=> Float
resp.code_coverages[0].lines_covered #=> Integer
resp.code_coverages[0].lines_missed #=> Integer
resp.code_coverages[0].branch_coverage_percentage #=> Float
resp.code_coverages[0].branches_covered #=> Integer
resp.code_coverages[0].branches_missed #=> Integer
resp.code_coverages[0].expired #=> Time

Options Hash (options):

  • :report_arn (required, String)

    The ARN of the report for which test cases are returned.

  • :next_token (String)

    The nextToken value returned from a previous call to DescribeCodeCoverages. This specifies the next item to return. To return the beginning of the list, exclude this parameter.

  • :max_results (Integer)

    The maximum number of results to return.

  • :sort_order (String)

    Specifies if the results are sorted in ascending or descending order.

  • :sort_by (String)

    Specifies how the results are sorted. Possible values are:

    FILE_PATH

    The results are sorted by file path.

    LINE_COVERAGE_PERCENTAGE

    The results are sorted by the percentage of lines that are covered.

  • :min_line_coverage_percentage (Float)

    The minimum line coverage percentage to report.

  • :max_line_coverage_percentage (Float)

    The maximum line coverage percentage to report.

Returns:

See Also:

#describe_test_cases(options = {}) ⇒ Types::DescribeTestCasesOutput

Returns a list of details about test cases for a report.

Examples:

Request syntax with placeholder values


resp = client.describe_test_cases({
  report_arn: "String", # required
  next_token: "String",
  max_results: 1,
  filter: {
    status: "String",
    keyword: "String",
  },
})

Response structure


resp.next_token #=> String
resp.test_cases #=> Array
resp.test_cases[0].report_arn #=> String
resp.test_cases[0].test_raw_data_path #=> String
resp.test_cases[0].prefix #=> String
resp.test_cases[0].name #=> String
resp.test_cases[0].status #=> String
resp.test_cases[0].duration_in_nano_seconds #=> Integer
resp.test_cases[0].message #=> String
resp.test_cases[0].expired #=> Time

Options Hash (options):

  • :report_arn (required, String)

    The ARN of the report for which test cases are returned.

  • :next_token (String)

    During a previous call, the maximum number of items that can be returned is the value specified in maxResults. If there more items in the list, then a unique string called a nextToken is returned. To get the next batch of items in the list, call this operation again, adding the next token to the call. To get all of the items in the list, keep calling this operation with each subsequent next token that is returned, until no more next tokens are returned.

  • :max_results (Integer)

    The maximum number of paginated test cases returned per response. Use nextToken to iterate pages in the list of returned TestCase objects. The default value is 100.

  • :filter (Types::TestCaseFilter)

    A TestCaseFilter object used to filter the returned reports.

Returns:

See Also:

#get_resource_policy(options = {}) ⇒ Types::GetResourcePolicyOutput

Gets a resource policy that is identified by its resource ARN.

Examples:

Request syntax with placeholder values


resp = client.get_resource_policy({
  resource_arn: "NonEmptyString", # required
})

Response structure


resp.policy #=> String

Options Hash (options):

  • :resource_arn (required, String)

    The ARN of the resource that is associated with the resource policy.

Returns:

See Also:

#import_source_credentials(options = {}) ⇒ Types::ImportSourceCredentialsOutput

Imports the source repository credentials for an AWS CodeBuild project that has its source code stored in a GitHub, GitHub Enterprise, or Bitbucket repository.

Examples:

Request syntax with placeholder values


resp = client.import_source_credentials({
  username: "NonEmptyString",
  token: "SensitiveNonEmptyString", # required
  server_type: "GITHUB", # required, accepts GITHUB, BITBUCKET, GITHUB_ENTERPRISE
  auth_type: "OAUTH", # required, accepts OAUTH, BASIC_AUTH, PERSONAL_ACCESS_TOKEN
  should_overwrite: false,
})

Response structure


resp.arn #=> String

Options Hash (options):

  • :username (String)

    The Bitbucket username when the authType is BASIC_AUTH. This parameter is not valid for other types of source providers or connections.

  • :token (required, String)

    For GitHub or GitHub Enterprise, this is the personal access token. For Bitbucket, this is the app password.

  • :server_type (required, String)

    The source provider used for this project.

  • :auth_type (required, String)

    The type of authentication used to connect to a GitHub, GitHub Enterprise, or Bitbucket repository. An OAUTH connection is not supported by the API and must be created using the AWS CodeBuild console.

  • :should_overwrite (Boolean)

    Set to false to prevent overwriting the repository source credentials. Set to true to overwrite the repository source credentials. The default value is true.

Returns:

See Also:

#invalidate_project_cache(options = {}) ⇒ Struct

Resets the cache for a project.

Examples:

Request syntax with placeholder values


resp = client.invalidate_project_cache({
  project_name: "NonEmptyString", # required
})

Options Hash (options):

  • :project_name (required, String)

    The name of the AWS CodeBuild build project that the cache is reset for.

Returns:

  • (Struct)

    Returns an empty response.

See Also:

#list_build_batches(options = {}) ⇒ Types::ListBuildBatchesOutput

Retrieves the identifiers of your build batches in the current region.

Examples:

Request syntax with placeholder values


resp = client.list_build_batches({
  filter: {
    status: "SUCCEEDED", # accepts SUCCEEDED, FAILED, FAULT, TIMED_OUT, IN_PROGRESS, STOPPED
  },
  max_results: 1,
  sort_order: "ASCENDING", # accepts ASCENDING, DESCENDING
  next_token: "String",
})

Response structure


resp.ids #=> Array
resp.ids[0] #=> String
resp.next_token #=> String

Options Hash (options):

  • :filter (Types::BuildBatchFilter)

    A BuildBatchFilter object that specifies the filters for the search.

  • :max_results (Integer)

    The maximum number of results to return.

  • :sort_order (String)

    Specifies the sort order of the returned items. Valid values include:

    • ASCENDING: List the batch build identifiers in ascending order by identifier.

    • DESCENDING: List the batch build identifiers in descending order by identifier.

  • :next_token (String)

    The nextToken value returned from a previous call to ListBuildBatches. This specifies the next item to return. To return the beginning of the list, exclude this parameter.

Returns:

See Also:

#list_build_batches_for_project(options = {}) ⇒ Types::ListBuildBatchesForProjectOutput

Retrieves the identifiers of the build batches for a specific project.

Examples:

Request syntax with placeholder values


resp = client.list_build_batches_for_project({
  project_name: "NonEmptyString",
  filter: {
    status: "SUCCEEDED", # accepts SUCCEEDED, FAILED, FAULT, TIMED_OUT, IN_PROGRESS, STOPPED
  },
  max_results: 1,
  sort_order: "ASCENDING", # accepts ASCENDING, DESCENDING
  next_token: "String",
})

Response structure


resp.ids #=> Array
resp.ids[0] #=> String
resp.next_token #=> String

Options Hash (options):

  • :project_name (String)

    The name of the project.

  • :filter (Types::BuildBatchFilter)

    A BuildBatchFilter object that specifies the filters for the search.

  • :max_results (Integer)

    The maximum number of results to return.

  • :sort_order (String)

    Specifies the sort order of the returned items. Valid values include:

    • ASCENDING: List the batch build identifiers in ascending order by identifier.

    • DESCENDING: List the batch build identifiers in descending order by identifier.

  • :next_token (String)

    The nextToken value returned from a previous call to ListBuildBatchesForProject. This specifies the next item to return. To return the beginning of the list, exclude this parameter.

Returns:

See Also:

#list_builds(options = {}) ⇒ Types::ListBuildsOutput

Gets a list of build IDs, with each build ID representing a single build.

Examples:

Request syntax with placeholder values


resp = client.list_builds({
  sort_order: "ASCENDING", # accepts ASCENDING, DESCENDING
  next_token: "String",
})

Response structure


resp.ids #=> Array
resp.ids[0] #=> String
resp.next_token #=> String

Options Hash (options):

  • :sort_order (String)

    The order to list build IDs. Valid values include:

    • ASCENDING: List the build IDs in ascending order by build ID.

    • DESCENDING: List the build IDs in descending order by build ID.

  • :next_token (String)

    During a previous call, if there are more than 100 items in the list, only the first 100 items are returned, along with a unique string called a nextToken. To get the next batch of items in the list, call this operation again, adding the next token to the call. To get all of the items in the list, keep calling this operation with each subsequent next token that is returned, until no more next tokens are returned.

Returns:

See Also:

#list_builds_for_project(options = {}) ⇒ Types::ListBuildsForProjectOutput

Gets a list of build IDs for the specified build project, with each build ID representing a single build.

Examples:

Request syntax with placeholder values


resp = client.list_builds_for_project({
  project_name: "NonEmptyString", # required
  sort_order: "ASCENDING", # accepts ASCENDING, DESCENDING
  next_token: "String",
})

Response structure


resp.ids #=> Array
resp.ids[0] #=> String
resp.next_token #=> String

Options Hash (options):

  • :project_name (required, String)

    The name of the AWS CodeBuild project.

  • :sort_order (String)

    The order to list build IDs. Valid values include:

    • ASCENDING: List the build IDs in ascending order by build ID.

    • DESCENDING: List the build IDs in descending order by build ID.

  • :next_token (String)

    During a previous call, if there are more than 100 items in the list, only the first 100 items are returned, along with a unique string called a nextToken. To get the next batch of items in the list, call this operation again, adding the next token to the call. To get all of the items in the list, keep calling this operation with each subsequent next token that is returned, until no more next tokens are returned.

Returns:

See Also:

#list_curated_environment_images(options = {}) ⇒ Types::ListCuratedEnvironmentImagesOutput

Gets information about Docker images that are managed by AWS CodeBuild.

Examples:

Request syntax with placeholder values


resp = client.list_curated_environment_images()

Response structure


resp.platforms #=> Array
resp.platforms[0].platform #=> String, one of "DEBIAN", "AMAZON_LINUX", "UBUNTU", "WINDOWS_SERVER"
resp.platforms[0].languages #=> Array
resp.platforms[0].languages[0].language #=> String, one of "JAVA", "PYTHON", "NODE_JS", "RUBY", "GOLANG", "DOCKER", "ANDROID", "DOTNET", "BASE", "PHP"
resp.platforms[0].languages[0].images #=> Array
resp.platforms[0].languages[0].images[0].name #=> String
resp.platforms[0].languages[0].images[0].description #=> String
resp.platforms[0].languages[0].images[0].versions #=> Array
resp.platforms[0].languages[0].images[0].versions[0] #=> String

Returns:

See Also:

#list_projects(options = {}) ⇒ Types::ListProjectsOutput

Gets a list of build project names, with each build project name representing a single build project.

Examples:

Request syntax with placeholder values


resp = client.list_projects({
  sort_by: "NAME", # accepts NAME, CREATED_TIME, LAST_MODIFIED_TIME
  sort_order: "ASCENDING", # accepts ASCENDING, DESCENDING
  next_token: "NonEmptyString",
})

Response structure


resp.next_token #=> String
resp.projects #=> Array
resp.projects[0] #=> String

Options Hash (options):

  • :sort_by (String)

    The criterion to be used to list build project names. Valid values include:

    • CREATED_TIME: List based on when each build project was created.

    • LAST_MODIFIED_TIME: List based on when information about each build project was last changed.

    • NAME: List based on each build project\'s name.

    Use sortOrder to specify in what order to list the build project names based on the preceding criteria.

  • :sort_order (String)

    The order in which to list build projects. Valid values include:

    • ASCENDING: List in ascending order.

    • DESCENDING: List in descending order.

    Use sortBy to specify the criterion to be used to list build project names.

  • :next_token (String)

    During a previous call, if there are more than 100 items in the list, only the first 100 items are returned, along with a unique string called a nextToken. To get the next batch of items in the list, call this operation again, adding the next token to the call. To get all of the items in the list, keep calling this operation with each subsequent next token that is returned, until no more next tokens are returned.

Returns:

See Also:

#list_report_groups(options = {}) ⇒ Types::ListReportGroupsOutput

Gets a list ARNs for the report groups in the current AWS account.

Examples:

Request syntax with placeholder values


resp = client.list_report_groups({
  sort_order: "ASCENDING", # accepts ASCENDING, DESCENDING
  sort_by: "NAME", # accepts NAME, CREATED_TIME, LAST_MODIFIED_TIME
  next_token: "String",
  max_results: 1,
})

Response structure


resp.next_token #=> String
resp.report_groups #=> Array
resp.report_groups[0] #=> String

Options Hash (options):

  • :sort_order (String)

    Used to specify the order to sort the list of returned report groups. Valid values are ASCENDING and DESCENDING.

  • :sort_by (String)

    The criterion to be used to list build report groups. Valid values include:

    • CREATED_TIME: List based on when each report group was created.

    • LAST_MODIFIED_TIME: List based on when each report group was last changed.

    • NAME: List based on each report group\'s name.

  • :next_token (String)

    During a previous call, the maximum number of items that can be returned is the value specified in maxResults. If there more items in the list, then a unique string called a nextToken is returned. To get the next batch of items in the list, call this operation again, adding the next token to the call. To get all of the items in the list, keep calling this operation with each subsequent next token that is returned, until no more next tokens are returned.

  • :max_results (Integer)

    The maximum number of paginated report groups returned per response. Use nextToken to iterate pages in the list of returned ReportGroup objects. The default value is 100.

Returns:

See Also:

#list_reports(options = {}) ⇒ Types::ListReportsOutput

Returns a list of ARNs for the reports in the current AWS account.

Examples:

Request syntax with placeholder values


resp = client.list_reports({
  sort_order: "ASCENDING", # accepts ASCENDING, DESCENDING
  next_token: "String",
  max_results: 1,
  filter: {
    status: "GENERATING", # accepts GENERATING, SUCCEEDED, FAILED, INCOMPLETE, DELETING
  },
})

Response structure


resp.next_token #=> String
resp.reports #=> Array
resp.reports[0] #=> String

Options Hash (options):

  • :sort_order (String)

    Specifies the sort order for the list of returned reports. Valid values are:

    • ASCENDING: return reports in chronological order based on their creation date.

    • DESCENDING: return reports in the reverse chronological order based on their creation date.

  • :next_token (String)

    During a previous call, the maximum number of items that can be returned is the value specified in maxResults. If there more items in the list, then a unique string called a nextToken is returned. To get the next batch of items in the list, call this operation again, adding the next token to the call. To get all of the items in the list, keep calling this operation with each subsequent next token that is returned, until no more next tokens are returned.

  • :max_results (Integer)

    The maximum number of paginated reports returned per response. Use nextToken to iterate pages in the list of returned Report objects. The default value is 100.

  • :filter (Types::ReportFilter)

    A ReportFilter object used to filter the returned reports.

Returns:

See Also:

#list_reports_for_report_group(options = {}) ⇒ Types::ListReportsForReportGroupOutput

Returns a list of ARNs for the reports that belong to a ReportGroup.

Examples:

Request syntax with placeholder values


resp = client.list_reports_for_report_group({
  report_group_arn: "String", # required
  next_token: "String",
  sort_order: "ASCENDING", # accepts ASCENDING, DESCENDING
  max_results: 1,
  filter: {
    status: "GENERATING", # accepts GENERATING, SUCCEEDED, FAILED, INCOMPLETE, DELETING
  },
})

Response structure


resp.next_token #=> String
resp.reports #=> Array
resp.reports[0] #=> String

Options Hash (options):

  • :report_group_arn (required, String)

    The ARN of the report group for which you want to return report ARNs.

  • :next_token (String)

    During a previous call, the maximum number of items that can be returned is the value specified in maxResults. If there more items in the list, then a unique string called a nextToken is returned. To get the next batch of items in the list, call this operation again, adding the next token to the call. To get all of the items in the list, keep calling this operation with each subsequent next token that is returned, until no more next tokens are returned.

  • :sort_order (String)

    Use to specify whether the results are returned in ascending or descending order.

  • :max_results (Integer)

    The maximum number of paginated reports in this report group returned per response. Use nextToken to iterate pages in the list of returned Report objects. The default value is 100.

  • :filter (Types::ReportFilter)

    A ReportFilter object used to filter the returned reports.

Returns:

See Also:

#list_shared_projects(options = {}) ⇒ Types::ListSharedProjectsOutput

Gets a list of projects that are shared with other AWS accounts or users.

Examples:

Request syntax with placeholder values


resp = client.list_shared_projects({
  sort_by: "ARN", # accepts ARN, MODIFIED_TIME
  sort_order: "ASCENDING", # accepts ASCENDING, DESCENDING
  max_results: 1,
  next_token: "NonEmptyString",
})

Response structure


resp.next_token #=> String
resp.projects #=> Array
resp.projects[0] #=> String

Options Hash (options):

  • :sort_by (String)

    The criterion to be used to list build projects shared with the current AWS account or user. Valid values include:

    • ARN: List based on the ARN.

    • MODIFIED_TIME: List based on when information about the shared project was last changed.

  • :sort_order (String)

    The order in which to list shared build projects. Valid values include:

    • ASCENDING: List in ascending order.

    • DESCENDING: List in descending order.

  • :max_results (Integer)

    The maximum number of paginated shared build projects returned per response. Use nextToken to iterate pages in the list of returned Project objects. The default value is 100.

  • :next_token (String)

    During a previous call, the maximum number of items that can be returned is the value specified in maxResults. If there more items in the list, then a unique string called a nextToken is returned. To get the next batch of items in the list, call this operation again, adding the next token to the call. To get all of the items in the list, keep calling this operation with each subsequent next token that is returned, until no more next tokens are returned.

Returns:

See Also:

#list_shared_report_groups(options = {}) ⇒ Types::ListSharedReportGroupsOutput

Gets a list of report groups that are shared with other AWS accounts or users.

Examples:

Request syntax with placeholder values


resp = client.list_shared_report_groups({
  sort_order: "ASCENDING", # accepts ASCENDING, DESCENDING
  sort_by: "ARN", # accepts ARN, MODIFIED_TIME
  next_token: "String",
  max_results: 1,
})

Response structure


resp.next_token #=> String
resp.report_groups #=> Array
resp.report_groups[0] #=> String

Options Hash (options):

  • :sort_order (String)

    The order in which to list shared report groups. Valid values include:

    • ASCENDING: List in ascending order.

    • DESCENDING: List in descending order.

  • :sort_by (String)

    The criterion to be used to list report groups shared with the current AWS account or user. Valid values include:

    • ARN: List based on the ARN.

    • MODIFIED_TIME: List based on when information about the shared report group was last changed.

  • :next_token (String)

    During a previous call, the maximum number of items that can be returned is the value specified in maxResults. If there more items in the list, then a unique string called a nextToken is returned. To get the next batch of items in the list, call this operation again, adding the next token to the call. To get all of the items in the list, keep calling this operation with each subsequent next token that is returned, until no more next tokens are returned.

  • :max_results (Integer)

    The maximum number of paginated shared report groups per response. Use nextToken to iterate pages in the list of returned ReportGroup objects. The default value is 100.

Returns:

See Also:

#list_source_credentials(options = {}) ⇒ Types::ListSourceCredentialsOutput

Returns a list of SourceCredentialsInfo objects.

Examples:

Request syntax with placeholder values


resp = client.list_source_credentials()

Response structure


resp.source_credentials_infos #=> Array
resp.source_credentials_infos[0].arn #=> String
resp.source_credentials_infos[0].server_type #=> String, one of "GITHUB", "BITBUCKET", "GITHUB_ENTERPRISE"
resp.source_credentials_infos[0].auth_type #=> String, one of "OAUTH", "BASIC_AUTH", "PERSONAL_ACCESS_TOKEN"

Returns:

See Also:

#put_resource_policy(options = {}) ⇒ Types::PutResourcePolicyOutput

Stores a resource policy for the ARN of a Project or ReportGroup object.

Examples:

Request syntax with placeholder values


resp = client.put_resource_policy({
  policy: "NonEmptyString", # required
  resource_arn: "NonEmptyString", # required
})

Response structure


resp.resource_arn #=> String

Options Hash (options):

  • :policy (required, String)

    A JSON-formatted resource policy. For more information, see Sharing a Project and Sharing a Report Group in the AWS CodeBuild User Guide.

  • :resource_arn (required, String)

    The ARN of the Project or ReportGroup resource you want to associate with a resource policy.

Returns:

See Also:

#retry_build(options = {}) ⇒ Types::RetryBuildOutput

Restarts a build.

Examples:

Request syntax with placeholder values


resp = client.retry_build({
  id: "NonEmptyString",
  idempotency_token: "String",
})

Response structure


resp.build.id #=> String
resp.build.arn #=> String
resp.build.build_number #=> Integer
resp.build.start_time #=> Time
resp.build.end_time #=> Time
resp.build.current_phase #=> String
resp.build.build_status #=> String, one of "SUCCEEDED", "FAILED", "FAULT", "TIMED_OUT", "IN_PROGRESS", "STOPPED"
resp.build.source_version #=> String
resp.build.resolved_source_version #=> String
resp.build.project_name #=> String
resp.build.phases #=> Array
resp.build.phases[0].phase_type #=> String, one of "SUBMITTED", "QUEUED", "PROVISIONING", "DOWNLOAD_SOURCE", "INSTALL", "PRE_BUILD", "BUILD", "POST_BUILD", "UPLOAD_ARTIFACTS", "FINALIZING", "COMPLETED"
resp.build.phases[0].phase_status #=> String, one of "SUCCEEDED", "FAILED", "FAULT", "TIMED_OUT", "IN_PROGRESS", "STOPPED"
resp.build.phases[0].start_time #=> Time
resp.build.phases[0].end_time #=> Time
resp.build.phases[0].duration_in_seconds #=> Integer
resp.build.phases[0].contexts #=> Array
resp.build.phases[0].contexts[0].status_code #=> String
resp.build.phases[0].contexts[0].message #=> String
resp.build.source.type #=> String, one of "CODECOMMIT", "CODEPIPELINE", "GITHUB", "S3", "BITBUCKET", "GITHUB_ENTERPRISE", "NO_SOURCE"
resp.build.source.location #=> String
resp.build.source.git_clone_depth #=> Integer
resp.build.source.git_submodules_config.fetch_submodules #=> true/false
resp.build.source.buildspec #=> String
resp.build.source.auth.type #=> String, one of "OAUTH"
resp.build.source.auth.resource #=> String
resp.build.source.report_build_status #=> true/false
resp.build.source.build_status_config.context #=> String
resp.build.source.build_status_config.target_url #=> String
resp.build.source.insecure_ssl #=> true/false
resp.build.source.source_identifier #=> String
resp.build.secondary_sources #=> Array
resp.build.secondary_sources[0].type #=> String, one of "CODECOMMIT", "CODEPIPELINE", "GITHUB", "S3", "BITBUCKET", "GITHUB_ENTERPRISE", "NO_SOURCE"
resp.build.secondary_sources[0].location #=> String
resp.build.secondary_sources[0].git_clone_depth #=> Integer
resp.build.secondary_sources[0].git_submodules_config.fetch_submodules #=> true/false
resp.build.secondary_sources[0].buildspec #=> String
resp.build.secondary_sources[0].auth.type #=> String, one of "OAUTH"
resp.build.secondary_sources[0].auth.resource #=> String
resp.build.secondary_sources[0].report_build_status #=> true/false
resp.build.secondary_sources[0].build_status_config.context #=> String
resp.build.secondary_sources[0].build_status_config.target_url #=> String
resp.build.secondary_sources[0].insecure_ssl #=> true/false
resp.build.secondary_sources[0].source_identifier #=> String
resp.build.secondary_source_versions #=> Array
resp.build.secondary_source_versions[0].source_identifier #=> String
resp.build.secondary_source_versions[0].source_version #=> String
resp.build.artifacts.location #=> String
resp.build.artifacts.sha256sum #=> String
resp.build.artifacts.md5sum #=> String
resp.build.artifacts.override_artifact_name #=> true/false
resp.build.artifacts.encryption_disabled #=> true/false
resp.build.artifacts.artifact_identifier #=> String
resp.build.secondary_artifacts #=> Array
resp.build.secondary_artifacts[0].location #=> String
resp.build.secondary_artifacts[0].sha256sum #=> String
resp.build.secondary_artifacts[0].md5sum #=> String
resp.build.secondary_artifacts[0].override_artifact_name #=> true/false
resp.build.secondary_artifacts[0].encryption_disabled #=> true/false
resp.build.secondary_artifacts[0].artifact_identifier #=> String
resp.build.cache.type #=> String, one of "NO_CACHE", "S3", "LOCAL"
resp.build.cache.location #=> String
resp.build.cache.modes #=> Array
resp.build.cache.modes[0] #=> String, one of "LOCAL_DOCKER_LAYER_CACHE", "LOCAL_SOURCE_CACHE", "LOCAL_CUSTOM_CACHE"
resp.build.environment.type #=> String, one of "WINDOWS_CONTAINER", "LINUX_CONTAINER", "LINUX_GPU_CONTAINER", "ARM_CONTAINER", "WINDOWS_SERVER_2019_CONTAINER"
resp.build.environment.image #=> String
resp.build.environment.compute_type #=> String, one of "BUILD_GENERAL1_SMALL", "BUILD_GENERAL1_MEDIUM", "BUILD_GENERAL1_LARGE", "BUILD_GENERAL1_2XLARGE"
resp.build.environment.environment_variables #=> Array
resp.build.environment.environment_variables[0].name #=> String
resp.build.environment.environment_variables[0].value #=> String
resp.build.environment.environment_variables[0].type #=> String, one of "PLAINTEXT", "PARAMETER_STORE", "SECRETS_MANAGER"
resp.build.environment.privileged_mode #=> true/false
resp.build.environment.certificate #=> String
resp.build.environment.registry_credential.credential #=> String
resp.build.environment.registry_credential.credential_provider #=> String, one of "SECRETS_MANAGER"
resp.build.environment.image_pull_credentials_type #=> String, one of "CODEBUILD", "SERVICE_ROLE"
resp.build.service_role #=> String
resp.build.logs.group_name #=> String
resp.build.logs.stream_name #=> String
resp.build.logs.deep_link #=> String
resp.build.logs.s3_deep_link #=> String
resp.build.logs.cloud_watch_logs_arn #=> String
resp.build.logs.s3_logs_arn #=> String
resp.build.logs.cloud_watch_logs.status #=> String, one of "ENABLED", "DISABLED"
resp.build.logs.cloud_watch_logs.group_name #=> String
resp.build.logs.cloud_watch_logs.stream_name #=> String
resp.build.logs.s3_logs.status #=> String, one of "ENABLED", "DISABLED"
resp.build.logs.s3_logs.location #=> String
resp.build.logs.s3_logs.encryption_disabled #=> true/false
resp.build.timeout_in_minutes #=> Integer
resp.build.queued_timeout_in_minutes #=> Integer
resp.build.build_complete #=> true/false
resp.build.initiator #=> String
resp.build.vpc_config.vpc_id #=> String
resp.build.vpc_config.subnets #=> Array
resp.build.vpc_config.subnets[0] #=> String
resp.build.vpc_config.security_group_ids #=> Array
resp.build.vpc_config.security_group_ids[0] #=> String
resp.build.network_interface.subnet_id #=> String
resp.build.network_interface.network_interface_id #=> String
resp.build.encryption_key #=> String
resp.build.exported_environment_variables #=> Array
resp.build.exported_environment_variables[0].name #=> String
resp.build.exported_environment_variables[0].value #=> String
resp.build.report_arns #=> Array
resp.build.report_arns[0] #=> String
resp.build.file_system_locations #=> Array
resp.build.file_system_locations[0].type #=> String, one of "EFS"
resp.build.file_system_locations[0].location #=> String
resp.build.file_system_locations[0].mount_point #=> String
resp.build.file_system_locations[0].identifier #=> String
resp.build.file_system_locations[0].mount_options #=> String
resp.build.debug_session.session_enabled #=> true/false
resp.build.debug_session.session_target #=> String
resp.build.build_batch_arn #=> String

Options Hash (options):

  • :id (String)

    Specifies the identifier of the build to restart.

  • :idempotency_token (String)

    A unique, case sensitive identifier you provide to ensure the idempotency of the RetryBuild request. The token is included in the RetryBuild request and is valid for five minutes. If you repeat the RetryBuild request with the same token, but change a parameter, AWS CodeBuild returns a parameter mismatch error.

Returns:

See Also:

#retry_build_batch(options = {}) ⇒ Types::RetryBuildBatchOutput

Restarts a failed batch build. Only batch builds that have failed can be retried.

Examples:

Request syntax with placeholder values


resp = client.retry_build_batch({
  id: "NonEmptyString",
  idempotency_token: "String",
  retry_type: "RETRY_ALL_BUILDS", # accepts RETRY_ALL_BUILDS, RETRY_FAILED_BUILDS
})

Response structure


resp.build_batch.id #=> String
resp.build_batch.arn #=> String
resp.build_batch.start_time #=> Time
resp.build_batch.end_time #=> Time
resp.build_batch.current_phase #=> String
resp.build_batch.build_batch_status #=> String, one of "SUCCEEDED", "FAILED", "FAULT", "TIMED_OUT", "IN_PROGRESS", "STOPPED"
resp.build_batch.source_version #=> String
resp.build_batch.resolved_source_version #=> String
resp.build_batch.project_name #=> String
resp.build_batch.phases #=> Array
resp.build_batch.phases[0].phase_type #=> String, one of "SUBMITTED", "DOWNLOAD_BATCHSPEC", "IN_PROGRESS", "COMBINE_ARTIFACTS", "SUCCEEDED", "FAILED", "STOPPED"
resp.build_batch.phases[0].phase_status #=> String, one of "SUCCEEDED", "FAILED", "FAULT", "TIMED_OUT", "IN_PROGRESS", "STOPPED"
resp.build_batch.phases[0].start_time #=> Time
resp.build_batch.phases[0].end_time #=> Time
resp.build_batch.phases[0].duration_in_seconds #=> Integer
resp.build_batch.phases[0].contexts #=> Array
resp.build_batch.phases[0].contexts[0].status_code #=> String
resp.build_batch.phases[0].contexts[0].message #=> String
resp.build_batch.source.type #=> String, one of "CODECOMMIT", "CODEPIPELINE", "GITHUB", "S3", "BITBUCKET", "GITHUB_ENTERPRISE", "NO_SOURCE"
resp.build_batch.source.location #=> String
resp.build_batch.source.git_clone_depth #=> Integer
resp.build_batch.source.git_submodules_config.fetch_submodules #=> true/false
resp.build_batch.source.buildspec #=> String
resp.build_batch.source.auth.type #=> String, one of "OAUTH"
resp.build_batch.source.auth.resource #=> String
resp.build_batch.source.report_build_status #=> true/false
resp.build_batch.source.build_status_config.context #=> String
resp.build_batch.source.build_status_config.target_url #=> String
resp.build_batch.source.insecure_ssl #=> true/false
resp.build_batch.source.source_identifier #=> String
resp.build_batch.secondary_sources #=> Array
resp.build_batch.secondary_sources[0].type #=> String, one of "CODECOMMIT", "CODEPIPELINE", "GITHUB", "S3", "BITBUCKET", "GITHUB_ENTERPRISE", "NO_SOURCE"
resp.build_batch.secondary_sources[0].location #=> String
resp.build_batch.secondary_sources[0].git_clone_depth #=> Integer
resp.build_batch.secondary_sources[0].git_submodules_config.fetch_submodules #=> true/false
resp.build_batch.secondary_sources[0].buildspec #=> String
resp.build_batch.secondary_sources[0].auth.type #=> String, one of "OAUTH"
resp.build_batch.secondary_sources[0].auth.resource #=> String
resp.build_batch.secondary_sources[0].report_build_status #=> true/false
resp.build_batch.secondary_sources[0].build_status_config.context #=> String
resp.build_batch.secondary_sources[0].build_status_config.target_url #=> String
resp.build_batch.secondary_sources[0].insecure_ssl #=> true/false
resp.build_batch.secondary_sources[0].source_identifier #=> String
resp.build_batch.secondary_source_versions #=> Array
resp.build_batch.secondary_source_versions[0].source_identifier #=> String
resp.build_batch.secondary_source_versions[0].source_version #=> String
resp.build_batch.artifacts.location #=> String
resp.build_batch.artifacts.sha256sum #=> String
resp.build_batch.artifacts.md5sum #=> String
resp.build_batch.artifacts.override_artifact_name #=> true/false
resp.build_batch.artifacts.encryption_disabled #=> true/false
resp.build_batch.artifacts.artifact_identifier #=> String
resp.build_batch.secondary_artifacts #=> Array
resp.build_batch.secondary_artifacts[0].location #=> String
resp.build_batch.secondary_artifacts[0].sha256sum #=> String
resp.build_batch.secondary_artifacts[0].md5sum #=> String
resp.build_batch.secondary_artifacts[0].override_artifact_name #=> true/false
resp.build_batch.secondary_artifacts[0].encryption_disabled #=> true/false
resp.build_batch.secondary_artifacts[0].artifact_identifier #=> String
resp.build_batch.cache.type #=> String, one of "NO_CACHE", "S3", "LOCAL"
resp.build_batch.cache.location #=> String
resp.build_batch.cache.modes #=> Array
resp.build_batch.cache.modes[0] #=> String, one of "LOCAL_DOCKER_LAYER_CACHE", "LOCAL_SOURCE_CACHE", "LOCAL_CUSTOM_CACHE"
resp.build_batch.environment.type #=> String, one of "WINDOWS_CONTAINER", "LINUX_CONTAINER", "LINUX_GPU_CONTAINER", "ARM_CONTAINER", "WINDOWS_SERVER_2019_CONTAINER"
resp.build_batch.environment.image #=> String
resp.build_batch.environment.compute_type #=> String, one of "BUILD_GENERAL1_SMALL", "BUILD_GENERAL1_MEDIUM", "BUILD_GENERAL1_LARGE", "BUILD_GENERAL1_2XLARGE"
resp.build_batch.environment.environment_variables #=> Array
resp.build_batch.environment.environment_variables[0].name #=> String
resp.build_batch.environment.environment_variables[0].value #=> String
resp.build_batch.environment.environment_variables[0].type #=> String, one of "PLAINTEXT", "PARAMETER_STORE", "SECRETS_MANAGER"
resp.build_batch.environment.privileged_mode #=> true/false
resp.build_batch.environment.certificate #=> String
resp.build_batch.environment.registry_credential.credential #=> String
resp.build_batch.environment.registry_credential.credential_provider #=> String, one of "SECRETS_MANAGER"
resp.build_batch.environment.image_pull_credentials_type #=> String, one of "CODEBUILD", "SERVICE_ROLE"
resp.build_batch.service_role #=> String
resp.build_batch.log_config.cloud_watch_logs.status #=> String, one of "ENABLED", "DISABLED"
resp.build_batch.log_config.cloud_watch_logs.group_name #=> String
resp.build_batch.log_config.cloud_watch_logs.stream_name #=> String
resp.build_batch.log_config.s3_logs.status #=> String, one of "ENABLED", "DISABLED"
resp.build_batch.log_config.s3_logs.location #=> String
resp.build_batch.log_config.s3_logs.encryption_disabled #=> true/false
resp.build_batch.build_timeout_in_minutes #=> Integer
resp.build_batch.queued_timeout_in_minutes #=> Integer
resp.build_batch.complete #=> true/false
resp.build_batch.initiator #=> String
resp.build_batch.vpc_config.vpc_id #=> String
resp.build_batch.vpc_config.subnets #=> Array
resp.build_batch.vpc_config.subnets[0] #=> String
resp.build_batch.vpc_config.security_group_ids #=> Array
resp.build_batch.vpc_config.security_group_ids[0] #=> String
resp.build_batch.encryption_key #=> String
resp.build_batch.build_batch_number #=> Integer
resp.build_batch.file_system_locations #=> Array
resp.build_batch.file_system_locations[0].type #=> String, one of "EFS"
resp.build_batch.file_system_locations[0].location #=> String
resp.build_batch.file_system_locations[0].mount_point #=> String
resp.build_batch.file_system_locations[0].identifier #=> String
resp.build_batch.file_system_locations[0].mount_options #=> String
resp.build_batch.build_batch_config.service_role #=> String
resp.build_batch.build_batch_config.combine_artifacts #=> true/false
resp.build_batch.build_batch_config.restrictions.maximum_builds_allowed #=> Integer
resp.build_batch.build_batch_config.restrictions.compute_types_allowed #=> Array
resp.build_batch.build_batch_config.restrictions.compute_types_allowed[0] #=> String
resp.build_batch.build_batch_config.timeout_in_mins #=> Integer
resp.build_batch.build_groups #=> Array
resp.build_batch.build_groups[0].identifier #=> String
resp.build_batch.build_groups[0].depends_on #=> Array
resp.build_batch.build_groups[0].depends_on[0] #=> String
resp.build_batch.build_groups[0].ignore_failure #=> true/false
resp.build_batch.build_groups[0].current_build_summary.arn #=> String
resp.build_batch.build_groups[0].current_build_summary.requested_on #=> Time
resp.build_batch.build_groups[0].current_build_summary.build_status #=> String, one of "SUCCEEDED", "FAILED", "FAULT", "TIMED_OUT", "IN_PROGRESS", "STOPPED"
resp.build_batch.build_groups[0].current_build_summary.primary_artifact.type #=> String, one of "CODEPIPELINE", "S3", "NO_ARTIFACTS"
resp.build_batch.build_groups[0].current_build_summary.primary_artifact.location #=> String
resp.build_batch.build_groups[0].current_build_summary.primary_artifact.identifier #=> String
resp.build_batch.build_groups[0].current_build_summary.secondary_artifacts #=> Array
resp.build_batch.build_groups[0].current_build_summary.secondary_artifacts[0].type #=> String, one of "CODEPIPELINE", "S3", "NO_ARTIFACTS"
resp.build_batch.build_groups[0].current_build_summary.secondary_artifacts[0].location #=> String
resp.build_batch.build_groups[0].current_build_summary.secondary_artifacts[0].identifier #=> String
resp.build_batch.build_groups[0].prior_build_summary_list #=> Array
resp.build_batch.build_groups[0].prior_build_summary_list[0].arn #=> String
resp.build_batch.build_groups[0].prior_build_summary_list[0].requested_on #=> Time
resp.build_batch.build_groups[0].prior_build_summary_list[0].build_status #=> String, one of "SUCCEEDED", "FAILED", "FAULT", "TIMED_OUT", "IN_PROGRESS", "STOPPED"
resp.build_batch.build_groups[0].prior_build_summary_list[0].primary_artifact.type #=> String, one of "CODEPIPELINE", "S3", "NO_ARTIFACTS"
resp.build_batch.build_groups[0].prior_build_summary_list[0].primary_artifact.location #=> String
resp.build_batch.build_groups[0].prior_build_summary_list[0].primary_artifact.identifier #=> String
resp.build_batch.build_groups[0].prior_build_summary_list[0].secondary_artifacts #=> Array
resp.build_batch.build_groups[0].prior_build_summary_list[0].secondary_artifacts[0].type #=> String, one of "CODEPIPELINE", "S3", "NO_ARTIFACTS"
resp.build_batch.build_groups[0].prior_build_summary_list[0].secondary_artifacts[0].location #=> String
resp.build_batch.build_groups[0].prior_build_summary_list[0].secondary_artifacts[0].identifier #=> String

Options Hash (options):

  • :id (String)

    Specifies the identifier of the batch build to restart.

  • :idempotency_token (String)

    A unique, case sensitive identifier you provide to ensure the idempotency of the RetryBuildBatch request. The token is included in the RetryBuildBatch request and is valid for five minutes. If you repeat the RetryBuildBatch request with the same token, but change a parameter, AWS CodeBuild returns a parameter mismatch error.

  • :retry_type (String)

    Specifies the type of retry to perform.

Returns:

See Also:

#start_build(options = {}) ⇒ Types::StartBuildOutput

Starts running a build.

Examples:

Request syntax with placeholder values


resp = client.start_build({
  project_name: "NonEmptyString", # required
  secondary_sources_override: [
    {
      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_version_override: [
    {
      source_identifier: "String", # required
      source_version: "String", # required
    },
  ],
  source_version: "String",
  artifacts_override: {
    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_override: [
    {
      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",
    },
  ],
  environment_variables_override: [
    {
      name: "NonEmptyString", # required
      value: "String", # required
      type: "PLAINTEXT", # accepts PLAINTEXT, PARAMETER_STORE, SECRETS_MANAGER
    },
  ],
  source_type_override: "CODECOMMIT", # accepts CODECOMMIT, CODEPIPELINE, GITHUB, S3, BITBUCKET, GITHUB_ENTERPRISE, NO_SOURCE
  source_location_override: "String",
  source_auth_override: {
    type: "OAUTH", # required, accepts OAUTH
    resource: "String",
  },
  git_clone_depth_override: 1,
  git_submodules_config_override: {
    fetch_submodules: false, # required
  },
  buildspec_override: "String",
  insecure_ssl_override: false,
  report_build_status_override: false,
  build_status_config_override: {
    context: "String",
    target_url: "String",
  },
  environment_type_override: "WINDOWS_CONTAINER", # accepts WINDOWS_CONTAINER, LINUX_CONTAINER, LINUX_GPU_CONTAINER, ARM_CONTAINER, WINDOWS_SERVER_2019_CONTAINER
  image_override: "NonEmptyString",
  compute_type_override: "BUILD_GENERAL1_SMALL", # accepts BUILD_GENERAL1_SMALL, BUILD_GENERAL1_MEDIUM, BUILD_GENERAL1_LARGE, BUILD_GENERAL1_2XLARGE
  certificate_override: "String",
  cache_override: {
    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
  },
  service_role_override: "NonEmptyString",
  privileged_mode_override: false,
  timeout_in_minutes_override: 1,
  queued_timeout_in_minutes_override: 1,
  encryption_key_override: "NonEmptyString",
  idempotency_token: "String",
  logs_config_override: {
    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,
    },
  },
  registry_credential_override: {
    credential: "NonEmptyString", # required
    credential_provider: "SECRETS_MANAGER", # required, accepts SECRETS_MANAGER
  },
  image_pull_credentials_type_override: "CODEBUILD", # accepts CODEBUILD, SERVICE_ROLE
  debug_session_enabled: false,
})

Response structure


resp.build.id #=> String
resp.build.arn #=> String
resp.build.build_number #=> Integer
resp.build.start_time #=> Time
resp.build.end_time #=> Time
resp.build.current_phase #=> String
resp.build.build_status #=> String, one of "SUCCEEDED", "FAILED", "FAULT", "TIMED_OUT", "IN_PROGRESS", "STOPPED"
resp.build.source_version #=> String
resp.build.resolved_source_version #=> String
resp.build.project_name #=> String
resp.build.phases #=> Array
resp.build.phases[0].phase_type #=> String, one of "SUBMITTED", "QUEUED", "PROVISIONING", "DOWNLOAD_SOURCE", "INSTALL", "PRE_BUILD", "BUILD", "POST_BUILD", "UPLOAD_ARTIFACTS", "FINALIZING", "COMPLETED"
resp.build.phases[0].phase_status #=> String, one of "SUCCEEDED", "FAILED", "FAULT", "TIMED_OUT", "IN_PROGRESS", "STOPPED"
resp.build.phases[0].start_time #=> Time
resp.build.phases[0].end_time #=> Time
resp.build.phases[0].duration_in_seconds #=> Integer
resp.build.phases[0].contexts #=> Array
resp.build.phases[0].contexts[0].status_code #=> String
resp.build.phases[0].contexts[0].message #=> String
resp.build.source.type #=> String, one of "CODECOMMIT", "CODEPIPELINE", "GITHUB", "S3", "BITBUCKET", "GITHUB_ENTERPRISE", "NO_SOURCE"
resp.build.source.location #=> String
resp.build.source.git_clone_depth #=> Integer
resp.build.source.git_submodules_config.fetch_submodules #=> true/false
resp.build.source.buildspec #=> String
resp.build.source.auth.type #=> String, one of "OAUTH"
resp.build.source.auth.resource #=> String
resp.build.source.report_build_status #=> true/false
resp.build.source.build_status_config.context #=> String
resp.build.source.build_status_config.target_url #=> String
resp.build.source.insecure_ssl #=> true/false
resp.build.source.source_identifier #=> String
resp.build.secondary_sources #=> Array
resp.build.secondary_sources[0].type #=> String, one of "CODECOMMIT", "CODEPIPELINE", "GITHUB", "S3", "BITBUCKET", "GITHUB_ENTERPRISE", "NO_SOURCE"
resp.build.secondary_sources[0].location #=> String
resp.build.secondary_sources[0].git_clone_depth #=> Integer
resp.build.secondary_sources[0].git_submodules_config.fetch_submodules #=> true/false
resp.build.secondary_sources[0].buildspec #=> String
resp.build.secondary_sources[0].auth.type #=> String, one of "OAUTH"
resp.build.secondary_sources[0].auth.resource #=> String
resp.build.secondary_sources[0].report_build_status #=> true/false
resp.build.secondary_sources[0].build_status_config.context #=> String
resp.build.secondary_sources[0].build_status_config.target_url #=> String
resp.build.secondary_sources[0].insecure_ssl #=> true/false
resp.build.secondary_sources[0].source_identifier #=> String
resp.build.secondary_source_versions #=> Array
resp.build.secondary_source_versions[0].source_identifier #=> String
resp.build.secondary_source_versions[0].source_version #=> String
resp.build.artifacts.location #=> String
resp.build.artifacts.sha256sum #=> String
resp.build.artifacts.md5sum #=> String
resp.build.artifacts.override_artifact_name #=> true/false
resp.build.artifacts.encryption_disabled #=> true/false
resp.build.artifacts.artifact_identifier #=> String
resp.build.secondary_artifacts #=> Array
resp.build.secondary_artifacts[0].location #=> String
resp.build.secondary_artifacts[0].sha256sum #=> String
resp.build.secondary_artifacts[0].md5sum #=> String
resp.build.secondary_artifacts[0].override_artifact_name #=> true/false
resp.build.secondary_artifacts[0].encryption_disabled #=> true/false
resp.build.secondary_artifacts[0].artifact_identifier #=> String
resp.build.cache.type #=> String, one of "NO_CACHE", "S3", "LOCAL"
resp.build.cache.location #=> String
resp.build.cache.modes #=> Array
resp.build.cache.modes[0] #=> String, one of "LOCAL_DOCKER_LAYER_CACHE", "LOCAL_SOURCE_CACHE", "LOCAL_CUSTOM_CACHE"
resp.build.environment.type #=> String, one of "WINDOWS_CONTAINER", "LINUX_CONTAINER", "LINUX_GPU_CONTAINER", "ARM_CONTAINER", "WINDOWS_SERVER_2019_CONTAINER"
resp.build.environment.image #=> String
resp.build.environment.compute_type #=> String, one of "BUILD_GENERAL1_SMALL", "BUILD_GENERAL1_MEDIUM", "BUILD_GENERAL1_LARGE", "BUILD_GENERAL1_2XLARGE"
resp.build.environment.environment_variables #=> Array
resp.build.environment.environment_variables[0].name #=> String
resp.build.environment.environment_variables[0].value #=> String
resp.build.environment.environment_variables[0].type #=> String, one of "PLAINTEXT", "PARAMETER_STORE", "SECRETS_MANAGER"
resp.build.environment.privileged_mode #=> true/false
resp.build.environment.certificate #=> String
resp.build.environment.registry_credential.credential #=> String
resp.build.environment.registry_credential.credential_provider #=> String, one of "SECRETS_MANAGER"
resp.build.environment.image_pull_credentials_type #=> String, one of "CODEBUILD", "SERVICE_ROLE"
resp.build.service_role #=> String
resp.build.logs.group_name #=> String
resp.build.logs.stream_name #=> String
resp.build.logs.deep_link #=> String
resp.build.logs.s3_deep_link #=> String
resp.build.logs.cloud_watch_logs_arn #=> String
resp.build.logs.s3_logs_arn #=> String
resp.build.logs.cloud_watch_logs.status #=> String, one of "ENABLED", "DISABLED"
resp.build.logs.cloud_watch_logs.group_name #=> String
resp.build.logs.cloud_watch_logs.stream_name #=> String
resp.build.logs.s3_logs.status #=> String, one of "ENABLED", "DISABLED"
resp.build.logs.s3_logs.location #=> String
resp.build.logs.s3_logs.encryption_disabled #=> true/false
resp.build.timeout_in_minutes #=> Integer
resp.build.queued_timeout_in_minutes #=> Integer
resp.build.build_complete #=> true/false
resp.build.initiator #=> String
resp.build.vpc_config.vpc_id #=> String
resp.build.vpc_config.subnets #=> Array
resp.build.vpc_config.subnets[0] #=> String
resp.build.vpc_config.security_group_ids #=> Array
resp.build.vpc_config.security_group_ids[0] #=> String
resp.build.network_interface.subnet_id #=> String
resp.build.network_interface.network_interface_id #=> String
resp.build.encryption_key #=> String
resp.build.exported_environment_variables #=> Array
resp.build.exported_environment_variables[0].name #=> String
resp.build.exported_environment_variables[0].value #=> String
resp.build.report_arns #=> Array
resp.build.report_arns[0] #=> String
resp.build.file_system_locations #=> Array
resp.build.file_system_locations[0].type #=> String, one of "EFS"
resp.build.file_system_locations[0].location #=> String
resp.build.file_system_locations[0].mount_point #=> String
resp.build.file_system_locations[0].identifier #=> String
resp.build.file_system_locations[0].mount_options #=> String
resp.build.debug_session.session_enabled #=> true/false
resp.build.debug_session.session_target #=> String
resp.build.build_batch_arn #=> String

Options Hash (options):

  • :project_name (required, String)

    The name of the AWS CodeBuild build project to start running a build.

  • :secondary_sources_override (Array<Types::ProjectSource>)

    An array of ProjectSource objects.

  • :secondary_sources_version_override (Array<Types::ProjectSourceVersion>)

    An array of ProjectSourceVersion objects that specify one or more versions of the project\'s secondary sources to be used for this build only.

  • :source_version (String)

    The version of the build input to be built, for this build only. If not specified, the latest version is used. If specified, the contents depends on the source provider:

    AWS CodeCommit

    The commit ID, branch, or Git tag to use.

    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.

    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.

    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 project level, then this sourceVersion (at the build level) takes precedence.

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

  • :artifacts_override (Types::ProjectArtifacts)

    Build output artifact settings that override, for this build only, the latest ones already defined in the build project.

  • :secondary_artifacts_override (Array<Types::ProjectArtifacts>)

    An array of ProjectArtifacts objects.

  • :environment_variables_override (Array<Types::EnvironmentVariable>)

    A set of environment variables that overrides, for this build only, the latest ones already defined in the build project.

  • :source_type_override (String)

    A source input type, for this build, that overrides the source input defined in the build project.

  • :source_location_override (String)

    A location that overrides, for this build, the source location for the one defined in the build project.

  • :source_auth_override (Types::SourceAuth)

    An authorization type for this build that overrides the one defined in the build project. This override applies only if the build project\'s source is BitBucket or GitHub.

  • :git_clone_depth_override (Integer)

    The user-defined depth of history, with a minimum value of 0, that overrides, for this build only, any previous depth of history defined in the build project.

  • :git_submodules_config_override (Types::GitSubmodulesConfig)

    Information about the Git submodules configuration for this build of an AWS CodeBuild build project.

  • :buildspec_override (String)

    A buildspec file declaration that overrides, for this build only, the latest one already defined in the build project.

    If this value is set, it can be either an inline buildspec definition, the path to an alternate buildspec file relative to the value of the built-in CODEBUILD_SRC_DIR environment variable, or the path to an S3 bucket. The bucket must be in the same AWS Region as the build project. Specify the buildspec file using its ARN (for example, arn:aws:s3:::my-codebuild-sample2/buildspec.yml). If this value is not provided or is set to an empty string, the source code must contain a buildspec file in its root directory. For more information, see Buildspec File Name and Storage Location.

  • :insecure_ssl_override (Boolean)

    Enable this flag to override the insecure SSL setting that is specified in the build project. The insecure SSL setting determines whether to ignore SSL warnings while connecting to the project source code. This override applies only if the build\'s source is GitHub Enterprise.

  • :report_build_status_override (Boolean)

    Set to true to report to your source provider the status of a build\'s start and completion. If you use this option with a source provider other than GitHub, GitHub Enterprise, or Bitbucket, an invalidInputException is thrown.

    The status of a build triggered by a webhook is always reported to your source provider.

  • :build_status_config_override (Types::BuildStatusConfig)

    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, or BITBUCKET.

  • :environment_type_override (String)

    A container type for this build that overrides the one specified in the build project.

  • :image_override (String)

    The name of an image for this build that overrides the one specified in the build project.

  • :compute_type_override (String)

    The name of a compute type for this build that overrides the one specified in the build project.

  • :certificate_override (String)

    The name of a certificate for this build that overrides the one specified in the build project.

  • :cache_override (Types::ProjectCache)

    A ProjectCache object specified for this build that overrides the one defined in the build project.

  • :service_role_override (String)

    The name of a service role for this build that overrides the one specified in the build project.

  • :privileged_mode_override (Boolean)

    Enable this flag to override privileged mode in the build project.

  • :timeout_in_minutes_override (Integer)

    The number of build timeout minutes, from 5 to 480 (8 hours), that overrides, for this build only, the latest setting already defined in the build project.

  • :queued_timeout_in_minutes_override (Integer)

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

  • :encryption_key_override (String)

    The AWS Key Management Service (AWS KMS) customer master key (CMK) that overrides the one specified in the build project. The CMK key encrypts 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>).

  • :idempotency_token (String)

    A unique, case sensitive identifier you provide to ensure the idempotency of the StartBuild request. The token is included in the StartBuild request and is valid for 5 minutes. If you repeat the StartBuild request with the same token, but change a parameter, AWS CodeBuild returns a parameter mismatch error.

  • :logs_config_override (Types::LogsConfig)

    Log settings for this build that override the log settings defined in the build project.

  • :registry_credential_override (Types::RegistryCredential)

    The credentials for access to a private registry.

  • :image_pull_credentials_type_override (String)

    The type of credentials AWS CodeBuild uses to pull images in your build. There are two valid values:

    CODEBUILD

    Specifies that AWS CodeBuild uses its own credentials. This requires that you modify your ECR repository policy to trust AWS CodeBuild\'s service principal.

    SERVICE_ROLE

    Specifies that AWS CodeBuild uses your build project\'s service role.

    When using a cross-account or private registry image, you must use SERVICE_ROLE credentials. When using an AWS CodeBuild curated image, you must use CODEBUILD credentials.

  • :debug_session_enabled (Boolean)

    Specifies if session debugging is enabled for this build. For more information, see Viewing a running build in Session Manager.

Returns:

See Also:

#start_build_batch(options = {}) ⇒ Types::StartBuildBatchOutput

Starts a batch build for a project.

Examples:

Request syntax with placeholder values


resp = client.start_build_batch({
  project_name: "NonEmptyString", # required
  secondary_sources_override: [
    {
      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_version_override: [
    {
      source_identifier: "String", # required
      source_version: "String", # required
    },
  ],
  source_version: "String",
  artifacts_override: {
    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_override: [
    {
      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",
    },
  ],
  environment_variables_override: [
    {
      name: "NonEmptyString", # required
      value: "String", # required
      type: "PLAINTEXT", # accepts PLAINTEXT, PARAMETER_STORE, SECRETS_MANAGER
    },
  ],
  source_type_override: "CODECOMMIT", # accepts CODECOMMIT, CODEPIPELINE, GITHUB, S3, BITBUCKET, GITHUB_ENTERPRISE, NO_SOURCE
  source_location_override: "String",
  source_auth_override: {
    type: "OAUTH", # required, accepts OAUTH
    resource: "String",
  },
  git_clone_depth_override: 1,
  git_submodules_config_override: {
    fetch_submodules: false, # required
  },
  buildspec_override: "String",
  insecure_ssl_override: false,
  report_build_batch_status_override: false,
  environment_type_override: "WINDOWS_CONTAINER", # accepts WINDOWS_CONTAINER, LINUX_CONTAINER, LINUX_GPU_CONTAINER, ARM_CONTAINER, WINDOWS_SERVER_2019_CONTAINER
  image_override: "NonEmptyString",
  compute_type_override: "BUILD_GENERAL1_SMALL", # accepts BUILD_GENERAL1_SMALL, BUILD_GENERAL1_MEDIUM, BUILD_GENERAL1_LARGE, BUILD_GENERAL1_2XLARGE
  certificate_override: "String",
  cache_override: {
    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
  },
  service_role_override: "NonEmptyString",
  privileged_mode_override: false,
  build_timeout_in_minutes_override: 1,
  queued_timeout_in_minutes_override: 1,
  encryption_key_override: "NonEmptyString",
  idempotency_token: "String",
  logs_config_override: {
    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,
    },
  },
  registry_credential_override: {
    credential: "NonEmptyString", # required
    credential_provider: "SECRETS_MANAGER", # required, accepts SECRETS_MANAGER
  },
  image_pull_credentials_type_override: "CODEBUILD", # accepts CODEBUILD, SERVICE_ROLE
  build_batch_config_override: {
    service_role: "NonEmptyString",
    combine_artifacts: false,
    restrictions: {
      maximum_builds_allowed: 1,
      compute_types_allowed: ["NonEmptyString"],
    },
    timeout_in_mins: 1,
  },
})

Response structure


resp.build_batch.id #=> String
resp.build_batch.arn #=> String
resp.build_batch.start_time #=> Time
resp.build_batch.end_time #=> Time
resp.build_batch.current_phase #=> String
resp.build_batch.build_batch_status #=> String, one of "SUCCEEDED", "FAILED", "FAULT", "TIMED_OUT", "IN_PROGRESS", "STOPPED"
resp.build_batch.source_version #=> String
resp.build_batch.resolved_source_version #=> String
resp.build_batch.project_name #=> String
resp.build_batch.phases #=> Array
resp.build_batch.phases[0].phase_type #=> String, one of "SUBMITTED", "DOWNLOAD_BATCHSPEC", "IN_PROGRESS", "COMBINE_ARTIFACTS", "SUCCEEDED", "FAILED", "STOPPED"
resp.build_batch.phases[0].phase_status #=> String, one of "SUCCEEDED", "FAILED", "FAULT", "TIMED_OUT", "IN_PROGRESS", "STOPPED"
resp.build_batch.phases[0].start_time #=> Time
resp.build_batch.phases[0].end_time #=> Time
resp.build_batch.phases[0].duration_in_seconds #=> Integer
resp.build_batch.phases[0].contexts #=> Array
resp.build_batch.phases[0].contexts[0].status_code #=> String
resp.build_batch.phases[0].contexts[0].message #=> String
resp.build_batch.source.type #=> String, one of "CODECOMMIT", "CODEPIPELINE", "GITHUB", "S3", "BITBUCKET", "GITHUB_ENTERPRISE", "NO_SOURCE"
resp.build_batch.source.location #=> String
resp.build_batch.source.git_clone_depth #=> Integer
resp.build_batch.source.git_submodules_config.fetch_submodules #=> true/false
resp.build_batch.source.buildspec #=> String
resp.build_batch.source.auth.type #=> String, one of "OAUTH"
resp.build_batch.source.auth.resource #=> String
resp.build_batch.source.report_build_status #=> true/false
resp.build_batch.source.build_status_config.context #=> String
resp.build_batch.source.build_status_config.target_url #=> String
resp.build_batch.source.insecure_ssl #=> true/false
resp.build_batch.source.source_identifier #=> String
resp.build_batch.secondary_sources #=> Array
resp.build_batch.secondary_sources[0].type #=> String, one of "CODECOMMIT", "CODEPIPELINE", "GITHUB", "S3", "BITBUCKET", "GITHUB_ENTERPRISE", "NO_SOURCE"
resp.build_batch.secondary_sources[0].location #=> String
resp.build_batch.secondary_sources[0].git_clone_depth #=> Integer
resp.build_batch.secondary_sources[0].git_submodules_config.fetch_submodules #=> true/false
resp.build_batch.secondary_sources[0].buildspec #=> String
resp.build_batch.secondary_sources[0].auth.type #=> String, one of "OAUTH"
resp.build_batch.secondary_sources[0].auth.resource #=> String
resp.build_batch.secondary_sources[0].report_build_status #=> true/false
resp.build_batch.secondary_sources[0].build_status_config.context #=> String
resp.build_batch.secondary_sources[0].build_status_config.target_url #=> String
resp.build_batch.secondary_sources[0].insecure_ssl #=> true/false
resp.build_batch.secondary_sources[0].source_identifier #=> String
resp.build_batch.secondary_source_versions #=> Array
resp.build_batch.secondary_source_versions[0].source_identifier #=> String
resp.build_batch.secondary_source_versions[0].source_version #=> String
resp.build_batch.artifacts.location #=> String
resp.build_batch.artifacts.sha256sum #=> String
resp.build_batch.artifacts.md5sum #=> String
resp.build_batch.artifacts.override_artifact_name #=> true/false
resp.build_batch.artifacts.encryption_disabled #=> true/false
resp.build_batch.artifacts.artifact_identifier #=> String
resp.build_batch.secondary_artifacts #=> Array
resp.build_batch.secondary_artifacts[0].location #=> String
resp.build_batch.secondary_artifacts[0].sha256sum #=> String
resp.build_batch.secondary_artifacts[0].md5sum #=> String
resp.build_batch.secondary_artifacts[0].override_artifact_name #=> true/false
resp.build_batch.secondary_artifacts[0].encryption_disabled #=> true/false
resp.build_batch.secondary_artifacts[0].artifact_identifier #=> String
resp.build_batch.cache.type #=> String, one of "NO_CACHE", "S3", "LOCAL"
resp.build_batch.cache.location #=> String
resp.build_batch.cache.modes #=> Array
resp.build_batch.cache.modes[0] #=> String, one of "LOCAL_DOCKER_LAYER_CACHE", "LOCAL_SOURCE_CACHE", "LOCAL_CUSTOM_CACHE"
resp.build_batch.environment.type #=> String, one of "WINDOWS_CONTAINER", "LINUX_CONTAINER", "LINUX_GPU_CONTAINER", "ARM_CONTAINER", "WINDOWS_SERVER_2019_CONTAINER"
resp.build_batch.environment.image #=> String
resp.build_batch.environment.compute_type #=> String, one of "BUILD_GENERAL1_SMALL", "BUILD_GENERAL1_MEDIUM", "BUILD_GENERAL1_LARGE", "BUILD_GENERAL1_2XLARGE"
resp.build_batch.environment.environment_variables #=> Array
resp.build_batch.environment.environment_variables[0].name #=> String
resp.build_batch.environment.environment_variables[0].value #=> String
resp.build_batch.environment.environment_variables[0].type #=> String, one of "PLAINTEXT", "PARAMETER_STORE", "SECRETS_MANAGER"
resp.build_batch.environment.privileged_mode #=> true/false
resp.build_batch.environment.certificate #=> String
resp.build_batch.environment.registry_credential.credential #=> String
resp.build_batch.environment.registry_credential.credential_provider #=> String, one of "SECRETS_MANAGER"
resp.build_batch.environment.image_pull_credentials_type #=> String, one of "CODEBUILD", "SERVICE_ROLE"
resp.build_batch.service_role #=> String
resp.build_batch.log_config.cloud_watch_logs.status #=> String, one of "ENABLED", "DISABLED"
resp.build_batch.log_config.cloud_watch_logs.group_name #=> String
resp.build_batch.log_config.cloud_watch_logs.stream_name #=> String
resp.build_batch.log_config.s3_logs.status #=> String, one of "ENABLED", "DISABLED"
resp.build_batch.log_config.s3_logs.location #=> String
resp.build_batch.log_config.s3_logs.encryption_disabled #=> true/false
resp.build_batch.build_timeout_in_minutes #=> Integer
resp.build_batch.queued_timeout_in_minutes #=> Integer
resp.build_batch.complete #=> true/false
resp.build_batch.initiator #=> String
resp.build_batch.vpc_config.vpc_id #=> String
resp.build_batch.vpc_config.subnets #=> Array
resp.build_batch.vpc_config.subnets[0] #=> String
resp.build_batch.vpc_config.security_group_ids #=> Array
resp.build_batch.vpc_config.security_group_ids[0] #=> String
resp.build_batch.encryption_key #=> String
resp.build_batch.build_batch_number #=> Integer
resp.build_batch.file_system_locations #=> Array
resp.build_batch.file_system_locations[0].type #=> String, one of "EFS"
resp.build_batch.file_system_locations[0].location #=> String
resp.build_batch.file_system_locations[0].mount_point #=> String
resp.build_batch.file_system_locations[0].identifier #=> String
resp.build_batch.file_system_locations[0].mount_options #=> String
resp.build_batch.build_batch_config.service_role #=> String
resp.build_batch.build_batch_config.combine_artifacts #=> true/false
resp.build_batch.build_batch_config.restrictions.maximum_builds_allowed #=> Integer
resp.build_batch.build_batch_config.restrictions.compute_types_allowed #=> Array
resp.build_batch.build_batch_config.restrictions.compute_types_allowed[0] #=> String
resp.build_batch.build_batch_config.timeout_in_mins #=> Integer
resp.build_batch.build_groups #=> Array
resp.build_batch.build_groups[0].identifier #=> String
resp.build_batch.build_groups[0].depends_on #=> Array
resp.build_batch.build_groups[0].depends_on[0] #=> String
resp.build_batch.build_groups[0].ignore_failure #=> true/false
resp.build_batch.build_groups[0].current_build_summary.arn #=> String
resp.build_batch.build_groups[0].current_build_summary.requested_on #=> Time
resp.build_batch.build_groups[0].current_build_summary.build_status #=> String, one of "SUCCEEDED", "FAILED", "FAULT", "TIMED_OUT", "IN_PROGRESS", "STOPPED"
resp.build_batch.build_groups[0].current_build_summary.primary_artifact.type #=> String, one of "CODEPIPELINE", "S3", "NO_ARTIFACTS"
resp.build_batch.build_groups[0].current_build_summary.primary_artifact.location #=> String
resp.build_batch.build_groups[0].current_build_summary.primary_artifact.identifier #=> String
resp.build_batch.build_groups[0].current_build_summary.secondary_artifacts #=> Array
resp.build_batch.build_groups[0].current_build_summary.secondary_artifacts[0].type #=> String, one of "CODEPIPELINE", "S3", "NO_ARTIFACTS"
resp.build_batch.build_groups[0].current_build_summary.secondary_artifacts[0].location #=> String
resp.build_batch.build_groups[0].current_build_summary.secondary_artifacts[0].identifier #=> String
resp.build_batch.build_groups[0].prior_build_summary_list #=> Array
resp.build_batch.build_groups[0].prior_build_summary_list[0].arn #=> String
resp.build_batch.build_groups[0].prior_build_summary_list[0].requested_on #=> Time
resp.build_batch.build_groups[0].prior_build_summary_list[0].build_status #=> String, one of "SUCCEEDED", "FAILED", "FAULT", "TIMED_OUT", "IN_PROGRESS", "STOPPED"
resp.build_batch.build_groups[0].prior_build_summary_list[0].primary_artifact.type #=> String, one of "CODEPIPELINE", "S3", "NO_ARTIFACTS"
resp.build_batch.build_groups[0].prior_build_summary_list[0].primary_artifact.location #=> String
resp.build_batch.build_groups[0].prior_build_summary_list[0].primary_artifact.identifier #=> String
resp.build_batch.build_groups[0].prior_build_summary_list[0].secondary_artifacts #=> Array
resp.build_batch.build_groups[0].prior_build_summary_list[0].secondary_artifacts[0].type #=> String, one of "CODEPIPELINE", "S3", "NO_ARTIFACTS"
resp.build_batch.build_groups[0].prior_build_summary_list[0].secondary_artifacts[0].location #=> String
resp.build_batch.build_groups[0].prior_build_summary_list[0].secondary_artifacts[0].identifier #=> String

Options Hash (options):

  • :project_name (required, String)

    The name of the project.

  • :secondary_sources_override (Array<Types::ProjectSource>)

    An array of ProjectSource objects that override the secondary sources defined in the batch build project.

  • :secondary_sources_version_override (Array<Types::ProjectSourceVersion>)

    An array of ProjectSourceVersion objects that override the secondary source versions in the batch build project.

  • :source_version (String)

    The version of the batch build input to be built, for this build only. If not specified, the latest version is used. If specified, the contents depends on the source provider:

    AWS CodeCommit

    The commit ID, branch, or Git tag to use.

    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.

    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.

    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 project level, then this sourceVersion (at the build level) takes precedence.

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

  • :artifacts_override (Types::ProjectArtifacts)

    An array of ProjectArtifacts objects that contains information about the build output artifact overrides for the build project.

  • :secondary_artifacts_override (Array<Types::ProjectArtifacts>)

    An array of ProjectArtifacts objects that override the secondary artifacts defined in the batch build project.

  • :environment_variables_override (Array<Types::EnvironmentVariable>)

    An array of EnvironmentVariable objects that override, or add to, the environment variables defined in the batch build project.

  • :source_type_override (String)

    The source input type that overrides the source input defined in the batch build project.

  • :source_location_override (String)

    A location that overrides, for this batch build, the source location defined in the batch build project.

  • :source_auth_override (Types::SourceAuth)

    A SourceAuth object that overrides the one defined in the batch build project. This override applies only if the build project\'s source is BitBucket or GitHub.

  • :git_clone_depth_override (Integer)

    The user-defined depth of history, with a minimum value of 0, that overrides, for this batch build only, any previous depth of history defined in the batch build project.

  • :git_submodules_config_override (Types::GitSubmodulesConfig)

    A GitSubmodulesConfig object that overrides the Git submodules configuration for this batch build.

  • :buildspec_override (String)

    A buildspec file declaration that overrides, for this build only, the latest one already defined in the build project.

    If this value is set, it can be either an inline buildspec definition, the path to an alternate buildspec file relative to the value of the built-in CODEBUILD_SRC_DIR environment variable, or the path to an S3 bucket. The bucket must be in the same AWS Region as the build project. Specify the buildspec file using its ARN (for example, arn:aws:s3:::my-codebuild-sample2/buildspec.yml). If this value is not provided or is set to an empty string, the source code must contain a buildspec file in its root directory. For more information, see Buildspec File Name and Storage Location.

  • :insecure_ssl_override (Boolean)

    Enable this flag to override the insecure SSL setting that is specified in the batch build project. The insecure SSL setting determines whether to ignore SSL warnings while connecting to the project source code. This override applies only if the build\'s source is GitHub Enterprise.

  • :report_build_batch_status_override (Boolean)

    Set to true to report to your source provider the status of a batch build\'s start and completion. If you use this option with a source provider other than GitHub, GitHub Enterprise, or Bitbucket, an invalidInputException is thrown.

    The status of a build triggered by a webhook is always reported to your source provider.

  • :environment_type_override (String)

    A container type for this batch build that overrides the one specified in the batch build project.

  • :image_override (String)

    The name of an image for this batch build that overrides the one specified in the batch build project.

  • :compute_type_override (String)

    The name of a compute type for this batch build that overrides the one specified in the batch build project.

  • :certificate_override (String)

    The name of a certificate for this batch build that overrides the one specified in the batch build project.

  • :cache_override (Types::ProjectCache)

    A ProjectCache object that specifies cache overrides.

  • :service_role_override (String)

    The name of a service role for this batch build that overrides the one specified in the batch build project.

  • :privileged_mode_override (Boolean)

    Enable this flag to override privileged mode in the batch build project.

  • :build_timeout_in_minutes_override (Integer)

    Overrides the build timeout specified in the batch build project.

  • :queued_timeout_in_minutes_override (Integer)

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

  • :encryption_key_override (String)

    The AWS Key Management Service (AWS KMS) customer master key (CMK) that overrides the one specified in the batch build project. The CMK key encrypts 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>).

  • :idempotency_token (String)

    A unique, case sensitive identifier you provide to ensure the idempotency of the StartBuildBatch request. The token is included in the StartBuildBatch request and is valid for five minutes. If you repeat the StartBuildBatch request with the same token, but change a parameter, AWS CodeBuild returns a parameter mismatch error.

  • :logs_config_override (Types::LogsConfig)

    A LogsConfig object that override the log settings defined in the batch build project.

  • :registry_credential_override (Types::RegistryCredential)

    A RegistryCredential object that overrides credentials for access to a private registry.

  • :image_pull_credentials_type_override (String)

    The type of credentials AWS CodeBuild uses to pull images in your batch build. There are two valid values:

    CODEBUILD

    Specifies that AWS CodeBuild uses its own credentials. This requires that you modify your ECR repository policy to trust AWS CodeBuild\'s service principal.

    SERVICE_ROLE

    Specifies that AWS CodeBuild uses your build project\'s service role.

    When using a cross-account or private registry image, you must use SERVICE_ROLE credentials. When using an AWS CodeBuild curated image, you must use CODEBUILD credentials.

  • :build_batch_config_override (Types::ProjectBuildBatchConfig)

    A BuildBatchConfigOverride object that contains batch build configuration overrides.

Returns:

See Also:

#stop_build(options = {}) ⇒ Types::StopBuildOutput

Attempts to stop running a build.

Examples:

Request syntax with placeholder values


resp = client.stop_build({
  id: "NonEmptyString", # required
})

Response structure


resp.build.id #=> String
resp.build.arn #=> String
resp.build.build_number #=> Integer
resp.build.start_time #=> Time
resp.build.end_time #=> Time
resp.build.current_phase #=> String
resp.build.build_status #=> String, one of "SUCCEEDED", "FAILED", "FAULT", "TIMED_OUT", "IN_PROGRESS", "STOPPED"
resp.build.source_version #=> String
resp.build.resolved_source_version #=> String
resp.build.project_name #=> String
resp.build.phases #=> Array
resp.build.phases[0].phase_type #=> String, one of "SUBMITTED", "QUEUED", "PROVISIONING", "DOWNLOAD_SOURCE", "INSTALL", "PRE_BUILD", "BUILD", "POST_BUILD", "UPLOAD_ARTIFACTS", "FINALIZING", "COMPLETED"
resp.build.phases[0].phase_status #=> String, one of "SUCCEEDED", "FAILED", "FAULT", "TIMED_OUT", "IN_PROGRESS", "STOPPED"
resp.build.phases[0].start_time #=> Time
resp.build.phases[0].end_time #=> Time
resp.build.phases[0].duration_in_seconds #=> Integer
resp.build.phases[0].contexts #=> Array
resp.build.phases[0].contexts[0].status_code #=> String
resp.build.phases[0].contexts[0].message #=> String
resp.build.source.type #=> String, one of "CODECOMMIT", "CODEPIPELINE", "GITHUB", "S3", "BITBUCKET", "GITHUB_ENTERPRISE", "NO_SOURCE"
resp.build.source.location #=> String
resp.build.source.git_clone_depth #=> Integer
resp.build.source.git_submodules_config.fetch_submodules #=> true/false
resp.build.source.buildspec #=> String
resp.build.source.auth.type #=> String, one of "OAUTH"
resp.build.source.auth.resource #=> String
resp.build.source.report_build_status #=> true/false
resp.build.source.build_status_config.context #=> String
resp.build.source.build_status_config.target_url #=> String
resp.build.source.insecure_ssl #=> true/false
resp.build.source.source_identifier #=> String
resp.build.secondary_sources #=> Array
resp.build.secondary_sources[0].type #=> String, one of "CODECOMMIT", "CODEPIPELINE", "GITHUB", "S3", "BITBUCKET", "GITHUB_ENTERPRISE", "NO_SOURCE"
resp.build.secondary_sources[0].location #=> String
resp.build.secondary_sources[0].git_clone_depth #=> Integer
resp.build.secondary_sources[0].git_submodules_config.fetch_submodules #=> true/false
resp.build.secondary_sources[0].buildspec #=> String
resp.build.secondary_sources[0].auth.type #=> String, one of "OAUTH"
resp.build.secondary_sources[0].auth.resource #=> String
resp.build.secondary_sources[0].report_build_status #=> true/false
resp.build.secondary_sources[0].build_status_config.context #=> String
resp.build.secondary_sources[0].build_status_config.target_url #=> String
resp.build.secondary_sources[0].insecure_ssl #=> true/false
resp.build.secondary_sources[0].source_identifier #=> String
resp.build.secondary_source_versions #=> Array
resp.build.secondary_source_versions[0].source_identifier #=> String
resp.build.secondary_source_versions[0].source_version #=> String
resp.build.artifacts.location #=> String
resp.build.artifacts.sha256sum #=> String
resp.build.artifacts.md5sum #=> String
resp.build.artifacts.override_artifact_name #=> true/false
resp.build.artifacts.encryption_disabled #=> true/false
resp.build.artifacts.artifact_identifier #=> String
resp.build.secondary_artifacts #=> Array
resp.build.secondary_artifacts[0].location #=> String
resp.build.secondary_artifacts[0].sha256sum #=> String
resp.build.secondary_artifacts[0].md5sum #=> String
resp.build.secondary_artifacts[0].override_artifact_name #=> true/false
resp.build.secondary_artifacts[0].encryption_disabled #=> true/false
resp.build.secondary_artifacts[0].artifact_identifier #=> String
resp.build.cache.type #=> String, one of "NO_CACHE", "S3", "LOCAL"
resp.build.cache.location #=> String
resp.build.cache.modes #=> Array
resp.build.cache.modes[0] #=> String, one of "LOCAL_DOCKER_LAYER_CACHE", "LOCAL_SOURCE_CACHE", "LOCAL_CUSTOM_CACHE"
resp.build.environment.type #=> String, one of "WINDOWS_CONTAINER", "LINUX_CONTAINER", "LINUX_GPU_CONTAINER", "ARM_CONTAINER", "WINDOWS_SERVER_2019_CONTAINER"
resp.build.environment.image #=> String
resp.build.environment.compute_type #=> String, one of "BUILD_GENERAL1_SMALL", "BUILD_GENERAL1_MEDIUM", "BUILD_GENERAL1_LARGE", "BUILD_GENERAL1_2XLARGE"
resp.build.environment.environment_variables #=> Array
resp.build.environment.environment_variables[0].name #=> String
resp.build.environment.environment_variables[0].value #=> String
resp.build.environment.environment_variables[0].type #=> String, one of "PLAINTEXT", "PARAMETER_STORE", "SECRETS_MANAGER"
resp.build.environment.privileged_mode #=> true/false
resp.build.environment.certificate #=> String
resp.build.environment.registry_credential.credential #=> String
resp.build.environment.registry_credential.credential_provider #=> String, one of "SECRETS_MANAGER"
resp.build.environment.image_pull_credentials_type #=> String, one of "CODEBUILD", "SERVICE_ROLE"
resp.build.service_role #=> String
resp.build.logs.group_name #=> String
resp.build.logs.stream_name #=> String
resp.build.logs.deep_link #=> String
resp.build.logs.s3_deep_link #=> String
resp.build.logs.cloud_watch_logs_arn #=> String
resp.build.logs.s3_logs_arn #=> String
resp.build.logs.cloud_watch_logs.status #=> String, one of "ENABLED", "DISABLED"
resp.build.logs.cloud_watch_logs.group_name #=> String
resp.build.logs.cloud_watch_logs.stream_name #=> String
resp.build.logs.s3_logs.status #=> String, one of "ENABLED", "DISABLED"
resp.build.logs.s3_logs.location #=> String
resp.build.logs.s3_logs.encryption_disabled #=> true/false
resp.build.timeout_in_minutes #=> Integer
resp.build.queued_timeout_in_minutes #=> Integer
resp.build.build_complete #=> true/false
resp.build.initiator #=> String
resp.build.vpc_config.vpc_id #=> String
resp.build.vpc_config.subnets #=> Array
resp.build.vpc_config.subnets[0] #=> String
resp.build.vpc_config.security_group_ids #=> Array
resp.build.vpc_config.security_group_ids[0] #=> String
resp.build.network_interface.subnet_id #=> String
resp.build.network_interface.network_interface_id #=> String
resp.build.encryption_key #=> String
resp.build.exported_environment_variables #=> Array
resp.build.exported_environment_variables[0].name #=> String
resp.build.exported_environment_variables[0].value #=> String
resp.build.report_arns #=> Array
resp.build.report_arns[0] #=> String
resp.build.file_system_locations #=> Array
resp.build.file_system_locations[0].type #=> String, one of "EFS"
resp.build.file_system_locations[0].location #=> String
resp.build.file_system_locations[0].mount_point #=> String
resp.build.file_system_locations[0].identifier #=> String
resp.build.file_system_locations[0].mount_options #=> String
resp.build.debug_session.session_enabled #=> true/false
resp.build.debug_session.session_target #=> String
resp.build.build_batch_arn #=> String

Options Hash (options):

  • :id (required, String)

    The ID of the build.

Returns:

See Also:

#stop_build_batch(options = {}) ⇒ Types::StopBuildBatchOutput

Stops a running batch build.

Examples:

Request syntax with placeholder values


resp = client.stop_build_batch({
  id: "NonEmptyString", # required
})

Response structure


resp.build_batch.id #=> String
resp.build_batch.arn #=> String
resp.build_batch.start_time #=> Time
resp.build_batch.end_time #=> Time
resp.build_batch.current_phase #=> String
resp.build_batch.build_batch_status #=> String, one of "SUCCEEDED", "FAILED", "FAULT", "TIMED_OUT", "IN_PROGRESS", "STOPPED"
resp.build_batch.source_version #=> String
resp.build_batch.resolved_source_version #=> String
resp.build_batch.project_name #=> String
resp.build_batch.phases #=> Array
resp.build_batch.phases[0].phase_type #=> String, one of "SUBMITTED", "DOWNLOAD_BATCHSPEC", "IN_PROGRESS", "COMBINE_ARTIFACTS", "SUCCEEDED", "FAILED", "STOPPED"
resp.build_batch.phases[0].phase_status #=> String, one of "SUCCEEDED", "FAILED", "FAULT", "TIMED_OUT", "IN_PROGRESS", "STOPPED"
resp.build_batch.phases[0].start_time #=> Time
resp.build_batch.phases[0].end_time #=> Time
resp.build_batch.phases[0].duration_in_seconds #=> Integer
resp.build_batch.phases[0].contexts #=> Array
resp.build_batch.phases[0].contexts[0].status_code #=> String
resp.build_batch.phases[0].contexts[0].message #=> String
resp.build_batch.source.type #=> String, one of "CODECOMMIT", "CODEPIPELINE", "GITHUB", "S3", "BITBUCKET", "GITHUB_ENTERPRISE", "NO_SOURCE"
resp.build_batch.source.location #=> String
resp.build_batch.source.git_clone_depth #=> Integer
resp.build_batch.source.git_submodules_config.fetch_submodules #=> true/false
resp.build_batch.source.buildspec #=> String
resp.build_batch.source.auth.type #=> String, one of "OAUTH"
resp.build_batch.source.auth.resource #=> String
resp.build_batch.source.report_build_status #=> true/false
resp.build_batch.source.build_status_config.context #=> String
resp.build_batch.source.build_status_config.target_url #=> String
resp.build_batch.source.insecure_ssl #=> true/false
resp.build_batch.source.source_identifier #=> String
resp.build_batch.secondary_sources #=> Array
resp.build_batch.secondary_sources[0].type #=> String, one of "CODECOMMIT", "CODEPIPELINE", "GITHUB", "S3", "BITBUCKET", "GITHUB_ENTERPRISE", "NO_SOURCE"
resp.build_batch.secondary_sources[0].location #=> String
resp.build_batch.secondary_sources[0].git_clone_depth #=> Integer
resp.build_batch.secondary_sources[0].git_submodules_config.fetch_submodules #=> true/false
resp.build_batch.secondary_sources[0].buildspec #=> String
resp.build_batch.secondary_sources[0].auth.type #=> String, one of "OAUTH"
resp.build_batch.secondary_sources[0].auth.resource #=> String
resp.build_batch.secondary_sources[0].report_build_status #=> true/false
resp.build_batch.secondary_sources[0].build_status_config.context #=> String
resp.build_batch.secondary_sources[0].build_status_config.target_url #=> String
resp.build_batch.secondary_sources[0].insecure_ssl #=> true/false
resp.build_batch.secondary_sources[0].source_identifier #=> String
resp.build_batch.secondary_source_versions #=> Array
resp.build_batch.secondary_source_versions[0].source_identifier #=> String
resp.build_batch.secondary_source_versions[0].source_version #=> String
resp.build_batch.artifacts.location #=> String
resp.build_batch.artifacts.sha256sum #=> String
resp.build_batch.artifacts.md5sum #=> String
resp.build_batch.artifacts.override_artifact_name #=> true/false
resp.build_batch.artifacts.encryption_disabled #=> true/false
resp.build_batch.artifacts.artifact_identifier #=> String
resp.build_batch.secondary_artifacts #=> Array
resp.build_batch.secondary_artifacts[0].location #=> String
resp.build_batch.secondary_artifacts[0].sha256sum #=> String
resp.build_batch.secondary_artifacts[0].md5sum #=> String
resp.build_batch.secondary_artifacts[0].override_artifact_name #=> true/false
resp.build_batch.secondary_artifacts[0].encryption_disabled #=> true/false
resp.build_batch.secondary_artifacts[0].artifact_identifier #=> String
resp.build_batch.cache.type #=> String, one of "NO_CACHE", "S3", "LOCAL"
resp.build_batch.cache.location #=> String
resp.build_batch.cache.modes #=> Array
resp.build_batch.cache.modes[0] #=> String, one of "LOCAL_DOCKER_LAYER_CACHE", "LOCAL_SOURCE_CACHE", "LOCAL_CUSTOM_CACHE"
resp.build_batch.environment.type #=> String, one of "WINDOWS_CONTAINER", "LINUX_CONTAINER", "LINUX_GPU_CONTAINER", "ARM_CONTAINER", "WINDOWS_SERVER_2019_CONTAINER"
resp.build_batch.environment.image #=> String
resp.build_batch.environment.compute_type #=> String, one of "BUILD_GENERAL1_SMALL", "BUILD_GENERAL1_MEDIUM", "BUILD_GENERAL1_LARGE", "BUILD_GENERAL1_2XLARGE"
resp.build_batch.environment.environment_variables #=> Array
resp.build_batch.environment.environment_variables[0].name #=> String
resp.build_batch.environment.environment_variables[0].value #=> String
resp.build_batch.environment.environment_variables[0].type #=> String, one of "PLAINTEXT", "PARAMETER_STORE", "SECRETS_MANAGER"
resp.build_batch.environment.privileged_mode #=> true/false
resp.build_batch.environment.certificate #=> String
resp.build_batch.environment.registry_credential.credential #=> String
resp.build_batch.environment.registry_credential.credential_provider #=> String, one of "SECRETS_MANAGER"
resp.build_batch.environment.image_pull_credentials_type #=> String, one of "CODEBUILD", "SERVICE_ROLE"
resp.build_batch.service_role #=> String
resp.build_batch.log_config.cloud_watch_logs.status #=> String, one of "ENABLED", "DISABLED"
resp.build_batch.log_config.cloud_watch_logs.group_name #=> String
resp.build_batch.log_config.cloud_watch_logs.stream_name #=> String
resp.build_batch.log_config.s3_logs.status #=> String, one of "ENABLED", "DISABLED"
resp.build_batch.log_config.s3_logs.location #=> String
resp.build_batch.log_config.s3_logs.encryption_disabled #=> true/false
resp.build_batch.build_timeout_in_minutes #=> Integer
resp.build_batch.queued_timeout_in_minutes #=> Integer
resp.build_batch.complete #=> true/false
resp.build_batch.initiator #=> String
resp.build_batch.vpc_config.vpc_id #=> String
resp.build_batch.vpc_config.subnets #=> Array
resp.build_batch.vpc_config.subnets[0] #=> String
resp.build_batch.vpc_config.security_group_ids #=> Array
resp.build_batch.vpc_config.security_group_ids[0] #=> String
resp.build_batch.encryption_key #=> String
resp.build_batch.build_batch_number #=> Integer
resp.build_batch.file_system_locations #=> Array
resp.build_batch.file_system_locations[0].type #=> String, one of "EFS"
resp.build_batch.file_system_locations[0].location #=> String
resp.build_batch.file_system_locations[0].mount_point #=> String
resp.build_batch.file_system_locations[0].identifier #=> String
resp.build_batch.file_system_locations[0].mount_options #=> String
resp.build_batch.build_batch_config.service_role #=> String
resp.build_batch.build_batch_config.combine_artifacts #=> true/false
resp.build_batch.build_batch_config.restrictions.maximum_builds_allowed #=> Integer
resp.build_batch.build_batch_config.restrictions.compute_types_allowed #=> Array
resp.build_batch.build_batch_config.restrictions.compute_types_allowed[0] #=> String
resp.build_batch.build_batch_config.timeout_in_mins #=> Integer
resp.build_batch.build_groups #=> Array
resp.build_batch.build_groups[0].identifier #=> String
resp.build_batch.build_groups[0].depends_on #=> Array
resp.build_batch.build_groups[0].depends_on[0] #=> String
resp.build_batch.build_groups[0].ignore_failure #=> true/false
resp.build_batch.build_groups[0].current_build_summary.arn #=> String
resp.build_batch.build_groups[0].current_build_summary.requested_on #=> Time
resp.build_batch.build_groups[0].current_build_summary.build_status #=> String, one of "SUCCEEDED", "FAILED", "FAULT", "TIMED_OUT", "IN_PROGRESS", "STOPPED"
resp.build_batch.build_groups[0].current_build_summary.primary_artifact.type #=> String, one of "CODEPIPELINE", "S3", "NO_ARTIFACTS"
resp.build_batch.build_groups[0].current_build_summary.primary_artifact.location #=> String
resp.build_batch.build_groups[0].current_build_summary.primary_artifact.identifier #=> String
resp.build_batch.build_groups[0].current_build_summary.secondary_artifacts #=> Array
resp.build_batch.build_groups[0].current_build_summary.secondary_artifacts[0].type #=> String, one of "CODEPIPELINE", "S3", "NO_ARTIFACTS"
resp.build_batch.build_groups[0].current_build_summary.secondary_artifacts[0].location #=> String
resp.build_batch.build_groups[0].current_build_summary.secondary_artifacts[0].identifier #=> String
resp.build_batch.build_groups[0].prior_build_summary_list #=> Array
resp.build_batch.build_groups[0].prior_build_summary_list[0].arn #=> String
resp.build_batch.build_groups[0].prior_build_summary_list[0].requested_on #=> Time
resp.build_batch.build_groups[0].prior_build_summary_list[0].build_status #=> String, one of "SUCCEEDED", "FAILED", "FAULT", "TIMED_OUT", "IN_PROGRESS", "STOPPED"
resp.build_batch.build_groups[0].prior_build_summary_list[0].primary_artifact.type #=> String, one of "CODEPIPELINE", "S3", "NO_ARTIFACTS"
resp.build_batch.build_groups[0].prior_build_summary_list[0].primary_artifact.location #=> String
resp.build_batch.build_groups[0].prior_build_summary_list[0].primary_artifact.identifier #=> String
resp.build_batch.build_groups[0].prior_build_summary_list[0].secondary_artifacts #=> Array
resp.build_batch.build_groups[0].prior_build_summary_list[0].secondary_artifacts[0].type #=> String, one of "CODEPIPELINE", "S3", "NO_ARTIFACTS"
resp.build_batch.build_groups[0].prior_build_summary_list[0].secondary_artifacts[0].location #=> String
resp.build_batch.build_groups[0].prior_build_summary_list[0].secondary_artifacts[0].identifier #=> String

Options Hash (options):

  • :id (required, String)

    The identifier of the batch build to stop.

Returns:

See Also:

#update_project(options = {}) ⇒ Types::UpdateProjectOutput

Changes the settings of a build project.

Examples:

Request syntax with placeholder values


resp = client.update_project({
  name: "NonEmptyString", # required
  description: "ProjectDescription",
  source: {
    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: {
    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: {
    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",
  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,
  },
})

Response structure


resp.project.name #=> String
resp.project.arn #=> String
resp.project.description #=> String
resp.project.source.type #=> String, one of "CODECOMMIT", "CODEPIPELINE", "GITHUB", "S3", "BITBUCKET", "GITHUB_ENTERPRISE", "NO_SOURCE"
resp.project.source.location #=> String
resp.project.source.git_clone_depth #=> Integer
resp.project.source.git_submodules_config.fetch_submodules #=> true/false
resp.project.source.buildspec #=> String
resp.project.source.auth.type #=> String, one of "OAUTH"
resp.project.source.auth.resource #=> String
resp.project.source.report_build_status #=> true/false
resp.project.source.build_status_config.context #=> String
resp.project.source.build_status_config.target_url #=> String
resp.project.source.insecure_ssl #=> true/false
resp.project.source.source_identifier #=> String
resp.project.secondary_sources #=> Array
resp.project.secondary_sources[0].type #=> String, one of "CODECOMMIT", "CODEPIPELINE", "GITHUB", "S3", "BITBUCKET", "GITHUB_ENTERPRISE", "NO_SOURCE"
resp.project.secondary_sources[0].location #=> String
resp.project.secondary_sources[0].git_clone_depth #=> Integer
resp.project.secondary_sources[0].git_submodules_config.fetch_submodules #=> true/false
resp.project.secondary_sources[0].buildspec #=> String
resp.project.secondary_sources[0].auth.type #=> String, one of "OAUTH"
resp.project.secondary_sources[0].auth.resource #=> String
resp.project.secondary_sources[0].report_build_status #=> true/false
resp.project.secondary_sources[0].build_status_config.context #=> String
resp.project.secondary_sources[0].build_status_config.target_url #=> String
resp.project.secondary_sources[0].insecure_ssl #=> true/false
resp.project.secondary_sources[0].source_identifier #=> String
resp.project.source_version #=> String
resp.project.secondary_source_versions #=> Array
resp.project.secondary_source_versions[0].source_identifier #=> String
resp.project.secondary_source_versions[0].source_version #=> String
resp.project.artifacts.type #=> String, one of "CODEPIPELINE", "S3", "NO_ARTIFACTS"
resp.project.artifacts.location #=> String
resp.project.artifacts.path #=> String
resp.project.artifacts.namespace_type #=> String, one of "NONE", "BUILD_ID"
resp.project.artifacts.name #=> String
resp.project.artifacts.packaging #=> String, one of "NONE", "ZIP"
resp.project.artifacts.override_artifact_name #=> true/false
resp.project.artifacts.encryption_disabled #=> true/false
resp.project.artifacts.artifact_identifier #=> String
resp.project.secondary_artifacts #=> Array
resp.project.secondary_artifacts[0].type #=> String, one of "CODEPIPELINE", "S3", "NO_ARTIFACTS"
resp.project.secondary_artifacts[0].location #=> String
resp.project.secondary_artifacts[0].path #=> String
resp.project.secondary_artifacts[0].namespace_type #=> String, one of "NONE", "BUILD_ID"
resp.project.secondary_artifacts[0].name #=> String
resp.project.secondary_artifacts[0].packaging #=> String, one of "NONE", "ZIP"
resp.project.secondary_artifacts[0].override_artifact_name #=> true/false
resp.project.secondary_artifacts[0].encryption_disabled #=> true/false
resp.project.secondary_artifacts[0].artifact_identifier #=> String
resp.project.cache.type #=> String, one of "NO_CACHE", "S3", "LOCAL"
resp.project.cache.location #=> String
resp.project.cache.modes #=> Array
resp.project.cache.modes[0] #=> String, one of "LOCAL_DOCKER_LAYER_CACHE", "LOCAL_SOURCE_CACHE", "LOCAL_CUSTOM_CACHE"
resp.project.environment.type #=> String, one of "WINDOWS_CONTAINER", "LINUX_CONTAINER", "LINUX_GPU_CONTAINER", "ARM_CONTAINER", "WINDOWS_SERVER_2019_CONTAINER"
resp.project.environment.image #=> String
resp.project.environment.compute_type #=> String, one of "BUILD_GENERAL1_SMALL", "BUILD_GENERAL1_MEDIUM", "BUILD_GENERAL1_LARGE", "BUILD_GENERAL1_2XLARGE"
resp.project.environment.environment_variables #=> Array
resp.project.environment.environment_variables[0].name #=> String
resp.project.environment.environment_variables[0].value #=> String
resp.project.environment.environment_variables[0].type #=> String, one of "PLAINTEXT", "PARAMETER_STORE", "SECRETS_MANAGER"
resp.project.environment.privileged_mode #=> true/false
resp.project.environment.certificate #=> String
resp.project.environment.registry_credential.credential #=> String
resp.project.environment.registry_credential.credential_provider #=> String, one of "SECRETS_MANAGER"
resp.project.environment.image_pull_credentials_type #=> String, one of "CODEBUILD", "SERVICE_ROLE"
resp.project.service_role #=> String
resp.project.timeout_in_minutes #=> Integer
resp.project.queued_timeout_in_minutes #=> Integer
resp.project.encryption_key #=> String
resp.project.tags #=> Array
resp.project.tags[0].key #=> String
resp.project.tags[0].value #=> String
resp.project.created #=> Time
resp.project.last_modified #=> Time
resp.project.webhook.url #=> String
resp.project.webhook.payload_url #=> String
resp.project.webhook.secret #=> String
resp.project.webhook.branch_filter #=> String
resp.project.webhook.filter_groups #=> Array
resp.project.webhook.filter_groups[0] #=> Array
resp.project.webhook.filter_groups[0][0].type #=> String, one of "EVENT", "BASE_REF", "HEAD_REF", "ACTOR_ACCOUNT_ID", "FILE_PATH", "COMMIT_MESSAGE"
resp.project.webhook.filter_groups[0][0].pattern #=> String
resp.project.webhook.filter_groups[0][0].exclude_matched_pattern #=> true/false
resp.project.webhook.build_type #=> String, one of "BUILD", "BUILD_BATCH"
resp.project.webhook.last_modified_secret #=> Time
resp.project.vpc_config.vpc_id #=> String
resp.project.vpc_config.subnets #=> Array
resp.project.vpc_config.subnets[0] #=> String
resp.project.vpc_config.security_group_ids #=> Array
resp.project.vpc_config.security_group_ids[0] #=> String
resp.project.badge.badge_enabled #=> true/false
resp.project.badge.badge_request_url #=> String
resp.project.logs_config.cloud_watch_logs.status #=> String, one of "ENABLED", "DISABLED"
resp.project.logs_config.cloud_watch_logs.group_name #=> String
resp.project.logs_config.cloud_watch_logs.stream_name #=> String
resp.project.logs_config.s3_logs.status #=> String, one of "ENABLED", "DISABLED"
resp.project.logs_config.s3_logs.location #=> String
resp.project.logs_config.s3_logs.encryption_disabled #=> true/false
resp.project.file_system_locations #=> Array
resp.project.file_system_locations[0].type #=> String, one of "EFS"
resp.project.file_system_locations[0].location #=> String
resp.project.file_system_locations[0].mount_point #=> String
resp.project.file_system_locations[0].identifier #=> String
resp.project.file_system_locations[0].mount_options #=> String
resp.project.build_batch_config.service_role #=> String
resp.project.build_batch_config.combine_artifacts #=> true/false
resp.project.build_batch_config.restrictions.maximum_builds_allowed #=> Integer
resp.project.build_batch_config.restrictions.compute_types_allowed #=> Array
resp.project.build_batch_config.restrictions.compute_types_allowed[0] #=> String
resp.project.build_batch_config.timeout_in_mins #=> Integer

Options Hash (options):

  • :name (required, String)

    The name of the build project.

    You cannot change a build project\'s name.

  • :description (String)

    A new or replacement description of the build project.

  • :source (Types::ProjectSource)

    Information to be changed about the build input source code for the build project.

  • :secondary_sources (Array<Types::ProjectSource>)

    An array of ProjectSource objects.

  • :source_version (String)

    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.

  • :secondary_source_versions (Array<Types::ProjectSourceVersion>)

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

  • :artifacts (Types::ProjectArtifacts)

    Information to be changed about the build output artifacts for the build project.

  • :secondary_artifacts (Array<Types::ProjectArtifacts>)

    An array of ProjectSource objects.

  • :cache (Types::ProjectCache)

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

  • :environment (Types::ProjectEnvironment)

    Information to be changed about the build environment for the build project.

  • :service_role (String)

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

  • :timeout_in_minutes (Integer)

    The replacement value in minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait before timing out any related build that did not get marked as completed.

  • :queued_timeout_in_minutes (Integer)

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

  • :encryption_key (String)

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

  • :tags (Array<Types::Tag>)

    An updated 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.

  • :vpc_config (Types::VpcConfig)

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

  • :badge_enabled (Boolean)

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

  • :logs_config (Types::LogsConfig)

    Information about logs for the build project. A project can create logs in Amazon CloudWatch Logs, logs in an S3 bucket, or both.

  • :file_system_locations (Array<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.

  • :build_batch_config (Types::ProjectBuildBatchConfig)

    Contains configuration information about a batch build project.

Returns:

See Also:

#update_report_group(options = {}) ⇒ Types::UpdateReportGroupOutput

Updates a report group.

Examples:

Request syntax with placeholder values


resp = client.update_report_group({
  arn: "NonEmptyString", # required
  export_config: {
    export_config_type: "S3", # accepts S3, NO_EXPORT
    s3_destination: {
      bucket: "NonEmptyString",
      path: "String",
      packaging: "ZIP", # accepts ZIP, NONE
      encryption_key: "NonEmptyString",
      encryption_disabled: false,
    },
  },
  tags: [
    {
      key: "KeyInput",
      value: "ValueInput",
    },
  ],
})

Response structure


resp.report_group.arn #=> String
resp.report_group.name #=> String
resp.report_group.type #=> String, one of "TEST", "CODE_COVERAGE"
resp.report_group.export_config.export_config_type #=> String, one of "S3", "NO_EXPORT"
resp.report_group.export_config.s3_destination.bucket #=> String
resp.report_group.export_config.s3_destination.path #=> String
resp.report_group.export_config.s3_destination.packaging #=> String, one of "ZIP", "NONE"
resp.report_group.export_config.s3_destination.encryption_key #=> String
resp.report_group.export_config.s3_destination.encryption_disabled #=> true/false
resp.report_group.created #=> Time
resp.report_group.last_modified #=> Time
resp.report_group.tags #=> Array
resp.report_group.tags[0].key #=> String
resp.report_group.tags[0].value #=> String
resp.report_group.status #=> String, one of "ACTIVE", "DELETING"

Options Hash (options):

  • :arn (required, String)

    The ARN of the report group to update.

  • :export_config (Types::ReportExportConfig)

    Used to specify an updated export type. Valid values are:

    • S3: The report results are exported to an S3 bucket.

    • NO_EXPORT: The report results are not exported.

  • :tags (Array<Types::Tag>)

    An updated list of tag key and value pairs associated with this report group.

    These tags are available for use by AWS services that support AWS CodeBuild report group tags.

Returns:

See Also:

#update_webhook(options = {}) ⇒ Types::UpdateWebhookOutput

Updates the webhook associated with an AWS CodeBuild build project.

If you use Bitbucket for your repository, rotateSecret is ignored.

Examples:

Request syntax with placeholder values


resp = client.update_webhook({
  project_name: "ProjectName", # required
  branch_filter: "String",
  rotate_secret: false,
  filter_groups: [
    [
      {
        type: "EVENT", # required, accepts EVENT, BASE_REF, HEAD_REF, ACTOR_ACCOUNT_ID, FILE_PATH, COMMIT_MESSAGE
        pattern: "String", # required
        exclude_matched_pattern: false,
      },
    ],
  ],
  build_type: "BUILD", # accepts BUILD, BUILD_BATCH
})

Response structure


resp.webhook.url #=> String
resp.webhook.payload_url #=> String
resp.webhook.secret #=> String
resp.webhook.branch_filter #=> String
resp.webhook.filter_groups #=> Array
resp.webhook.filter_groups[0] #=> Array
resp.webhook.filter_groups[0][0].type #=> String, one of "EVENT", "BASE_REF", "HEAD_REF", "ACTOR_ACCOUNT_ID", "FILE_PATH", "COMMIT_MESSAGE"
resp.webhook.filter_groups[0][0].pattern #=> String
resp.webhook.filter_groups[0][0].exclude_matched_pattern #=> true/false
resp.webhook.build_type #=> String, one of "BUILD", "BUILD_BATCH"
resp.webhook.last_modified_secret #=> Time

Options Hash (options):

  • :project_name (required, String)

    The name of the AWS CodeBuild project.

  • :branch_filter (String)

    A regular expression used to determine which repository branches are built when a webhook is triggered. If the name of a branch matches the regular expression, then it is built. If branchFilter is empty, then all branches are built.

    It is recommended that you use filterGroups instead of branchFilter.

  • :rotate_secret (Boolean)

    A boolean value that specifies whether the associated GitHub repository\'s secret token should be updated. If you use Bitbucket for your repository, rotateSecret is ignored.

  • :filter_groups (Array<Array<Types::WebhookFilter>>)

    An array of arrays of WebhookFilter objects used to determine if a webhook event can trigger a build. A filter group must contain at least one EVENT WebhookFilter.

  • :build_type (String)

    Specifies the type of build this webhook will trigger.

Returns:

See Also:

#wait_until(waiter_name, params = {}) {|waiter| ... } ⇒ Boolean

Waiters polls an API operation until a resource enters a desired state.

Basic Usage

Waiters will poll until they are succesful, they fail by entering a terminal state, or until a maximum number of attempts are made.

# polls in a loop, sleeping between attempts client.waiter_until(waiter_name, params)

Configuration

You can configure the maximum number of polling attempts, and the delay (in seconds) between each polling attempt. You configure waiters by passing a block to #wait_until:

# poll for ~25 seconds
client.wait_until(...) do |w|
  w.max_attempts = 5
  w.delay = 5
end

Callbacks

You can be notified before each polling attempt and before each delay. If you throw :success or :failure from these callbacks, it will terminate the waiter.

started_at = Time.now
client.wait_until(...) do |w|

  # disable max attempts
  w.max_attempts = nil

  # poll for 1 hour, instead of a number of attempts
  w.before_wait do |attempts, response|
    throw :failure if Time.now - started_at > 3600
  end

end

Handling Errors

When a waiter is successful, it returns true. When a waiter fails, it raises an error. All errors raised extend from Waiters::Errors::WaiterFailed.

begin
  client.wait_until(...)
rescue Aws::Waiters::Errors::WaiterFailed
  # resource did not enter the desired state in time
end

Parameters:

  • waiter_name (Symbol)

    The name of the waiter. See #waiter_names for a full list of supported waiters.

  • params (Hash) (defaults to: {})

    Additional request parameters. See the #waiter_names for a list of supported waiters and what request they call. The called request determines the list of accepted parameters.

Yield Parameters:

Returns:

  • (Boolean)

    Returns true if the waiter was successful.

Raises:

  • (Errors::FailureStateError)

    Raised when the waiter terminates because the waiter has entered a state that it will not transition out of, preventing success.

  • (Errors::TooManyAttemptsError)

    Raised when the configured maximum number of attempts have been made, and the waiter is not yet successful.

  • (Errors::UnexpectedError)

    Raised when an error is encounted while polling for a resource that is not expected.

  • (Errors::NoSuchWaiterError)

    Raised when you request to wait for an unknown state.

#waiter_namesArray<Symbol>

Returns the list of supported waiters. The following table lists the supported waiters and the client method they call:

Waiter NameClient MethodDefault Delay:Default Max Attempts:

Returns:

  • (Array<Symbol>)

    the list of supported waiters.