com.amazonaws.services.codebuild

## Interface AWSCodeBuildAsync

All Superinterfaces:
  AWSCodeBuild

All Known Implementing Classes:
  AbstractAWSCodeBuildAsync, AWSCodeBuildAsyncClient

    public interface AWSCodeBuildAsync
    extends AWSCodeBuild

Interface for accessing AWS CodeBuild asynchronously. Each asynchronous method will return a Java Future object representing the asynchronous operation; overloads which accept an `AsyncHandler` can be used to receive notification when an asynchronous operation completes.

Note: Do not directly implement this interface, new methods are added to it regularly. Extend from `AbstractAWSCodeBuildAsync` instead.

<fullname>AWS CodeBuild</fullname>

AWS CodeBuild is a fully-managed build service in the cloud. AWS CodeBuild compiles your source code, runs unit tests, and produces artifacts that are ready to deploy. AWS CodeBuild eliminates the need to provision, manage, and scale your own build servers. It provides prepackaged build environments for the most popular programming languages and build tools such as Apach Maven, Gradle, and more. You can also fully customize build environments in AWS CodeBuild to use your own build tools. AWS CodeBuild scales automatically to meet peak build requests, and you pay only for the build time you consume. For more information about AWS CodeBuild, see the AWS CodeBuild User Guide.

AWS CodeBuild supports these operations:

- `BatchGetProjects`: Gets information about one or more build projects. A build project defines how AWS CodeBuild will run a build. This includes information such as where to get the source code to build, the build environment to use, the build commands to run, and where to store the build output. A build environment represents a combination of operating system, programming language runtime, and tools that AWS CodeBuild will use to run a build. Also, you can add tags to build projects to help manage your resources and costs.

- `CreateProject`: Creates a build project.

- `DeleteProject`: Deletes a build project.

- `ListProjects`: Gets a list of build project names, with each build project name representing a single build project.

- `UpdateProject`: Changes the settings of an existing build project.

- `BatchGetBuilds`: Gets information about one or more builds.

- `ListBuilds`: Gets a list of build IDs, with each build ID representing a single build.

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

- `StartBuild`: Starts running a build.

- `StopBuild`: Attempts to stop running a build.

- `ListCuratedEnvironmentImages`: Gets information about Docker images that are managed by AWS CodeBuild.

### Field Summary

### Fields inherited from interface com.amazonaws.services.codebuild.AWSCodeBuild

`ENDPOINT_PREFIX`

### Method Summary

All Methods Instance Methods Abstract Methods
`Future<BatchGetBuildsResult>` `batchGetBuildsAsync(BatchGetBuildsRequest batchGetBuildsRequest)` Gets information about one or more builds.
`Future<BatchGetBuildsResult>` `batchGetBuildsAsync(BatchGetBuildsRequest batchGetBuildsRequest, AsyncHandler<BatchGetBuildsRequest,BatchGetBuildsResult> asyncHandler)` Gets information about one or more builds.
`Future<BatchGetProjectsResult>` `batchGetProjectsAsync(BatchGetProjectsRequest batchGetProjectsRequest)` Gets information about one or more build projects.
`Future<BatchGetProjectsResult>` `batchGetProjectsAsync(BatchGetProjectsRequest batchGetProjectsRequest, AsyncHandler<BatchGetProjectsRequest,BatchGetProjectsResult> asyncHandler)` Gets information about one or more build projects.
`Future<CreateProjectResult>` `createProjectAsync(CreateProjectRequest createProjectRequest)` Creates a build project.
`Future<CreateProjectResult>` `createProjectAsync(CreateProjectRequest createProjectRequest, AsyncHandler<CreateProjectRequest,CreateProjectResult> asyncHandler)` Creates a build project.
`Future<DeleteProjectResult>` `deleteProjectAsync(DeleteProjectRequest deleteProjectRequest)` Deletes a build project.
`Future<DeleteProjectResult>` `deleteProjectAsync(DeleteProjectRequest deleteProjectRequest, AsyncHandler<DeleteProjectRequest,DeleteProjectResult> asyncHandler)` Deletes a build project.
`Future<ListBuildsResult>` `listBuildsAsync(ListBuildsRequest listBuildsRequest)` Gets a list of build IDs, with each build ID representing a single build.
`Future<ListBuildsResult>` `listBuildsAsync(ListBuildsRequest listBuildsRequest, AsyncHandler<ListBuildsRequest,ListBuildsResult> asyncHandler)` Gets a list of build IDs, with each build ID representing a single build.
`Future<ListBuildsForProjectResult>` `listBuildsForProjectAsync(ListBuildsForProjectRequest listBuildsForProjectRequest)` Gets a list of build IDs for the specified build project, with each build ID representing a single build.
`Future<ListBuildsForProjectResult>` `listBuildsForProjectAsync(ListBuildsForProjectRequest listBuildsForProjectRequest, AsyncHandler<ListBuildsForProjectRequest,ListBuildsForProjectResult> asyncHandler)` Gets a list of build IDs for the specified build project, with each build ID representing a single build.
`Future<ListCuratedEnvironmentImagesResult>` `listCuratedEnvironmentImagesAsync(ListCuratedEnvironmentImagesRequest listCuratedEnvironmentImagesRequest)` Gets information about Docker images that are managed by AWS CodeBuild.
`Future<ListCuratedEnvironmentImagesResult>` `listCuratedEnvironmentImagesAsync(ListCuratedEnvironmentImagesRequest listCuratedEnvironmentImagesRequest, AsyncHandler<ListCuratedEnvironmentImagesRequest,ListCuratedEnvironmentImagesResult> asyncHandler)` Gets information about Docker images that are managed by AWS CodeBuild.
`Future<ListProjectsResult>` `listProjectsAsync(ListProjectsRequest listProjectsRequest)` Gets a list of build project names, with each build project name representing a single build project.
`Future<ListProjectsResult>` `listProjectsAsync(ListProjectsRequest listProjectsRequest, AsyncHandler<ListProjectsRequest,ListProjectsResult> asyncHandler)` Gets a list of build project names, with each build project name representing a single build project.
`Future<StartBuildResult>` `startBuildAsync(StartBuildRequest startBuildRequest)` Starts running a build.
`Future<StartBuildResult>` `startBuildAsync(StartBuildRequest startBuildRequest, AsyncHandler<StartBuildRequest,StartBuildResult> asyncHandler)` Starts running a build.
`Future<StopBuildResult>` `stopBuildAsync(StopBuildRequest stopBuildRequest)` Attempts to stop running a build.
`Future<StopBuildResult>` `stopBuildAsync(StopBuildRequest stopBuildRequest, AsyncHandler<StopBuildRequest,StopBuildResult> asyncHandler)` Attempts to stop running a build.
`Future<UpdateProjectResult>` `updateProjectAsync(UpdateProjectRequest updateProjectRequest)` Changes the settings of an existing build project.
`Future<UpdateProjectResult>` `updateProjectAsync(UpdateProjectRequest updateProjectRequest, AsyncHandler<UpdateProjectRequest,UpdateProjectResult> asyncHandler)` Changes the settings of an existing build project.

### Methods inherited from interface com.amazonaws.services.codebuild.AWSCodeBuild

`batchGetBuilds, batchGetProjects, createProject, deleteProject, getCachedResponseMetadata, listBuilds, listBuildsForProject, listCuratedEnvironmentImages, listProjects, setEndpoint, setRegion, shutdown, startBuild, stopBuild, updateProject`

### Method Detail

#### batchGetBuildsAsync

    Future<BatchGetBuildsResult> batchGetBuildsAsync(BatchGetBuildsRequest batchGetBuildsRequest)

Gets information about one or more builds.

Parameters:
  `batchGetBuildsRequest` -
Returns:
  A Java Future containing the result of the BatchGetBuilds operation returned by the service.

#### batchGetBuildsAsync

    Future<BatchGetBuildsResult> batchGetBuildsAsync(BatchGetBuildsRequest batchGetBuildsRequest,
                                                     AsyncHandler<BatchGetBuildsRequest,BatchGetBuildsResult> asyncHandler)

Gets information about one or more builds.

Parameters:
  `batchGetBuildsRequest` -
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the BatchGetBuilds operation returned by the service.

#### batchGetProjectsAsync

    Future<BatchGetProjectsResult> batchGetProjectsAsync(BatchGetProjectsRequest batchGetProjectsRequest)

Gets information about one or more build projects.

Parameters:
  `batchGetProjectsRequest` -
Returns:
  A Java Future containing the result of the BatchGetProjects operation returned by the service.

#### batchGetProjectsAsync

    Future<BatchGetProjectsResult> batchGetProjectsAsync(BatchGetProjectsRequest batchGetProjectsRequest,
                                                         AsyncHandler<BatchGetProjectsRequest,BatchGetProjectsResult> asyncHandler)

Gets information about one or more build projects.

Parameters:
  `batchGetProjectsRequest` -
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the BatchGetProjects operation returned by the service.

#### createProjectAsync

    Future<CreateProjectResult> createProjectAsync(CreateProjectRequest createProjectRequest)

Creates a build project.

Parameters:
  `createProjectRequest` -
Returns:
  A Java Future containing the result of the CreateProject operation returned by the service.

#### createProjectAsync

    Future<CreateProjectResult> createProjectAsync(CreateProjectRequest createProjectRequest,
                                                   AsyncHandler<CreateProjectRequest,CreateProjectResult> asyncHandler)

Creates a build project.

Parameters:
  `createProjectRequest` -
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the CreateProject operation returned by the service.

#### deleteProjectAsync

    Future<DeleteProjectResult> deleteProjectAsync(DeleteProjectRequest deleteProjectRequest)

Deletes a build project.

Parameters:
  `deleteProjectRequest` -
Returns:
  A Java Future containing the result of the DeleteProject operation returned by the service.

#### deleteProjectAsync

    Future<DeleteProjectResult> deleteProjectAsync(DeleteProjectRequest deleteProjectRequest,
                                                   AsyncHandler<DeleteProjectRequest,DeleteProjectResult> asyncHandler)

Deletes a build project.

Parameters:
  `deleteProjectRequest` -
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the DeleteProject operation returned by the service.

#### listBuildsAsync

    Future<ListBuildsResult> listBuildsAsync(ListBuildsRequest listBuildsRequest)

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

Parameters:
  `listBuildsRequest` -
Returns:
  A Java Future containing the result of the ListBuilds operation returned by the service.

#### listBuildsAsync

    Future<ListBuildsResult> listBuildsAsync(ListBuildsRequest listBuildsRequest,
                                             AsyncHandler<ListBuildsRequest,ListBuildsResult> asyncHandler)

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

Parameters:
  `listBuildsRequest` -
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the ListBuilds operation returned by the service.

#### listBuildsForProjectAsync

    Future<ListBuildsForProjectResult> listBuildsForProjectAsync(ListBuildsForProjectRequest listBuildsForProjectRequest)

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

Parameters:
  `listBuildsForProjectRequest` -
Returns:
  A Java Future containing the result of the ListBuildsForProject operation returned by the service.

#### listBuildsForProjectAsync

    Future<ListBuildsForProjectResult> listBuildsForProjectAsync(ListBuildsForProjectRequest listBuildsForProjectRequest,
                                                                 AsyncHandler<ListBuildsForProjectRequest,ListBuildsForProjectResult> asyncHandler)

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

Parameters:
  `listBuildsForProjectRequest` -
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the ListBuildsForProject operation returned by the service.

#### listCuratedEnvironmentImagesAsync

    Future<ListCuratedEnvironmentImagesResult> listCuratedEnvironmentImagesAsync(ListCuratedEnvironmentImagesRequest listCuratedEnvironmentImagesRequest)

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

Parameters:
  `listCuratedEnvironmentImagesRequest` -
Returns:
  A Java Future containing the result of the ListCuratedEnvironmentImages operation returned by the service.

#### listCuratedEnvironmentImagesAsync

    Future<ListCuratedEnvironmentImagesResult> listCuratedEnvironmentImagesAsync(ListCuratedEnvironmentImagesRequest listCuratedEnvironmentImagesRequest,
                                                                                 AsyncHandler<ListCuratedEnvironmentImagesRequest,ListCuratedEnvironmentImagesResult> asyncHandler)

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

Parameters:
  `listCuratedEnvironmentImagesRequest` -
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the ListCuratedEnvironmentImages operation returned by the service.

#### listProjectsAsync

    Future<ListProjectsResult> listProjectsAsync(ListProjectsRequest listProjectsRequest)

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

Parameters:
  `listProjectsRequest` -
Returns:
  A Java Future containing the result of the ListProjects operation returned by the service.

#### listProjectsAsync

    Future<ListProjectsResult> listProjectsAsync(ListProjectsRequest listProjectsRequest,
                                                 AsyncHandler<ListProjectsRequest,ListProjectsResult> asyncHandler)

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

Parameters:
  `listProjectsRequest` -
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the ListProjects operation returned by the service.

#### startBuildAsync

    Future<StartBuildResult> startBuildAsync(StartBuildRequest startBuildRequest)

Starts running a build.

Parameters:
  `startBuildRequest` -
Returns:
  A Java Future containing the result of the StartBuild operation returned by the service.

#### startBuildAsync

    Future<StartBuildResult> startBuildAsync(StartBuildRequest startBuildRequest,
                                             AsyncHandler<StartBuildRequest,StartBuildResult> asyncHandler)

Starts running a build.

Parameters:
  `startBuildRequest` -
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the StartBuild operation returned by the service.

#### stopBuildAsync

    Future<StopBuildResult> stopBuildAsync(StopBuildRequest stopBuildRequest)

Attempts to stop running a build.

<note>

Completed builds cannot be stopped.

</note>

Parameters:
  `stopBuildRequest` -
Returns:
  A Java Future containing the result of the StopBuild operation returned by the service.

#### stopBuildAsync

    Future<StopBuildResult> stopBuildAsync(StopBuildRequest stopBuildRequest,
                                           AsyncHandler<StopBuildRequest,StopBuildResult> asyncHandler)

Attempts to stop running a build.

<note>

Completed builds cannot be stopped.

</note>

Parameters:
  `stopBuildRequest` -
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the StopBuild operation returned by the service.

#### updateProjectAsync

    Future<UpdateProjectResult> updateProjectAsync(UpdateProjectRequest updateProjectRequest)

Changes the settings of an existing build project.

Parameters:
  `updateProjectRequest` -
Returns:
  A Java Future containing the result of the UpdateProject operation returned by the service.

#### updateProjectAsync

    Future<UpdateProjectResult> updateProjectAsync(UpdateProjectRequest updateProjectRequest,
                                                   AsyncHandler<UpdateProjectRequest,UpdateProjectResult> asyncHandler)

Changes the settings of an existing build project.

Parameters:
  `updateProjectRequest` -
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the UpdateProject operation returned by the service.