/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace CodeBuild { /** * CodeBuild

CodeBuild is a fully managed build service in * the cloud. CodeBuild compiles your source code, runs unit tests, and produces * artifacts that are ready to deploy. 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 * Apache Maven, Gradle, and more. You can also fully customize build environments * in CodeBuild to use your own build tools. CodeBuild scales automatically to meet * peak build requests. You pay only for the build time you consume. For more * information about CodeBuild, see the CodeBuild * User Guide.

*/ class AWS_CODEBUILD_API CodeBuildClient : public Aws::Client::AWSJsonClient, public Aws::Client::ClientWithAsyncTemplateMethods { public: typedef Aws::Client::AWSJsonClient BASECLASS; static const char* SERVICE_NAME; static const char* ALLOCATION_TAG; typedef CodeBuildClientConfiguration ClientConfigurationType; typedef CodeBuildEndpointProvider EndpointProviderType; /** * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ CodeBuildClient(const Aws::CodeBuild::CodeBuildClientConfiguration& clientConfiguration = Aws::CodeBuild::CodeBuildClientConfiguration(), std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG)); /** * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ CodeBuildClient(const Aws::Auth::AWSCredentials& credentials, std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), const Aws::CodeBuild::CodeBuildClientConfiguration& clientConfiguration = Aws::CodeBuild::CodeBuildClientConfiguration()); /** * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, * the default http client factory will be used */ CodeBuildClient(const std::shared_ptr& credentialsProvider, std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), const Aws::CodeBuild::CodeBuildClientConfiguration& clientConfiguration = Aws::CodeBuild::CodeBuildClientConfiguration()); /* Legacy constructors due deprecation */ /** * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ CodeBuildClient(const Aws::Client::ClientConfiguration& clientConfiguration); /** * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ CodeBuildClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); /** * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, * the default http client factory will be used */ CodeBuildClient(const std::shared_ptr& credentialsProvider, const Aws::Client::ClientConfiguration& clientConfiguration); /* End of legacy constructors due deprecation */ virtual ~CodeBuildClient(); /** *

Deletes one or more builds.

See Also:

AWS * API Reference

*/ virtual Model::BatchDeleteBuildsOutcome BatchDeleteBuilds(const Model::BatchDeleteBuildsRequest& request) const; /** * A Callable wrapper for BatchDeleteBuilds that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::BatchDeleteBuildsOutcomeCallable BatchDeleteBuildsCallable(const BatchDeleteBuildsRequestT& request) const { return SubmitCallable(&CodeBuildClient::BatchDeleteBuilds, request); } /** * An Async wrapper for BatchDeleteBuilds that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void BatchDeleteBuildsAsync(const BatchDeleteBuildsRequestT& request, const BatchDeleteBuildsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CodeBuildClient::BatchDeleteBuilds, request, handler, context); } /** *

Retrieves information about one or more batch builds.

See * Also:

AWS * API Reference

*/ virtual Model::BatchGetBuildBatchesOutcome BatchGetBuildBatches(const Model::BatchGetBuildBatchesRequest& request) const; /** * A Callable wrapper for BatchGetBuildBatches that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::BatchGetBuildBatchesOutcomeCallable BatchGetBuildBatchesCallable(const BatchGetBuildBatchesRequestT& request) const { return SubmitCallable(&CodeBuildClient::BatchGetBuildBatches, request); } /** * An Async wrapper for BatchGetBuildBatches that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void BatchGetBuildBatchesAsync(const BatchGetBuildBatchesRequestT& request, const BatchGetBuildBatchesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CodeBuildClient::BatchGetBuildBatches, request, handler, context); } /** *

Gets information about one or more builds.

See Also:

AWS * API Reference

*/ virtual Model::BatchGetBuildsOutcome BatchGetBuilds(const Model::BatchGetBuildsRequest& request) const; /** * A Callable wrapper for BatchGetBuilds that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::BatchGetBuildsOutcomeCallable BatchGetBuildsCallable(const BatchGetBuildsRequestT& request) const { return SubmitCallable(&CodeBuildClient::BatchGetBuilds, request); } /** * An Async wrapper for BatchGetBuilds that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void BatchGetBuildsAsync(const BatchGetBuildsRequestT& request, const BatchGetBuildsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CodeBuildClient::BatchGetBuilds, request, handler, context); } /** *

Gets information about one or more build projects.

See Also:

* AWS * API Reference

*/ virtual Model::BatchGetProjectsOutcome BatchGetProjects(const Model::BatchGetProjectsRequest& request) const; /** * A Callable wrapper for BatchGetProjects that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::BatchGetProjectsOutcomeCallable BatchGetProjectsCallable(const BatchGetProjectsRequestT& request) const { return SubmitCallable(&CodeBuildClient::BatchGetProjects, request); } /** * An Async wrapper for BatchGetProjects that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void BatchGetProjectsAsync(const BatchGetProjectsRequestT& request, const BatchGetProjectsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CodeBuildClient::BatchGetProjects, request, handler, context); } /** *

Returns an array of report groups.

See Also:

AWS * API Reference

*/ virtual Model::BatchGetReportGroupsOutcome BatchGetReportGroups(const Model::BatchGetReportGroupsRequest& request) const; /** * A Callable wrapper for BatchGetReportGroups that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::BatchGetReportGroupsOutcomeCallable BatchGetReportGroupsCallable(const BatchGetReportGroupsRequestT& request) const { return SubmitCallable(&CodeBuildClient::BatchGetReportGroups, request); } /** * An Async wrapper for BatchGetReportGroups that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void BatchGetReportGroupsAsync(const BatchGetReportGroupsRequestT& request, const BatchGetReportGroupsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CodeBuildClient::BatchGetReportGroups, request, handler, context); } /** *

Returns an array of reports.

See Also:

AWS * API Reference

*/ virtual Model::BatchGetReportsOutcome BatchGetReports(const Model::BatchGetReportsRequest& request) const; /** * A Callable wrapper for BatchGetReports that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::BatchGetReportsOutcomeCallable BatchGetReportsCallable(const BatchGetReportsRequestT& request) const { return SubmitCallable(&CodeBuildClient::BatchGetReports, request); } /** * An Async wrapper for BatchGetReports that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void BatchGetReportsAsync(const BatchGetReportsRequestT& request, const BatchGetReportsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CodeBuildClient::BatchGetReports, request, handler, context); } /** *

Creates a build project.

See Also:

AWS * API Reference

*/ virtual Model::CreateProjectOutcome CreateProject(const Model::CreateProjectRequest& request) const; /** * A Callable wrapper for CreateProject that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateProjectOutcomeCallable CreateProjectCallable(const CreateProjectRequestT& request) const { return SubmitCallable(&CodeBuildClient::CreateProject, request); } /** * An Async wrapper for CreateProject that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateProjectAsync(const CreateProjectRequestT& request, const CreateProjectResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CodeBuildClient::CreateProject, request, handler, context); } /** *

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

See Also:

AWS * API Reference

*/ virtual Model::CreateReportGroupOutcome CreateReportGroup(const Model::CreateReportGroupRequest& request) const; /** * A Callable wrapper for CreateReportGroup that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateReportGroupOutcomeCallable CreateReportGroupCallable(const CreateReportGroupRequestT& request) const { return SubmitCallable(&CodeBuildClient::CreateReportGroup, request); } /** * An Async wrapper for CreateReportGroup that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateReportGroupAsync(const CreateReportGroupRequestT& request, const CreateReportGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CodeBuildClient::CreateReportGroup, request, handler, context); } /** *

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

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

See Also:

AWS * API Reference

*/ virtual Model::CreateWebhookOutcome CreateWebhook(const Model::CreateWebhookRequest& request) const; /** * A Callable wrapper for CreateWebhook that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateWebhookOutcomeCallable CreateWebhookCallable(const CreateWebhookRequestT& request) const { return SubmitCallable(&CodeBuildClient::CreateWebhook, request); } /** * An Async wrapper for CreateWebhook that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateWebhookAsync(const CreateWebhookRequestT& request, const CreateWebhookResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CodeBuildClient::CreateWebhook, request, handler, context); } /** *

Deletes a batch build.

See Also:

AWS * API Reference

*/ virtual Model::DeleteBuildBatchOutcome DeleteBuildBatch(const Model::DeleteBuildBatchRequest& request) const; /** * A Callable wrapper for DeleteBuildBatch that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteBuildBatchOutcomeCallable DeleteBuildBatchCallable(const DeleteBuildBatchRequestT& request) const { return SubmitCallable(&CodeBuildClient::DeleteBuildBatch, request); } /** * An Async wrapper for DeleteBuildBatch that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteBuildBatchAsync(const DeleteBuildBatchRequestT& request, const DeleteBuildBatchResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CodeBuildClient::DeleteBuildBatch, request, handler, context); } /** *

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

See Also:

AWS * API Reference

*/ virtual Model::DeleteProjectOutcome DeleteProject(const Model::DeleteProjectRequest& request) const; /** * A Callable wrapper for DeleteProject that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteProjectOutcomeCallable DeleteProjectCallable(const DeleteProjectRequestT& request) const { return SubmitCallable(&CodeBuildClient::DeleteProject, request); } /** * An Async wrapper for DeleteProject that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteProjectAsync(const DeleteProjectRequestT& request, const DeleteProjectResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CodeBuildClient::DeleteProject, request, handler, context); } /** *

Deletes a report.

See Also:

AWS * API Reference

*/ virtual Model::DeleteReportOutcome DeleteReport(const Model::DeleteReportRequest& request) const; /** * A Callable wrapper for DeleteReport that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteReportOutcomeCallable DeleteReportCallable(const DeleteReportRequestT& request) const { return SubmitCallable(&CodeBuildClient::DeleteReport, request); } /** * An Async wrapper for DeleteReport that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteReportAsync(const DeleteReportRequestT& request, const DeleteReportResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CodeBuildClient::DeleteReport, request, handler, context); } /** *

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

See Also:

AWS * API Reference

*/ virtual Model::DeleteReportGroupOutcome DeleteReportGroup(const Model::DeleteReportGroupRequest& request) const; /** * A Callable wrapper for DeleteReportGroup that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteReportGroupOutcomeCallable DeleteReportGroupCallable(const DeleteReportGroupRequestT& request) const { return SubmitCallable(&CodeBuildClient::DeleteReportGroup, request); } /** * An Async wrapper for DeleteReportGroup that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteReportGroupAsync(const DeleteReportGroupRequestT& request, const DeleteReportGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CodeBuildClient::DeleteReportGroup, request, handler, context); } /** *

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

See Also:

AWS * API Reference

*/ virtual Model::DeleteResourcePolicyOutcome DeleteResourcePolicy(const Model::DeleteResourcePolicyRequest& request) const; /** * A Callable wrapper for DeleteResourcePolicy that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteResourcePolicyOutcomeCallable DeleteResourcePolicyCallable(const DeleteResourcePolicyRequestT& request) const { return SubmitCallable(&CodeBuildClient::DeleteResourcePolicy, request); } /** * An Async wrapper for DeleteResourcePolicy that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteResourcePolicyAsync(const DeleteResourcePolicyRequestT& request, const DeleteResourcePolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CodeBuildClient::DeleteResourcePolicy, request, handler, context); } /** *

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

See Also:

AWS * API Reference

*/ virtual Model::DeleteSourceCredentialsOutcome DeleteSourceCredentials(const Model::DeleteSourceCredentialsRequest& request) const; /** * A Callable wrapper for DeleteSourceCredentials that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteSourceCredentialsOutcomeCallable DeleteSourceCredentialsCallable(const DeleteSourceCredentialsRequestT& request) const { return SubmitCallable(&CodeBuildClient::DeleteSourceCredentials, request); } /** * An Async wrapper for DeleteSourceCredentials that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteSourceCredentialsAsync(const DeleteSourceCredentialsRequestT& request, const DeleteSourceCredentialsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CodeBuildClient::DeleteSourceCredentials, request, handler, context); } /** *

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

See Also:

* AWS * API Reference

*/ virtual Model::DeleteWebhookOutcome DeleteWebhook(const Model::DeleteWebhookRequest& request) const; /** * A Callable wrapper for DeleteWebhook that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteWebhookOutcomeCallable DeleteWebhookCallable(const DeleteWebhookRequestT& request) const { return SubmitCallable(&CodeBuildClient::DeleteWebhook, request); } /** * An Async wrapper for DeleteWebhook that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteWebhookAsync(const DeleteWebhookRequestT& request, const DeleteWebhookResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CodeBuildClient::DeleteWebhook, request, handler, context); } /** *

Retrieves one or more code coverage reports.

See Also:

AWS * API Reference

*/ virtual Model::DescribeCodeCoveragesOutcome DescribeCodeCoverages(const Model::DescribeCodeCoveragesRequest& request) const; /** * A Callable wrapper for DescribeCodeCoverages that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeCodeCoveragesOutcomeCallable DescribeCodeCoveragesCallable(const DescribeCodeCoveragesRequestT& request) const { return SubmitCallable(&CodeBuildClient::DescribeCodeCoverages, request); } /** * An Async wrapper for DescribeCodeCoverages that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeCodeCoveragesAsync(const DescribeCodeCoveragesRequestT& request, const DescribeCodeCoveragesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CodeBuildClient::DescribeCodeCoverages, request, handler, context); } /** *

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

See * Also:

AWS * API Reference

*/ virtual Model::DescribeTestCasesOutcome DescribeTestCases(const Model::DescribeTestCasesRequest& request) const; /** * A Callable wrapper for DescribeTestCases that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeTestCasesOutcomeCallable DescribeTestCasesCallable(const DescribeTestCasesRequestT& request) const { return SubmitCallable(&CodeBuildClient::DescribeTestCases, request); } /** * An Async wrapper for DescribeTestCases that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeTestCasesAsync(const DescribeTestCasesRequestT& request, const DescribeTestCasesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CodeBuildClient::DescribeTestCases, request, handler, context); } /** *

Analyzes and accumulates test report values for the specified test * reports.

See Also:

AWS * API Reference

*/ virtual Model::GetReportGroupTrendOutcome GetReportGroupTrend(const Model::GetReportGroupTrendRequest& request) const; /** * A Callable wrapper for GetReportGroupTrend that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetReportGroupTrendOutcomeCallable GetReportGroupTrendCallable(const GetReportGroupTrendRequestT& request) const { return SubmitCallable(&CodeBuildClient::GetReportGroupTrend, request); } /** * An Async wrapper for GetReportGroupTrend that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetReportGroupTrendAsync(const GetReportGroupTrendRequestT& request, const GetReportGroupTrendResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CodeBuildClient::GetReportGroupTrend, request, handler, context); } /** *

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

See Also:

AWS * API Reference

*/ virtual Model::GetResourcePolicyOutcome GetResourcePolicy(const Model::GetResourcePolicyRequest& request) const; /** * A Callable wrapper for GetResourcePolicy that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetResourcePolicyOutcomeCallable GetResourcePolicyCallable(const GetResourcePolicyRequestT& request) const { return SubmitCallable(&CodeBuildClient::GetResourcePolicy, request); } /** * An Async wrapper for GetResourcePolicy that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetResourcePolicyAsync(const GetResourcePolicyRequestT& request, const GetResourcePolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CodeBuildClient::GetResourcePolicy, request, handler, context); } /** *

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

See Also:

AWS * API Reference

*/ virtual Model::ImportSourceCredentialsOutcome ImportSourceCredentials(const Model::ImportSourceCredentialsRequest& request) const; /** * A Callable wrapper for ImportSourceCredentials that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ImportSourceCredentialsOutcomeCallable ImportSourceCredentialsCallable(const ImportSourceCredentialsRequestT& request) const { return SubmitCallable(&CodeBuildClient::ImportSourceCredentials, request); } /** * An Async wrapper for ImportSourceCredentials that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ImportSourceCredentialsAsync(const ImportSourceCredentialsRequestT& request, const ImportSourceCredentialsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CodeBuildClient::ImportSourceCredentials, request, handler, context); } /** *

Resets the cache for a project.

See Also:

AWS * API Reference

*/ virtual Model::InvalidateProjectCacheOutcome InvalidateProjectCache(const Model::InvalidateProjectCacheRequest& request) const; /** * A Callable wrapper for InvalidateProjectCache that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::InvalidateProjectCacheOutcomeCallable InvalidateProjectCacheCallable(const InvalidateProjectCacheRequestT& request) const { return SubmitCallable(&CodeBuildClient::InvalidateProjectCache, request); } /** * An Async wrapper for InvalidateProjectCache that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void InvalidateProjectCacheAsync(const InvalidateProjectCacheRequestT& request, const InvalidateProjectCacheResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CodeBuildClient::InvalidateProjectCache, request, handler, context); } /** *

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

See Also:

AWS * API Reference

*/ virtual Model::ListBuildBatchesOutcome ListBuildBatches(const Model::ListBuildBatchesRequest& request) const; /** * A Callable wrapper for ListBuildBatches that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListBuildBatchesOutcomeCallable ListBuildBatchesCallable(const ListBuildBatchesRequestT& request) const { return SubmitCallable(&CodeBuildClient::ListBuildBatches, request); } /** * An Async wrapper for ListBuildBatches that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListBuildBatchesAsync(const ListBuildBatchesRequestT& request, const ListBuildBatchesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CodeBuildClient::ListBuildBatches, request, handler, context); } /** *

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

See Also:

AWS * API Reference

*/ virtual Model::ListBuildBatchesForProjectOutcome ListBuildBatchesForProject(const Model::ListBuildBatchesForProjectRequest& request) const; /** * A Callable wrapper for ListBuildBatchesForProject that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListBuildBatchesForProjectOutcomeCallable ListBuildBatchesForProjectCallable(const ListBuildBatchesForProjectRequestT& request) const { return SubmitCallable(&CodeBuildClient::ListBuildBatchesForProject, request); } /** * An Async wrapper for ListBuildBatchesForProject that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListBuildBatchesForProjectAsync(const ListBuildBatchesForProjectRequestT& request, const ListBuildBatchesForProjectResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CodeBuildClient::ListBuildBatchesForProject, request, handler, context); } /** *

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

See Also:

AWS * API Reference

*/ virtual Model::ListBuildsOutcome ListBuilds(const Model::ListBuildsRequest& request) const; /** * A Callable wrapper for ListBuilds that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListBuildsOutcomeCallable ListBuildsCallable(const ListBuildsRequestT& request) const { return SubmitCallable(&CodeBuildClient::ListBuilds, request); } /** * An Async wrapper for ListBuilds that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListBuildsAsync(const ListBuildsRequestT& request, const ListBuildsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CodeBuildClient::ListBuilds, request, handler, context); } /** *

Gets a list of build identifiers for the specified build project, with each * build identifier representing a single build.

See Also:

AWS * API Reference

*/ virtual Model::ListBuildsForProjectOutcome ListBuildsForProject(const Model::ListBuildsForProjectRequest& request) const; /** * A Callable wrapper for ListBuildsForProject that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListBuildsForProjectOutcomeCallable ListBuildsForProjectCallable(const ListBuildsForProjectRequestT& request) const { return SubmitCallable(&CodeBuildClient::ListBuildsForProject, request); } /** * An Async wrapper for ListBuildsForProject that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListBuildsForProjectAsync(const ListBuildsForProjectRequestT& request, const ListBuildsForProjectResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CodeBuildClient::ListBuildsForProject, request, handler, context); } /** *

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

See Also:

AWS * API Reference

*/ virtual Model::ListCuratedEnvironmentImagesOutcome ListCuratedEnvironmentImages(const Model::ListCuratedEnvironmentImagesRequest& request) const; /** * A Callable wrapper for ListCuratedEnvironmentImages that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListCuratedEnvironmentImagesOutcomeCallable ListCuratedEnvironmentImagesCallable(const ListCuratedEnvironmentImagesRequestT& request) const { return SubmitCallable(&CodeBuildClient::ListCuratedEnvironmentImages, request); } /** * An Async wrapper for ListCuratedEnvironmentImages that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListCuratedEnvironmentImagesAsync(const ListCuratedEnvironmentImagesRequestT& request, const ListCuratedEnvironmentImagesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CodeBuildClient::ListCuratedEnvironmentImages, request, handler, context); } /** *

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

See Also:

AWS * API Reference

*/ virtual Model::ListProjectsOutcome ListProjects(const Model::ListProjectsRequest& request) const; /** * A Callable wrapper for ListProjects that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListProjectsOutcomeCallable ListProjectsCallable(const ListProjectsRequestT& request) const { return SubmitCallable(&CodeBuildClient::ListProjects, request); } /** * An Async wrapper for ListProjects that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListProjectsAsync(const ListProjectsRequestT& request, const ListProjectsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CodeBuildClient::ListProjects, request, handler, context); } /** *

Gets a list ARNs for the report groups in the current Amazon Web Services * account.

See Also:

AWS * API Reference

*/ virtual Model::ListReportGroupsOutcome ListReportGroups(const Model::ListReportGroupsRequest& request) const; /** * A Callable wrapper for ListReportGroups that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListReportGroupsOutcomeCallable ListReportGroupsCallable(const ListReportGroupsRequestT& request) const { return SubmitCallable(&CodeBuildClient::ListReportGroups, request); } /** * An Async wrapper for ListReportGroups that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListReportGroupsAsync(const ListReportGroupsRequestT& request, const ListReportGroupsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CodeBuildClient::ListReportGroups, request, handler, context); } /** *

Returns a list of ARNs for the reports in the current Amazon Web Services * account.

See Also:

AWS * API Reference

*/ virtual Model::ListReportsOutcome ListReports(const Model::ListReportsRequest& request) const; /** * A Callable wrapper for ListReports that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListReportsOutcomeCallable ListReportsCallable(const ListReportsRequestT& request) const { return SubmitCallable(&CodeBuildClient::ListReports, request); } /** * An Async wrapper for ListReports that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListReportsAsync(const ListReportsRequestT& request, const ListReportsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CodeBuildClient::ListReports, request, handler, context); } /** *

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

See Also:

AWS * API Reference

*/ virtual Model::ListReportsForReportGroupOutcome ListReportsForReportGroup(const Model::ListReportsForReportGroupRequest& request) const; /** * A Callable wrapper for ListReportsForReportGroup that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListReportsForReportGroupOutcomeCallable ListReportsForReportGroupCallable(const ListReportsForReportGroupRequestT& request) const { return SubmitCallable(&CodeBuildClient::ListReportsForReportGroup, request); } /** * An Async wrapper for ListReportsForReportGroup that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListReportsForReportGroupAsync(const ListReportsForReportGroupRequestT& request, const ListReportsForReportGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CodeBuildClient::ListReportsForReportGroup, request, handler, context); } /** *

Gets a list of projects that are shared with other Amazon Web Services * accounts or users.

See Also:

AWS * API Reference

*/ virtual Model::ListSharedProjectsOutcome ListSharedProjects(const Model::ListSharedProjectsRequest& request) const; /** * A Callable wrapper for ListSharedProjects that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListSharedProjectsOutcomeCallable ListSharedProjectsCallable(const ListSharedProjectsRequestT& request) const { return SubmitCallable(&CodeBuildClient::ListSharedProjects, request); } /** * An Async wrapper for ListSharedProjects that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListSharedProjectsAsync(const ListSharedProjectsRequestT& request, const ListSharedProjectsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CodeBuildClient::ListSharedProjects, request, handler, context); } /** *

Gets a list of report groups that are shared with other Amazon Web Services * accounts or users.

See Also:

AWS * API Reference

*/ virtual Model::ListSharedReportGroupsOutcome ListSharedReportGroups(const Model::ListSharedReportGroupsRequest& request) const; /** * A Callable wrapper for ListSharedReportGroups that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListSharedReportGroupsOutcomeCallable ListSharedReportGroupsCallable(const ListSharedReportGroupsRequestT& request) const { return SubmitCallable(&CodeBuildClient::ListSharedReportGroups, request); } /** * An Async wrapper for ListSharedReportGroups that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListSharedReportGroupsAsync(const ListSharedReportGroupsRequestT& request, const ListSharedReportGroupsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CodeBuildClient::ListSharedReportGroups, request, handler, context); } /** *

Returns a list of SourceCredentialsInfo objects.

See * Also:

AWS * API Reference

*/ virtual Model::ListSourceCredentialsOutcome ListSourceCredentials(const Model::ListSourceCredentialsRequest& request) const; /** * A Callable wrapper for ListSourceCredentials that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListSourceCredentialsOutcomeCallable ListSourceCredentialsCallable(const ListSourceCredentialsRequestT& request) const { return SubmitCallable(&CodeBuildClient::ListSourceCredentials, request); } /** * An Async wrapper for ListSourceCredentials that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListSourceCredentialsAsync(const ListSourceCredentialsRequestT& request, const ListSourceCredentialsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CodeBuildClient::ListSourceCredentials, request, handler, context); } /** *

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

See Also:

AWS * API Reference

*/ virtual Model::PutResourcePolicyOutcome PutResourcePolicy(const Model::PutResourcePolicyRequest& request) const; /** * A Callable wrapper for PutResourcePolicy that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::PutResourcePolicyOutcomeCallable PutResourcePolicyCallable(const PutResourcePolicyRequestT& request) const { return SubmitCallable(&CodeBuildClient::PutResourcePolicy, request); } /** * An Async wrapper for PutResourcePolicy that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void PutResourcePolicyAsync(const PutResourcePolicyRequestT& request, const PutResourcePolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CodeBuildClient::PutResourcePolicy, request, handler, context); } /** *

Restarts a build.

See Also:

AWS * API Reference

*/ virtual Model::RetryBuildOutcome RetryBuild(const Model::RetryBuildRequest& request) const; /** * A Callable wrapper for RetryBuild that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::RetryBuildOutcomeCallable RetryBuildCallable(const RetryBuildRequestT& request) const { return SubmitCallable(&CodeBuildClient::RetryBuild, request); } /** * An Async wrapper for RetryBuild that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void RetryBuildAsync(const RetryBuildRequestT& request, const RetryBuildResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CodeBuildClient::RetryBuild, request, handler, context); } /** *

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

See Also:

AWS * API Reference

*/ virtual Model::RetryBuildBatchOutcome RetryBuildBatch(const Model::RetryBuildBatchRequest& request) const; /** * A Callable wrapper for RetryBuildBatch that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::RetryBuildBatchOutcomeCallable RetryBuildBatchCallable(const RetryBuildBatchRequestT& request) const { return SubmitCallable(&CodeBuildClient::RetryBuildBatch, request); } /** * An Async wrapper for RetryBuildBatch that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void RetryBuildBatchAsync(const RetryBuildBatchRequestT& request, const RetryBuildBatchResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CodeBuildClient::RetryBuildBatch, request, handler, context); } /** *

Starts running a build.

See Also:

AWS * API Reference

*/ virtual Model::StartBuildOutcome StartBuild(const Model::StartBuildRequest& request) const; /** * A Callable wrapper for StartBuild that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::StartBuildOutcomeCallable StartBuildCallable(const StartBuildRequestT& request) const { return SubmitCallable(&CodeBuildClient::StartBuild, request); } /** * An Async wrapper for StartBuild that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void StartBuildAsync(const StartBuildRequestT& request, const StartBuildResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CodeBuildClient::StartBuild, request, handler, context); } /** *

Starts a batch build for a project.

See Also:

AWS * API Reference

*/ virtual Model::StartBuildBatchOutcome StartBuildBatch(const Model::StartBuildBatchRequest& request) const; /** * A Callable wrapper for StartBuildBatch that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::StartBuildBatchOutcomeCallable StartBuildBatchCallable(const StartBuildBatchRequestT& request) const { return SubmitCallable(&CodeBuildClient::StartBuildBatch, request); } /** * An Async wrapper for StartBuildBatch that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void StartBuildBatchAsync(const StartBuildBatchRequestT& request, const StartBuildBatchResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CodeBuildClient::StartBuildBatch, request, handler, context); } /** *

Attempts to stop running a build.

See Also:

AWS * API Reference

*/ virtual Model::StopBuildOutcome StopBuild(const Model::StopBuildRequest& request) const; /** * A Callable wrapper for StopBuild that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::StopBuildOutcomeCallable StopBuildCallable(const StopBuildRequestT& request) const { return SubmitCallable(&CodeBuildClient::StopBuild, request); } /** * An Async wrapper for StopBuild that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void StopBuildAsync(const StopBuildRequestT& request, const StopBuildResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CodeBuildClient::StopBuild, request, handler, context); } /** *

Stops a running batch build.

See Also:

AWS * API Reference

*/ virtual Model::StopBuildBatchOutcome StopBuildBatch(const Model::StopBuildBatchRequest& request) const; /** * A Callable wrapper for StopBuildBatch that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::StopBuildBatchOutcomeCallable StopBuildBatchCallable(const StopBuildBatchRequestT& request) const { return SubmitCallable(&CodeBuildClient::StopBuildBatch, request); } /** * An Async wrapper for StopBuildBatch that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void StopBuildBatchAsync(const StopBuildBatchRequestT& request, const StopBuildBatchResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CodeBuildClient::StopBuildBatch, request, handler, context); } /** *

Changes the settings of a build project.

See Also:

AWS * API Reference

*/ virtual Model::UpdateProjectOutcome UpdateProject(const Model::UpdateProjectRequest& request) const; /** * A Callable wrapper for UpdateProject that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateProjectOutcomeCallable UpdateProjectCallable(const UpdateProjectRequestT& request) const { return SubmitCallable(&CodeBuildClient::UpdateProject, request); } /** * An Async wrapper for UpdateProject that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateProjectAsync(const UpdateProjectRequestT& request, const UpdateProjectResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CodeBuildClient::UpdateProject, request, handler, context); } /** *

Changes the public visibility for a project. The project's build results, * logs, and artifacts are available to the general public. For more information, * see Public * build projects in the CodeBuild User Guide.

The * following should be kept in mind when making your projects public:

  • *

    All of a project's build results, logs, and artifacts, including builds that * were run when the project was private, are available to the general public.

    *
  • All build logs and artifacts are available to the public. * Environment variables, source code, and other sensitive information may have * been output to the build logs and artifacts. You must be careful about what * information is output to the build logs. Some best practice are:

    • *

      Do not store sensitive values, especially Amazon Web Services access key IDs * and secret access keys, in environment variables. We recommend that you use an * Amazon EC2 Systems Manager Parameter Store or Secrets Manager to store sensitive * values.

    • Follow Best * practices for using webhooks in the CodeBuild User Guide to limit * which entities can trigger a build, and do not store the buildspec in the * project itself, to ensure that your webhooks are as secure as possible.

      *
  • A malicious user can use public builds to distribute * malicious artifacts. We recommend that you review all pull requests to verify * that the pull request is a legitimate change. We also recommend that you * validate any artifacts with their checksums to make sure that the correct * artifacts are being downloaded.

See * Also:

AWS * API Reference

*/ virtual Model::UpdateProjectVisibilityOutcome UpdateProjectVisibility(const Model::UpdateProjectVisibilityRequest& request) const; /** * A Callable wrapper for UpdateProjectVisibility that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateProjectVisibilityOutcomeCallable UpdateProjectVisibilityCallable(const UpdateProjectVisibilityRequestT& request) const { return SubmitCallable(&CodeBuildClient::UpdateProjectVisibility, request); } /** * An Async wrapper for UpdateProjectVisibility that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateProjectVisibilityAsync(const UpdateProjectVisibilityRequestT& request, const UpdateProjectVisibilityResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CodeBuildClient::UpdateProjectVisibility, request, handler, context); } /** *

Updates a report group.

See Also:

AWS * API Reference

*/ virtual Model::UpdateReportGroupOutcome UpdateReportGroup(const Model::UpdateReportGroupRequest& request) const; /** * A Callable wrapper for UpdateReportGroup that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateReportGroupOutcomeCallable UpdateReportGroupCallable(const UpdateReportGroupRequestT& request) const { return SubmitCallable(&CodeBuildClient::UpdateReportGroup, request); } /** * An Async wrapper for UpdateReportGroup that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateReportGroupAsync(const UpdateReportGroupRequestT& request, const UpdateReportGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CodeBuildClient::UpdateReportGroup, request, handler, context); } /** *

Updates the webhook associated with an CodeBuild build project.

*

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

See Also:

AWS * API Reference

*/ virtual Model::UpdateWebhookOutcome UpdateWebhook(const Model::UpdateWebhookRequest& request) const; /** * A Callable wrapper for UpdateWebhook that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateWebhookOutcomeCallable UpdateWebhookCallable(const UpdateWebhookRequestT& request) const { return SubmitCallable(&CodeBuildClient::UpdateWebhook, request); } /** * An Async wrapper for UpdateWebhook that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateWebhookAsync(const UpdateWebhookRequestT& request, const UpdateWebhookResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CodeBuildClient::UpdateWebhook, request, handler, context); } void OverrideEndpoint(const Aws::String& endpoint); std::shared_ptr& accessEndpointProvider(); private: friend class Aws::Client::ClientWithAsyncTemplateMethods; void init(const CodeBuildClientConfiguration& clientConfiguration); CodeBuildClientConfiguration m_clientConfiguration; std::shared_ptr m_executor; std::shared_ptr m_endpointProvider; }; } // namespace CodeBuild } // namespace Aws