"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.CodeBuild = void 0;
const CodeBuildClient_1 = require("./CodeBuildClient");
const BatchDeleteBuildsCommand_1 = require("./commands/BatchDeleteBuildsCommand");
const BatchGetBuildBatchesCommand_1 = require("./commands/BatchGetBuildBatchesCommand");
const BatchGetBuildsCommand_1 = require("./commands/BatchGetBuildsCommand");
const BatchGetProjectsCommand_1 = require("./commands/BatchGetProjectsCommand");
const BatchGetReportGroupsCommand_1 = require("./commands/BatchGetReportGroupsCommand");
const BatchGetReportsCommand_1 = require("./commands/BatchGetReportsCommand");
const CreateProjectCommand_1 = require("./commands/CreateProjectCommand");
const CreateReportGroupCommand_1 = require("./commands/CreateReportGroupCommand");
const CreateWebhookCommand_1 = require("./commands/CreateWebhookCommand");
const DeleteBuildBatchCommand_1 = require("./commands/DeleteBuildBatchCommand");
const DeleteProjectCommand_1 = require("./commands/DeleteProjectCommand");
const DeleteReportCommand_1 = require("./commands/DeleteReportCommand");
const DeleteReportGroupCommand_1 = require("./commands/DeleteReportGroupCommand");
const DeleteResourcePolicyCommand_1 = require("./commands/DeleteResourcePolicyCommand");
const DeleteSourceCredentialsCommand_1 = require("./commands/DeleteSourceCredentialsCommand");
const DeleteWebhookCommand_1 = require("./commands/DeleteWebhookCommand");
const DescribeCodeCoveragesCommand_1 = require("./commands/DescribeCodeCoveragesCommand");
const DescribeTestCasesCommand_1 = require("./commands/DescribeTestCasesCommand");
const GetReportGroupTrendCommand_1 = require("./commands/GetReportGroupTrendCommand");
const GetResourcePolicyCommand_1 = require("./commands/GetResourcePolicyCommand");
const ImportSourceCredentialsCommand_1 = require("./commands/ImportSourceCredentialsCommand");
const InvalidateProjectCacheCommand_1 = require("./commands/InvalidateProjectCacheCommand");
const ListBuildBatchesCommand_1 = require("./commands/ListBuildBatchesCommand");
const ListBuildBatchesForProjectCommand_1 = require("./commands/ListBuildBatchesForProjectCommand");
const ListBuildsCommand_1 = require("./commands/ListBuildsCommand");
const ListBuildsForProjectCommand_1 = require("./commands/ListBuildsForProjectCommand");
const ListCuratedEnvironmentImagesCommand_1 = require("./commands/ListCuratedEnvironmentImagesCommand");
const ListProjectsCommand_1 = require("./commands/ListProjectsCommand");
const ListReportGroupsCommand_1 = require("./commands/ListReportGroupsCommand");
const ListReportsCommand_1 = require("./commands/ListReportsCommand");
const ListReportsForReportGroupCommand_1 = require("./commands/ListReportsForReportGroupCommand");
const ListSharedProjectsCommand_1 = require("./commands/ListSharedProjectsCommand");
const ListSharedReportGroupsCommand_1 = require("./commands/ListSharedReportGroupsCommand");
const ListSourceCredentialsCommand_1 = require("./commands/ListSourceCredentialsCommand");
const PutResourcePolicyCommand_1 = require("./commands/PutResourcePolicyCommand");
const RetryBuildBatchCommand_1 = require("./commands/RetryBuildBatchCommand");
const RetryBuildCommand_1 = require("./commands/RetryBuildCommand");
const StartBuildBatchCommand_1 = require("./commands/StartBuildBatchCommand");
const StartBuildCommand_1 = require("./commands/StartBuildCommand");
const StopBuildBatchCommand_1 = require("./commands/StopBuildBatchCommand");
const StopBuildCommand_1 = require("./commands/StopBuildCommand");
const UpdateProjectCommand_1 = require("./commands/UpdateProjectCommand");
const UpdateProjectVisibilityCommand_1 = require("./commands/UpdateProjectVisibilityCommand");
const UpdateReportGroupCommand_1 = require("./commands/UpdateReportGroupCommand");
const UpdateWebhookCommand_1 = require("./commands/UpdateWebhookCommand");
/**
 * <fullname>CodeBuild</fullname>
 *         <p>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 <i>
 *                 <a href="https://docs.aws.amazon.com/codebuild/latest/userguide/welcome.html">CodeBuild User
 *                     Guide</a>.</i>
 *          </p>
 */
class CodeBuild extends CodeBuildClient_1.CodeBuildClient {
    batchDeleteBuilds(args, optionsOrCb, cb) {
        const command = new BatchDeleteBuildsCommand_1.BatchDeleteBuildsCommand(args);
        if (typeof optionsOrCb === "function") {
            this.send(command, optionsOrCb);
        }
        else if (typeof cb === "function") {
            if (typeof optionsOrCb !== "object")
                throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
            this.send(command, optionsOrCb || {}, cb);
        }
        else {
            return this.send(command, optionsOrCb);
        }
    }
    batchGetBuildBatches(args, optionsOrCb, cb) {
        const command = new BatchGetBuildBatchesCommand_1.BatchGetBuildBatchesCommand(args);
        if (typeof optionsOrCb === "function") {
            this.send(command, optionsOrCb);
        }
        else if (typeof cb === "function") {
            if (typeof optionsOrCb !== "object")
                throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
            this.send(command, optionsOrCb || {}, cb);
        }
        else {
            return this.send(command, optionsOrCb);
        }
    }
    batchGetBuilds(args, optionsOrCb, cb) {
        const command = new BatchGetBuildsCommand_1.BatchGetBuildsCommand(args);
        if (typeof optionsOrCb === "function") {
            this.send(command, optionsOrCb);
        }
        else if (typeof cb === "function") {
            if (typeof optionsOrCb !== "object")
                throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
            this.send(command, optionsOrCb || {}, cb);
        }
        else {
            return this.send(command, optionsOrCb);
        }
    }
    batchGetProjects(args, optionsOrCb, cb) {
        const command = new BatchGetProjectsCommand_1.BatchGetProjectsCommand(args);
        if (typeof optionsOrCb === "function") {
            this.send(command, optionsOrCb);
        }
        else if (typeof cb === "function") {
            if (typeof optionsOrCb !== "object")
                throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
            this.send(command, optionsOrCb || {}, cb);
        }
        else {
            return this.send(command, optionsOrCb);
        }
    }
    batchGetReportGroups(args, optionsOrCb, cb) {
        const command = new BatchGetReportGroupsCommand_1.BatchGetReportGroupsCommand(args);
        if (typeof optionsOrCb === "function") {
            this.send(command, optionsOrCb);
        }
        else if (typeof cb === "function") {
            if (typeof optionsOrCb !== "object")
                throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
            this.send(command, optionsOrCb || {}, cb);
        }
        else {
            return this.send(command, optionsOrCb);
        }
    }
    batchGetReports(args, optionsOrCb, cb) {
        const command = new BatchGetReportsCommand_1.BatchGetReportsCommand(args);
        if (typeof optionsOrCb === "function") {
            this.send(command, optionsOrCb);
        }
        else if (typeof cb === "function") {
            if (typeof optionsOrCb !== "object")
                throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
            this.send(command, optionsOrCb || {}, cb);
        }
        else {
            return this.send(command, optionsOrCb);
        }
    }
    createProject(args, optionsOrCb, cb) {
        const command = new CreateProjectCommand_1.CreateProjectCommand(args);
        if (typeof optionsOrCb === "function") {
            this.send(command, optionsOrCb);
        }
        else if (typeof cb === "function") {
            if (typeof optionsOrCb !== "object")
                throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
            this.send(command, optionsOrCb || {}, cb);
        }
        else {
            return this.send(command, optionsOrCb);
        }
    }
    createReportGroup(args, optionsOrCb, cb) {
        const command = new CreateReportGroupCommand_1.CreateReportGroupCommand(args);
        if (typeof optionsOrCb === "function") {
            this.send(command, optionsOrCb);
        }
        else if (typeof cb === "function") {
            if (typeof optionsOrCb !== "object")
                throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
            this.send(command, optionsOrCb || {}, cb);
        }
        else {
            return this.send(command, optionsOrCb);
        }
    }
    createWebhook(args, optionsOrCb, cb) {
        const command = new CreateWebhookCommand_1.CreateWebhookCommand(args);
        if (typeof optionsOrCb === "function") {
            this.send(command, optionsOrCb);
        }
        else if (typeof cb === "function") {
            if (typeof optionsOrCb !== "object")
                throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
            this.send(command, optionsOrCb || {}, cb);
        }
        else {
            return this.send(command, optionsOrCb);
        }
    }
    deleteBuildBatch(args, optionsOrCb, cb) {
        const command = new DeleteBuildBatchCommand_1.DeleteBuildBatchCommand(args);
        if (typeof optionsOrCb === "function") {
            this.send(command, optionsOrCb);
        }
        else if (typeof cb === "function") {
            if (typeof optionsOrCb !== "object")
                throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
            this.send(command, optionsOrCb || {}, cb);
        }
        else {
            return this.send(command, optionsOrCb);
        }
    }
    deleteProject(args, optionsOrCb, cb) {
        const command = new DeleteProjectCommand_1.DeleteProjectCommand(args);
        if (typeof optionsOrCb === "function") {
            this.send(command, optionsOrCb);
        }
        else if (typeof cb === "function") {
            if (typeof optionsOrCb !== "object")
                throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
            this.send(command, optionsOrCb || {}, cb);
        }
        else {
            return this.send(command, optionsOrCb);
        }
    }
    deleteReport(args, optionsOrCb, cb) {
        const command = new DeleteReportCommand_1.DeleteReportCommand(args);
        if (typeof optionsOrCb === "function") {
            this.send(command, optionsOrCb);
        }
        else if (typeof cb === "function") {
            if (typeof optionsOrCb !== "object")
                throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
            this.send(command, optionsOrCb || {}, cb);
        }
        else {
            return this.send(command, optionsOrCb);
        }
    }
    deleteReportGroup(args, optionsOrCb, cb) {
        const command = new DeleteReportGroupCommand_1.DeleteReportGroupCommand(args);
        if (typeof optionsOrCb === "function") {
            this.send(command, optionsOrCb);
        }
        else if (typeof cb === "function") {
            if (typeof optionsOrCb !== "object")
                throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
            this.send(command, optionsOrCb || {}, cb);
        }
        else {
            return this.send(command, optionsOrCb);
        }
    }
    deleteResourcePolicy(args, optionsOrCb, cb) {
        const command = new DeleteResourcePolicyCommand_1.DeleteResourcePolicyCommand(args);
        if (typeof optionsOrCb === "function") {
            this.send(command, optionsOrCb);
        }
        else if (typeof cb === "function") {
            if (typeof optionsOrCb !== "object")
                throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
            this.send(command, optionsOrCb || {}, cb);
        }
        else {
            return this.send(command, optionsOrCb);
        }
    }
    deleteSourceCredentials(args, optionsOrCb, cb) {
        const command = new DeleteSourceCredentialsCommand_1.DeleteSourceCredentialsCommand(args);
        if (typeof optionsOrCb === "function") {
            this.send(command, optionsOrCb);
        }
        else if (typeof cb === "function") {
            if (typeof optionsOrCb !== "object")
                throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
            this.send(command, optionsOrCb || {}, cb);
        }
        else {
            return this.send(command, optionsOrCb);
        }
    }
    deleteWebhook(args, optionsOrCb, cb) {
        const command = new DeleteWebhookCommand_1.DeleteWebhookCommand(args);
        if (typeof optionsOrCb === "function") {
            this.send(command, optionsOrCb);
        }
        else if (typeof cb === "function") {
            if (typeof optionsOrCb !== "object")
                throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
            this.send(command, optionsOrCb || {}, cb);
        }
        else {
            return this.send(command, optionsOrCb);
        }
    }
    describeCodeCoverages(args, optionsOrCb, cb) {
        const command = new DescribeCodeCoveragesCommand_1.DescribeCodeCoveragesCommand(args);
        if (typeof optionsOrCb === "function") {
            this.send(command, optionsOrCb);
        }
        else if (typeof cb === "function") {
            if (typeof optionsOrCb !== "object")
                throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
            this.send(command, optionsOrCb || {}, cb);
        }
        else {
            return this.send(command, optionsOrCb);
        }
    }
    describeTestCases(args, optionsOrCb, cb) {
        const command = new DescribeTestCasesCommand_1.DescribeTestCasesCommand(args);
        if (typeof optionsOrCb === "function") {
            this.send(command, optionsOrCb);
        }
        else if (typeof cb === "function") {
            if (typeof optionsOrCb !== "object")
                throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
            this.send(command, optionsOrCb || {}, cb);
        }
        else {
            return this.send(command, optionsOrCb);
        }
    }
    getReportGroupTrend(args, optionsOrCb, cb) {
        const command = new GetReportGroupTrendCommand_1.GetReportGroupTrendCommand(args);
        if (typeof optionsOrCb === "function") {
            this.send(command, optionsOrCb);
        }
        else if (typeof cb === "function") {
            if (typeof optionsOrCb !== "object")
                throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
            this.send(command, optionsOrCb || {}, cb);
        }
        else {
            return this.send(command, optionsOrCb);
        }
    }
    getResourcePolicy(args, optionsOrCb, cb) {
        const command = new GetResourcePolicyCommand_1.GetResourcePolicyCommand(args);
        if (typeof optionsOrCb === "function") {
            this.send(command, optionsOrCb);
        }
        else if (typeof cb === "function") {
            if (typeof optionsOrCb !== "object")
                throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
            this.send(command, optionsOrCb || {}, cb);
        }
        else {
            return this.send(command, optionsOrCb);
        }
    }
    importSourceCredentials(args, optionsOrCb, cb) {
        const command = new ImportSourceCredentialsCommand_1.ImportSourceCredentialsCommand(args);
        if (typeof optionsOrCb === "function") {
            this.send(command, optionsOrCb);
        }
        else if (typeof cb === "function") {
            if (typeof optionsOrCb !== "object")
                throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
            this.send(command, optionsOrCb || {}, cb);
        }
        else {
            return this.send(command, optionsOrCb);
        }
    }
    invalidateProjectCache(args, optionsOrCb, cb) {
        const command = new InvalidateProjectCacheCommand_1.InvalidateProjectCacheCommand(args);
        if (typeof optionsOrCb === "function") {
            this.send(command, optionsOrCb);
        }
        else if (typeof cb === "function") {
            if (typeof optionsOrCb !== "object")
                throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
            this.send(command, optionsOrCb || {}, cb);
        }
        else {
            return this.send(command, optionsOrCb);
        }
    }
    listBuildBatches(args, optionsOrCb, cb) {
        const command = new ListBuildBatchesCommand_1.ListBuildBatchesCommand(args);
        if (typeof optionsOrCb === "function") {
            this.send(command, optionsOrCb);
        }
        else if (typeof cb === "function") {
            if (typeof optionsOrCb !== "object")
                throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
            this.send(command, optionsOrCb || {}, cb);
        }
        else {
            return this.send(command, optionsOrCb);
        }
    }
    listBuildBatchesForProject(args, optionsOrCb, cb) {
        const command = new ListBuildBatchesForProjectCommand_1.ListBuildBatchesForProjectCommand(args);
        if (typeof optionsOrCb === "function") {
            this.send(command, optionsOrCb);
        }
        else if (typeof cb === "function") {
            if (typeof optionsOrCb !== "object")
                throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
            this.send(command, optionsOrCb || {}, cb);
        }
        else {
            return this.send(command, optionsOrCb);
        }
    }
    listBuilds(args, optionsOrCb, cb) {
        const command = new ListBuildsCommand_1.ListBuildsCommand(args);
        if (typeof optionsOrCb === "function") {
            this.send(command, optionsOrCb);
        }
        else if (typeof cb === "function") {
            if (typeof optionsOrCb !== "object")
                throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
            this.send(command, optionsOrCb || {}, cb);
        }
        else {
            return this.send(command, optionsOrCb);
        }
    }
    listBuildsForProject(args, optionsOrCb, cb) {
        const command = new ListBuildsForProjectCommand_1.ListBuildsForProjectCommand(args);
        if (typeof optionsOrCb === "function") {
            this.send(command, optionsOrCb);
        }
        else if (typeof cb === "function") {
            if (typeof optionsOrCb !== "object")
                throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
            this.send(command, optionsOrCb || {}, cb);
        }
        else {
            return this.send(command, optionsOrCb);
        }
    }
    listCuratedEnvironmentImages(args, optionsOrCb, cb) {
        const command = new ListCuratedEnvironmentImagesCommand_1.ListCuratedEnvironmentImagesCommand(args);
        if (typeof optionsOrCb === "function") {
            this.send(command, optionsOrCb);
        }
        else if (typeof cb === "function") {
            if (typeof optionsOrCb !== "object")
                throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
            this.send(command, optionsOrCb || {}, cb);
        }
        else {
            return this.send(command, optionsOrCb);
        }
    }
    listProjects(args, optionsOrCb, cb) {
        const command = new ListProjectsCommand_1.ListProjectsCommand(args);
        if (typeof optionsOrCb === "function") {
            this.send(command, optionsOrCb);
        }
        else if (typeof cb === "function") {
            if (typeof optionsOrCb !== "object")
                throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
            this.send(command, optionsOrCb || {}, cb);
        }
        else {
            return this.send(command, optionsOrCb);
        }
    }
    listReportGroups(args, optionsOrCb, cb) {
        const command = new ListReportGroupsCommand_1.ListReportGroupsCommand(args);
        if (typeof optionsOrCb === "function") {
            this.send(command, optionsOrCb);
        }
        else if (typeof cb === "function") {
            if (typeof optionsOrCb !== "object")
                throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
            this.send(command, optionsOrCb || {}, cb);
        }
        else {
            return this.send(command, optionsOrCb);
        }
    }
    listReports(args, optionsOrCb, cb) {
        const command = new ListReportsCommand_1.ListReportsCommand(args);
        if (typeof optionsOrCb === "function") {
            this.send(command, optionsOrCb);
        }
        else if (typeof cb === "function") {
            if (typeof optionsOrCb !== "object")
                throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
            this.send(command, optionsOrCb || {}, cb);
        }
        else {
            return this.send(command, optionsOrCb);
        }
    }
    listReportsForReportGroup(args, optionsOrCb, cb) {
        const command = new ListReportsForReportGroupCommand_1.ListReportsForReportGroupCommand(args);
        if (typeof optionsOrCb === "function") {
            this.send(command, optionsOrCb);
        }
        else if (typeof cb === "function") {
            if (typeof optionsOrCb !== "object")
                throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
            this.send(command, optionsOrCb || {}, cb);
        }
        else {
            return this.send(command, optionsOrCb);
        }
    }
    listSharedProjects(args, optionsOrCb, cb) {
        const command = new ListSharedProjectsCommand_1.ListSharedProjectsCommand(args);
        if (typeof optionsOrCb === "function") {
            this.send(command, optionsOrCb);
        }
        else if (typeof cb === "function") {
            if (typeof optionsOrCb !== "object")
                throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
            this.send(command, optionsOrCb || {}, cb);
        }
        else {
            return this.send(command, optionsOrCb);
        }
    }
    listSharedReportGroups(args, optionsOrCb, cb) {
        const command = new ListSharedReportGroupsCommand_1.ListSharedReportGroupsCommand(args);
        if (typeof optionsOrCb === "function") {
            this.send(command, optionsOrCb);
        }
        else if (typeof cb === "function") {
            if (typeof optionsOrCb !== "object")
                throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
            this.send(command, optionsOrCb || {}, cb);
        }
        else {
            return this.send(command, optionsOrCb);
        }
    }
    listSourceCredentials(args, optionsOrCb, cb) {
        const command = new ListSourceCredentialsCommand_1.ListSourceCredentialsCommand(args);
        if (typeof optionsOrCb === "function") {
            this.send(command, optionsOrCb);
        }
        else if (typeof cb === "function") {
            if (typeof optionsOrCb !== "object")
                throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
            this.send(command, optionsOrCb || {}, cb);
        }
        else {
            return this.send(command, optionsOrCb);
        }
    }
    putResourcePolicy(args, optionsOrCb, cb) {
        const command = new PutResourcePolicyCommand_1.PutResourcePolicyCommand(args);
        if (typeof optionsOrCb === "function") {
            this.send(command, optionsOrCb);
        }
        else if (typeof cb === "function") {
            if (typeof optionsOrCb !== "object")
                throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
            this.send(command, optionsOrCb || {}, cb);
        }
        else {
            return this.send(command, optionsOrCb);
        }
    }
    retryBuild(args, optionsOrCb, cb) {
        const command = new RetryBuildCommand_1.RetryBuildCommand(args);
        if (typeof optionsOrCb === "function") {
            this.send(command, optionsOrCb);
        }
        else if (typeof cb === "function") {
            if (typeof optionsOrCb !== "object")
                throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
            this.send(command, optionsOrCb || {}, cb);
        }
        else {
            return this.send(command, optionsOrCb);
        }
    }
    retryBuildBatch(args, optionsOrCb, cb) {
        const command = new RetryBuildBatchCommand_1.RetryBuildBatchCommand(args);
        if (typeof optionsOrCb === "function") {
            this.send(command, optionsOrCb);
        }
        else if (typeof cb === "function") {
            if (typeof optionsOrCb !== "object")
                throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
            this.send(command, optionsOrCb || {}, cb);
        }
        else {
            return this.send(command, optionsOrCb);
        }
    }
    startBuild(args, optionsOrCb, cb) {
        const command = new StartBuildCommand_1.StartBuildCommand(args);
        if (typeof optionsOrCb === "function") {
            this.send(command, optionsOrCb);
        }
        else if (typeof cb === "function") {
            if (typeof optionsOrCb !== "object")
                throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
            this.send(command, optionsOrCb || {}, cb);
        }
        else {
            return this.send(command, optionsOrCb);
        }
    }
    startBuildBatch(args, optionsOrCb, cb) {
        const command = new StartBuildBatchCommand_1.StartBuildBatchCommand(args);
        if (typeof optionsOrCb === "function") {
            this.send(command, optionsOrCb);
        }
        else if (typeof cb === "function") {
            if (typeof optionsOrCb !== "object")
                throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
            this.send(command, optionsOrCb || {}, cb);
        }
        else {
            return this.send(command, optionsOrCb);
        }
    }
    stopBuild(args, optionsOrCb, cb) {
        const command = new StopBuildCommand_1.StopBuildCommand(args);
        if (typeof optionsOrCb === "function") {
            this.send(command, optionsOrCb);
        }
        else if (typeof cb === "function") {
            if (typeof optionsOrCb !== "object")
                throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
            this.send(command, optionsOrCb || {}, cb);
        }
        else {
            return this.send(command, optionsOrCb);
        }
    }
    stopBuildBatch(args, optionsOrCb, cb) {
        const command = new StopBuildBatchCommand_1.StopBuildBatchCommand(args);
        if (typeof optionsOrCb === "function") {
            this.send(command, optionsOrCb);
        }
        else if (typeof cb === "function") {
            if (typeof optionsOrCb !== "object")
                throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
            this.send(command, optionsOrCb || {}, cb);
        }
        else {
            return this.send(command, optionsOrCb);
        }
    }
    updateProject(args, optionsOrCb, cb) {
        const command = new UpdateProjectCommand_1.UpdateProjectCommand(args);
        if (typeof optionsOrCb === "function") {
            this.send(command, optionsOrCb);
        }
        else if (typeof cb === "function") {
            if (typeof optionsOrCb !== "object")
                throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
            this.send(command, optionsOrCb || {}, cb);
        }
        else {
            return this.send(command, optionsOrCb);
        }
    }
    updateProjectVisibility(args, optionsOrCb, cb) {
        const command = new UpdateProjectVisibilityCommand_1.UpdateProjectVisibilityCommand(args);
        if (typeof optionsOrCb === "function") {
            this.send(command, optionsOrCb);
        }
        else if (typeof cb === "function") {
            if (typeof optionsOrCb !== "object")
                throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
            this.send(command, optionsOrCb || {}, cb);
        }
        else {
            return this.send(command, optionsOrCb);
        }
    }
    updateReportGroup(args, optionsOrCb, cb) {
        const command = new UpdateReportGroupCommand_1.UpdateReportGroupCommand(args);
        if (typeof optionsOrCb === "function") {
            this.send(command, optionsOrCb);
        }
        else if (typeof cb === "function") {
            if (typeof optionsOrCb !== "object")
                throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
            this.send(command, optionsOrCb || {}, cb);
        }
        else {
            return this.send(command, optionsOrCb);
        }
    }
    updateWebhook(args, optionsOrCb, cb) {
        const command = new UpdateWebhookCommand_1.UpdateWebhookCommand(args);
        if (typeof optionsOrCb === "function") {
            this.send(command, optionsOrCb);
        }
        else if (typeof cb === "function") {
            if (typeof optionsOrCb !== "object")
                throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
            this.send(command, optionsOrCb || {}, cb);
        }
        else {
            return this.send(command, optionsOrCb);
        }
    }
}
exports.CodeBuild = CodeBuild;
//# sourceMappingURL=CodeBuild.js.map