{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}

-- Derived from AWS service descriptions, licensed under Apache 2.0.

-- |
-- Module      : Amazonka.CodeBuild.StartBuildBatch
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Starts a batch build for a project.
module Amazonka.CodeBuild.StartBuildBatch
  ( -- * Creating a Request
    StartBuildBatch (..),
    newStartBuildBatch,

    -- * Request Lenses
    startBuildBatch_artifactsOverride,
    startBuildBatch_buildBatchConfigOverride,
    startBuildBatch_buildTimeoutInMinutesOverride,
    startBuildBatch_buildspecOverride,
    startBuildBatch_cacheOverride,
    startBuildBatch_certificateOverride,
    startBuildBatch_computeTypeOverride,
    startBuildBatch_debugSessionEnabled,
    startBuildBatch_encryptionKeyOverride,
    startBuildBatch_environmentTypeOverride,
    startBuildBatch_environmentVariablesOverride,
    startBuildBatch_gitCloneDepthOverride,
    startBuildBatch_gitSubmodulesConfigOverride,
    startBuildBatch_idempotencyToken,
    startBuildBatch_imageOverride,
    startBuildBatch_imagePullCredentialsTypeOverride,
    startBuildBatch_insecureSslOverride,
    startBuildBatch_logsConfigOverride,
    startBuildBatch_privilegedModeOverride,
    startBuildBatch_queuedTimeoutInMinutesOverride,
    startBuildBatch_registryCredentialOverride,
    startBuildBatch_reportBuildBatchStatusOverride,
    startBuildBatch_secondaryArtifactsOverride,
    startBuildBatch_secondarySourcesOverride,
    startBuildBatch_secondarySourcesVersionOverride,
    startBuildBatch_serviceRoleOverride,
    startBuildBatch_sourceAuthOverride,
    startBuildBatch_sourceLocationOverride,
    startBuildBatch_sourceTypeOverride,
    startBuildBatch_sourceVersion,
    startBuildBatch_projectName,

    -- * Destructuring the Response
    StartBuildBatchResponse (..),
    newStartBuildBatchResponse,

    -- * Response Lenses
    startBuildBatchResponse_buildBatch,
    startBuildBatchResponse_httpStatus,
  )
where

import Amazonka.CodeBuild.Types
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response

-- | /See:/ 'newStartBuildBatch' smart constructor.
data StartBuildBatch = StartBuildBatch'
  { -- | An array of @ProjectArtifacts@ objects that contains information about
    -- the build output artifact overrides for the build project.
    StartBuildBatch -> Maybe ProjectArtifacts
artifactsOverride :: Prelude.Maybe ProjectArtifacts,
    -- | A @BuildBatchConfigOverride@ object that contains batch build
    -- configuration overrides.
    StartBuildBatch -> Maybe ProjectBuildBatchConfig
buildBatchConfigOverride :: Prelude.Maybe ProjectBuildBatchConfig,
    -- | Overrides the build timeout specified in the batch build project.
    StartBuildBatch -> Maybe Natural
buildTimeoutInMinutesOverride :: Prelude.Maybe Prelude.Natural,
    -- | A buildspec file declaration that overrides, for this build only, the
    -- latest one already defined in the build project.
    --
    -- If this value is set, it can be either an inline buildspec definition,
    -- the path to an alternate buildspec file relative to the value of the
    -- built-in @CODEBUILD_SRC_DIR@ environment variable, or the path to an S3
    -- bucket. The bucket must be in the same Amazon Web Services Region as the
    -- build project. Specify the buildspec file using its ARN (for example,
    -- @arn:aws:s3:::my-codebuild-sample2\/buildspec.yml@). If this value is
    -- not provided or is set to an empty string, the source code must contain
    -- a buildspec file in its root directory. For more information, see
    -- <https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#build-spec-ref-name-storage Buildspec File Name and Storage Location>.
    StartBuildBatch -> Maybe Text
buildspecOverride :: Prelude.Maybe Prelude.Text,
    -- | A @ProjectCache@ object that specifies cache overrides.
    StartBuildBatch -> Maybe ProjectCache
cacheOverride :: Prelude.Maybe ProjectCache,
    -- | The name of a certificate for this batch build that overrides the one
    -- specified in the batch build project.
    StartBuildBatch -> Maybe Text
certificateOverride :: Prelude.Maybe Prelude.Text,
    -- | The name of a compute type for this batch build that overrides the one
    -- specified in the batch build project.
    StartBuildBatch -> Maybe ComputeType
computeTypeOverride :: Prelude.Maybe ComputeType,
    -- | Specifies if session debugging is enabled for this batch build. For more
    -- information, see
    -- <https://docs.aws.amazon.com/codebuild/latest/userguide/session-manager.html Viewing a running build in Session Manager>.
    -- Batch session debugging is not supported for matrix batch builds.
    StartBuildBatch -> Maybe Bool
debugSessionEnabled :: Prelude.Maybe Prelude.Bool,
    -- | The Key Management Service customer master key (CMK) that overrides the
    -- one specified in the batch build project. The CMK key encrypts the build
    -- output artifacts.
    --
    -- You can use a cross-account KMS key to encrypt the build output
    -- artifacts if your service role has permission to that key.
    --
    -- You can specify either the Amazon Resource Name (ARN) of the CMK or, if
    -- available, the CMK\'s alias (using the format @alias\/\<alias-name>@).
    StartBuildBatch -> Maybe Text
encryptionKeyOverride :: Prelude.Maybe Prelude.Text,
    -- | A container type for this batch build that overrides the one specified
    -- in the batch build project.
    StartBuildBatch -> Maybe EnvironmentType
environmentTypeOverride :: Prelude.Maybe EnvironmentType,
    -- | An array of @EnvironmentVariable@ objects that override, or add to, the
    -- environment variables defined in the batch build project.
    StartBuildBatch -> Maybe [EnvironmentVariable]
environmentVariablesOverride :: Prelude.Maybe [EnvironmentVariable],
    -- | The user-defined depth of history, with a minimum value of 0, that
    -- overrides, for this batch build only, any previous depth of history
    -- defined in the batch build project.
    StartBuildBatch -> Maybe Natural
gitCloneDepthOverride :: Prelude.Maybe Prelude.Natural,
    -- | A @GitSubmodulesConfig@ object that overrides the Git submodules
    -- configuration for this batch build.
    StartBuildBatch -> Maybe GitSubmodulesConfig
gitSubmodulesConfigOverride :: Prelude.Maybe GitSubmodulesConfig,
    -- | A unique, case sensitive identifier you provide to ensure the
    -- idempotency of the @StartBuildBatch@ request. The token is included in
    -- the @StartBuildBatch@ request and is valid for five minutes. If you
    -- repeat the @StartBuildBatch@ request with the same token, but change a
    -- parameter, CodeBuild returns a parameter mismatch error.
    StartBuildBatch -> Maybe Text
idempotencyToken :: Prelude.Maybe Prelude.Text,
    -- | The name of an image for this batch build that overrides the one
    -- specified in the batch build project.
    StartBuildBatch -> Maybe Text
imageOverride :: Prelude.Maybe Prelude.Text,
    -- | The type of credentials CodeBuild uses to pull images in your batch
    -- build. There are two valid values:
    --
    -- [CODEBUILD]
    --     Specifies that CodeBuild uses its own credentials. This requires
    --     that you modify your ECR repository policy to trust CodeBuild\'s
    --     service principal.
    --
    -- [SERVICE_ROLE]
    --     Specifies that CodeBuild uses your build project\'s service role.
    --
    -- When using a cross-account or private registry image, you must use
    -- @SERVICE_ROLE@ credentials. When using an CodeBuild curated image, you
    -- must use @CODEBUILD@ credentials.
    StartBuildBatch -> Maybe ImagePullCredentialsType
imagePullCredentialsTypeOverride :: Prelude.Maybe ImagePullCredentialsType,
    -- | Enable this flag to override the insecure SSL setting that is specified
    -- in the batch build project. The insecure SSL setting determines whether
    -- to ignore SSL warnings while connecting to the project source code. This
    -- override applies only if the build\'s source is GitHub Enterprise.
    StartBuildBatch -> Maybe Bool
insecureSslOverride :: Prelude.Maybe Prelude.Bool,
    -- | A @LogsConfig@ object that override the log settings defined in the
    -- batch build project.
    StartBuildBatch -> Maybe LogsConfig
logsConfigOverride :: Prelude.Maybe LogsConfig,
    -- | Enable this flag to override privileged mode in the batch build project.
    StartBuildBatch -> Maybe Bool
privilegedModeOverride :: Prelude.Maybe Prelude.Bool,
    -- | The number of minutes a batch build is allowed to be queued before it
    -- times out.
    StartBuildBatch -> Maybe Natural
queuedTimeoutInMinutesOverride :: Prelude.Maybe Prelude.Natural,
    -- | A @RegistryCredential@ object that overrides credentials for access to a
    -- private registry.
    StartBuildBatch -> Maybe RegistryCredential
registryCredentialOverride :: Prelude.Maybe RegistryCredential,
    -- | Set to @true@ to report to your source provider the status of a batch
    -- build\'s start and completion. If you use this option with a source
    -- provider other than GitHub, GitHub Enterprise, or Bitbucket, an
    -- @invalidInputException@ is thrown.
    --
    -- The status of a build triggered by a webhook is always reported to your
    -- source provider.
    StartBuildBatch -> Maybe Bool
reportBuildBatchStatusOverride :: Prelude.Maybe Prelude.Bool,
    -- | An array of @ProjectArtifacts@ objects that override the secondary
    -- artifacts defined in the batch build project.
    StartBuildBatch -> Maybe [ProjectArtifacts]
secondaryArtifactsOverride :: Prelude.Maybe [ProjectArtifacts],
    -- | An array of @ProjectSource@ objects that override the secondary sources
    -- defined in the batch build project.
    StartBuildBatch -> Maybe [ProjectSource]
secondarySourcesOverride :: Prelude.Maybe [ProjectSource],
    -- | An array of @ProjectSourceVersion@ objects that override the secondary
    -- source versions in the batch build project.
    StartBuildBatch -> Maybe [ProjectSourceVersion]
secondarySourcesVersionOverride :: Prelude.Maybe [ProjectSourceVersion],
    -- | The name of a service role for this batch build that overrides the one
    -- specified in the batch build project.
    StartBuildBatch -> Maybe Text
serviceRoleOverride :: Prelude.Maybe Prelude.Text,
    -- | A @SourceAuth@ object that overrides the one defined in the batch build
    -- project. This override applies only if the build project\'s source is
    -- BitBucket or GitHub.
    StartBuildBatch -> Maybe SourceAuth
sourceAuthOverride :: Prelude.Maybe SourceAuth,
    -- | A location that overrides, for this batch build, the source location
    -- defined in the batch build project.
    StartBuildBatch -> Maybe Text
sourceLocationOverride :: Prelude.Maybe Prelude.Text,
    -- | The source input type that overrides the source input defined in the
    -- batch build project.
    StartBuildBatch -> Maybe SourceType
sourceTypeOverride :: Prelude.Maybe SourceType,
    -- | The version of the batch build input to be built, for this build only.
    -- If not specified, the latest version is used. If specified, the contents
    -- depends on the source provider:
    --
    -- [CodeCommit]
    --     The commit ID, branch, or Git tag to use.
    --
    -- [GitHub]
    --     The commit ID, pull request ID, branch name, or tag name that
    --     corresponds to the version of the source code you want to build. If
    --     a pull request ID is specified, it must use the format
    --     @pr\/pull-request-ID@ (for example @pr\/25@). If a branch name is
    --     specified, the branch\'s HEAD commit ID is used. If not specified,
    --     the default branch\'s HEAD commit ID is used.
    --
    -- [Bitbucket]
    --     The commit ID, branch name, or tag name that corresponds to the
    --     version of the source code you want to build. If a branch name is
    --     specified, the branch\'s HEAD commit ID is used. If not specified,
    --     the default branch\'s HEAD commit ID is used.
    --
    -- [Amazon S3]
    --     The version ID of the object that represents the build input ZIP
    --     file to use.
    --
    -- If @sourceVersion@ is specified at the project level, then this
    -- @sourceVersion@ (at the build level) takes precedence.
    --
    -- For more information, see
    -- <https://docs.aws.amazon.com/codebuild/latest/userguide/sample-source-version.html Source Version Sample with CodeBuild>
    -- in the /CodeBuild User Guide/.
    StartBuildBatch -> Maybe Text
sourceVersion :: Prelude.Maybe Prelude.Text,
    -- | The name of the project.
    StartBuildBatch -> Text
projectName :: Prelude.Text
  }
  deriving (StartBuildBatch -> StartBuildBatch -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: StartBuildBatch -> StartBuildBatch -> Bool
$c/= :: StartBuildBatch -> StartBuildBatch -> Bool
== :: StartBuildBatch -> StartBuildBatch -> Bool
$c== :: StartBuildBatch -> StartBuildBatch -> Bool
Prelude.Eq, ReadPrec [StartBuildBatch]
ReadPrec StartBuildBatch
Int -> ReadS StartBuildBatch
ReadS [StartBuildBatch]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [StartBuildBatch]
$creadListPrec :: ReadPrec [StartBuildBatch]
readPrec :: ReadPrec StartBuildBatch
$creadPrec :: ReadPrec StartBuildBatch
readList :: ReadS [StartBuildBatch]
$creadList :: ReadS [StartBuildBatch]
readsPrec :: Int -> ReadS StartBuildBatch
$creadsPrec :: Int -> ReadS StartBuildBatch
Prelude.Read, Int -> StartBuildBatch -> ShowS
[StartBuildBatch] -> ShowS
StartBuildBatch -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [StartBuildBatch] -> ShowS
$cshowList :: [StartBuildBatch] -> ShowS
show :: StartBuildBatch -> String
$cshow :: StartBuildBatch -> String
showsPrec :: Int -> StartBuildBatch -> ShowS
$cshowsPrec :: Int -> StartBuildBatch -> ShowS
Prelude.Show, forall x. Rep StartBuildBatch x -> StartBuildBatch
forall x. StartBuildBatch -> Rep StartBuildBatch x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep StartBuildBatch x -> StartBuildBatch
$cfrom :: forall x. StartBuildBatch -> Rep StartBuildBatch x
Prelude.Generic)

-- |
-- Create a value of 'StartBuildBatch' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'artifactsOverride', 'startBuildBatch_artifactsOverride' - An array of @ProjectArtifacts@ objects that contains information about
-- the build output artifact overrides for the build project.
--
-- 'buildBatchConfigOverride', 'startBuildBatch_buildBatchConfigOverride' - A @BuildBatchConfigOverride@ object that contains batch build
-- configuration overrides.
--
-- 'buildTimeoutInMinutesOverride', 'startBuildBatch_buildTimeoutInMinutesOverride' - Overrides the build timeout specified in the batch build project.
--
-- 'buildspecOverride', 'startBuildBatch_buildspecOverride' - A buildspec file declaration that overrides, for this build only, the
-- latest one already defined in the build project.
--
-- If this value is set, it can be either an inline buildspec definition,
-- the path to an alternate buildspec file relative to the value of the
-- built-in @CODEBUILD_SRC_DIR@ environment variable, or the path to an S3
-- bucket. The bucket must be in the same Amazon Web Services Region as the
-- build project. Specify the buildspec file using its ARN (for example,
-- @arn:aws:s3:::my-codebuild-sample2\/buildspec.yml@). If this value is
-- not provided or is set to an empty string, the source code must contain
-- a buildspec file in its root directory. For more information, see
-- <https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#build-spec-ref-name-storage Buildspec File Name and Storage Location>.
--
-- 'cacheOverride', 'startBuildBatch_cacheOverride' - A @ProjectCache@ object that specifies cache overrides.
--
-- 'certificateOverride', 'startBuildBatch_certificateOverride' - The name of a certificate for this batch build that overrides the one
-- specified in the batch build project.
--
-- 'computeTypeOverride', 'startBuildBatch_computeTypeOverride' - The name of a compute type for this batch build that overrides the one
-- specified in the batch build project.
--
-- 'debugSessionEnabled', 'startBuildBatch_debugSessionEnabled' - Specifies if session debugging is enabled for this batch build. For more
-- information, see
-- <https://docs.aws.amazon.com/codebuild/latest/userguide/session-manager.html Viewing a running build in Session Manager>.
-- Batch session debugging is not supported for matrix batch builds.
--
-- 'encryptionKeyOverride', 'startBuildBatch_encryptionKeyOverride' - The Key Management Service customer master key (CMK) that overrides the
-- one specified in the batch build project. The CMK key encrypts the build
-- output artifacts.
--
-- You can use a cross-account KMS key to encrypt the build output
-- artifacts if your service role has permission to that key.
--
-- You can specify either the Amazon Resource Name (ARN) of the CMK or, if
-- available, the CMK\'s alias (using the format @alias\/\<alias-name>@).
--
-- 'environmentTypeOverride', 'startBuildBatch_environmentTypeOverride' - A container type for this batch build that overrides the one specified
-- in the batch build project.
--
-- 'environmentVariablesOverride', 'startBuildBatch_environmentVariablesOverride' - An array of @EnvironmentVariable@ objects that override, or add to, the
-- environment variables defined in the batch build project.
--
-- 'gitCloneDepthOverride', 'startBuildBatch_gitCloneDepthOverride' - The user-defined depth of history, with a minimum value of 0, that
-- overrides, for this batch build only, any previous depth of history
-- defined in the batch build project.
--
-- 'gitSubmodulesConfigOverride', 'startBuildBatch_gitSubmodulesConfigOverride' - A @GitSubmodulesConfig@ object that overrides the Git submodules
-- configuration for this batch build.
--
-- 'idempotencyToken', 'startBuildBatch_idempotencyToken' - A unique, case sensitive identifier you provide to ensure the
-- idempotency of the @StartBuildBatch@ request. The token is included in
-- the @StartBuildBatch@ request and is valid for five minutes. If you
-- repeat the @StartBuildBatch@ request with the same token, but change a
-- parameter, CodeBuild returns a parameter mismatch error.
--
-- 'imageOverride', 'startBuildBatch_imageOverride' - The name of an image for this batch build that overrides the one
-- specified in the batch build project.
--
-- 'imagePullCredentialsTypeOverride', 'startBuildBatch_imagePullCredentialsTypeOverride' - The type of credentials CodeBuild uses to pull images in your batch
-- build. There are two valid values:
--
-- [CODEBUILD]
--     Specifies that CodeBuild uses its own credentials. This requires
--     that you modify your ECR repository policy to trust CodeBuild\'s
--     service principal.
--
-- [SERVICE_ROLE]
--     Specifies that CodeBuild uses your build project\'s service role.
--
-- When using a cross-account or private registry image, you must use
-- @SERVICE_ROLE@ credentials. When using an CodeBuild curated image, you
-- must use @CODEBUILD@ credentials.
--
-- 'insecureSslOverride', 'startBuildBatch_insecureSslOverride' - Enable this flag to override the insecure SSL setting that is specified
-- in the batch build project. The insecure SSL setting determines whether
-- to ignore SSL warnings while connecting to the project source code. This
-- override applies only if the build\'s source is GitHub Enterprise.
--
-- 'logsConfigOverride', 'startBuildBatch_logsConfigOverride' - A @LogsConfig@ object that override the log settings defined in the
-- batch build project.
--
-- 'privilegedModeOverride', 'startBuildBatch_privilegedModeOverride' - Enable this flag to override privileged mode in the batch build project.
--
-- 'queuedTimeoutInMinutesOverride', 'startBuildBatch_queuedTimeoutInMinutesOverride' - The number of minutes a batch build is allowed to be queued before it
-- times out.
--
-- 'registryCredentialOverride', 'startBuildBatch_registryCredentialOverride' - A @RegistryCredential@ object that overrides credentials for access to a
-- private registry.
--
-- 'reportBuildBatchStatusOverride', 'startBuildBatch_reportBuildBatchStatusOverride' - Set to @true@ to report to your source provider the status of a batch
-- build\'s start and completion. If you use this option with a source
-- provider other than GitHub, GitHub Enterprise, or Bitbucket, an
-- @invalidInputException@ is thrown.
--
-- The status of a build triggered by a webhook is always reported to your
-- source provider.
--
-- 'secondaryArtifactsOverride', 'startBuildBatch_secondaryArtifactsOverride' - An array of @ProjectArtifacts@ objects that override the secondary
-- artifacts defined in the batch build project.
--
-- 'secondarySourcesOverride', 'startBuildBatch_secondarySourcesOverride' - An array of @ProjectSource@ objects that override the secondary sources
-- defined in the batch build project.
--
-- 'secondarySourcesVersionOverride', 'startBuildBatch_secondarySourcesVersionOverride' - An array of @ProjectSourceVersion@ objects that override the secondary
-- source versions in the batch build project.
--
-- 'serviceRoleOverride', 'startBuildBatch_serviceRoleOverride' - The name of a service role for this batch build that overrides the one
-- specified in the batch build project.
--
-- 'sourceAuthOverride', 'startBuildBatch_sourceAuthOverride' - A @SourceAuth@ object that overrides the one defined in the batch build
-- project. This override applies only if the build project\'s source is
-- BitBucket or GitHub.
--
-- 'sourceLocationOverride', 'startBuildBatch_sourceLocationOverride' - A location that overrides, for this batch build, the source location
-- defined in the batch build project.
--
-- 'sourceTypeOverride', 'startBuildBatch_sourceTypeOverride' - The source input type that overrides the source input defined in the
-- batch build project.
--
-- 'sourceVersion', 'startBuildBatch_sourceVersion' - The version of the batch build input to be built, for this build only.
-- If not specified, the latest version is used. If specified, the contents
-- depends on the source provider:
--
-- [CodeCommit]
--     The commit ID, branch, or Git tag to use.
--
-- [GitHub]
--     The commit ID, pull request ID, branch name, or tag name that
--     corresponds to the version of the source code you want to build. If
--     a pull request ID is specified, it must use the format
--     @pr\/pull-request-ID@ (for example @pr\/25@). If a branch name is
--     specified, the branch\'s HEAD commit ID is used. If not specified,
--     the default branch\'s HEAD commit ID is used.
--
-- [Bitbucket]
--     The commit ID, branch name, or tag name that corresponds to the
--     version of the source code you want to build. If a branch name is
--     specified, the branch\'s HEAD commit ID is used. If not specified,
--     the default branch\'s HEAD commit ID is used.
--
-- [Amazon S3]
--     The version ID of the object that represents the build input ZIP
--     file to use.
--
-- If @sourceVersion@ is specified at the project level, then this
-- @sourceVersion@ (at the build level) takes precedence.
--
-- For more information, see
-- <https://docs.aws.amazon.com/codebuild/latest/userguide/sample-source-version.html Source Version Sample with CodeBuild>
-- in the /CodeBuild User Guide/.
--
-- 'projectName', 'startBuildBatch_projectName' - The name of the project.
newStartBuildBatch ::
  -- | 'projectName'
  Prelude.Text ->
  StartBuildBatch
newStartBuildBatch :: Text -> StartBuildBatch
newStartBuildBatch Text
pProjectName_ =
  StartBuildBatch'
    { $sel:artifactsOverride:StartBuildBatch' :: Maybe ProjectArtifacts
artifactsOverride =
        forall a. Maybe a
Prelude.Nothing,
      $sel:buildBatchConfigOverride:StartBuildBatch' :: Maybe ProjectBuildBatchConfig
buildBatchConfigOverride = forall a. Maybe a
Prelude.Nothing,
      $sel:buildTimeoutInMinutesOverride:StartBuildBatch' :: Maybe Natural
buildTimeoutInMinutesOverride = forall a. Maybe a
Prelude.Nothing,
      $sel:buildspecOverride:StartBuildBatch' :: Maybe Text
buildspecOverride = forall a. Maybe a
Prelude.Nothing,
      $sel:cacheOverride:StartBuildBatch' :: Maybe ProjectCache
cacheOverride = forall a. Maybe a
Prelude.Nothing,
      $sel:certificateOverride:StartBuildBatch' :: Maybe Text
certificateOverride = forall a. Maybe a
Prelude.Nothing,
      $sel:computeTypeOverride:StartBuildBatch' :: Maybe ComputeType
computeTypeOverride = forall a. Maybe a
Prelude.Nothing,
      $sel:debugSessionEnabled:StartBuildBatch' :: Maybe Bool
debugSessionEnabled = forall a. Maybe a
Prelude.Nothing,
      $sel:encryptionKeyOverride:StartBuildBatch' :: Maybe Text
encryptionKeyOverride = forall a. Maybe a
Prelude.Nothing,
      $sel:environmentTypeOverride:StartBuildBatch' :: Maybe EnvironmentType
environmentTypeOverride = forall a. Maybe a
Prelude.Nothing,
      $sel:environmentVariablesOverride:StartBuildBatch' :: Maybe [EnvironmentVariable]
environmentVariablesOverride = forall a. Maybe a
Prelude.Nothing,
      $sel:gitCloneDepthOverride:StartBuildBatch' :: Maybe Natural
gitCloneDepthOverride = forall a. Maybe a
Prelude.Nothing,
      $sel:gitSubmodulesConfigOverride:StartBuildBatch' :: Maybe GitSubmodulesConfig
gitSubmodulesConfigOverride = forall a. Maybe a
Prelude.Nothing,
      $sel:idempotencyToken:StartBuildBatch' :: Maybe Text
idempotencyToken = forall a. Maybe a
Prelude.Nothing,
      $sel:imageOverride:StartBuildBatch' :: Maybe Text
imageOverride = forall a. Maybe a
Prelude.Nothing,
      $sel:imagePullCredentialsTypeOverride:StartBuildBatch' :: Maybe ImagePullCredentialsType
imagePullCredentialsTypeOverride = forall a. Maybe a
Prelude.Nothing,
      $sel:insecureSslOverride:StartBuildBatch' :: Maybe Bool
insecureSslOverride = forall a. Maybe a
Prelude.Nothing,
      $sel:logsConfigOverride:StartBuildBatch' :: Maybe LogsConfig
logsConfigOverride = forall a. Maybe a
Prelude.Nothing,
      $sel:privilegedModeOverride:StartBuildBatch' :: Maybe Bool
privilegedModeOverride = forall a. Maybe a
Prelude.Nothing,
      $sel:queuedTimeoutInMinutesOverride:StartBuildBatch' :: Maybe Natural
queuedTimeoutInMinutesOverride = forall a. Maybe a
Prelude.Nothing,
      $sel:registryCredentialOverride:StartBuildBatch' :: Maybe RegistryCredential
registryCredentialOverride = forall a. Maybe a
Prelude.Nothing,
      $sel:reportBuildBatchStatusOverride:StartBuildBatch' :: Maybe Bool
reportBuildBatchStatusOverride = forall a. Maybe a
Prelude.Nothing,
      $sel:secondaryArtifactsOverride:StartBuildBatch' :: Maybe [ProjectArtifacts]
secondaryArtifactsOverride = forall a. Maybe a
Prelude.Nothing,
      $sel:secondarySourcesOverride:StartBuildBatch' :: Maybe [ProjectSource]
secondarySourcesOverride = forall a. Maybe a
Prelude.Nothing,
      $sel:secondarySourcesVersionOverride:StartBuildBatch' :: Maybe [ProjectSourceVersion]
secondarySourcesVersionOverride = forall a. Maybe a
Prelude.Nothing,
      $sel:serviceRoleOverride:StartBuildBatch' :: Maybe Text
serviceRoleOverride = forall a. Maybe a
Prelude.Nothing,
      $sel:sourceAuthOverride:StartBuildBatch' :: Maybe SourceAuth
sourceAuthOverride = forall a. Maybe a
Prelude.Nothing,
      $sel:sourceLocationOverride:StartBuildBatch' :: Maybe Text
sourceLocationOverride = forall a. Maybe a
Prelude.Nothing,
      $sel:sourceTypeOverride:StartBuildBatch' :: Maybe SourceType
sourceTypeOverride = forall a. Maybe a
Prelude.Nothing,
      $sel:sourceVersion:StartBuildBatch' :: Maybe Text
sourceVersion = forall a. Maybe a
Prelude.Nothing,
      $sel:projectName:StartBuildBatch' :: Text
projectName = Text
pProjectName_
    }

-- | An array of @ProjectArtifacts@ objects that contains information about
-- the build output artifact overrides for the build project.
startBuildBatch_artifactsOverride :: Lens.Lens' StartBuildBatch (Prelude.Maybe ProjectArtifacts)
startBuildBatch_artifactsOverride :: Lens' StartBuildBatch (Maybe ProjectArtifacts)
startBuildBatch_artifactsOverride = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartBuildBatch' {Maybe ProjectArtifacts
artifactsOverride :: Maybe ProjectArtifacts
$sel:artifactsOverride:StartBuildBatch' :: StartBuildBatch -> Maybe ProjectArtifacts
artifactsOverride} -> Maybe ProjectArtifacts
artifactsOverride) (\s :: StartBuildBatch
s@StartBuildBatch' {} Maybe ProjectArtifacts
a -> StartBuildBatch
s {$sel:artifactsOverride:StartBuildBatch' :: Maybe ProjectArtifacts
artifactsOverride = Maybe ProjectArtifacts
a} :: StartBuildBatch)

-- | A @BuildBatchConfigOverride@ object that contains batch build
-- configuration overrides.
startBuildBatch_buildBatchConfigOverride :: Lens.Lens' StartBuildBatch (Prelude.Maybe ProjectBuildBatchConfig)
startBuildBatch_buildBatchConfigOverride :: Lens' StartBuildBatch (Maybe ProjectBuildBatchConfig)
startBuildBatch_buildBatchConfigOverride = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartBuildBatch' {Maybe ProjectBuildBatchConfig
buildBatchConfigOverride :: Maybe ProjectBuildBatchConfig
$sel:buildBatchConfigOverride:StartBuildBatch' :: StartBuildBatch -> Maybe ProjectBuildBatchConfig
buildBatchConfigOverride} -> Maybe ProjectBuildBatchConfig
buildBatchConfigOverride) (\s :: StartBuildBatch
s@StartBuildBatch' {} Maybe ProjectBuildBatchConfig
a -> StartBuildBatch
s {$sel:buildBatchConfigOverride:StartBuildBatch' :: Maybe ProjectBuildBatchConfig
buildBatchConfigOverride = Maybe ProjectBuildBatchConfig
a} :: StartBuildBatch)

-- | Overrides the build timeout specified in the batch build project.
startBuildBatch_buildTimeoutInMinutesOverride :: Lens.Lens' StartBuildBatch (Prelude.Maybe Prelude.Natural)
startBuildBatch_buildTimeoutInMinutesOverride :: Lens' StartBuildBatch (Maybe Natural)
startBuildBatch_buildTimeoutInMinutesOverride = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartBuildBatch' {Maybe Natural
buildTimeoutInMinutesOverride :: Maybe Natural
$sel:buildTimeoutInMinutesOverride:StartBuildBatch' :: StartBuildBatch -> Maybe Natural
buildTimeoutInMinutesOverride} -> Maybe Natural
buildTimeoutInMinutesOverride) (\s :: StartBuildBatch
s@StartBuildBatch' {} Maybe Natural
a -> StartBuildBatch
s {$sel:buildTimeoutInMinutesOverride:StartBuildBatch' :: Maybe Natural
buildTimeoutInMinutesOverride = Maybe Natural
a} :: StartBuildBatch)

-- | A buildspec file declaration that overrides, for this build only, the
-- latest one already defined in the build project.
--
-- If this value is set, it can be either an inline buildspec definition,
-- the path to an alternate buildspec file relative to the value of the
-- built-in @CODEBUILD_SRC_DIR@ environment variable, or the path to an S3
-- bucket. The bucket must be in the same Amazon Web Services Region as the
-- build project. Specify the buildspec file using its ARN (for example,
-- @arn:aws:s3:::my-codebuild-sample2\/buildspec.yml@). If this value is
-- not provided or is set to an empty string, the source code must contain
-- a buildspec file in its root directory. For more information, see
-- <https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#build-spec-ref-name-storage Buildspec File Name and Storage Location>.
startBuildBatch_buildspecOverride :: Lens.Lens' StartBuildBatch (Prelude.Maybe Prelude.Text)
startBuildBatch_buildspecOverride :: Lens' StartBuildBatch (Maybe Text)
startBuildBatch_buildspecOverride = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartBuildBatch' {Maybe Text
buildspecOverride :: Maybe Text
$sel:buildspecOverride:StartBuildBatch' :: StartBuildBatch -> Maybe Text
buildspecOverride} -> Maybe Text
buildspecOverride) (\s :: StartBuildBatch
s@StartBuildBatch' {} Maybe Text
a -> StartBuildBatch
s {$sel:buildspecOverride:StartBuildBatch' :: Maybe Text
buildspecOverride = Maybe Text
a} :: StartBuildBatch)

-- | A @ProjectCache@ object that specifies cache overrides.
startBuildBatch_cacheOverride :: Lens.Lens' StartBuildBatch (Prelude.Maybe ProjectCache)
startBuildBatch_cacheOverride :: Lens' StartBuildBatch (Maybe ProjectCache)
startBuildBatch_cacheOverride = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartBuildBatch' {Maybe ProjectCache
cacheOverride :: Maybe ProjectCache
$sel:cacheOverride:StartBuildBatch' :: StartBuildBatch -> Maybe ProjectCache
cacheOverride} -> Maybe ProjectCache
cacheOverride) (\s :: StartBuildBatch
s@StartBuildBatch' {} Maybe ProjectCache
a -> StartBuildBatch
s {$sel:cacheOverride:StartBuildBatch' :: Maybe ProjectCache
cacheOverride = Maybe ProjectCache
a} :: StartBuildBatch)

-- | The name of a certificate for this batch build that overrides the one
-- specified in the batch build project.
startBuildBatch_certificateOverride :: Lens.Lens' StartBuildBatch (Prelude.Maybe Prelude.Text)
startBuildBatch_certificateOverride :: Lens' StartBuildBatch (Maybe Text)
startBuildBatch_certificateOverride = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartBuildBatch' {Maybe Text
certificateOverride :: Maybe Text
$sel:certificateOverride:StartBuildBatch' :: StartBuildBatch -> Maybe Text
certificateOverride} -> Maybe Text
certificateOverride) (\s :: StartBuildBatch
s@StartBuildBatch' {} Maybe Text
a -> StartBuildBatch
s {$sel:certificateOverride:StartBuildBatch' :: Maybe Text
certificateOverride = Maybe Text
a} :: StartBuildBatch)

-- | The name of a compute type for this batch build that overrides the one
-- specified in the batch build project.
startBuildBatch_computeTypeOverride :: Lens.Lens' StartBuildBatch (Prelude.Maybe ComputeType)
startBuildBatch_computeTypeOverride :: Lens' StartBuildBatch (Maybe ComputeType)
startBuildBatch_computeTypeOverride = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartBuildBatch' {Maybe ComputeType
computeTypeOverride :: Maybe ComputeType
$sel:computeTypeOverride:StartBuildBatch' :: StartBuildBatch -> Maybe ComputeType
computeTypeOverride} -> Maybe ComputeType
computeTypeOverride) (\s :: StartBuildBatch
s@StartBuildBatch' {} Maybe ComputeType
a -> StartBuildBatch
s {$sel:computeTypeOverride:StartBuildBatch' :: Maybe ComputeType
computeTypeOverride = Maybe ComputeType
a} :: StartBuildBatch)

-- | Specifies if session debugging is enabled for this batch build. For more
-- information, see
-- <https://docs.aws.amazon.com/codebuild/latest/userguide/session-manager.html Viewing a running build in Session Manager>.
-- Batch session debugging is not supported for matrix batch builds.
startBuildBatch_debugSessionEnabled :: Lens.Lens' StartBuildBatch (Prelude.Maybe Prelude.Bool)
startBuildBatch_debugSessionEnabled :: Lens' StartBuildBatch (Maybe Bool)
startBuildBatch_debugSessionEnabled = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartBuildBatch' {Maybe Bool
debugSessionEnabled :: Maybe Bool
$sel:debugSessionEnabled:StartBuildBatch' :: StartBuildBatch -> Maybe Bool
debugSessionEnabled} -> Maybe Bool
debugSessionEnabled) (\s :: StartBuildBatch
s@StartBuildBatch' {} Maybe Bool
a -> StartBuildBatch
s {$sel:debugSessionEnabled:StartBuildBatch' :: Maybe Bool
debugSessionEnabled = Maybe Bool
a} :: StartBuildBatch)

-- | The Key Management Service customer master key (CMK) that overrides the
-- one specified in the batch build project. The CMK key encrypts the build
-- output artifacts.
--
-- You can use a cross-account KMS key to encrypt the build output
-- artifacts if your service role has permission to that key.
--
-- You can specify either the Amazon Resource Name (ARN) of the CMK or, if
-- available, the CMK\'s alias (using the format @alias\/\<alias-name>@).
startBuildBatch_encryptionKeyOverride :: Lens.Lens' StartBuildBatch (Prelude.Maybe Prelude.Text)
startBuildBatch_encryptionKeyOverride :: Lens' StartBuildBatch (Maybe Text)
startBuildBatch_encryptionKeyOverride = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartBuildBatch' {Maybe Text
encryptionKeyOverride :: Maybe Text
$sel:encryptionKeyOverride:StartBuildBatch' :: StartBuildBatch -> Maybe Text
encryptionKeyOverride} -> Maybe Text
encryptionKeyOverride) (\s :: StartBuildBatch
s@StartBuildBatch' {} Maybe Text
a -> StartBuildBatch
s {$sel:encryptionKeyOverride:StartBuildBatch' :: Maybe Text
encryptionKeyOverride = Maybe Text
a} :: StartBuildBatch)

-- | A container type for this batch build that overrides the one specified
-- in the batch build project.
startBuildBatch_environmentTypeOverride :: Lens.Lens' StartBuildBatch (Prelude.Maybe EnvironmentType)
startBuildBatch_environmentTypeOverride :: Lens' StartBuildBatch (Maybe EnvironmentType)
startBuildBatch_environmentTypeOverride = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartBuildBatch' {Maybe EnvironmentType
environmentTypeOverride :: Maybe EnvironmentType
$sel:environmentTypeOverride:StartBuildBatch' :: StartBuildBatch -> Maybe EnvironmentType
environmentTypeOverride} -> Maybe EnvironmentType
environmentTypeOverride) (\s :: StartBuildBatch
s@StartBuildBatch' {} Maybe EnvironmentType
a -> StartBuildBatch
s {$sel:environmentTypeOverride:StartBuildBatch' :: Maybe EnvironmentType
environmentTypeOverride = Maybe EnvironmentType
a} :: StartBuildBatch)

-- | An array of @EnvironmentVariable@ objects that override, or add to, the
-- environment variables defined in the batch build project.
startBuildBatch_environmentVariablesOverride :: Lens.Lens' StartBuildBatch (Prelude.Maybe [EnvironmentVariable])
startBuildBatch_environmentVariablesOverride :: Lens' StartBuildBatch (Maybe [EnvironmentVariable])
startBuildBatch_environmentVariablesOverride = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartBuildBatch' {Maybe [EnvironmentVariable]
environmentVariablesOverride :: Maybe [EnvironmentVariable]
$sel:environmentVariablesOverride:StartBuildBatch' :: StartBuildBatch -> Maybe [EnvironmentVariable]
environmentVariablesOverride} -> Maybe [EnvironmentVariable]
environmentVariablesOverride) (\s :: StartBuildBatch
s@StartBuildBatch' {} Maybe [EnvironmentVariable]
a -> StartBuildBatch
s {$sel:environmentVariablesOverride:StartBuildBatch' :: Maybe [EnvironmentVariable]
environmentVariablesOverride = Maybe [EnvironmentVariable]
a} :: StartBuildBatch) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The user-defined depth of history, with a minimum value of 0, that
-- overrides, for this batch build only, any previous depth of history
-- defined in the batch build project.
startBuildBatch_gitCloneDepthOverride :: Lens.Lens' StartBuildBatch (Prelude.Maybe Prelude.Natural)
startBuildBatch_gitCloneDepthOverride :: Lens' StartBuildBatch (Maybe Natural)
startBuildBatch_gitCloneDepthOverride = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartBuildBatch' {Maybe Natural
gitCloneDepthOverride :: Maybe Natural
$sel:gitCloneDepthOverride:StartBuildBatch' :: StartBuildBatch -> Maybe Natural
gitCloneDepthOverride} -> Maybe Natural
gitCloneDepthOverride) (\s :: StartBuildBatch
s@StartBuildBatch' {} Maybe Natural
a -> StartBuildBatch
s {$sel:gitCloneDepthOverride:StartBuildBatch' :: Maybe Natural
gitCloneDepthOverride = Maybe Natural
a} :: StartBuildBatch)

-- | A @GitSubmodulesConfig@ object that overrides the Git submodules
-- configuration for this batch build.
startBuildBatch_gitSubmodulesConfigOverride :: Lens.Lens' StartBuildBatch (Prelude.Maybe GitSubmodulesConfig)
startBuildBatch_gitSubmodulesConfigOverride :: Lens' StartBuildBatch (Maybe GitSubmodulesConfig)
startBuildBatch_gitSubmodulesConfigOverride = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartBuildBatch' {Maybe GitSubmodulesConfig
gitSubmodulesConfigOverride :: Maybe GitSubmodulesConfig
$sel:gitSubmodulesConfigOverride:StartBuildBatch' :: StartBuildBatch -> Maybe GitSubmodulesConfig
gitSubmodulesConfigOverride} -> Maybe GitSubmodulesConfig
gitSubmodulesConfigOverride) (\s :: StartBuildBatch
s@StartBuildBatch' {} Maybe GitSubmodulesConfig
a -> StartBuildBatch
s {$sel:gitSubmodulesConfigOverride:StartBuildBatch' :: Maybe GitSubmodulesConfig
gitSubmodulesConfigOverride = Maybe GitSubmodulesConfig
a} :: StartBuildBatch)

-- | A unique, case sensitive identifier you provide to ensure the
-- idempotency of the @StartBuildBatch@ request. The token is included in
-- the @StartBuildBatch@ request and is valid for five minutes. If you
-- repeat the @StartBuildBatch@ request with the same token, but change a
-- parameter, CodeBuild returns a parameter mismatch error.
startBuildBatch_idempotencyToken :: Lens.Lens' StartBuildBatch (Prelude.Maybe Prelude.Text)
startBuildBatch_idempotencyToken :: Lens' StartBuildBatch (Maybe Text)
startBuildBatch_idempotencyToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartBuildBatch' {Maybe Text
idempotencyToken :: Maybe Text
$sel:idempotencyToken:StartBuildBatch' :: StartBuildBatch -> Maybe Text
idempotencyToken} -> Maybe Text
idempotencyToken) (\s :: StartBuildBatch
s@StartBuildBatch' {} Maybe Text
a -> StartBuildBatch
s {$sel:idempotencyToken:StartBuildBatch' :: Maybe Text
idempotencyToken = Maybe Text
a} :: StartBuildBatch)

-- | The name of an image for this batch build that overrides the one
-- specified in the batch build project.
startBuildBatch_imageOverride :: Lens.Lens' StartBuildBatch (Prelude.Maybe Prelude.Text)
startBuildBatch_imageOverride :: Lens' StartBuildBatch (Maybe Text)
startBuildBatch_imageOverride = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartBuildBatch' {Maybe Text
imageOverride :: Maybe Text
$sel:imageOverride:StartBuildBatch' :: StartBuildBatch -> Maybe Text
imageOverride} -> Maybe Text
imageOverride) (\s :: StartBuildBatch
s@StartBuildBatch' {} Maybe Text
a -> StartBuildBatch
s {$sel:imageOverride:StartBuildBatch' :: Maybe Text
imageOverride = Maybe Text
a} :: StartBuildBatch)

-- | The type of credentials CodeBuild uses to pull images in your batch
-- build. There are two valid values:
--
-- [CODEBUILD]
--     Specifies that CodeBuild uses its own credentials. This requires
--     that you modify your ECR repository policy to trust CodeBuild\'s
--     service principal.
--
-- [SERVICE_ROLE]
--     Specifies that CodeBuild uses your build project\'s service role.
--
-- When using a cross-account or private registry image, you must use
-- @SERVICE_ROLE@ credentials. When using an CodeBuild curated image, you
-- must use @CODEBUILD@ credentials.
startBuildBatch_imagePullCredentialsTypeOverride :: Lens.Lens' StartBuildBatch (Prelude.Maybe ImagePullCredentialsType)
startBuildBatch_imagePullCredentialsTypeOverride :: Lens' StartBuildBatch (Maybe ImagePullCredentialsType)
startBuildBatch_imagePullCredentialsTypeOverride = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartBuildBatch' {Maybe ImagePullCredentialsType
imagePullCredentialsTypeOverride :: Maybe ImagePullCredentialsType
$sel:imagePullCredentialsTypeOverride:StartBuildBatch' :: StartBuildBatch -> Maybe ImagePullCredentialsType
imagePullCredentialsTypeOverride} -> Maybe ImagePullCredentialsType
imagePullCredentialsTypeOverride) (\s :: StartBuildBatch
s@StartBuildBatch' {} Maybe ImagePullCredentialsType
a -> StartBuildBatch
s {$sel:imagePullCredentialsTypeOverride:StartBuildBatch' :: Maybe ImagePullCredentialsType
imagePullCredentialsTypeOverride = Maybe ImagePullCredentialsType
a} :: StartBuildBatch)

-- | Enable this flag to override the insecure SSL setting that is specified
-- in the batch build project. The insecure SSL setting determines whether
-- to ignore SSL warnings while connecting to the project source code. This
-- override applies only if the build\'s source is GitHub Enterprise.
startBuildBatch_insecureSslOverride :: Lens.Lens' StartBuildBatch (Prelude.Maybe Prelude.Bool)
startBuildBatch_insecureSslOverride :: Lens' StartBuildBatch (Maybe Bool)
startBuildBatch_insecureSslOverride = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartBuildBatch' {Maybe Bool
insecureSslOverride :: Maybe Bool
$sel:insecureSslOverride:StartBuildBatch' :: StartBuildBatch -> Maybe Bool
insecureSslOverride} -> Maybe Bool
insecureSslOverride) (\s :: StartBuildBatch
s@StartBuildBatch' {} Maybe Bool
a -> StartBuildBatch
s {$sel:insecureSslOverride:StartBuildBatch' :: Maybe Bool
insecureSslOverride = Maybe Bool
a} :: StartBuildBatch)

-- | A @LogsConfig@ object that override the log settings defined in the
-- batch build project.
startBuildBatch_logsConfigOverride :: Lens.Lens' StartBuildBatch (Prelude.Maybe LogsConfig)
startBuildBatch_logsConfigOverride :: Lens' StartBuildBatch (Maybe LogsConfig)
startBuildBatch_logsConfigOverride = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartBuildBatch' {Maybe LogsConfig
logsConfigOverride :: Maybe LogsConfig
$sel:logsConfigOverride:StartBuildBatch' :: StartBuildBatch -> Maybe LogsConfig
logsConfigOverride} -> Maybe LogsConfig
logsConfigOverride) (\s :: StartBuildBatch
s@StartBuildBatch' {} Maybe LogsConfig
a -> StartBuildBatch
s {$sel:logsConfigOverride:StartBuildBatch' :: Maybe LogsConfig
logsConfigOverride = Maybe LogsConfig
a} :: StartBuildBatch)

-- | Enable this flag to override privileged mode in the batch build project.
startBuildBatch_privilegedModeOverride :: Lens.Lens' StartBuildBatch (Prelude.Maybe Prelude.Bool)
startBuildBatch_privilegedModeOverride :: Lens' StartBuildBatch (Maybe Bool)
startBuildBatch_privilegedModeOverride = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartBuildBatch' {Maybe Bool
privilegedModeOverride :: Maybe Bool
$sel:privilegedModeOverride:StartBuildBatch' :: StartBuildBatch -> Maybe Bool
privilegedModeOverride} -> Maybe Bool
privilegedModeOverride) (\s :: StartBuildBatch
s@StartBuildBatch' {} Maybe Bool
a -> StartBuildBatch
s {$sel:privilegedModeOverride:StartBuildBatch' :: Maybe Bool
privilegedModeOverride = Maybe Bool
a} :: StartBuildBatch)

-- | The number of minutes a batch build is allowed to be queued before it
-- times out.
startBuildBatch_queuedTimeoutInMinutesOverride :: Lens.Lens' StartBuildBatch (Prelude.Maybe Prelude.Natural)
startBuildBatch_queuedTimeoutInMinutesOverride :: Lens' StartBuildBatch (Maybe Natural)
startBuildBatch_queuedTimeoutInMinutesOverride = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartBuildBatch' {Maybe Natural
queuedTimeoutInMinutesOverride :: Maybe Natural
$sel:queuedTimeoutInMinutesOverride:StartBuildBatch' :: StartBuildBatch -> Maybe Natural
queuedTimeoutInMinutesOverride} -> Maybe Natural
queuedTimeoutInMinutesOverride) (\s :: StartBuildBatch
s@StartBuildBatch' {} Maybe Natural
a -> StartBuildBatch
s {$sel:queuedTimeoutInMinutesOverride:StartBuildBatch' :: Maybe Natural
queuedTimeoutInMinutesOverride = Maybe Natural
a} :: StartBuildBatch)

-- | A @RegistryCredential@ object that overrides credentials for access to a
-- private registry.
startBuildBatch_registryCredentialOverride :: Lens.Lens' StartBuildBatch (Prelude.Maybe RegistryCredential)
startBuildBatch_registryCredentialOverride :: Lens' StartBuildBatch (Maybe RegistryCredential)
startBuildBatch_registryCredentialOverride = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartBuildBatch' {Maybe RegistryCredential
registryCredentialOverride :: Maybe RegistryCredential
$sel:registryCredentialOverride:StartBuildBatch' :: StartBuildBatch -> Maybe RegistryCredential
registryCredentialOverride} -> Maybe RegistryCredential
registryCredentialOverride) (\s :: StartBuildBatch
s@StartBuildBatch' {} Maybe RegistryCredential
a -> StartBuildBatch
s {$sel:registryCredentialOverride:StartBuildBatch' :: Maybe RegistryCredential
registryCredentialOverride = Maybe RegistryCredential
a} :: StartBuildBatch)

-- | Set to @true@ to report to your source provider the status of a batch
-- build\'s start and completion. If you use this option with a source
-- provider other than GitHub, GitHub Enterprise, or Bitbucket, an
-- @invalidInputException@ is thrown.
--
-- The status of a build triggered by a webhook is always reported to your
-- source provider.
startBuildBatch_reportBuildBatchStatusOverride :: Lens.Lens' StartBuildBatch (Prelude.Maybe Prelude.Bool)
startBuildBatch_reportBuildBatchStatusOverride :: Lens' StartBuildBatch (Maybe Bool)
startBuildBatch_reportBuildBatchStatusOverride = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartBuildBatch' {Maybe Bool
reportBuildBatchStatusOverride :: Maybe Bool
$sel:reportBuildBatchStatusOverride:StartBuildBatch' :: StartBuildBatch -> Maybe Bool
reportBuildBatchStatusOverride} -> Maybe Bool
reportBuildBatchStatusOverride) (\s :: StartBuildBatch
s@StartBuildBatch' {} Maybe Bool
a -> StartBuildBatch
s {$sel:reportBuildBatchStatusOverride:StartBuildBatch' :: Maybe Bool
reportBuildBatchStatusOverride = Maybe Bool
a} :: StartBuildBatch)

-- | An array of @ProjectArtifacts@ objects that override the secondary
-- artifacts defined in the batch build project.
startBuildBatch_secondaryArtifactsOverride :: Lens.Lens' StartBuildBatch (Prelude.Maybe [ProjectArtifacts])
startBuildBatch_secondaryArtifactsOverride :: Lens' StartBuildBatch (Maybe [ProjectArtifacts])
startBuildBatch_secondaryArtifactsOverride = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartBuildBatch' {Maybe [ProjectArtifacts]
secondaryArtifactsOverride :: Maybe [ProjectArtifacts]
$sel:secondaryArtifactsOverride:StartBuildBatch' :: StartBuildBatch -> Maybe [ProjectArtifacts]
secondaryArtifactsOverride} -> Maybe [ProjectArtifacts]
secondaryArtifactsOverride) (\s :: StartBuildBatch
s@StartBuildBatch' {} Maybe [ProjectArtifacts]
a -> StartBuildBatch
s {$sel:secondaryArtifactsOverride:StartBuildBatch' :: Maybe [ProjectArtifacts]
secondaryArtifactsOverride = Maybe [ProjectArtifacts]
a} :: StartBuildBatch) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | An array of @ProjectSource@ objects that override the secondary sources
-- defined in the batch build project.
startBuildBatch_secondarySourcesOverride :: Lens.Lens' StartBuildBatch (Prelude.Maybe [ProjectSource])
startBuildBatch_secondarySourcesOverride :: Lens' StartBuildBatch (Maybe [ProjectSource])
startBuildBatch_secondarySourcesOverride = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartBuildBatch' {Maybe [ProjectSource]
secondarySourcesOverride :: Maybe [ProjectSource]
$sel:secondarySourcesOverride:StartBuildBatch' :: StartBuildBatch -> Maybe [ProjectSource]
secondarySourcesOverride} -> Maybe [ProjectSource]
secondarySourcesOverride) (\s :: StartBuildBatch
s@StartBuildBatch' {} Maybe [ProjectSource]
a -> StartBuildBatch
s {$sel:secondarySourcesOverride:StartBuildBatch' :: Maybe [ProjectSource]
secondarySourcesOverride = Maybe [ProjectSource]
a} :: StartBuildBatch) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | An array of @ProjectSourceVersion@ objects that override the secondary
-- source versions in the batch build project.
startBuildBatch_secondarySourcesVersionOverride :: Lens.Lens' StartBuildBatch (Prelude.Maybe [ProjectSourceVersion])
startBuildBatch_secondarySourcesVersionOverride :: Lens' StartBuildBatch (Maybe [ProjectSourceVersion])
startBuildBatch_secondarySourcesVersionOverride = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartBuildBatch' {Maybe [ProjectSourceVersion]
secondarySourcesVersionOverride :: Maybe [ProjectSourceVersion]
$sel:secondarySourcesVersionOverride:StartBuildBatch' :: StartBuildBatch -> Maybe [ProjectSourceVersion]
secondarySourcesVersionOverride} -> Maybe [ProjectSourceVersion]
secondarySourcesVersionOverride) (\s :: StartBuildBatch
s@StartBuildBatch' {} Maybe [ProjectSourceVersion]
a -> StartBuildBatch
s {$sel:secondarySourcesVersionOverride:StartBuildBatch' :: Maybe [ProjectSourceVersion]
secondarySourcesVersionOverride = Maybe [ProjectSourceVersion]
a} :: StartBuildBatch) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The name of a service role for this batch build that overrides the one
-- specified in the batch build project.
startBuildBatch_serviceRoleOverride :: Lens.Lens' StartBuildBatch (Prelude.Maybe Prelude.Text)
startBuildBatch_serviceRoleOverride :: Lens' StartBuildBatch (Maybe Text)
startBuildBatch_serviceRoleOverride = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartBuildBatch' {Maybe Text
serviceRoleOverride :: Maybe Text
$sel:serviceRoleOverride:StartBuildBatch' :: StartBuildBatch -> Maybe Text
serviceRoleOverride} -> Maybe Text
serviceRoleOverride) (\s :: StartBuildBatch
s@StartBuildBatch' {} Maybe Text
a -> StartBuildBatch
s {$sel:serviceRoleOverride:StartBuildBatch' :: Maybe Text
serviceRoleOverride = Maybe Text
a} :: StartBuildBatch)

-- | A @SourceAuth@ object that overrides the one defined in the batch build
-- project. This override applies only if the build project\'s source is
-- BitBucket or GitHub.
startBuildBatch_sourceAuthOverride :: Lens.Lens' StartBuildBatch (Prelude.Maybe SourceAuth)
startBuildBatch_sourceAuthOverride :: Lens' StartBuildBatch (Maybe SourceAuth)
startBuildBatch_sourceAuthOverride = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartBuildBatch' {Maybe SourceAuth
sourceAuthOverride :: Maybe SourceAuth
$sel:sourceAuthOverride:StartBuildBatch' :: StartBuildBatch -> Maybe SourceAuth
sourceAuthOverride} -> Maybe SourceAuth
sourceAuthOverride) (\s :: StartBuildBatch
s@StartBuildBatch' {} Maybe SourceAuth
a -> StartBuildBatch
s {$sel:sourceAuthOverride:StartBuildBatch' :: Maybe SourceAuth
sourceAuthOverride = Maybe SourceAuth
a} :: StartBuildBatch)

-- | A location that overrides, for this batch build, the source location
-- defined in the batch build project.
startBuildBatch_sourceLocationOverride :: Lens.Lens' StartBuildBatch (Prelude.Maybe Prelude.Text)
startBuildBatch_sourceLocationOverride :: Lens' StartBuildBatch (Maybe Text)
startBuildBatch_sourceLocationOverride = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartBuildBatch' {Maybe Text
sourceLocationOverride :: Maybe Text
$sel:sourceLocationOverride:StartBuildBatch' :: StartBuildBatch -> Maybe Text
sourceLocationOverride} -> Maybe Text
sourceLocationOverride) (\s :: StartBuildBatch
s@StartBuildBatch' {} Maybe Text
a -> StartBuildBatch
s {$sel:sourceLocationOverride:StartBuildBatch' :: Maybe Text
sourceLocationOverride = Maybe Text
a} :: StartBuildBatch)

-- | The source input type that overrides the source input defined in the
-- batch build project.
startBuildBatch_sourceTypeOverride :: Lens.Lens' StartBuildBatch (Prelude.Maybe SourceType)
startBuildBatch_sourceTypeOverride :: Lens' StartBuildBatch (Maybe SourceType)
startBuildBatch_sourceTypeOverride = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartBuildBatch' {Maybe SourceType
sourceTypeOverride :: Maybe SourceType
$sel:sourceTypeOverride:StartBuildBatch' :: StartBuildBatch -> Maybe SourceType
sourceTypeOverride} -> Maybe SourceType
sourceTypeOverride) (\s :: StartBuildBatch
s@StartBuildBatch' {} Maybe SourceType
a -> StartBuildBatch
s {$sel:sourceTypeOverride:StartBuildBatch' :: Maybe SourceType
sourceTypeOverride = Maybe SourceType
a} :: StartBuildBatch)

-- | The version of the batch build input to be built, for this build only.
-- If not specified, the latest version is used. If specified, the contents
-- depends on the source provider:
--
-- [CodeCommit]
--     The commit ID, branch, or Git tag to use.
--
-- [GitHub]
--     The commit ID, pull request ID, branch name, or tag name that
--     corresponds to the version of the source code you want to build. If
--     a pull request ID is specified, it must use the format
--     @pr\/pull-request-ID@ (for example @pr\/25@). If a branch name is
--     specified, the branch\'s HEAD commit ID is used. If not specified,
--     the default branch\'s HEAD commit ID is used.
--
-- [Bitbucket]
--     The commit ID, branch name, or tag name that corresponds to the
--     version of the source code you want to build. If a branch name is
--     specified, the branch\'s HEAD commit ID is used. If not specified,
--     the default branch\'s HEAD commit ID is used.
--
-- [Amazon S3]
--     The version ID of the object that represents the build input ZIP
--     file to use.
--
-- If @sourceVersion@ is specified at the project level, then this
-- @sourceVersion@ (at the build level) takes precedence.
--
-- For more information, see
-- <https://docs.aws.amazon.com/codebuild/latest/userguide/sample-source-version.html Source Version Sample with CodeBuild>
-- in the /CodeBuild User Guide/.
startBuildBatch_sourceVersion :: Lens.Lens' StartBuildBatch (Prelude.Maybe Prelude.Text)
startBuildBatch_sourceVersion :: Lens' StartBuildBatch (Maybe Text)
startBuildBatch_sourceVersion = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartBuildBatch' {Maybe Text
sourceVersion :: Maybe Text
$sel:sourceVersion:StartBuildBatch' :: StartBuildBatch -> Maybe Text
sourceVersion} -> Maybe Text
sourceVersion) (\s :: StartBuildBatch
s@StartBuildBatch' {} Maybe Text
a -> StartBuildBatch
s {$sel:sourceVersion:StartBuildBatch' :: Maybe Text
sourceVersion = Maybe Text
a} :: StartBuildBatch)

-- | The name of the project.
startBuildBatch_projectName :: Lens.Lens' StartBuildBatch Prelude.Text
startBuildBatch_projectName :: Lens' StartBuildBatch Text
startBuildBatch_projectName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartBuildBatch' {Text
projectName :: Text
$sel:projectName:StartBuildBatch' :: StartBuildBatch -> Text
projectName} -> Text
projectName) (\s :: StartBuildBatch
s@StartBuildBatch' {} Text
a -> StartBuildBatch
s {$sel:projectName:StartBuildBatch' :: Text
projectName = Text
a} :: StartBuildBatch)

instance Core.AWSRequest StartBuildBatch where
  type
    AWSResponse StartBuildBatch =
      StartBuildBatchResponse
  request :: (Service -> Service) -> StartBuildBatch -> Request StartBuildBatch
request Service -> Service
overrides =
    forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy StartBuildBatch
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse StartBuildBatch)))
response =
    forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
      ( \Int
s ResponseHeaders
h Object
x ->
          Maybe BuildBatch -> Int -> StartBuildBatchResponse
StartBuildBatchResponse'
            forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"buildBatch")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
      )

instance Prelude.Hashable StartBuildBatch where
  hashWithSalt :: Int -> StartBuildBatch -> Int
hashWithSalt Int
_salt StartBuildBatch' {Maybe Bool
Maybe Natural
Maybe [EnvironmentVariable]
Maybe [ProjectArtifacts]
Maybe [ProjectSourceVersion]
Maybe [ProjectSource]
Maybe Text
Maybe ComputeType
Maybe EnvironmentType
Maybe GitSubmodulesConfig
Maybe ImagePullCredentialsType
Maybe ProjectArtifacts
Maybe ProjectBuildBatchConfig
Maybe ProjectCache
Maybe RegistryCredential
Maybe LogsConfig
Maybe SourceAuth
Maybe SourceType
Text
projectName :: Text
sourceVersion :: Maybe Text
sourceTypeOverride :: Maybe SourceType
sourceLocationOverride :: Maybe Text
sourceAuthOverride :: Maybe SourceAuth
serviceRoleOverride :: Maybe Text
secondarySourcesVersionOverride :: Maybe [ProjectSourceVersion]
secondarySourcesOverride :: Maybe [ProjectSource]
secondaryArtifactsOverride :: Maybe [ProjectArtifacts]
reportBuildBatchStatusOverride :: Maybe Bool
registryCredentialOverride :: Maybe RegistryCredential
queuedTimeoutInMinutesOverride :: Maybe Natural
privilegedModeOverride :: Maybe Bool
logsConfigOverride :: Maybe LogsConfig
insecureSslOverride :: Maybe Bool
imagePullCredentialsTypeOverride :: Maybe ImagePullCredentialsType
imageOverride :: Maybe Text
idempotencyToken :: Maybe Text
gitSubmodulesConfigOverride :: Maybe GitSubmodulesConfig
gitCloneDepthOverride :: Maybe Natural
environmentVariablesOverride :: Maybe [EnvironmentVariable]
environmentTypeOverride :: Maybe EnvironmentType
encryptionKeyOverride :: Maybe Text
debugSessionEnabled :: Maybe Bool
computeTypeOverride :: Maybe ComputeType
certificateOverride :: Maybe Text
cacheOverride :: Maybe ProjectCache
buildspecOverride :: Maybe Text
buildTimeoutInMinutesOverride :: Maybe Natural
buildBatchConfigOverride :: Maybe ProjectBuildBatchConfig
artifactsOverride :: Maybe ProjectArtifacts
$sel:projectName:StartBuildBatch' :: StartBuildBatch -> Text
$sel:sourceVersion:StartBuildBatch' :: StartBuildBatch -> Maybe Text
$sel:sourceTypeOverride:StartBuildBatch' :: StartBuildBatch -> Maybe SourceType
$sel:sourceLocationOverride:StartBuildBatch' :: StartBuildBatch -> Maybe Text
$sel:sourceAuthOverride:StartBuildBatch' :: StartBuildBatch -> Maybe SourceAuth
$sel:serviceRoleOverride:StartBuildBatch' :: StartBuildBatch -> Maybe Text
$sel:secondarySourcesVersionOverride:StartBuildBatch' :: StartBuildBatch -> Maybe [ProjectSourceVersion]
$sel:secondarySourcesOverride:StartBuildBatch' :: StartBuildBatch -> Maybe [ProjectSource]
$sel:secondaryArtifactsOverride:StartBuildBatch' :: StartBuildBatch -> Maybe [ProjectArtifacts]
$sel:reportBuildBatchStatusOverride:StartBuildBatch' :: StartBuildBatch -> Maybe Bool
$sel:registryCredentialOverride:StartBuildBatch' :: StartBuildBatch -> Maybe RegistryCredential
$sel:queuedTimeoutInMinutesOverride:StartBuildBatch' :: StartBuildBatch -> Maybe Natural
$sel:privilegedModeOverride:StartBuildBatch' :: StartBuildBatch -> Maybe Bool
$sel:logsConfigOverride:StartBuildBatch' :: StartBuildBatch -> Maybe LogsConfig
$sel:insecureSslOverride:StartBuildBatch' :: StartBuildBatch -> Maybe Bool
$sel:imagePullCredentialsTypeOverride:StartBuildBatch' :: StartBuildBatch -> Maybe ImagePullCredentialsType
$sel:imageOverride:StartBuildBatch' :: StartBuildBatch -> Maybe Text
$sel:idempotencyToken:StartBuildBatch' :: StartBuildBatch -> Maybe Text
$sel:gitSubmodulesConfigOverride:StartBuildBatch' :: StartBuildBatch -> Maybe GitSubmodulesConfig
$sel:gitCloneDepthOverride:StartBuildBatch' :: StartBuildBatch -> Maybe Natural
$sel:environmentVariablesOverride:StartBuildBatch' :: StartBuildBatch -> Maybe [EnvironmentVariable]
$sel:environmentTypeOverride:StartBuildBatch' :: StartBuildBatch -> Maybe EnvironmentType
$sel:encryptionKeyOverride:StartBuildBatch' :: StartBuildBatch -> Maybe Text
$sel:debugSessionEnabled:StartBuildBatch' :: StartBuildBatch -> Maybe Bool
$sel:computeTypeOverride:StartBuildBatch' :: StartBuildBatch -> Maybe ComputeType
$sel:certificateOverride:StartBuildBatch' :: StartBuildBatch -> Maybe Text
$sel:cacheOverride:StartBuildBatch' :: StartBuildBatch -> Maybe ProjectCache
$sel:buildspecOverride:StartBuildBatch' :: StartBuildBatch -> Maybe Text
$sel:buildTimeoutInMinutesOverride:StartBuildBatch' :: StartBuildBatch -> Maybe Natural
$sel:buildBatchConfigOverride:StartBuildBatch' :: StartBuildBatch -> Maybe ProjectBuildBatchConfig
$sel:artifactsOverride:StartBuildBatch' :: StartBuildBatch -> Maybe ProjectArtifacts
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ProjectArtifacts
artifactsOverride
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ProjectBuildBatchConfig
buildBatchConfigOverride
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
buildTimeoutInMinutesOverride
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
buildspecOverride
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ProjectCache
cacheOverride
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
certificateOverride
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ComputeType
computeTypeOverride
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
debugSessionEnabled
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
encryptionKeyOverride
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe EnvironmentType
environmentTypeOverride
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [EnvironmentVariable]
environmentVariablesOverride
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
gitCloneDepthOverride
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe GitSubmodulesConfig
gitSubmodulesConfigOverride
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
idempotencyToken
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
imageOverride
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ImagePullCredentialsType
imagePullCredentialsTypeOverride
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
insecureSslOverride
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe LogsConfig
logsConfigOverride
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
privilegedModeOverride
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
queuedTimeoutInMinutesOverride
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe RegistryCredential
registryCredentialOverride
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
reportBuildBatchStatusOverride
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [ProjectArtifacts]
secondaryArtifactsOverride
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [ProjectSource]
secondarySourcesOverride
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [ProjectSourceVersion]
secondarySourcesVersionOverride
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
serviceRoleOverride
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe SourceAuth
sourceAuthOverride
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
sourceLocationOverride
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe SourceType
sourceTypeOverride
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
sourceVersion
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
projectName

instance Prelude.NFData StartBuildBatch where
  rnf :: StartBuildBatch -> ()
rnf StartBuildBatch' {Maybe Bool
Maybe Natural
Maybe [EnvironmentVariable]
Maybe [ProjectArtifacts]
Maybe [ProjectSourceVersion]
Maybe [ProjectSource]
Maybe Text
Maybe ComputeType
Maybe EnvironmentType
Maybe GitSubmodulesConfig
Maybe ImagePullCredentialsType
Maybe ProjectArtifacts
Maybe ProjectBuildBatchConfig
Maybe ProjectCache
Maybe RegistryCredential
Maybe LogsConfig
Maybe SourceAuth
Maybe SourceType
Text
projectName :: Text
sourceVersion :: Maybe Text
sourceTypeOverride :: Maybe SourceType
sourceLocationOverride :: Maybe Text
sourceAuthOverride :: Maybe SourceAuth
serviceRoleOverride :: Maybe Text
secondarySourcesVersionOverride :: Maybe [ProjectSourceVersion]
secondarySourcesOverride :: Maybe [ProjectSource]
secondaryArtifactsOverride :: Maybe [ProjectArtifacts]
reportBuildBatchStatusOverride :: Maybe Bool
registryCredentialOverride :: Maybe RegistryCredential
queuedTimeoutInMinutesOverride :: Maybe Natural
privilegedModeOverride :: Maybe Bool
logsConfigOverride :: Maybe LogsConfig
insecureSslOverride :: Maybe Bool
imagePullCredentialsTypeOverride :: Maybe ImagePullCredentialsType
imageOverride :: Maybe Text
idempotencyToken :: Maybe Text
gitSubmodulesConfigOverride :: Maybe GitSubmodulesConfig
gitCloneDepthOverride :: Maybe Natural
environmentVariablesOverride :: Maybe [EnvironmentVariable]
environmentTypeOverride :: Maybe EnvironmentType
encryptionKeyOverride :: Maybe Text
debugSessionEnabled :: Maybe Bool
computeTypeOverride :: Maybe ComputeType
certificateOverride :: Maybe Text
cacheOverride :: Maybe ProjectCache
buildspecOverride :: Maybe Text
buildTimeoutInMinutesOverride :: Maybe Natural
buildBatchConfigOverride :: Maybe ProjectBuildBatchConfig
artifactsOverride :: Maybe ProjectArtifacts
$sel:projectName:StartBuildBatch' :: StartBuildBatch -> Text
$sel:sourceVersion:StartBuildBatch' :: StartBuildBatch -> Maybe Text
$sel:sourceTypeOverride:StartBuildBatch' :: StartBuildBatch -> Maybe SourceType
$sel:sourceLocationOverride:StartBuildBatch' :: StartBuildBatch -> Maybe Text
$sel:sourceAuthOverride:StartBuildBatch' :: StartBuildBatch -> Maybe SourceAuth
$sel:serviceRoleOverride:StartBuildBatch' :: StartBuildBatch -> Maybe Text
$sel:secondarySourcesVersionOverride:StartBuildBatch' :: StartBuildBatch -> Maybe [ProjectSourceVersion]
$sel:secondarySourcesOverride:StartBuildBatch' :: StartBuildBatch -> Maybe [ProjectSource]
$sel:secondaryArtifactsOverride:StartBuildBatch' :: StartBuildBatch -> Maybe [ProjectArtifacts]
$sel:reportBuildBatchStatusOverride:StartBuildBatch' :: StartBuildBatch -> Maybe Bool
$sel:registryCredentialOverride:StartBuildBatch' :: StartBuildBatch -> Maybe RegistryCredential
$sel:queuedTimeoutInMinutesOverride:StartBuildBatch' :: StartBuildBatch -> Maybe Natural
$sel:privilegedModeOverride:StartBuildBatch' :: StartBuildBatch -> Maybe Bool
$sel:logsConfigOverride:StartBuildBatch' :: StartBuildBatch -> Maybe LogsConfig
$sel:insecureSslOverride:StartBuildBatch' :: StartBuildBatch -> Maybe Bool
$sel:imagePullCredentialsTypeOverride:StartBuildBatch' :: StartBuildBatch -> Maybe ImagePullCredentialsType
$sel:imageOverride:StartBuildBatch' :: StartBuildBatch -> Maybe Text
$sel:idempotencyToken:StartBuildBatch' :: StartBuildBatch -> Maybe Text
$sel:gitSubmodulesConfigOverride:StartBuildBatch' :: StartBuildBatch -> Maybe GitSubmodulesConfig
$sel:gitCloneDepthOverride:StartBuildBatch' :: StartBuildBatch -> Maybe Natural
$sel:environmentVariablesOverride:StartBuildBatch' :: StartBuildBatch -> Maybe [EnvironmentVariable]
$sel:environmentTypeOverride:StartBuildBatch' :: StartBuildBatch -> Maybe EnvironmentType
$sel:encryptionKeyOverride:StartBuildBatch' :: StartBuildBatch -> Maybe Text
$sel:debugSessionEnabled:StartBuildBatch' :: StartBuildBatch -> Maybe Bool
$sel:computeTypeOverride:StartBuildBatch' :: StartBuildBatch -> Maybe ComputeType
$sel:certificateOverride:StartBuildBatch' :: StartBuildBatch -> Maybe Text
$sel:cacheOverride:StartBuildBatch' :: StartBuildBatch -> Maybe ProjectCache
$sel:buildspecOverride:StartBuildBatch' :: StartBuildBatch -> Maybe Text
$sel:buildTimeoutInMinutesOverride:StartBuildBatch' :: StartBuildBatch -> Maybe Natural
$sel:buildBatchConfigOverride:StartBuildBatch' :: StartBuildBatch -> Maybe ProjectBuildBatchConfig
$sel:artifactsOverride:StartBuildBatch' :: StartBuildBatch -> Maybe ProjectArtifacts
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe ProjectArtifacts
artifactsOverride
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ProjectBuildBatchConfig
buildBatchConfigOverride
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
buildTimeoutInMinutesOverride
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
buildspecOverride
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ProjectCache
cacheOverride
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
certificateOverride
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ComputeType
computeTypeOverride
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
debugSessionEnabled
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
encryptionKeyOverride
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe EnvironmentType
environmentTypeOverride
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [EnvironmentVariable]
environmentVariablesOverride
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
gitCloneDepthOverride
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe GitSubmodulesConfig
gitSubmodulesConfigOverride
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
idempotencyToken
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
imageOverride
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe ImagePullCredentialsType
imagePullCredentialsTypeOverride
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
insecureSslOverride
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe LogsConfig
logsConfigOverride
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe Bool
privilegedModeOverride
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe Natural
queuedTimeoutInMinutesOverride
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe RegistryCredential
registryCredentialOverride
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe Bool
reportBuildBatchStatusOverride
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe [ProjectArtifacts]
secondaryArtifactsOverride
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe [ProjectSource]
secondarySourcesOverride
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe [ProjectSourceVersion]
secondarySourcesVersionOverride
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe Text
serviceRoleOverride
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe SourceAuth
sourceAuthOverride
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe Text
sourceLocationOverride
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe SourceType
sourceTypeOverride
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe Text
sourceVersion
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Text
projectName

instance Data.ToHeaders StartBuildBatch where
  toHeaders :: StartBuildBatch -> ResponseHeaders
toHeaders =
    forall a b. a -> b -> a
Prelude.const
      ( forall a. Monoid a => [a] -> a
Prelude.mconcat
          [ HeaderName
"X-Amz-Target"
              forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"CodeBuild_20161006.StartBuildBatch" ::
                          Prelude.ByteString
                      ),
            HeaderName
"Content-Type"
              forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
                          Prelude.ByteString
                      )
          ]
      )

instance Data.ToJSON StartBuildBatch where
  toJSON :: StartBuildBatch -> Value
toJSON StartBuildBatch' {Maybe Bool
Maybe Natural
Maybe [EnvironmentVariable]
Maybe [ProjectArtifacts]
Maybe [ProjectSourceVersion]
Maybe [ProjectSource]
Maybe Text
Maybe ComputeType
Maybe EnvironmentType
Maybe GitSubmodulesConfig
Maybe ImagePullCredentialsType
Maybe ProjectArtifacts
Maybe ProjectBuildBatchConfig
Maybe ProjectCache
Maybe RegistryCredential
Maybe LogsConfig
Maybe SourceAuth
Maybe SourceType
Text
projectName :: Text
sourceVersion :: Maybe Text
sourceTypeOverride :: Maybe SourceType
sourceLocationOverride :: Maybe Text
sourceAuthOverride :: Maybe SourceAuth
serviceRoleOverride :: Maybe Text
secondarySourcesVersionOverride :: Maybe [ProjectSourceVersion]
secondarySourcesOverride :: Maybe [ProjectSource]
secondaryArtifactsOverride :: Maybe [ProjectArtifacts]
reportBuildBatchStatusOverride :: Maybe Bool
registryCredentialOverride :: Maybe RegistryCredential
queuedTimeoutInMinutesOverride :: Maybe Natural
privilegedModeOverride :: Maybe Bool
logsConfigOverride :: Maybe LogsConfig
insecureSslOverride :: Maybe Bool
imagePullCredentialsTypeOverride :: Maybe ImagePullCredentialsType
imageOverride :: Maybe Text
idempotencyToken :: Maybe Text
gitSubmodulesConfigOverride :: Maybe GitSubmodulesConfig
gitCloneDepthOverride :: Maybe Natural
environmentVariablesOverride :: Maybe [EnvironmentVariable]
environmentTypeOverride :: Maybe EnvironmentType
encryptionKeyOverride :: Maybe Text
debugSessionEnabled :: Maybe Bool
computeTypeOverride :: Maybe ComputeType
certificateOverride :: Maybe Text
cacheOverride :: Maybe ProjectCache
buildspecOverride :: Maybe Text
buildTimeoutInMinutesOverride :: Maybe Natural
buildBatchConfigOverride :: Maybe ProjectBuildBatchConfig
artifactsOverride :: Maybe ProjectArtifacts
$sel:projectName:StartBuildBatch' :: StartBuildBatch -> Text
$sel:sourceVersion:StartBuildBatch' :: StartBuildBatch -> Maybe Text
$sel:sourceTypeOverride:StartBuildBatch' :: StartBuildBatch -> Maybe SourceType
$sel:sourceLocationOverride:StartBuildBatch' :: StartBuildBatch -> Maybe Text
$sel:sourceAuthOverride:StartBuildBatch' :: StartBuildBatch -> Maybe SourceAuth
$sel:serviceRoleOverride:StartBuildBatch' :: StartBuildBatch -> Maybe Text
$sel:secondarySourcesVersionOverride:StartBuildBatch' :: StartBuildBatch -> Maybe [ProjectSourceVersion]
$sel:secondarySourcesOverride:StartBuildBatch' :: StartBuildBatch -> Maybe [ProjectSource]
$sel:secondaryArtifactsOverride:StartBuildBatch' :: StartBuildBatch -> Maybe [ProjectArtifacts]
$sel:reportBuildBatchStatusOverride:StartBuildBatch' :: StartBuildBatch -> Maybe Bool
$sel:registryCredentialOverride:StartBuildBatch' :: StartBuildBatch -> Maybe RegistryCredential
$sel:queuedTimeoutInMinutesOverride:StartBuildBatch' :: StartBuildBatch -> Maybe Natural
$sel:privilegedModeOverride:StartBuildBatch' :: StartBuildBatch -> Maybe Bool
$sel:logsConfigOverride:StartBuildBatch' :: StartBuildBatch -> Maybe LogsConfig
$sel:insecureSslOverride:StartBuildBatch' :: StartBuildBatch -> Maybe Bool
$sel:imagePullCredentialsTypeOverride:StartBuildBatch' :: StartBuildBatch -> Maybe ImagePullCredentialsType
$sel:imageOverride:StartBuildBatch' :: StartBuildBatch -> Maybe Text
$sel:idempotencyToken:StartBuildBatch' :: StartBuildBatch -> Maybe Text
$sel:gitSubmodulesConfigOverride:StartBuildBatch' :: StartBuildBatch -> Maybe GitSubmodulesConfig
$sel:gitCloneDepthOverride:StartBuildBatch' :: StartBuildBatch -> Maybe Natural
$sel:environmentVariablesOverride:StartBuildBatch' :: StartBuildBatch -> Maybe [EnvironmentVariable]
$sel:environmentTypeOverride:StartBuildBatch' :: StartBuildBatch -> Maybe EnvironmentType
$sel:encryptionKeyOverride:StartBuildBatch' :: StartBuildBatch -> Maybe Text
$sel:debugSessionEnabled:StartBuildBatch' :: StartBuildBatch -> Maybe Bool
$sel:computeTypeOverride:StartBuildBatch' :: StartBuildBatch -> Maybe ComputeType
$sel:certificateOverride:StartBuildBatch' :: StartBuildBatch -> Maybe Text
$sel:cacheOverride:StartBuildBatch' :: StartBuildBatch -> Maybe ProjectCache
$sel:buildspecOverride:StartBuildBatch' :: StartBuildBatch -> Maybe Text
$sel:buildTimeoutInMinutesOverride:StartBuildBatch' :: StartBuildBatch -> Maybe Natural
$sel:buildBatchConfigOverride:StartBuildBatch' :: StartBuildBatch -> Maybe ProjectBuildBatchConfig
$sel:artifactsOverride:StartBuildBatch' :: StartBuildBatch -> Maybe ProjectArtifacts
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Key
"artifactsOverride" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe ProjectArtifacts
artifactsOverride,
            (Key
"buildBatchConfigOverride" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe ProjectBuildBatchConfig
buildBatchConfigOverride,
            (Key
"buildTimeoutInMinutesOverride" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Natural
buildTimeoutInMinutesOverride,
            (Key
"buildspecOverride" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
buildspecOverride,
            (Key
"cacheOverride" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe ProjectCache
cacheOverride,
            (Key
"certificateOverride" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
certificateOverride,
            (Key
"computeTypeOverride" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe ComputeType
computeTypeOverride,
            (Key
"debugSessionEnabled" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Bool
debugSessionEnabled,
            (Key
"encryptionKeyOverride" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
encryptionKeyOverride,
            (Key
"environmentTypeOverride" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe EnvironmentType
environmentTypeOverride,
            (Key
"environmentVariablesOverride" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [EnvironmentVariable]
environmentVariablesOverride,
            (Key
"gitCloneDepthOverride" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Natural
gitCloneDepthOverride,
            (Key
"gitSubmodulesConfigOverride" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe GitSubmodulesConfig
gitSubmodulesConfigOverride,
            (Key
"idempotencyToken" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
idempotencyToken,
            (Key
"imageOverride" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
imageOverride,
            (Key
"imagePullCredentialsTypeOverride" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe ImagePullCredentialsType
imagePullCredentialsTypeOverride,
            (Key
"insecureSslOverride" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Bool
insecureSslOverride,
            (Key
"logsConfigOverride" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe LogsConfig
logsConfigOverride,
            (Key
"privilegedModeOverride" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Bool
privilegedModeOverride,
            (Key
"queuedTimeoutInMinutesOverride" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Natural
queuedTimeoutInMinutesOverride,
            (Key
"registryCredentialOverride" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe RegistryCredential
registryCredentialOverride,
            (Key
"reportBuildBatchStatusOverride" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Bool
reportBuildBatchStatusOverride,
            (Key
"secondaryArtifactsOverride" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [ProjectArtifacts]
secondaryArtifactsOverride,
            (Key
"secondarySourcesOverride" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [ProjectSource]
secondarySourcesOverride,
            (Key
"secondarySourcesVersionOverride" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [ProjectSourceVersion]
secondarySourcesVersionOverride,
            (Key
"serviceRoleOverride" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
serviceRoleOverride,
            (Key
"sourceAuthOverride" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe SourceAuth
sourceAuthOverride,
            (Key
"sourceLocationOverride" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
sourceLocationOverride,
            (Key
"sourceTypeOverride" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe SourceType
sourceTypeOverride,
            (Key
"sourceVersion" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
sourceVersion,
            forall a. a -> Maybe a
Prelude.Just (Key
"projectName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
projectName)
          ]
      )

instance Data.ToPath StartBuildBatch where
  toPath :: StartBuildBatch -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"

instance Data.ToQuery StartBuildBatch where
  toQuery :: StartBuildBatch -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty

-- | /See:/ 'newStartBuildBatchResponse' smart constructor.
data StartBuildBatchResponse = StartBuildBatchResponse'
  { -- | A @BuildBatch@ object that contains information about the batch build.
    StartBuildBatchResponse -> Maybe BuildBatch
buildBatch :: Prelude.Maybe BuildBatch,
    -- | The response's http status code.
    StartBuildBatchResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (StartBuildBatchResponse -> StartBuildBatchResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: StartBuildBatchResponse -> StartBuildBatchResponse -> Bool
$c/= :: StartBuildBatchResponse -> StartBuildBatchResponse -> Bool
== :: StartBuildBatchResponse -> StartBuildBatchResponse -> Bool
$c== :: StartBuildBatchResponse -> StartBuildBatchResponse -> Bool
Prelude.Eq, ReadPrec [StartBuildBatchResponse]
ReadPrec StartBuildBatchResponse
Int -> ReadS StartBuildBatchResponse
ReadS [StartBuildBatchResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [StartBuildBatchResponse]
$creadListPrec :: ReadPrec [StartBuildBatchResponse]
readPrec :: ReadPrec StartBuildBatchResponse
$creadPrec :: ReadPrec StartBuildBatchResponse
readList :: ReadS [StartBuildBatchResponse]
$creadList :: ReadS [StartBuildBatchResponse]
readsPrec :: Int -> ReadS StartBuildBatchResponse
$creadsPrec :: Int -> ReadS StartBuildBatchResponse
Prelude.Read, Int -> StartBuildBatchResponse -> ShowS
[StartBuildBatchResponse] -> ShowS
StartBuildBatchResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [StartBuildBatchResponse] -> ShowS
$cshowList :: [StartBuildBatchResponse] -> ShowS
show :: StartBuildBatchResponse -> String
$cshow :: StartBuildBatchResponse -> String
showsPrec :: Int -> StartBuildBatchResponse -> ShowS
$cshowsPrec :: Int -> StartBuildBatchResponse -> ShowS
Prelude.Show, forall x. Rep StartBuildBatchResponse x -> StartBuildBatchResponse
forall x. StartBuildBatchResponse -> Rep StartBuildBatchResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep StartBuildBatchResponse x -> StartBuildBatchResponse
$cfrom :: forall x. StartBuildBatchResponse -> Rep StartBuildBatchResponse x
Prelude.Generic)

-- |
-- Create a value of 'StartBuildBatchResponse' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'buildBatch', 'startBuildBatchResponse_buildBatch' - A @BuildBatch@ object that contains information about the batch build.
--
-- 'httpStatus', 'startBuildBatchResponse_httpStatus' - The response's http status code.
newStartBuildBatchResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  StartBuildBatchResponse
newStartBuildBatchResponse :: Int -> StartBuildBatchResponse
newStartBuildBatchResponse Int
pHttpStatus_ =
  StartBuildBatchResponse'
    { $sel:buildBatch:StartBuildBatchResponse' :: Maybe BuildBatch
buildBatch =
        forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:StartBuildBatchResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | A @BuildBatch@ object that contains information about the batch build.
startBuildBatchResponse_buildBatch :: Lens.Lens' StartBuildBatchResponse (Prelude.Maybe BuildBatch)
startBuildBatchResponse_buildBatch :: Lens' StartBuildBatchResponse (Maybe BuildBatch)
startBuildBatchResponse_buildBatch = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartBuildBatchResponse' {Maybe BuildBatch
buildBatch :: Maybe BuildBatch
$sel:buildBatch:StartBuildBatchResponse' :: StartBuildBatchResponse -> Maybe BuildBatch
buildBatch} -> Maybe BuildBatch
buildBatch) (\s :: StartBuildBatchResponse
s@StartBuildBatchResponse' {} Maybe BuildBatch
a -> StartBuildBatchResponse
s {$sel:buildBatch:StartBuildBatchResponse' :: Maybe BuildBatch
buildBatch = Maybe BuildBatch
a} :: StartBuildBatchResponse)

-- | The response's http status code.
startBuildBatchResponse_httpStatus :: Lens.Lens' StartBuildBatchResponse Prelude.Int
startBuildBatchResponse_httpStatus :: Lens' StartBuildBatchResponse Int
startBuildBatchResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartBuildBatchResponse' {Int
httpStatus :: Int
$sel:httpStatus:StartBuildBatchResponse' :: StartBuildBatchResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: StartBuildBatchResponse
s@StartBuildBatchResponse' {} Int
a -> StartBuildBatchResponse
s {$sel:httpStatus:StartBuildBatchResponse' :: Int
httpStatus = Int
a} :: StartBuildBatchResponse)

instance Prelude.NFData StartBuildBatchResponse where
  rnf :: StartBuildBatchResponse -> ()
rnf StartBuildBatchResponse' {Int
Maybe BuildBatch
httpStatus :: Int
buildBatch :: Maybe BuildBatch
$sel:httpStatus:StartBuildBatchResponse' :: StartBuildBatchResponse -> Int
$sel:buildBatch:StartBuildBatchResponse' :: StartBuildBatchResponse -> Maybe BuildBatch
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe BuildBatch
buildBatch
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus