diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -13,7 +13,7 @@
 
 ## Description
 
-A client library for the Google Cloud Container Builder.
+A client library for the Google Cloud Build.
 
 
 ## Contribute
diff --git a/gen/Network/Google/ContainerBuilder.hs b/gen/Network/Google/ContainerBuilder.hs
--- a/gen/Network/Google/ContainerBuilder.hs
+++ b/gen/Network/Google/ContainerBuilder.hs
@@ -13,9 +13,9 @@
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Builds container images in the cloud.
+-- Creates and manages builds on Google Cloud Platform.
 --
--- /See:/ <https://cloud.google.com/container-builder/docs/ Google Cloud Container Builder API Reference>
+-- /See:/ <https://cloud.google.com/cloud-build/docs/ Cloud Build API Reference>
 module Network.Google.ContainerBuilder
     (
     -- * Service Configuration
@@ -50,6 +50,9 @@
     -- ** cloudbuild.projects.builds.list
     , module Network.Google.Resource.Cloudbuild.Projects.Builds.List
 
+    -- ** cloudbuild.projects.builds.retry
+    , module Network.Google.Resource.Cloudbuild.Projects.Builds.Retry
+
     -- ** cloudbuild.projects.triggers.create
     , module Network.Google.Resource.Cloudbuild.Projects.Triggers.Create
 
@@ -65,18 +68,27 @@
     -- ** cloudbuild.projects.triggers.patch
     , module Network.Google.Resource.Cloudbuild.Projects.Triggers.Patch
 
+    -- ** cloudbuild.projects.triggers.run
+    , module Network.Google.Resource.Cloudbuild.Projects.Triggers.Run
+
     -- * Types
 
     -- ** BuildStep
     , BuildStep
     , buildStep
+    , bsStatus
     , bsDir
     , bsArgs
     , bsEnv
+    , bsPullTiming
     , bsEntrypoint
     , bsWaitFor
     , bsName
     , bsId
+    , bsTiming
+    , bsSecretEnv
+    , bsTimeout
+    , bsVolumes
 
     -- ** SourceProvenance
     , SourceProvenance
@@ -98,6 +110,10 @@
     , sCode
     , sMessage
 
+    -- ** RetryBuildRequest
+    , RetryBuildRequest
+    , retryBuildRequest
+
     -- ** ListOperationsResponse
     , ListOperationsResponse
     , listOperationsResponse
@@ -119,11 +135,20 @@
     , results
     , rImages
     , rBuildStepImages
+    , rArtifactManifest
+    , rBuildStepOutputs
+    , rNumArtifacts
 
+    -- ** BuildTriggerSubstitutions
+    , BuildTriggerSubstitutions
+    , buildTriggerSubstitutions
+    , btsAddtional
+
     -- ** RepoSource
     , RepoSource
     , repoSource
     , rsRepoName
+    , rsDir
     , rsCommitSha
     , rsBranchName
     , rsTagName
@@ -142,6 +167,33 @@
     , Empty
     , empty
 
+    -- ** SecretSecretEnv
+    , SecretSecretEnv
+    , secretSecretEnv
+    , sseAddtional
+
+    -- ** Artifacts
+    , Artifacts
+    , artifacts
+    , aImages
+    , aObjects
+
+    -- ** BuildStepStatus
+    , BuildStepStatus (..)
+
+    -- ** ArtifactObjects
+    , ArtifactObjects
+    , artifactObjects
+    , aoLocation
+    , aoTiming
+    , aoPaths
+
+    -- ** Volume
+    , Volume
+    , volume
+    , vPath
+    , vName
+
     -- ** StatusDetailsItem
     , StatusDetailsItem
     , statusDetailsItem
@@ -153,9 +205,12 @@
     , bImages
     , bStatus
     , bSourceProvenance
+    , bSubstitutions
     , bLogURL
     , bResults
+    , bSecrets
     , bStartTime
+    , bArtifacts
     , bLogsBucket
     , bSteps
     , bStatusDetail
@@ -163,20 +218,34 @@
     , bId
     , bOptions
     , bProjectId
+    , bTiming
     , bBuildTriggerId
     , bTimeout
     , bFinishTime
     , bCreateTime
+    , bTags
 
     -- ** SourceProvenanceFileHashes
     , SourceProvenanceFileHashes
     , sourceProvenanceFileHashes
     , spfhAddtional
 
+    -- ** Secret
+    , Secret
+    , secret
+    , sKmsKeyName
+    , sSecretEnv
+
     -- ** CancelBuildRequest
     , CancelBuildRequest
     , cancelBuildRequest
 
+    -- ** TimeSpan
+    , TimeSpan
+    , timeSpan
+    , tsStartTime
+    , tsEndTime
+
     -- ** StorageSource
     , StorageSource
     , storageSource
@@ -189,6 +258,12 @@
     , listBuildTriggersResponse
     , lbtrTriggers
 
+    -- ** ArtifactResult
+    , ArtifactResult
+    , artifactResult
+    , arFileHash
+    , arLocation
+
     -- ** BuildOptionsRequestedVerifyOption
     , BuildOptionsRequestedVerifyOption (..)
 
@@ -197,26 +272,48 @@
     , fileHashes
     , fhFileHash
 
+    -- ** BuildSubstitutions
+    , BuildSubstitutions
+    , buildSubstitutions
+    , bsAddtional
+
     -- ** Xgafv
     , Xgafv (..)
 
     -- ** BuildStatus
     , BuildStatus (..)
 
+    -- ** BuildOptionsSubstitutionOption
+    , BuildOptionsSubstitutionOption (..)
+
     -- ** HashType
     , HashType (..)
 
+    -- ** BuildOptionsLogStreamingOption
+    , BuildOptionsLogStreamingOption (..)
+
     -- ** Source
     , Source
     , source
     , sRepoSource
     , sStorageSource
 
+    -- ** BuildOptionsLogging
+    , BuildOptionsLogging (..)
+
     -- ** OperationMetadata
     , OperationMetadata
     , operationMetadata
     , omAddtional
 
+    -- ** BuildOptionsMachineType
+    , BuildOptionsMachineType (..)
+
+    -- ** BuildTiming
+    , BuildTiming
+    , buildTiming
+    , btAddtional
+
     -- ** BuildOperationMetadata
     , BuildOperationMetadata
     , buildOperationMetadata
@@ -225,7 +322,16 @@
     -- ** BuildOptions
     , BuildOptions
     , buildOptions
+    , boDiskSizeGb
+    , boEnv
+    , boSubstitutionOption
     , boRequestedVerifyOption
+    , boWorkerPool
+    , boMachineType
+    , boSecretEnv
+    , boVolumes
+    , boLogStreamingOption
+    , boLogging
     , boSourceProvenanceHash
 
     -- ** OperationResponse
@@ -236,9 +342,12 @@
     -- ** BuildTrigger
     , BuildTrigger
     , buildTrigger
+    , btSubstitutions
+    , btIncludedFiles
     , btDisabled
     , btTriggerTemplate
     , btBuild
+    , btIgnoredFiles
     , btId
     , btDescription
     , btFilename
@@ -247,6 +356,7 @@
     -- ** BuiltImage
     , BuiltImage
     , builtImage
+    , biPushTiming
     , biName
     , biDigest
     ) where
@@ -260,26 +370,30 @@
 import           Network.Google.Resource.Cloudbuild.Projects.Builds.Create
 import           Network.Google.Resource.Cloudbuild.Projects.Builds.Get
 import           Network.Google.Resource.Cloudbuild.Projects.Builds.List
+import           Network.Google.Resource.Cloudbuild.Projects.Builds.Retry
 import           Network.Google.Resource.Cloudbuild.Projects.Triggers.Create
 import           Network.Google.Resource.Cloudbuild.Projects.Triggers.Delete
 import           Network.Google.Resource.Cloudbuild.Projects.Triggers.Get
 import           Network.Google.Resource.Cloudbuild.Projects.Triggers.List
 import           Network.Google.Resource.Cloudbuild.Projects.Triggers.Patch
+import           Network.Google.Resource.Cloudbuild.Projects.Triggers.Run
 
 {- $resources
 TODO
 -}
 
--- | Represents the entirety of the methods and resources available for the Google Cloud Container Builder API service.
+-- | Represents the entirety of the methods and resources available for the Cloud Build API service.
 type ContainerBuilderAPI =
      OperationsListResource :<|> OperationsGetResource
        :<|> OperationsCancelResource
        :<|> ProjectsBuildsListResource
+       :<|> ProjectsBuildsRetryResource
        :<|> ProjectsBuildsGetResource
        :<|> ProjectsBuildsCreateResource
        :<|> ProjectsBuildsCancelResource
        :<|> ProjectsTriggersListResource
        :<|> ProjectsTriggersPatchResource
        :<|> ProjectsTriggersGetResource
+       :<|> ProjectsTriggersRunResource
        :<|> ProjectsTriggersCreateResource
        :<|> ProjectsTriggersDeleteResource
diff --git a/gen/Network/Google/ContainerBuilder/Types.hs b/gen/Network/Google/ContainerBuilder/Types.hs
--- a/gen/Network/Google/ContainerBuilder/Types.hs
+++ b/gen/Network/Google/ContainerBuilder/Types.hs
@@ -25,13 +25,19 @@
     -- * BuildStep
     , BuildStep
     , buildStep
+    , bsStatus
     , bsDir
     , bsArgs
     , bsEnv
+    , bsPullTiming
     , bsEntrypoint
     , bsWaitFor
     , bsName
     , bsId
+    , bsTiming
+    , bsSecretEnv
+    , bsTimeout
+    , bsVolumes
 
     -- * SourceProvenance
     , SourceProvenance
@@ -53,6 +59,10 @@
     , sCode
     , sMessage
 
+    -- * RetryBuildRequest
+    , RetryBuildRequest
+    , retryBuildRequest
+
     -- * ListOperationsResponse
     , ListOperationsResponse
     , listOperationsResponse
@@ -74,11 +84,20 @@
     , results
     , rImages
     , rBuildStepImages
+    , rArtifactManifest
+    , rBuildStepOutputs
+    , rNumArtifacts
 
+    -- * BuildTriggerSubstitutions
+    , BuildTriggerSubstitutions
+    , buildTriggerSubstitutions
+    , btsAddtional
+
     -- * RepoSource
     , RepoSource
     , repoSource
     , rsRepoName
+    , rsDir
     , rsCommitSha
     , rsBranchName
     , rsTagName
@@ -97,6 +116,33 @@
     , Empty
     , empty
 
+    -- * SecretSecretEnv
+    , SecretSecretEnv
+    , secretSecretEnv
+    , sseAddtional
+
+    -- * Artifacts
+    , Artifacts
+    , artifacts
+    , aImages
+    , aObjects
+
+    -- * BuildStepStatus
+    , BuildStepStatus (..)
+
+    -- * ArtifactObjects
+    , ArtifactObjects
+    , artifactObjects
+    , aoLocation
+    , aoTiming
+    , aoPaths
+
+    -- * Volume
+    , Volume
+    , volume
+    , vPath
+    , vName
+
     -- * StatusDetailsItem
     , StatusDetailsItem
     , statusDetailsItem
@@ -108,9 +154,12 @@
     , bImages
     , bStatus
     , bSourceProvenance
+    , bSubstitutions
     , bLogURL
     , bResults
+    , bSecrets
     , bStartTime
+    , bArtifacts
     , bLogsBucket
     , bSteps
     , bStatusDetail
@@ -118,20 +167,34 @@
     , bId
     , bOptions
     , bProjectId
+    , bTiming
     , bBuildTriggerId
     , bTimeout
     , bFinishTime
     , bCreateTime
+    , bTags
 
     -- * SourceProvenanceFileHashes
     , SourceProvenanceFileHashes
     , sourceProvenanceFileHashes
     , spfhAddtional
 
+    -- * Secret
+    , Secret
+    , secret
+    , sKmsKeyName
+    , sSecretEnv
+
     -- * CancelBuildRequest
     , CancelBuildRequest
     , cancelBuildRequest
 
+    -- * TimeSpan
+    , TimeSpan
+    , timeSpan
+    , tsStartTime
+    , tsEndTime
+
     -- * StorageSource
     , StorageSource
     , storageSource
@@ -144,6 +207,12 @@
     , listBuildTriggersResponse
     , lbtrTriggers
 
+    -- * ArtifactResult
+    , ArtifactResult
+    , artifactResult
+    , arFileHash
+    , arLocation
+
     -- * BuildOptionsRequestedVerifyOption
     , BuildOptionsRequestedVerifyOption (..)
 
@@ -152,26 +221,48 @@
     , fileHashes
     , fhFileHash
 
+    -- * BuildSubstitutions
+    , BuildSubstitutions
+    , buildSubstitutions
+    , bsAddtional
+
     -- * Xgafv
     , Xgafv (..)
 
     -- * BuildStatus
     , BuildStatus (..)
 
+    -- * BuildOptionsSubstitutionOption
+    , BuildOptionsSubstitutionOption (..)
+
     -- * HashType
     , HashType (..)
 
+    -- * BuildOptionsLogStreamingOption
+    , BuildOptionsLogStreamingOption (..)
+
     -- * Source
     , Source
     , source
     , sRepoSource
     , sStorageSource
 
+    -- * BuildOptionsLogging
+    , BuildOptionsLogging (..)
+
     -- * OperationMetadata
     , OperationMetadata
     , operationMetadata
     , omAddtional
 
+    -- * BuildOptionsMachineType
+    , BuildOptionsMachineType (..)
+
+    -- * BuildTiming
+    , BuildTiming
+    , buildTiming
+    , btAddtional
+
     -- * BuildOperationMetadata
     , BuildOperationMetadata
     , buildOperationMetadata
@@ -180,7 +271,16 @@
     -- * BuildOptions
     , BuildOptions
     , buildOptions
+    , boDiskSizeGb
+    , boEnv
+    , boSubstitutionOption
     , boRequestedVerifyOption
+    , boWorkerPool
+    , boMachineType
+    , boSecretEnv
+    , boVolumes
+    , boLogStreamingOption
+    , boLogging
     , boSourceProvenanceHash
 
     -- * OperationResponse
@@ -191,9 +291,12 @@
     -- * BuildTrigger
     , BuildTrigger
     , buildTrigger
+    , btSubstitutions
+    , btIncludedFiles
     , btDisabled
     , btTriggerTemplate
     , btBuild
+    , btIgnoredFiles
     , btId
     , btDescription
     , btFilename
@@ -202,6 +305,7 @@
     -- * BuiltImage
     , BuiltImage
     , builtImage
+    , biPushTiming
     , biName
     , biDigest
     ) where
@@ -210,7 +314,7 @@
 import           Network.Google.ContainerBuilder.Types.Sum
 import           Network.Google.Prelude
 
--- | Default request referring to version 'v1' of the Google Cloud Container Builder API. This contains the host and root path used as a starting point for constructing service requests.
+-- | Default request referring to version 'v1' of the Cloud Build API. This contains the host and root path used as a starting point for constructing service requests.
 containerBuilderService :: ServiceConfig
 containerBuilderService
   = defaultService (ServiceId "cloudbuild:v1")
diff --git a/gen/Network/Google/ContainerBuilder/Types/Product.hs b/gen/Network/Google/ContainerBuilder/Types/Product.hs
--- a/gen/Network/Google/ContainerBuilder/Types/Product.hs
+++ b/gen/Network/Google/ContainerBuilder/Types/Product.hs
@@ -20,1550 +20,2430 @@
 import           Network.Google.ContainerBuilder.Types.Sum
 import           Network.Google.Prelude
 
--- | BuildStep describes a step to perform in the build pipeline.
---
--- /See:/ 'buildStep' smart constructor.
-data BuildStep = BuildStep'
-    { _bsDir        :: !(Maybe Text)
-    , _bsArgs       :: !(Maybe [Text])
-    , _bsEnv        :: !(Maybe [Text])
-    , _bsEntrypoint :: !(Maybe Text)
-    , _bsWaitFor    :: !(Maybe [Text])
-    , _bsName       :: !(Maybe Text)
-    , _bsId         :: !(Maybe Text)
-    } deriving (Eq,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'BuildStep' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'bsDir'
---
--- * 'bsArgs'
---
--- * 'bsEnv'
---
--- * 'bsEntrypoint'
---
--- * 'bsWaitFor'
---
--- * 'bsName'
---
--- * 'bsId'
-buildStep
-    :: BuildStep
-buildStep =
-    BuildStep'
-    { _bsDir = Nothing
-    , _bsArgs = Nothing
-    , _bsEnv = Nothing
-    , _bsEntrypoint = Nothing
-    , _bsWaitFor = Nothing
-    , _bsName = Nothing
-    , _bsId = Nothing
-    }
-
--- | Working directory (relative to project source root) to use when running
--- this operation\'s container.
-bsDir :: Lens' BuildStep (Maybe Text)
-bsDir = lens _bsDir (\ s a -> s{_bsDir = a})
-
--- | A list of arguments that will be presented to the step when it is
--- started. If the image used to run the step\'s container has an
--- entrypoint, these args will be used as arguments to that entrypoint. If
--- the image does not define an entrypoint, the first element in args will
--- be used as the entrypoint, and the remainder will be used as arguments.
-bsArgs :: Lens' BuildStep [Text]
-bsArgs
-  = lens _bsArgs (\ s a -> s{_bsArgs = a}) . _Default .
-      _Coerce
-
--- | A list of environment variable definitions to be used when running a
--- step. The elements are of the form \"KEY=VALUE\" for the environment
--- variable \"KEY\" being given the value \"VALUE\".
-bsEnv :: Lens' BuildStep [Text]
-bsEnv
-  = lens _bsEnv (\ s a -> s{_bsEnv = a}) . _Default .
-      _Coerce
-
--- | Optional entrypoint to be used instead of the build step image\'s
--- default If unset, the image\'s default will be used.
-bsEntrypoint :: Lens' BuildStep (Maybe Text)
-bsEntrypoint
-  = lens _bsEntrypoint (\ s a -> s{_bsEntrypoint = a})
-
--- | The ID(s) of the step(s) that this build step depends on. This build
--- step will not start until all the build steps in wait_for have completed
--- successfully. If wait_for is empty, this build step will start when all
--- previous build steps in the Build.Steps list have completed
--- successfully.
-bsWaitFor :: Lens' BuildStep [Text]
-bsWaitFor
-  = lens _bsWaitFor (\ s a -> s{_bsWaitFor = a}) .
-      _Default
-      . _Coerce
-
--- | The name of the container image that will run this particular build
--- step. If the image is already available in the host\'s Docker daemon\'s
--- cache, it will be run directly. If not, the host will attempt to pull
--- the image first, using the builder service account\'s credentials if
--- necessary. The Docker daemon\'s cache will already have the latest
--- versions of all of the officially supported build steps
--- (https:\/\/github.com\/GoogleCloudPlatform\/cloud-builders). The Docker
--- daemon will also have cached many of the layers for some popular images,
--- like \"ubuntu\", \"debian\", but they will be refreshed at the time you
--- attempt to use them. If you built an image in a previous build step, it
--- will be stored in the host\'s Docker daemon\'s cache and is available to
--- use as the name for a later build step.
-bsName :: Lens' BuildStep (Maybe Text)
-bsName = lens _bsName (\ s a -> s{_bsName = a})
-
--- | Optional unique identifier for this build step, used in wait_for to
--- reference this build step as a dependency.
-bsId :: Lens' BuildStep (Maybe Text)
-bsId = lens _bsId (\ s a -> s{_bsId = a})
-
-instance FromJSON BuildStep where
-        parseJSON
-          = withObject "BuildStep"
-              (\ o ->
-                 BuildStep' <$>
-                   (o .:? "dir") <*> (o .:? "args" .!= mempty) <*>
-                     (o .:? "env" .!= mempty)
-                     <*> (o .:? "entrypoint")
-                     <*> (o .:? "waitFor" .!= mempty)
-                     <*> (o .:? "name")
-                     <*> (o .:? "id"))
-
-instance ToJSON BuildStep where
-        toJSON BuildStep'{..}
-          = object
-              (catMaybes
-                 [("dir" .=) <$> _bsDir, ("args" .=) <$> _bsArgs,
-                  ("env" .=) <$> _bsEnv,
-                  ("entrypoint" .=) <$> _bsEntrypoint,
-                  ("waitFor" .=) <$> _bsWaitFor,
-                  ("name" .=) <$> _bsName, ("id" .=) <$> _bsId])
-
--- | Provenance of the source. Ways to find the original source, or verify
--- that some source was used for this build.
---
--- /See:/ 'sourceProvenance' smart constructor.
-data SourceProvenance = SourceProvenance'
-    { _spResolvedRepoSource    :: !(Maybe RepoSource)
-    , _spResolvedStorageSource :: !(Maybe StorageSource)
-    , _spFileHashes            :: !(Maybe SourceProvenanceFileHashes)
-    } deriving (Eq,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'SourceProvenance' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'spResolvedRepoSource'
---
--- * 'spResolvedStorageSource'
---
--- * 'spFileHashes'
-sourceProvenance
-    :: SourceProvenance
-sourceProvenance =
-    SourceProvenance'
-    { _spResolvedRepoSource = Nothing
-    , _spResolvedStorageSource = Nothing
-    , _spFileHashes = Nothing
-    }
-
--- | A copy of the build\'s source.repo_source, if exists, with any revisions
--- resolved.
-spResolvedRepoSource :: Lens' SourceProvenance (Maybe RepoSource)
-spResolvedRepoSource
-  = lens _spResolvedRepoSource
-      (\ s a -> s{_spResolvedRepoSource = a})
-
--- | A copy of the build\'s source.storage_source, if exists, with any
--- generations resolved.
-spResolvedStorageSource :: Lens' SourceProvenance (Maybe StorageSource)
-spResolvedStorageSource
-  = lens _spResolvedStorageSource
-      (\ s a -> s{_spResolvedStorageSource = a})
-
--- | Hash(es) of the build source, which can be used to verify that the
--- original source integrity was maintained in the build. Note that
--- FileHashes will only be populated if BuildOptions has requested a
--- SourceProvenanceHash. The keys to this map are file paths used as build
--- source and the values contain the hash values for those files. If the
--- build source came in a single package such as a gzipped tarfile
--- (.tar.gz), the FileHash will be for the single path to that file.
--- \'OutputOnly
-spFileHashes :: Lens' SourceProvenance (Maybe SourceProvenanceFileHashes)
-spFileHashes
-  = lens _spFileHashes (\ s a -> s{_spFileHashes = a})
-
-instance FromJSON SourceProvenance where
-        parseJSON
-          = withObject "SourceProvenance"
-              (\ o ->
-                 SourceProvenance' <$>
-                   (o .:? "resolvedRepoSource") <*>
-                     (o .:? "resolvedStorageSource")
-                     <*> (o .:? "fileHashes"))
-
-instance ToJSON SourceProvenance where
-        toJSON SourceProvenance'{..}
-          = object
-              (catMaybes
-                 [("resolvedRepoSource" .=) <$> _spResolvedRepoSource,
-                  ("resolvedStorageSource" .=) <$>
-                    _spResolvedStorageSource,
-                  ("fileHashes" .=) <$> _spFileHashes])
-
--- | Response including listed builds.
---
--- /See:/ 'listBuildsResponse' smart constructor.
-data ListBuildsResponse = ListBuildsResponse'
-    { _lbrNextPageToken :: !(Maybe Text)
-    , _lbrBuilds        :: !(Maybe [Build])
-    } deriving (Eq,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'ListBuildsResponse' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'lbrNextPageToken'
---
--- * 'lbrBuilds'
-listBuildsResponse
-    :: ListBuildsResponse
-listBuildsResponse =
-    ListBuildsResponse'
-    { _lbrNextPageToken = Nothing
-    , _lbrBuilds = Nothing
-    }
-
--- | Token to receive the next page of results.
-lbrNextPageToken :: Lens' ListBuildsResponse (Maybe Text)
-lbrNextPageToken
-  = lens _lbrNextPageToken
-      (\ s a -> s{_lbrNextPageToken = a})
-
--- | Builds will be sorted by create_time, descending.
-lbrBuilds :: Lens' ListBuildsResponse [Build]
-lbrBuilds
-  = lens _lbrBuilds (\ s a -> s{_lbrBuilds = a}) .
-      _Default
-      . _Coerce
-
-instance FromJSON ListBuildsResponse where
-        parseJSON
-          = withObject "ListBuildsResponse"
-              (\ o ->
-                 ListBuildsResponse' <$>
-                   (o .:? "nextPageToken") <*>
-                     (o .:? "builds" .!= mempty))
-
-instance ToJSON ListBuildsResponse where
-        toJSON ListBuildsResponse'{..}
-          = object
-              (catMaybes
-                 [("nextPageToken" .=) <$> _lbrNextPageToken,
-                  ("builds" .=) <$> _lbrBuilds])
-
--- | The \`Status\` type defines a logical error model that is suitable for
--- different programming environments, including REST APIs and RPC APIs. It
--- is used by [gRPC](https:\/\/github.com\/grpc). The error model is
--- designed to be: - Simple to use and understand for most users - Flexible
--- enough to meet unexpected needs # Overview The \`Status\` message
--- contains three pieces of data: error code, error message, and error
--- details. The error code should be an enum value of google.rpc.Code, but
--- it may accept additional error codes if needed. The error message should
--- be a developer-facing English message that helps developers *understand*
--- and *resolve* the error. If a localized user-facing error message is
--- needed, put the localized message in the error details or localize it in
--- the client. The optional error details may contain arbitrary information
--- about the error. There is a predefined set of error detail types in the
--- package \`google.rpc\` which can be used for common error conditions. #
--- Language mapping The \`Status\` message is the logical representation of
--- the error model, but it is not necessarily the actual wire format. When
--- the \`Status\` message is exposed in different client libraries and
--- different wire protocols, it can be mapped differently. For example, it
--- will likely be mapped to some exceptions in Java, but more likely mapped
--- to some error codes in C. # Other uses The error model and the
--- \`Status\` message can be used in a variety of environments, either with
--- or without APIs, to provide a consistent developer experience across
--- different environments. Example uses of this error model include: -
--- Partial errors. If a service needs to return partial errors to the
--- client, it may embed the \`Status\` in the normal response to indicate
--- the partial errors. - Workflow errors. A typical workflow has multiple
--- steps. Each step may have a \`Status\` message for error reporting
--- purpose. - Batch operations. If a client uses batch request and batch
--- response, the \`Status\` message should be used directly inside batch
--- response, one for each error sub-response. - Asynchronous operations. If
--- an API call embeds asynchronous operation results in its response, the
--- status of those operations should be represented directly using the
--- \`Status\` message. - Logging. If some API errors are stored in logs,
--- the message \`Status\` could be used directly after any stripping needed
--- for security\/privacy reasons.
---
--- /See:/ 'status' smart constructor.
-data Status = Status'
-    { _sDetails :: !(Maybe [StatusDetailsItem])
-    , _sCode    :: !(Maybe (Textual Int32))
-    , _sMessage :: !(Maybe Text)
-    } deriving (Eq,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'Status' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'sDetails'
---
--- * 'sCode'
---
--- * 'sMessage'
-status
-    :: Status
-status =
-    Status'
-    { _sDetails = Nothing
-    , _sCode = Nothing
-    , _sMessage = Nothing
-    }
-
--- | A list of messages that carry the error details. There will be a common
--- set of message types for APIs to use.
-sDetails :: Lens' Status [StatusDetailsItem]
-sDetails
-  = lens _sDetails (\ s a -> s{_sDetails = a}) .
-      _Default
-      . _Coerce
-
--- | The status code, which should be an enum value of google.rpc.Code.
-sCode :: Lens' Status (Maybe Int32)
-sCode
-  = lens _sCode (\ s a -> s{_sCode = a}) .
-      mapping _Coerce
-
--- | A developer-facing error message, which should be in English. Any
--- user-facing error message should be localized and sent in the
--- google.rpc.Status.details field, or localized by the client.
-sMessage :: Lens' Status (Maybe Text)
-sMessage = lens _sMessage (\ s a -> s{_sMessage = a})
-
-instance FromJSON Status where
-        parseJSON
-          = withObject "Status"
-              (\ o ->
-                 Status' <$>
-                   (o .:? "details" .!= mempty) <*> (o .:? "code") <*>
-                     (o .:? "message"))
-
-instance ToJSON Status where
-        toJSON Status'{..}
-          = object
-              (catMaybes
-                 [("details" .=) <$> _sDetails,
-                  ("code" .=) <$> _sCode,
-                  ("message" .=) <$> _sMessage])
-
--- | The response message for Operations.ListOperations.
---
--- /See:/ 'listOperationsResponse' smart constructor.
-data ListOperationsResponse = ListOperationsResponse'
-    { _lorNextPageToken :: !(Maybe Text)
-    , _lorOperations    :: !(Maybe [Operation])
-    } deriving (Eq,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'ListOperationsResponse' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'lorNextPageToken'
---
--- * 'lorOperations'
-listOperationsResponse
-    :: ListOperationsResponse
-listOperationsResponse =
-    ListOperationsResponse'
-    { _lorNextPageToken = Nothing
-    , _lorOperations = Nothing
-    }
-
--- | The standard List next-page token.
-lorNextPageToken :: Lens' ListOperationsResponse (Maybe Text)
-lorNextPageToken
-  = lens _lorNextPageToken
-      (\ s a -> s{_lorNextPageToken = a})
-
--- | A list of operations that matches the specified filter in the request.
-lorOperations :: Lens' ListOperationsResponse [Operation]
-lorOperations
-  = lens _lorOperations
-      (\ s a -> s{_lorOperations = a})
-      . _Default
-      . _Coerce
-
-instance FromJSON ListOperationsResponse where
-        parseJSON
-          = withObject "ListOperationsResponse"
-              (\ o ->
-                 ListOperationsResponse' <$>
-                   (o .:? "nextPageToken") <*>
-                     (o .:? "operations" .!= mempty))
-
-instance ToJSON ListOperationsResponse where
-        toJSON ListOperationsResponse'{..}
-          = object
-              (catMaybes
-                 [("nextPageToken" .=) <$> _lorNextPageToken,
-                  ("operations" .=) <$> _lorOperations])
-
--- | The request message for Operations.CancelOperation.
---
--- /See:/ 'cancelOperationRequest' smart constructor.
-data CancelOperationRequest =
-    CancelOperationRequest'
-    deriving (Eq,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'CancelOperationRequest' with the minimum fields required to make a request.
---
-cancelOperationRequest
-    :: CancelOperationRequest
-cancelOperationRequest = CancelOperationRequest'
-
-instance FromJSON CancelOperationRequest where
-        parseJSON
-          = withObject "CancelOperationRequest"
-              (\ o -> pure CancelOperationRequest')
-
-instance ToJSON CancelOperationRequest where
-        toJSON = const emptyObject
-
--- | Container message for hash values.
---
--- /See:/ 'hash' smart constructor.
-data Hash = Hash'
-    { _hValue :: !(Maybe Bytes)
-    , _hType  :: !(Maybe HashType)
-    } deriving (Eq,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'Hash' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'hValue'
---
--- * 'hType'
-hash
-    :: Hash
-hash =
-    Hash'
-    { _hValue = Nothing
-    , _hType = Nothing
-    }
-
--- | The hash value.
-hValue :: Lens' Hash (Maybe ByteString)
-hValue
-  = lens _hValue (\ s a -> s{_hValue = a}) .
-      mapping _Bytes
-
--- | The type of hash that was performed.
-hType :: Lens' Hash (Maybe HashType)
-hType = lens _hType (\ s a -> s{_hType = a})
-
-instance FromJSON Hash where
-        parseJSON
-          = withObject "Hash"
-              (\ o -> Hash' <$> (o .:? "value") <*> (o .:? "type"))
-
-instance ToJSON Hash where
-        toJSON Hash'{..}
-          = object
-              (catMaybes
-                 [("value" .=) <$> _hValue, ("type" .=) <$> _hType])
-
--- | Results describes the artifacts created by the build pipeline.
---
--- /See:/ 'results' smart constructor.
-data Results = Results'
-    { _rImages          :: !(Maybe [BuiltImage])
-    , _rBuildStepImages :: !(Maybe [Text])
-    } deriving (Eq,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'Results' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'rImages'
---
--- * 'rBuildStepImages'
-results
-    :: Results
-results =
-    Results'
-    { _rImages = Nothing
-    , _rBuildStepImages = Nothing
-    }
-
--- | Images that were built as a part of the build.
-rImages :: Lens' Results [BuiltImage]
-rImages
-  = lens _rImages (\ s a -> s{_rImages = a}) . _Default
-      . _Coerce
-
--- | List of build step digests, in order corresponding to build step
--- indices.
-rBuildStepImages :: Lens' Results [Text]
-rBuildStepImages
-  = lens _rBuildStepImages
-      (\ s a -> s{_rBuildStepImages = a})
-      . _Default
-      . _Coerce
-
-instance FromJSON Results where
-        parseJSON
-          = withObject "Results"
-              (\ o ->
-                 Results' <$>
-                   (o .:? "images" .!= mempty) <*>
-                     (o .:? "buildStepImages" .!= mempty))
-
-instance ToJSON Results where
-        toJSON Results'{..}
-          = object
-              (catMaybes
-                 [("images" .=) <$> _rImages,
-                  ("buildStepImages" .=) <$> _rBuildStepImages])
-
--- | RepoSource describes the location of the source in a Google Cloud Source
--- Repository.
---
--- /See:/ 'repoSource' smart constructor.
-data RepoSource = RepoSource'
-    { _rsRepoName   :: !(Maybe Text)
-    , _rsCommitSha  :: !(Maybe Text)
-    , _rsBranchName :: !(Maybe Text)
-    , _rsTagName    :: !(Maybe Text)
-    , _rsProjectId  :: !(Maybe Text)
-    } deriving (Eq,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'RepoSource' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'rsRepoName'
---
--- * 'rsCommitSha'
---
--- * 'rsBranchName'
---
--- * 'rsTagName'
---
--- * 'rsProjectId'
-repoSource
-    :: RepoSource
-repoSource =
-    RepoSource'
-    { _rsRepoName = Nothing
-    , _rsCommitSha = Nothing
-    , _rsBranchName = Nothing
-    , _rsTagName = Nothing
-    , _rsProjectId = Nothing
-    }
-
--- | Name of the repo. If omitted, the name \"default\" is assumed.
-rsRepoName :: Lens' RepoSource (Maybe Text)
-rsRepoName
-  = lens _rsRepoName (\ s a -> s{_rsRepoName = a})
-
--- | Explicit commit SHA to build.
-rsCommitSha :: Lens' RepoSource (Maybe Text)
-rsCommitSha
-  = lens _rsCommitSha (\ s a -> s{_rsCommitSha = a})
-
--- | Name of the branch to build.
-rsBranchName :: Lens' RepoSource (Maybe Text)
-rsBranchName
-  = lens _rsBranchName (\ s a -> s{_rsBranchName = a})
-
--- | Name of the tag to build.
-rsTagName :: Lens' RepoSource (Maybe Text)
-rsTagName
-  = lens _rsTagName (\ s a -> s{_rsTagName = a})
-
--- | ID of the project that owns the repo. If omitted, the project ID
--- requesting the build is assumed.
-rsProjectId :: Lens' RepoSource (Maybe Text)
-rsProjectId
-  = lens _rsProjectId (\ s a -> s{_rsProjectId = a})
-
-instance FromJSON RepoSource where
-        parseJSON
-          = withObject "RepoSource"
-              (\ o ->
-                 RepoSource' <$>
-                   (o .:? "repoName") <*> (o .:? "commitSha") <*>
-                     (o .:? "branchName")
-                     <*> (o .:? "tagName")
-                     <*> (o .:? "projectId"))
-
-instance ToJSON RepoSource where
-        toJSON RepoSource'{..}
-          = object
-              (catMaybes
-                 [("repoName" .=) <$> _rsRepoName,
-                  ("commitSha" .=) <$> _rsCommitSha,
-                  ("branchName" .=) <$> _rsBranchName,
-                  ("tagName" .=) <$> _rsTagName,
-                  ("projectId" .=) <$> _rsProjectId])
-
--- | This resource represents a long-running operation that is the result of
--- a network API call.
---
--- /See:/ 'operation' smart constructor.
-data Operation = Operation'
-    { _oDone     :: !(Maybe Bool)
-    , _oError    :: !(Maybe Status)
-    , _oResponse :: !(Maybe OperationResponse)
-    , _oName     :: !(Maybe Text)
-    , _oMetadata :: !(Maybe OperationMetadata)
-    } deriving (Eq,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'Operation' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'oDone'
---
--- * 'oError'
---
--- * 'oResponse'
---
--- * 'oName'
---
--- * 'oMetadata'
-operation
-    :: Operation
-operation =
-    Operation'
-    { _oDone = Nothing
-    , _oError = Nothing
-    , _oResponse = Nothing
-    , _oName = Nothing
-    , _oMetadata = Nothing
-    }
-
--- | If the value is \`false\`, it means the operation is still in progress.
--- If true, the operation is completed, and either \`error\` or
--- \`response\` is available.
-oDone :: Lens' Operation (Maybe Bool)
-oDone = lens _oDone (\ s a -> s{_oDone = a})
-
--- | The error result of the operation in case of failure or cancellation.
-oError :: Lens' Operation (Maybe Status)
-oError = lens _oError (\ s a -> s{_oError = a})
-
--- | The normal response of the operation in case of success. If the original
--- method returns no data on success, such as \`Delete\`, the response is
--- \`google.protobuf.Empty\`. If the original method is standard
--- \`Get\`\/\`Create\`\/\`Update\`, the response should be the resource.
--- For other methods, the response should have the type \`XxxResponse\`,
--- where \`Xxx\` is the original method name. For example, if the original
--- method name is \`TakeSnapshot()\`, the inferred response type is
--- \`TakeSnapshotResponse\`.
-oResponse :: Lens' Operation (Maybe OperationResponse)
-oResponse
-  = lens _oResponse (\ s a -> s{_oResponse = a})
-
--- | The server-assigned name, which is only unique within the same service
--- that originally returns it. If you use the default HTTP mapping, the
--- \`name\` should have the format of \`operations\/some\/unique\/name\`.
-oName :: Lens' Operation (Maybe Text)
-oName = lens _oName (\ s a -> s{_oName = a})
-
--- | Service-specific metadata associated with the operation. It typically
--- contains progress information and common metadata such as create time.
--- Some services might not provide such metadata. Any method that returns a
--- long-running operation should document the metadata type, if any.
-oMetadata :: Lens' Operation (Maybe OperationMetadata)
-oMetadata
-  = lens _oMetadata (\ s a -> s{_oMetadata = a})
-
-instance FromJSON Operation where
-        parseJSON
-          = withObject "Operation"
-              (\ o ->
-                 Operation' <$>
-                   (o .:? "done") <*> (o .:? "error") <*>
-                     (o .:? "response")
-                     <*> (o .:? "name")
-                     <*> (o .:? "metadata"))
-
-instance ToJSON Operation where
-        toJSON Operation'{..}
-          = object
-              (catMaybes
-                 [("done" .=) <$> _oDone, ("error" .=) <$> _oError,
-                  ("response" .=) <$> _oResponse,
-                  ("name" .=) <$> _oName,
-                  ("metadata" .=) <$> _oMetadata])
-
--- | A generic empty message that you can re-use to avoid defining duplicated
--- empty messages in your APIs. A typical example is to use it as the
--- request or the response type of an API method. For instance: service Foo
--- { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The
--- JSON representation for \`Empty\` is empty JSON object \`{}\`.
---
--- /See:/ 'empty' smart constructor.
-data Empty =
-    Empty'
-    deriving (Eq,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'Empty' with the minimum fields required to make a request.
---
-empty
-    :: Empty
-empty = Empty'
-
-instance FromJSON Empty where
-        parseJSON = withObject "Empty" (\ o -> pure Empty')
-
-instance ToJSON Empty where
-        toJSON = const emptyObject
-
---
--- /See:/ 'statusDetailsItem' smart constructor.
-newtype StatusDetailsItem = StatusDetailsItem'
-    { _sdiAddtional :: HashMap Text JSONValue
-    } deriving (Eq,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'StatusDetailsItem' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'sdiAddtional'
-statusDetailsItem
-    :: HashMap Text JSONValue -- ^ 'sdiAddtional'
-    -> StatusDetailsItem
-statusDetailsItem pSdiAddtional_ =
-    StatusDetailsItem'
-    { _sdiAddtional = _Coerce # pSdiAddtional_
-    }
-
--- | Properties of the object. Contains field \'type with type URL.
-sdiAddtional :: Lens' StatusDetailsItem (HashMap Text JSONValue)
-sdiAddtional
-  = lens _sdiAddtional (\ s a -> s{_sdiAddtional = a})
-      . _Coerce
-
-instance FromJSON StatusDetailsItem where
-        parseJSON
-          = withObject "StatusDetailsItem"
-              (\ o -> StatusDetailsItem' <$> (parseJSONObject o))
-
-instance ToJSON StatusDetailsItem where
-        toJSON = toJSON . _sdiAddtional
-
--- | A build resource in the Container Builder API. At a high level, a Build
--- describes where to find source code, how to build it (for example, the
--- builder image to run on the source), and what tag to apply to the built
--- image when it is pushed to Google Container Registry. Fields can include
--- the following variables which will be expanded when the build is
--- created: - $PROJECT_ID: the project ID of the build. - $BUILD_ID: the
--- autogenerated ID of the build. - $REPO_NAME: the source repository name
--- specified by RepoSource. - $BRANCH_NAME: the branch name specified by
--- RepoSource. - $TAG_NAME: the tag name specified by RepoSource. -
--- $REVISION_ID or $COMMIT_SHA: the commit SHA specified by RepoSource or
--- resolved from the specified branch or tag.
---
--- /See:/ 'build' smart constructor.
-data Build = Build'
-    { _bImages           :: !(Maybe [Text])
-    , _bStatus           :: !(Maybe BuildStatus)
-    , _bSourceProvenance :: !(Maybe SourceProvenance)
-    , _bLogURL           :: !(Maybe Text)
-    , _bResults          :: !(Maybe Results)
-    , _bStartTime        :: !(Maybe DateTime')
-    , _bLogsBucket       :: !(Maybe Text)
-    , _bSteps            :: !(Maybe [BuildStep])
-    , _bStatusDetail     :: !(Maybe Text)
-    , _bSource           :: !(Maybe Source)
-    , _bId               :: !(Maybe Text)
-    , _bOptions          :: !(Maybe BuildOptions)
-    , _bProjectId        :: !(Maybe Text)
-    , _bBuildTriggerId   :: !(Maybe Text)
-    , _bTimeout          :: !(Maybe Duration)
-    , _bFinishTime       :: !(Maybe DateTime')
-    , _bCreateTime       :: !(Maybe DateTime')
-    } deriving (Eq,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'Build' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'bImages'
---
--- * 'bStatus'
---
--- * 'bSourceProvenance'
---
--- * 'bLogURL'
---
--- * 'bResults'
---
--- * 'bStartTime'
---
--- * 'bLogsBucket'
---
--- * 'bSteps'
---
--- * 'bStatusDetail'
---
--- * 'bSource'
---
--- * 'bId'
---
--- * 'bOptions'
---
--- * 'bProjectId'
---
--- * 'bBuildTriggerId'
---
--- * 'bTimeout'
---
--- * 'bFinishTime'
---
--- * 'bCreateTime'
-build
-    :: Build
-build =
-    Build'
-    { _bImages = Nothing
-    , _bStatus = Nothing
-    , _bSourceProvenance = Nothing
-    , _bLogURL = Nothing
-    , _bResults = Nothing
-    , _bStartTime = Nothing
-    , _bLogsBucket = Nothing
-    , _bSteps = Nothing
-    , _bStatusDetail = Nothing
-    , _bSource = Nothing
-    , _bId = Nothing
-    , _bOptions = Nothing
-    , _bProjectId = Nothing
-    , _bBuildTriggerId = Nothing
-    , _bTimeout = Nothing
-    , _bFinishTime = Nothing
-    , _bCreateTime = Nothing
-    }
-
--- | A list of images to be pushed upon the successful completion of all
--- build steps. The images will be pushed using the builder service
--- account\'s credentials. The digests of the pushed images will be stored
--- in the Build resource\'s results field. If any of the images fail to be
--- pushed, the build is marked FAILURE.
-bImages :: Lens' Build [Text]
-bImages
-  = lens _bImages (\ s a -> s{_bImages = a}) . _Default
-      . _Coerce
-
--- | Status of the build. \'OutputOnly
-bStatus :: Lens' Build (Maybe BuildStatus)
-bStatus = lens _bStatus (\ s a -> s{_bStatus = a})
-
--- | A permanent fixed identifier for source. \'OutputOnly
-bSourceProvenance :: Lens' Build (Maybe SourceProvenance)
-bSourceProvenance
-  = lens _bSourceProvenance
-      (\ s a -> s{_bSourceProvenance = a})
-
--- | URL to logs for this build in Google Cloud Logging. \'OutputOnly
-bLogURL :: Lens' Build (Maybe Text)
-bLogURL = lens _bLogURL (\ s a -> s{_bLogURL = a})
-
--- | Results of the build. \'OutputOnly
-bResults :: Lens' Build (Maybe Results)
-bResults = lens _bResults (\ s a -> s{_bResults = a})
-
--- | Time at which execution of the build was started. \'OutputOnly
-bStartTime :: Lens' Build (Maybe UTCTime)
-bStartTime
-  = lens _bStartTime (\ s a -> s{_bStartTime = a}) .
-      mapping _DateTime
-
--- | Google Cloud Storage bucket where logs should be written (see [Bucket
--- Name
--- Requirements](https:\/\/cloud.google.com\/storage\/docs\/bucket-naming#requirements)).
--- Logs file names will be of the format
--- \`/l//o//g//s//b//u//c//k//e//t/\//l//o//g/−{build_id}.txt\`.
-bLogsBucket :: Lens' Build (Maybe Text)
-bLogsBucket
-  = lens _bLogsBucket (\ s a -> s{_bLogsBucket = a})
-
--- | Describes the operations to be performed on the workspace.
-bSteps :: Lens' Build [BuildStep]
-bSteps
-  = lens _bSteps (\ s a -> s{_bSteps = a}) . _Default .
-      _Coerce
-
--- | Customer-readable message about the current status. \'OutputOnly
-bStatusDetail :: Lens' Build (Maybe Text)
-bStatusDetail
-  = lens _bStatusDetail
-      (\ s a -> s{_bStatusDetail = a})
-
--- | Describes where to find the source files to build.
-bSource :: Lens' Build (Maybe Source)
-bSource = lens _bSource (\ s a -> s{_bSource = a})
-
--- | Unique identifier of the build. \'OutputOnly
-bId :: Lens' Build (Maybe Text)
-bId = lens _bId (\ s a -> s{_bId = a})
-
--- | Special options for this build.
-bOptions :: Lens' Build (Maybe BuildOptions)
-bOptions = lens _bOptions (\ s a -> s{_bOptions = a})
-
--- | ID of the project. \'OutputOnly.
-bProjectId :: Lens' Build (Maybe Text)
-bProjectId
-  = lens _bProjectId (\ s a -> s{_bProjectId = a})
-
--- | The ID of the BuildTrigger that triggered this build, if it was
--- triggered automatically. \'OutputOnly
-bBuildTriggerId :: Lens' Build (Maybe Text)
-bBuildTriggerId
-  = lens _bBuildTriggerId
-      (\ s a -> s{_bBuildTriggerId = a})
-
--- | Amount of time that this build should be allowed to run, to second
--- granularity. If this amount of time elapses, work on the build will
--- cease and the build status will be TIMEOUT. Default time is ten minutes.
-bTimeout :: Lens' Build (Maybe Scientific)
-bTimeout
-  = lens _bTimeout (\ s a -> s{_bTimeout = a}) .
-      mapping _Duration
-
--- | Time at which execution of the build was finished. The difference
--- between finish_time and start_time is the duration of the build\'s
--- execution. \'OutputOnly
-bFinishTime :: Lens' Build (Maybe UTCTime)
-bFinishTime
-  = lens _bFinishTime (\ s a -> s{_bFinishTime = a}) .
-      mapping _DateTime
-
--- | Time at which the request to create the build was received. \'OutputOnly
-bCreateTime :: Lens' Build (Maybe UTCTime)
-bCreateTime
-  = lens _bCreateTime (\ s a -> s{_bCreateTime = a}) .
-      mapping _DateTime
-
-instance FromJSON Build where
-        parseJSON
-          = withObject "Build"
-              (\ o ->
-                 Build' <$>
-                   (o .:? "images" .!= mempty) <*> (o .:? "status") <*>
-                     (o .:? "sourceProvenance")
-                     <*> (o .:? "logUrl")
-                     <*> (o .:? "results")
-                     <*> (o .:? "startTime")
-                     <*> (o .:? "logsBucket")
-                     <*> (o .:? "steps" .!= mempty)
-                     <*> (o .:? "statusDetail")
-                     <*> (o .:? "source")
-                     <*> (o .:? "id")
-                     <*> (o .:? "options")
-                     <*> (o .:? "projectId")
-                     <*> (o .:? "buildTriggerId")
-                     <*> (o .:? "timeout")
-                     <*> (o .:? "finishTime")
-                     <*> (o .:? "createTime"))
-
-instance ToJSON Build where
-        toJSON Build'{..}
-          = object
-              (catMaybes
-                 [("images" .=) <$> _bImages,
-                  ("status" .=) <$> _bStatus,
-                  ("sourceProvenance" .=) <$> _bSourceProvenance,
-                  ("logUrl" .=) <$> _bLogURL,
-                  ("results" .=) <$> _bResults,
-                  ("startTime" .=) <$> _bStartTime,
-                  ("logsBucket" .=) <$> _bLogsBucket,
-                  ("steps" .=) <$> _bSteps,
-                  ("statusDetail" .=) <$> _bStatusDetail,
-                  ("source" .=) <$> _bSource, ("id" .=) <$> _bId,
-                  ("options" .=) <$> _bOptions,
-                  ("projectId" .=) <$> _bProjectId,
-                  ("buildTriggerId" .=) <$> _bBuildTriggerId,
-                  ("timeout" .=) <$> _bTimeout,
-                  ("finishTime" .=) <$> _bFinishTime,
-                  ("createTime" .=) <$> _bCreateTime])
-
--- | Hash(es) of the build source, which can be used to verify that the
--- original source integrity was maintained in the build. Note that
--- FileHashes will only be populated if BuildOptions has requested a
--- SourceProvenanceHash. The keys to this map are file paths used as build
--- source and the values contain the hash values for those files. If the
--- build source came in a single package such as a gzipped tarfile
--- (.tar.gz), the FileHash will be for the single path to that file.
--- \'OutputOnly
---
--- /See:/ 'sourceProvenanceFileHashes' smart constructor.
-newtype SourceProvenanceFileHashes = SourceProvenanceFileHashes'
-    { _spfhAddtional :: HashMap Text FileHashes
-    } deriving (Eq,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'SourceProvenanceFileHashes' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'spfhAddtional'
-sourceProvenanceFileHashes
-    :: HashMap Text FileHashes -- ^ 'spfhAddtional'
-    -> SourceProvenanceFileHashes
-sourceProvenanceFileHashes pSpfhAddtional_ =
-    SourceProvenanceFileHashes'
-    { _spfhAddtional = _Coerce # pSpfhAddtional_
-    }
-
-spfhAddtional :: Lens' SourceProvenanceFileHashes (HashMap Text FileHashes)
-spfhAddtional
-  = lens _spfhAddtional
-      (\ s a -> s{_spfhAddtional = a})
-      . _Coerce
-
-instance FromJSON SourceProvenanceFileHashes where
-        parseJSON
-          = withObject "SourceProvenanceFileHashes"
-              (\ o ->
-                 SourceProvenanceFileHashes' <$> (parseJSONObject o))
-
-instance ToJSON SourceProvenanceFileHashes where
-        toJSON = toJSON . _spfhAddtional
-
--- | Request to cancel an ongoing build.
---
--- /See:/ 'cancelBuildRequest' smart constructor.
-data CancelBuildRequest =
-    CancelBuildRequest'
-    deriving (Eq,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'CancelBuildRequest' with the minimum fields required to make a request.
---
-cancelBuildRequest
-    :: CancelBuildRequest
-cancelBuildRequest = CancelBuildRequest'
-
-instance FromJSON CancelBuildRequest where
-        parseJSON
-          = withObject "CancelBuildRequest"
-              (\ o -> pure CancelBuildRequest')
-
-instance ToJSON CancelBuildRequest where
-        toJSON = const emptyObject
-
--- | StorageSource describes the location of the source in an archive file in
--- Google Cloud Storage.
---
--- /See:/ 'storageSource' smart constructor.
-data StorageSource = StorageSource'
-    { _ssBucket     :: !(Maybe Text)
-    , _ssObject     :: !(Maybe Text)
-    , _ssGeneration :: !(Maybe (Textual Int64))
-    } deriving (Eq,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'StorageSource' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'ssBucket'
---
--- * 'ssObject'
---
--- * 'ssGeneration'
-storageSource
-    :: StorageSource
-storageSource =
-    StorageSource'
-    { _ssBucket = Nothing
-    , _ssObject = Nothing
-    , _ssGeneration = Nothing
-    }
-
--- | Google Cloud Storage bucket containing source (see [Bucket Name
--- Requirements](https:\/\/cloud.google.com\/storage\/docs\/bucket-naming#requirements)).
-ssBucket :: Lens' StorageSource (Maybe Text)
-ssBucket = lens _ssBucket (\ s a -> s{_ssBucket = a})
-
--- | Google Cloud Storage object containing source. This object must be a
--- gzipped archive file (.tar.gz) containing source to build.
-ssObject :: Lens' StorageSource (Maybe Text)
-ssObject = lens _ssObject (\ s a -> s{_ssObject = a})
-
--- | Google Cloud Storage generation for the object. If the generation is
--- omitted, the latest generation will be used.
-ssGeneration :: Lens' StorageSource (Maybe Int64)
-ssGeneration
-  = lens _ssGeneration (\ s a -> s{_ssGeneration = a})
-      . mapping _Coerce
-
-instance FromJSON StorageSource where
-        parseJSON
-          = withObject "StorageSource"
-              (\ o ->
-                 StorageSource' <$>
-                   (o .:? "bucket") <*> (o .:? "object") <*>
-                     (o .:? "generation"))
-
-instance ToJSON StorageSource where
-        toJSON StorageSource'{..}
-          = object
-              (catMaybes
-                 [("bucket" .=) <$> _ssBucket,
-                  ("object" .=) <$> _ssObject,
-                  ("generation" .=) <$> _ssGeneration])
-
--- | Response containing existing BuildTriggers.
---
--- /See:/ 'listBuildTriggersResponse' smart constructor.
-newtype ListBuildTriggersResponse = ListBuildTriggersResponse'
-    { _lbtrTriggers :: Maybe [BuildTrigger]
-    } deriving (Eq,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'ListBuildTriggersResponse' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'lbtrTriggers'
-listBuildTriggersResponse
-    :: ListBuildTriggersResponse
-listBuildTriggersResponse =
-    ListBuildTriggersResponse'
-    { _lbtrTriggers = Nothing
-    }
-
--- | BuildTriggers for the project, sorted by create_time descending.
-lbtrTriggers :: Lens' ListBuildTriggersResponse [BuildTrigger]
-lbtrTriggers
-  = lens _lbtrTriggers (\ s a -> s{_lbtrTriggers = a})
-      . _Default
-      . _Coerce
-
-instance FromJSON ListBuildTriggersResponse where
-        parseJSON
-          = withObject "ListBuildTriggersResponse"
-              (\ o ->
-                 ListBuildTriggersResponse' <$>
-                   (o .:? "triggers" .!= mempty))
-
-instance ToJSON ListBuildTriggersResponse where
-        toJSON ListBuildTriggersResponse'{..}
-          = object
-              (catMaybes [("triggers" .=) <$> _lbtrTriggers])
-
--- | Container message for hashes of byte content of files, used in
--- SourceProvenance messages to verify integrity of source input to the
--- build.
---
--- /See:/ 'fileHashes' smart constructor.
-newtype FileHashes = FileHashes'
-    { _fhFileHash :: Maybe [Hash]
-    } deriving (Eq,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'FileHashes' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'fhFileHash'
-fileHashes
-    :: FileHashes
-fileHashes =
-    FileHashes'
-    { _fhFileHash = Nothing
-    }
-
--- | Collection of file hashes.
-fhFileHash :: Lens' FileHashes [Hash]
-fhFileHash
-  = lens _fhFileHash (\ s a -> s{_fhFileHash = a}) .
-      _Default
-      . _Coerce
-
-instance FromJSON FileHashes where
-        parseJSON
-          = withObject "FileHashes"
-              (\ o ->
-                 FileHashes' <$> (o .:? "fileHash" .!= mempty))
-
-instance ToJSON FileHashes where
-        toJSON FileHashes'{..}
-          = object
-              (catMaybes [("fileHash" .=) <$> _fhFileHash])
-
--- | Source describes the location of the source in a supported storage
--- service.
---
--- /See:/ 'source' smart constructor.
-data Source = Source'
-    { _sRepoSource    :: !(Maybe RepoSource)
-    , _sStorageSource :: !(Maybe StorageSource)
-    } deriving (Eq,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'Source' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'sRepoSource'
---
--- * 'sStorageSource'
-source
-    :: Source
-source =
-    Source'
-    { _sRepoSource = Nothing
-    , _sStorageSource = Nothing
-    }
-
--- | If provided, get source from this location in a Cloud Repo.
-sRepoSource :: Lens' Source (Maybe RepoSource)
-sRepoSource
-  = lens _sRepoSource (\ s a -> s{_sRepoSource = a})
-
--- | If provided, get the source from this location in in Google Cloud
--- Storage.
-sStorageSource :: Lens' Source (Maybe StorageSource)
-sStorageSource
-  = lens _sStorageSource
-      (\ s a -> s{_sStorageSource = a})
-
-instance FromJSON Source where
-        parseJSON
-          = withObject "Source"
-              (\ o ->
-                 Source' <$>
-                   (o .:? "repoSource") <*> (o .:? "storageSource"))
-
-instance ToJSON Source where
-        toJSON Source'{..}
-          = object
-              (catMaybes
-                 [("repoSource" .=) <$> _sRepoSource,
-                  ("storageSource" .=) <$> _sStorageSource])
-
--- | Service-specific metadata associated with the operation. It typically
--- contains progress information and common metadata such as create time.
--- Some services might not provide such metadata. Any method that returns a
--- long-running operation should document the metadata type, if any.
---
--- /See:/ 'operationMetadata' smart constructor.
-newtype OperationMetadata = OperationMetadata'
-    { _omAddtional :: HashMap Text JSONValue
-    } deriving (Eq,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'OperationMetadata' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'omAddtional'
-operationMetadata
-    :: HashMap Text JSONValue -- ^ 'omAddtional'
-    -> OperationMetadata
-operationMetadata pOmAddtional_ =
-    OperationMetadata'
-    { _omAddtional = _Coerce # pOmAddtional_
-    }
-
--- | Properties of the object. Contains field \'type with type URL.
-omAddtional :: Lens' OperationMetadata (HashMap Text JSONValue)
-omAddtional
-  = lens _omAddtional (\ s a -> s{_omAddtional = a}) .
-      _Coerce
-
-instance FromJSON OperationMetadata where
-        parseJSON
-          = withObject "OperationMetadata"
-              (\ o -> OperationMetadata' <$> (parseJSONObject o))
-
-instance ToJSON OperationMetadata where
-        toJSON = toJSON . _omAddtional
-
--- | Metadata for build operations.
---
--- /See:/ 'buildOperationMetadata' smart constructor.
-newtype BuildOperationMetadata = BuildOperationMetadata'
-    { _bomBuild :: Maybe Build
-    } deriving (Eq,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'BuildOperationMetadata' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'bomBuild'
-buildOperationMetadata
-    :: BuildOperationMetadata
-buildOperationMetadata =
-    BuildOperationMetadata'
-    { _bomBuild = Nothing
-    }
-
--- | The build that the operation is tracking.
-bomBuild :: Lens' BuildOperationMetadata (Maybe Build)
-bomBuild = lens _bomBuild (\ s a -> s{_bomBuild = a})
-
-instance FromJSON BuildOperationMetadata where
-        parseJSON
-          = withObject "BuildOperationMetadata"
-              (\ o -> BuildOperationMetadata' <$> (o .:? "build"))
-
-instance ToJSON BuildOperationMetadata where
-        toJSON BuildOperationMetadata'{..}
-          = object (catMaybes [("build" .=) <$> _bomBuild])
-
--- | Optional arguments to enable specific features of builds.
---
--- /See:/ 'buildOptions' smart constructor.
-data BuildOptions = BuildOptions'
-    { _boRequestedVerifyOption :: !(Maybe BuildOptionsRequestedVerifyOption)
-    , _boSourceProvenanceHash  :: !(Maybe [Text])
-    } deriving (Eq,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'BuildOptions' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'boRequestedVerifyOption'
---
--- * 'boSourceProvenanceHash'
-buildOptions
-    :: BuildOptions
-buildOptions =
-    BuildOptions'
-    { _boRequestedVerifyOption = Nothing
-    , _boSourceProvenanceHash = Nothing
-    }
-
--- | Requested verifiability options.
-boRequestedVerifyOption :: Lens' BuildOptions (Maybe BuildOptionsRequestedVerifyOption)
-boRequestedVerifyOption
-  = lens _boRequestedVerifyOption
-      (\ s a -> s{_boRequestedVerifyOption = a})
-
--- | Requested hash for SourceProvenance.
-boSourceProvenanceHash :: Lens' BuildOptions [Text]
-boSourceProvenanceHash
-  = lens _boSourceProvenanceHash
-      (\ s a -> s{_boSourceProvenanceHash = a})
-      . _Default
-      . _Coerce
-
-instance FromJSON BuildOptions where
-        parseJSON
-          = withObject "BuildOptions"
-              (\ o ->
-                 BuildOptions' <$>
-                   (o .:? "requestedVerifyOption") <*>
-                     (o .:? "sourceProvenanceHash" .!= mempty))
-
-instance ToJSON BuildOptions where
-        toJSON BuildOptions'{..}
-          = object
-              (catMaybes
-                 [("requestedVerifyOption" .=) <$>
-                    _boRequestedVerifyOption,
-                  ("sourceProvenanceHash" .=) <$>
-                    _boSourceProvenanceHash])
-
--- | The normal response of the operation in case of success. If the original
--- method returns no data on success, such as \`Delete\`, the response is
--- \`google.protobuf.Empty\`. If the original method is standard
--- \`Get\`\/\`Create\`\/\`Update\`, the response should be the resource.
--- For other methods, the response should have the type \`XxxResponse\`,
--- where \`Xxx\` is the original method name. For example, if the original
--- method name is \`TakeSnapshot()\`, the inferred response type is
--- \`TakeSnapshotResponse\`.
---
--- /See:/ 'operationResponse' smart constructor.
-newtype OperationResponse = OperationResponse'
-    { _orAddtional :: HashMap Text JSONValue
-    } deriving (Eq,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'OperationResponse' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'orAddtional'
-operationResponse
-    :: HashMap Text JSONValue -- ^ 'orAddtional'
-    -> OperationResponse
-operationResponse pOrAddtional_ =
-    OperationResponse'
-    { _orAddtional = _Coerce # pOrAddtional_
-    }
-
--- | Properties of the object. Contains field \'type with type URL.
-orAddtional :: Lens' OperationResponse (HashMap Text JSONValue)
-orAddtional
-  = lens _orAddtional (\ s a -> s{_orAddtional = a}) .
-      _Coerce
-
-instance FromJSON OperationResponse where
-        parseJSON
-          = withObject "OperationResponse"
-              (\ o -> OperationResponse' <$> (parseJSONObject o))
-
-instance ToJSON OperationResponse where
-        toJSON = toJSON . _orAddtional
-
--- | Configuration for an automated build in response to source repository
--- changes.
---
--- /See:/ 'buildTrigger' smart constructor.
-data BuildTrigger = BuildTrigger'
-    { _btDisabled        :: !(Maybe Bool)
-    , _btTriggerTemplate :: !(Maybe RepoSource)
-    , _btBuild           :: !(Maybe Build)
-    , _btId              :: !(Maybe Text)
-    , _btDescription     :: !(Maybe Text)
-    , _btFilename        :: !(Maybe Text)
-    , _btCreateTime      :: !(Maybe DateTime')
-    } deriving (Eq,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'BuildTrigger' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'btDisabled'
---
--- * 'btTriggerTemplate'
---
--- * 'btBuild'
---
--- * 'btId'
---
--- * 'btDescription'
---
--- * 'btFilename'
---
--- * 'btCreateTime'
-buildTrigger
-    :: BuildTrigger
-buildTrigger =
-    BuildTrigger'
-    { _btDisabled = Nothing
-    , _btTriggerTemplate = Nothing
-    , _btBuild = Nothing
-    , _btId = Nothing
-    , _btDescription = Nothing
-    , _btFilename = Nothing
-    , _btCreateTime = Nothing
-    }
-
--- | If true, the trigger will never result in a build.
-btDisabled :: Lens' BuildTrigger (Maybe Bool)
-btDisabled
-  = lens _btDisabled (\ s a -> s{_btDisabled = a})
-
--- | Template describing the types of source changes to trigger a build.
--- Branch and tag names in trigger templates are interpreted as regular
--- expressions. Any branch or tag change that matches that regular
--- expression will trigger a build.
-btTriggerTemplate :: Lens' BuildTrigger (Maybe RepoSource)
-btTriggerTemplate
-  = lens _btTriggerTemplate
-      (\ s a -> s{_btTriggerTemplate = a})
-
--- | Contents of the build template.
-btBuild :: Lens' BuildTrigger (Maybe Build)
-btBuild = lens _btBuild (\ s a -> s{_btBuild = a})
-
--- | Unique identifier of the trigger. \'OutputOnly
-btId :: Lens' BuildTrigger (Maybe Text)
-btId = lens _btId (\ s a -> s{_btId = a})
-
--- | Human-readable description of this trigger.
-btDescription :: Lens' BuildTrigger (Maybe Text)
-btDescription
-  = lens _btDescription
-      (\ s a -> s{_btDescription = a})
-
--- | Path, from the source root, to a file whose contents is used for the
--- template.
-btFilename :: Lens' BuildTrigger (Maybe Text)
-btFilename
-  = lens _btFilename (\ s a -> s{_btFilename = a})
-
--- | Time when the trigger was created. \'OutputOnly
-btCreateTime :: Lens' BuildTrigger (Maybe UTCTime)
-btCreateTime
-  = lens _btCreateTime (\ s a -> s{_btCreateTime = a})
-      . mapping _DateTime
-
-instance FromJSON BuildTrigger where
-        parseJSON
-          = withObject "BuildTrigger"
-              (\ o ->
-                 BuildTrigger' <$>
-                   (o .:? "disabled") <*> (o .:? "triggerTemplate") <*>
-                     (o .:? "build")
-                     <*> (o .:? "id")
-                     <*> (o .:? "description")
-                     <*> (o .:? "filename")
-                     <*> (o .:? "createTime"))
-
-instance ToJSON BuildTrigger where
-        toJSON BuildTrigger'{..}
-          = object
-              (catMaybes
-                 [("disabled" .=) <$> _btDisabled,
-                  ("triggerTemplate" .=) <$> _btTriggerTemplate,
-                  ("build" .=) <$> _btBuild, ("id" .=) <$> _btId,
-                  ("description" .=) <$> _btDescription,
-                  ("filename" .=) <$> _btFilename,
-                  ("createTime" .=) <$> _btCreateTime])
-
--- | BuiltImage describes an image built by the pipeline.
---
--- /See:/ 'builtImage' smart constructor.
-data BuiltImage = BuiltImage'
-    { _biName   :: !(Maybe Text)
-    , _biDigest :: !(Maybe Text)
-    } deriving (Eq,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'BuiltImage' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'biName'
---
--- * 'biDigest'
-builtImage
-    :: BuiltImage
-builtImage =
-    BuiltImage'
-    { _biName = Nothing
-    , _biDigest = Nothing
-    }
-
--- | Name used to push the container image to Google Container Registry, as
--- presented to \`docker push\`.
-biName :: Lens' BuiltImage (Maybe Text)
-biName = lens _biName (\ s a -> s{_biName = a})
-
--- | Docker Registry 2.0 digest.
-biDigest :: Lens' BuiltImage (Maybe Text)
-biDigest = lens _biDigest (\ s a -> s{_biDigest = a})
-
-instance FromJSON BuiltImage where
-        parseJSON
-          = withObject "BuiltImage"
-              (\ o ->
-                 BuiltImage' <$> (o .:? "name") <*> (o .:? "digest"))
-
-instance ToJSON BuiltImage where
-        toJSON BuiltImage'{..}
-          = object
-              (catMaybes
-                 [("name" .=) <$> _biName,
+-- | A step in the build pipeline.
+--
+-- /See:/ 'buildStep' smart constructor.
+data BuildStep = BuildStep'
+    { _bsStatus     :: !(Maybe BuildStepStatus)
+    , _bsDir        :: !(Maybe Text)
+    , _bsArgs       :: !(Maybe [Text])
+    , _bsEnv        :: !(Maybe [Text])
+    , _bsPullTiming :: !(Maybe TimeSpan)
+    , _bsEntrypoint :: !(Maybe Text)
+    , _bsWaitFor    :: !(Maybe [Text])
+    , _bsName       :: !(Maybe Text)
+    , _bsId         :: !(Maybe Text)
+    , _bsTiming     :: !(Maybe TimeSpan)
+    , _bsSecretEnv  :: !(Maybe [Text])
+    , _bsTimeout    :: !(Maybe GDuration)
+    , _bsVolumes    :: !(Maybe [Volume])
+    } deriving (Eq,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'BuildStep' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'bsStatus'
+--
+-- * 'bsDir'
+--
+-- * 'bsArgs'
+--
+-- * 'bsEnv'
+--
+-- * 'bsPullTiming'
+--
+-- * 'bsEntrypoint'
+--
+-- * 'bsWaitFor'
+--
+-- * 'bsName'
+--
+-- * 'bsId'
+--
+-- * 'bsTiming'
+--
+-- * 'bsSecretEnv'
+--
+-- * 'bsTimeout'
+--
+-- * 'bsVolumes'
+buildStep
+    :: BuildStep
+buildStep =
+    BuildStep'
+    { _bsStatus = Nothing
+    , _bsDir = Nothing
+    , _bsArgs = Nothing
+    , _bsEnv = Nothing
+    , _bsPullTiming = Nothing
+    , _bsEntrypoint = Nothing
+    , _bsWaitFor = Nothing
+    , _bsName = Nothing
+    , _bsId = Nothing
+    , _bsTiming = Nothing
+    , _bsSecretEnv = Nothing
+    , _bsTimeout = Nothing
+    , _bsVolumes = Nothing
+    }
+
+-- | Output only. Status of the build step. At this time, build step status
+-- is only updated on build completion; step status is not updated in
+-- real-time as the build progresses.
+bsStatus :: Lens' BuildStep (Maybe BuildStepStatus)
+bsStatus = lens _bsStatus (\ s a -> s{_bsStatus = a})
+
+-- | Working directory to use when running this step\'s container. If this
+-- value is a relative path, it is relative to the build\'s working
+-- directory. If this value is absolute, it may be outside the build\'s
+-- working directory, in which case the contents of the path may not be
+-- persisted across build step executions, unless a \`volume\` for that
+-- path is specified. If the build specifies a \`RepoSource\` with \`dir\`
+-- and a step with a \`dir\`, which specifies an absolute path, the
+-- \`RepoSource\` \`dir\` is ignored for the step\'s execution.
+bsDir :: Lens' BuildStep (Maybe Text)
+bsDir = lens _bsDir (\ s a -> s{_bsDir = a})
+
+-- | A list of arguments that will be presented to the step when it is
+-- started. If the image used to run the step\'s container has an
+-- entrypoint, the \`args\` are used as arguments to that entrypoint. If
+-- the image does not define an entrypoint, the first element in args is
+-- used as the entrypoint, and the remainder will be used as arguments.
+bsArgs :: Lens' BuildStep [Text]
+bsArgs
+  = lens _bsArgs (\ s a -> s{_bsArgs = a}) . _Default .
+      _Coerce
+
+-- | A list of environment variable definitions to be used when running a
+-- step. The elements are of the form \"KEY=VALUE\" for the environment
+-- variable \"KEY\" being given the value \"VALUE\".
+bsEnv :: Lens' BuildStep [Text]
+bsEnv
+  = lens _bsEnv (\ s a -> s{_bsEnv = a}) . _Default .
+      _Coerce
+
+-- | Output only. Stores timing information for pulling this build step\'s
+-- builder image only.
+bsPullTiming :: Lens' BuildStep (Maybe TimeSpan)
+bsPullTiming
+  = lens _bsPullTiming (\ s a -> s{_bsPullTiming = a})
+
+-- | Entrypoint to be used instead of the build step image\'s default
+-- entrypoint. If unset, the image\'s default entrypoint is used.
+bsEntrypoint :: Lens' BuildStep (Maybe Text)
+bsEntrypoint
+  = lens _bsEntrypoint (\ s a -> s{_bsEntrypoint = a})
+
+-- | The ID(s) of the step(s) that this build step depends on. This build
+-- step will not start until all the build steps in \`wait_for\` have
+-- completed successfully. If \`wait_for\` is empty, this build step will
+-- start when all previous build steps in the \`Build.Steps\` list have
+-- completed successfully.
+bsWaitFor :: Lens' BuildStep [Text]
+bsWaitFor
+  = lens _bsWaitFor (\ s a -> s{_bsWaitFor = a}) .
+      _Default
+      . _Coerce
+
+-- | Required. The name of the container image that will run this particular
+-- build step. If the image is available in the host\'s Docker daemon\'s
+-- cache, it will be run directly. If not, the host will attempt to pull
+-- the image first, using the builder service account\'s credentials if
+-- necessary. The Docker daemon\'s cache will already have the latest
+-- versions of all of the officially supported build steps
+-- ([https:\/\/github.com\/GoogleCloudPlatform\/cloud-builders](https:\/\/github.com\/GoogleCloudPlatform\/cloud-builders)).
+-- The Docker daemon will also have cached many of the layers for some
+-- popular images, like \"ubuntu\", \"debian\", but they will be refreshed
+-- at the time you attempt to use them. If you built an image in a previous
+-- build step, it will be stored in the host\'s Docker daemon\'s cache and
+-- is available to use as the name for a later build step.
+bsName :: Lens' BuildStep (Maybe Text)
+bsName = lens _bsName (\ s a -> s{_bsName = a})
+
+-- | Unique identifier for this build step, used in \`wait_for\` to reference
+-- this build step as a dependency.
+bsId :: Lens' BuildStep (Maybe Text)
+bsId = lens _bsId (\ s a -> s{_bsId = a})
+
+-- | Output only. Stores timing information for executing this build step.
+bsTiming :: Lens' BuildStep (Maybe TimeSpan)
+bsTiming = lens _bsTiming (\ s a -> s{_bsTiming = a})
+
+-- | A list of environment variables which are encrypted using a Cloud Key
+-- Management Service crypto key. These values must be specified in the
+-- build\'s \`Secret\`.
+bsSecretEnv :: Lens' BuildStep [Text]
+bsSecretEnv
+  = lens _bsSecretEnv (\ s a -> s{_bsSecretEnv = a}) .
+      _Default
+      . _Coerce
+
+-- | Time limit for executing this build step. If not defined, the step has
+-- no time limit and will be allowed to continue to run until either it
+-- completes or the build itself times out.
+bsTimeout :: Lens' BuildStep (Maybe Scientific)
+bsTimeout
+  = lens _bsTimeout (\ s a -> s{_bsTimeout = a}) .
+      mapping _GDuration
+
+-- | List of volumes to mount into the build step. Each volume is created as
+-- an empty volume prior to execution of the build step. Upon completion of
+-- the build, volumes and their contents are discarded. Using a named
+-- volume in only one step is not valid as it is indicative of a build
+-- request with an incorrect configuration.
+bsVolumes :: Lens' BuildStep [Volume]
+bsVolumes
+  = lens _bsVolumes (\ s a -> s{_bsVolumes = a}) .
+      _Default
+      . _Coerce
+
+instance FromJSON BuildStep where
+        parseJSON
+          = withObject "BuildStep"
+              (\ o ->
+                 BuildStep' <$>
+                   (o .:? "status") <*> (o .:? "dir") <*>
+                     (o .:? "args" .!= mempty)
+                     <*> (o .:? "env" .!= mempty)
+                     <*> (o .:? "pullTiming")
+                     <*> (o .:? "entrypoint")
+                     <*> (o .:? "waitFor" .!= mempty)
+                     <*> (o .:? "name")
+                     <*> (o .:? "id")
+                     <*> (o .:? "timing")
+                     <*> (o .:? "secretEnv" .!= mempty)
+                     <*> (o .:? "timeout")
+                     <*> (o .:? "volumes" .!= mempty))
+
+instance ToJSON BuildStep where
+        toJSON BuildStep'{..}
+          = object
+              (catMaybes
+                 [("status" .=) <$> _bsStatus, ("dir" .=) <$> _bsDir,
+                  ("args" .=) <$> _bsArgs, ("env" .=) <$> _bsEnv,
+                  ("pullTiming" .=) <$> _bsPullTiming,
+                  ("entrypoint" .=) <$> _bsEntrypoint,
+                  ("waitFor" .=) <$> _bsWaitFor,
+                  ("name" .=) <$> _bsName, ("id" .=) <$> _bsId,
+                  ("timing" .=) <$> _bsTiming,
+                  ("secretEnv" .=) <$> _bsSecretEnv,
+                  ("timeout" .=) <$> _bsTimeout,
+                  ("volumes" .=) <$> _bsVolumes])
+
+-- | Provenance of the source. Ways to find the original source, or verify
+-- that some source was used for this build.
+--
+-- /See:/ 'sourceProvenance' smart constructor.
+data SourceProvenance = SourceProvenance'
+    { _spResolvedRepoSource    :: !(Maybe RepoSource)
+    , _spResolvedStorageSource :: !(Maybe StorageSource)
+    , _spFileHashes            :: !(Maybe SourceProvenanceFileHashes)
+    } deriving (Eq,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'SourceProvenance' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'spResolvedRepoSource'
+--
+-- * 'spResolvedStorageSource'
+--
+-- * 'spFileHashes'
+sourceProvenance
+    :: SourceProvenance
+sourceProvenance =
+    SourceProvenance'
+    { _spResolvedRepoSource = Nothing
+    , _spResolvedStorageSource = Nothing
+    , _spFileHashes = Nothing
+    }
+
+-- | A copy of the build\'s \`source.repo_source\`, if exists, with any
+-- revisions resolved.
+spResolvedRepoSource :: Lens' SourceProvenance (Maybe RepoSource)
+spResolvedRepoSource
+  = lens _spResolvedRepoSource
+      (\ s a -> s{_spResolvedRepoSource = a})
+
+-- | A copy of the build\'s \`source.storage_source\`, if exists, with any
+-- generations resolved.
+spResolvedStorageSource :: Lens' SourceProvenance (Maybe StorageSource)
+spResolvedStorageSource
+  = lens _spResolvedStorageSource
+      (\ s a -> s{_spResolvedStorageSource = a})
+
+-- | Output only. Hash(es) of the build source, which can be used to verify
+-- that the originalsource integrity was maintained in the build. Note that
+-- \`FileHashes\` willonly be populated if \`BuildOptions\` has requested a
+-- \`SourceProvenanceHash\`. The keys to this map are file paths used as
+-- build source and the values contain the hash values for those files. If
+-- the build source came in a single package such as a gzipped tarfile
+-- (\`.tar.gz\`), the \`FileHash\` will be for the single path to that
+-- file.
+spFileHashes :: Lens' SourceProvenance (Maybe SourceProvenanceFileHashes)
+spFileHashes
+  = lens _spFileHashes (\ s a -> s{_spFileHashes = a})
+
+instance FromJSON SourceProvenance where
+        parseJSON
+          = withObject "SourceProvenance"
+              (\ o ->
+                 SourceProvenance' <$>
+                   (o .:? "resolvedRepoSource") <*>
+                     (o .:? "resolvedStorageSource")
+                     <*> (o .:? "fileHashes"))
+
+instance ToJSON SourceProvenance where
+        toJSON SourceProvenance'{..}
+          = object
+              (catMaybes
+                 [("resolvedRepoSource" .=) <$> _spResolvedRepoSource,
+                  ("resolvedStorageSource" .=) <$>
+                    _spResolvedStorageSource,
+                  ("fileHashes" .=) <$> _spFileHashes])
+
+-- | Response including listed builds.
+--
+-- /See:/ 'listBuildsResponse' smart constructor.
+data ListBuildsResponse = ListBuildsResponse'
+    { _lbrNextPageToken :: !(Maybe Text)
+    , _lbrBuilds        :: !(Maybe [Build])
+    } deriving (Eq,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'ListBuildsResponse' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'lbrNextPageToken'
+--
+-- * 'lbrBuilds'
+listBuildsResponse
+    :: ListBuildsResponse
+listBuildsResponse =
+    ListBuildsResponse'
+    { _lbrNextPageToken = Nothing
+    , _lbrBuilds = Nothing
+    }
+
+-- | Token to receive the next page of results.
+lbrNextPageToken :: Lens' ListBuildsResponse (Maybe Text)
+lbrNextPageToken
+  = lens _lbrNextPageToken
+      (\ s a -> s{_lbrNextPageToken = a})
+
+-- | Builds will be sorted by \`create_time\`, descending.
+lbrBuilds :: Lens' ListBuildsResponse [Build]
+lbrBuilds
+  = lens _lbrBuilds (\ s a -> s{_lbrBuilds = a}) .
+      _Default
+      . _Coerce
+
+instance FromJSON ListBuildsResponse where
+        parseJSON
+          = withObject "ListBuildsResponse"
+              (\ o ->
+                 ListBuildsResponse' <$>
+                   (o .:? "nextPageToken") <*>
+                     (o .:? "builds" .!= mempty))
+
+instance ToJSON ListBuildsResponse where
+        toJSON ListBuildsResponse'{..}
+          = object
+              (catMaybes
+                 [("nextPageToken" .=) <$> _lbrNextPageToken,
+                  ("builds" .=) <$> _lbrBuilds])
+
+-- | The \`Status\` type defines a logical error model that is suitable for
+-- different programming environments, including REST APIs and RPC APIs. It
+-- is used by [gRPC](https:\/\/github.com\/grpc). The error model is
+-- designed to be: - Simple to use and understand for most users - Flexible
+-- enough to meet unexpected needs # Overview The \`Status\` message
+-- contains three pieces of data: error code, error message, and error
+-- details. The error code should be an enum value of google.rpc.Code, but
+-- it may accept additional error codes if needed. The error message should
+-- be a developer-facing English message that helps developers *understand*
+-- and *resolve* the error. If a localized user-facing error message is
+-- needed, put the localized message in the error details or localize it in
+-- the client. The optional error details may contain arbitrary information
+-- about the error. There is a predefined set of error detail types in the
+-- package \`google.rpc\` that can be used for common error conditions. #
+-- Language mapping The \`Status\` message is the logical representation of
+-- the error model, but it is not necessarily the actual wire format. When
+-- the \`Status\` message is exposed in different client libraries and
+-- different wire protocols, it can be mapped differently. For example, it
+-- will likely be mapped to some exceptions in Java, but more likely mapped
+-- to some error codes in C. # Other uses The error model and the
+-- \`Status\` message can be used in a variety of environments, either with
+-- or without APIs, to provide a consistent developer experience across
+-- different environments. Example uses of this error model include: -
+-- Partial errors. If a service needs to return partial errors to the
+-- client, it may embed the \`Status\` in the normal response to indicate
+-- the partial errors. - Workflow errors. A typical workflow has multiple
+-- steps. Each step may have a \`Status\` message for error reporting. -
+-- Batch operations. If a client uses batch request and batch response, the
+-- \`Status\` message should be used directly inside batch response, one
+-- for each error sub-response. - Asynchronous operations. If an API call
+-- embeds asynchronous operation results in its response, the status of
+-- those operations should be represented directly using the \`Status\`
+-- message. - Logging. If some API errors are stored in logs, the message
+-- \`Status\` could be used directly after any stripping needed for
+-- security\/privacy reasons.
+--
+-- /See:/ 'status' smart constructor.
+data Status = Status'
+    { _sDetails :: !(Maybe [StatusDetailsItem])
+    , _sCode    :: !(Maybe (Textual Int32))
+    , _sMessage :: !(Maybe Text)
+    } deriving (Eq,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'Status' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'sDetails'
+--
+-- * 'sCode'
+--
+-- * 'sMessage'
+status
+    :: Status
+status =
+    Status'
+    { _sDetails = Nothing
+    , _sCode = Nothing
+    , _sMessage = Nothing
+    }
+
+-- | A list of messages that carry the error details. There is a common set
+-- of message types for APIs to use.
+sDetails :: Lens' Status [StatusDetailsItem]
+sDetails
+  = lens _sDetails (\ s a -> s{_sDetails = a}) .
+      _Default
+      . _Coerce
+
+-- | The status code, which should be an enum value of google.rpc.Code.
+sCode :: Lens' Status (Maybe Int32)
+sCode
+  = lens _sCode (\ s a -> s{_sCode = a}) .
+      mapping _Coerce
+
+-- | A developer-facing error message, which should be in English. Any
+-- user-facing error message should be localized and sent in the
+-- google.rpc.Status.details field, or localized by the client.
+sMessage :: Lens' Status (Maybe Text)
+sMessage = lens _sMessage (\ s a -> s{_sMessage = a})
+
+instance FromJSON Status where
+        parseJSON
+          = withObject "Status"
+              (\ o ->
+                 Status' <$>
+                   (o .:? "details" .!= mempty) <*> (o .:? "code") <*>
+                     (o .:? "message"))
+
+instance ToJSON Status where
+        toJSON Status'{..}
+          = object
+              (catMaybes
+                 [("details" .=) <$> _sDetails,
+                  ("code" .=) <$> _sCode,
+                  ("message" .=) <$> _sMessage])
+
+-- | Specifies a build to retry.
+--
+-- /See:/ 'retryBuildRequest' smart constructor.
+data RetryBuildRequest =
+    RetryBuildRequest'
+    deriving (Eq,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'RetryBuildRequest' with the minimum fields required to make a request.
+--
+retryBuildRequest
+    :: RetryBuildRequest
+retryBuildRequest = RetryBuildRequest'
+
+instance FromJSON RetryBuildRequest where
+        parseJSON
+          = withObject "RetryBuildRequest"
+              (\ o -> pure RetryBuildRequest')
+
+instance ToJSON RetryBuildRequest where
+        toJSON = const emptyObject
+
+-- | The response message for Operations.ListOperations.
+--
+-- /See:/ 'listOperationsResponse' smart constructor.
+data ListOperationsResponse = ListOperationsResponse'
+    { _lorNextPageToken :: !(Maybe Text)
+    , _lorOperations    :: !(Maybe [Operation])
+    } deriving (Eq,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'ListOperationsResponse' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'lorNextPageToken'
+--
+-- * 'lorOperations'
+listOperationsResponse
+    :: ListOperationsResponse
+listOperationsResponse =
+    ListOperationsResponse'
+    { _lorNextPageToken = Nothing
+    , _lorOperations = Nothing
+    }
+
+-- | The standard List next-page token.
+lorNextPageToken :: Lens' ListOperationsResponse (Maybe Text)
+lorNextPageToken
+  = lens _lorNextPageToken
+      (\ s a -> s{_lorNextPageToken = a})
+
+-- | A list of operations that matches the specified filter in the request.
+lorOperations :: Lens' ListOperationsResponse [Operation]
+lorOperations
+  = lens _lorOperations
+      (\ s a -> s{_lorOperations = a})
+      . _Default
+      . _Coerce
+
+instance FromJSON ListOperationsResponse where
+        parseJSON
+          = withObject "ListOperationsResponse"
+              (\ o ->
+                 ListOperationsResponse' <$>
+                   (o .:? "nextPageToken") <*>
+                     (o .:? "operations" .!= mempty))
+
+instance ToJSON ListOperationsResponse where
+        toJSON ListOperationsResponse'{..}
+          = object
+              (catMaybes
+                 [("nextPageToken" .=) <$> _lorNextPageToken,
+                  ("operations" .=) <$> _lorOperations])
+
+-- | The request message for Operations.CancelOperation.
+--
+-- /See:/ 'cancelOperationRequest' smart constructor.
+data CancelOperationRequest =
+    CancelOperationRequest'
+    deriving (Eq,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'CancelOperationRequest' with the minimum fields required to make a request.
+--
+cancelOperationRequest
+    :: CancelOperationRequest
+cancelOperationRequest = CancelOperationRequest'
+
+instance FromJSON CancelOperationRequest where
+        parseJSON
+          = withObject "CancelOperationRequest"
+              (\ o -> pure CancelOperationRequest')
+
+instance ToJSON CancelOperationRequest where
+        toJSON = const emptyObject
+
+-- | Container message for hash values.
+--
+-- /See:/ 'hash' smart constructor.
+data Hash = Hash'
+    { _hValue :: !(Maybe Bytes)
+    , _hType  :: !(Maybe HashType)
+    } deriving (Eq,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'Hash' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'hValue'
+--
+-- * 'hType'
+hash
+    :: Hash
+hash =
+    Hash'
+    { _hValue = Nothing
+    , _hType = Nothing
+    }
+
+-- | The hash value.
+hValue :: Lens' Hash (Maybe ByteString)
+hValue
+  = lens _hValue (\ s a -> s{_hValue = a}) .
+      mapping _Bytes
+
+-- | The type of hash that was performed.
+hType :: Lens' Hash (Maybe HashType)
+hType = lens _hType (\ s a -> s{_hType = a})
+
+instance FromJSON Hash where
+        parseJSON
+          = withObject "Hash"
+              (\ o -> Hash' <$> (o .:? "value") <*> (o .:? "type"))
+
+instance ToJSON Hash where
+        toJSON Hash'{..}
+          = object
+              (catMaybes
+                 [("value" .=) <$> _hValue, ("type" .=) <$> _hType])
+
+-- | Artifacts created by the build pipeline.
+--
+-- /See:/ 'results' smart constructor.
+data Results = Results'
+    { _rImages           :: !(Maybe [BuiltImage])
+    , _rBuildStepImages  :: !(Maybe [Text])
+    , _rArtifactManifest :: !(Maybe Text)
+    , _rBuildStepOutputs :: !(Maybe [Bytes])
+    , _rNumArtifacts     :: !(Maybe (Textual Int64))
+    } deriving (Eq,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'Results' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'rImages'
+--
+-- * 'rBuildStepImages'
+--
+-- * 'rArtifactManifest'
+--
+-- * 'rBuildStepOutputs'
+--
+-- * 'rNumArtifacts'
+results
+    :: Results
+results =
+    Results'
+    { _rImages = Nothing
+    , _rBuildStepImages = Nothing
+    , _rArtifactManifest = Nothing
+    , _rBuildStepOutputs = Nothing
+    , _rNumArtifacts = Nothing
+    }
+
+-- | Container images that were built as a part of the build.
+rImages :: Lens' Results [BuiltImage]
+rImages
+  = lens _rImages (\ s a -> s{_rImages = a}) . _Default
+      . _Coerce
+
+-- | List of build step digests, in the order corresponding to build step
+-- indices.
+rBuildStepImages :: Lens' Results [Text]
+rBuildStepImages
+  = lens _rBuildStepImages
+      (\ s a -> s{_rBuildStepImages = a})
+      . _Default
+      . _Coerce
+
+-- | Path to the artifact manifest. Only populated when artifacts are
+-- uploaded.
+rArtifactManifest :: Lens' Results (Maybe Text)
+rArtifactManifest
+  = lens _rArtifactManifest
+      (\ s a -> s{_rArtifactManifest = a})
+
+-- | List of build step outputs, produced by builder images, in the order
+-- corresponding to build step indices. [Cloud
+-- Builders](https:\/\/cloud.google.com\/cloud-build\/docs\/cloud-builders)
+-- can produce this output by writing to \`$BUILDER_OUTPUT\/output\`. Only
+-- the first 4KB of data is stored.
+rBuildStepOutputs :: Lens' Results [ByteString]
+rBuildStepOutputs
+  = lens _rBuildStepOutputs
+      (\ s a -> s{_rBuildStepOutputs = a})
+      . _Default
+      . _Coerce
+
+-- | Number of artifacts uploaded. Only populated when artifacts are
+-- uploaded.
+rNumArtifacts :: Lens' Results (Maybe Int64)
+rNumArtifacts
+  = lens _rNumArtifacts
+      (\ s a -> s{_rNumArtifacts = a})
+      . mapping _Coerce
+
+instance FromJSON Results where
+        parseJSON
+          = withObject "Results"
+              (\ o ->
+                 Results' <$>
+                   (o .:? "images" .!= mempty) <*>
+                     (o .:? "buildStepImages" .!= mempty)
+                     <*> (o .:? "artifactManifest")
+                     <*> (o .:? "buildStepOutputs" .!= mempty)
+                     <*> (o .:? "numArtifacts"))
+
+instance ToJSON Results where
+        toJSON Results'{..}
+          = object
+              (catMaybes
+                 [("images" .=) <$> _rImages,
+                  ("buildStepImages" .=) <$> _rBuildStepImages,
+                  ("artifactManifest" .=) <$> _rArtifactManifest,
+                  ("buildStepOutputs" .=) <$> _rBuildStepOutputs,
+                  ("numArtifacts" .=) <$> _rNumArtifacts])
+
+-- | Substitutions data for Build resource.
+--
+-- /See:/ 'buildTriggerSubstitutions' smart constructor.
+newtype BuildTriggerSubstitutions = BuildTriggerSubstitutions'
+    { _btsAddtional :: HashMap Text Text
+    } deriving (Eq,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'BuildTriggerSubstitutions' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'btsAddtional'
+buildTriggerSubstitutions
+    :: HashMap Text Text -- ^ 'btsAddtional'
+    -> BuildTriggerSubstitutions
+buildTriggerSubstitutions pBtsAddtional_ =
+    BuildTriggerSubstitutions'
+    { _btsAddtional = _Coerce # pBtsAddtional_
+    }
+
+btsAddtional :: Lens' BuildTriggerSubstitutions (HashMap Text Text)
+btsAddtional
+  = lens _btsAddtional (\ s a -> s{_btsAddtional = a})
+      . _Coerce
+
+instance FromJSON BuildTriggerSubstitutions where
+        parseJSON
+          = withObject "BuildTriggerSubstitutions"
+              (\ o ->
+                 BuildTriggerSubstitutions' <$> (parseJSONObject o))
+
+instance ToJSON BuildTriggerSubstitutions where
+        toJSON = toJSON . _btsAddtional
+
+-- | Location of the source in a Google Cloud Source Repository.
+--
+-- /See:/ 'repoSource' smart constructor.
+data RepoSource = RepoSource'
+    { _rsRepoName   :: !(Maybe Text)
+    , _rsDir        :: !(Maybe Text)
+    , _rsCommitSha  :: !(Maybe Text)
+    , _rsBranchName :: !(Maybe Text)
+    , _rsTagName    :: !(Maybe Text)
+    , _rsProjectId  :: !(Maybe Text)
+    } deriving (Eq,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'RepoSource' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'rsRepoName'
+--
+-- * 'rsDir'
+--
+-- * 'rsCommitSha'
+--
+-- * 'rsBranchName'
+--
+-- * 'rsTagName'
+--
+-- * 'rsProjectId'
+repoSource
+    :: RepoSource
+repoSource =
+    RepoSource'
+    { _rsRepoName = Nothing
+    , _rsDir = Nothing
+    , _rsCommitSha = Nothing
+    , _rsBranchName = Nothing
+    , _rsTagName = Nothing
+    , _rsProjectId = Nothing
+    }
+
+-- | Name of the Cloud Source Repository. If omitted, the name \"default\" is
+-- assumed.
+rsRepoName :: Lens' RepoSource (Maybe Text)
+rsRepoName
+  = lens _rsRepoName (\ s a -> s{_rsRepoName = a})
+
+-- | Directory, relative to the source root, in which to run the build. This
+-- must be a relative path. If a step\'s \`dir\` is specified and is an
+-- absolute path, this value is ignored for that step\'s execution.
+rsDir :: Lens' RepoSource (Maybe Text)
+rsDir = lens _rsDir (\ s a -> s{_rsDir = a})
+
+-- | Explicit commit SHA to build.
+rsCommitSha :: Lens' RepoSource (Maybe Text)
+rsCommitSha
+  = lens _rsCommitSha (\ s a -> s{_rsCommitSha = a})
+
+-- | Name of the branch to build.
+rsBranchName :: Lens' RepoSource (Maybe Text)
+rsBranchName
+  = lens _rsBranchName (\ s a -> s{_rsBranchName = a})
+
+-- | Name of the tag to build.
+rsTagName :: Lens' RepoSource (Maybe Text)
+rsTagName
+  = lens _rsTagName (\ s a -> s{_rsTagName = a})
+
+-- | ID of the project that owns the Cloud Source Repository. If omitted, the
+-- project ID requesting the build is assumed.
+rsProjectId :: Lens' RepoSource (Maybe Text)
+rsProjectId
+  = lens _rsProjectId (\ s a -> s{_rsProjectId = a})
+
+instance FromJSON RepoSource where
+        parseJSON
+          = withObject "RepoSource"
+              (\ o ->
+                 RepoSource' <$>
+                   (o .:? "repoName") <*> (o .:? "dir") <*>
+                     (o .:? "commitSha")
+                     <*> (o .:? "branchName")
+                     <*> (o .:? "tagName")
+                     <*> (o .:? "projectId"))
+
+instance ToJSON RepoSource where
+        toJSON RepoSource'{..}
+          = object
+              (catMaybes
+                 [("repoName" .=) <$> _rsRepoName,
+                  ("dir" .=) <$> _rsDir,
+                  ("commitSha" .=) <$> _rsCommitSha,
+                  ("branchName" .=) <$> _rsBranchName,
+                  ("tagName" .=) <$> _rsTagName,
+                  ("projectId" .=) <$> _rsProjectId])
+
+-- | This resource represents a long-running operation that is the result of
+-- a network API call.
+--
+-- /See:/ 'operation' smart constructor.
+data Operation = Operation'
+    { _oDone     :: !(Maybe Bool)
+    , _oError    :: !(Maybe Status)
+    , _oResponse :: !(Maybe OperationResponse)
+    , _oName     :: !(Maybe Text)
+    , _oMetadata :: !(Maybe OperationMetadata)
+    } deriving (Eq,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'Operation' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'oDone'
+--
+-- * 'oError'
+--
+-- * 'oResponse'
+--
+-- * 'oName'
+--
+-- * 'oMetadata'
+operation
+    :: Operation
+operation =
+    Operation'
+    { _oDone = Nothing
+    , _oError = Nothing
+    , _oResponse = Nothing
+    , _oName = Nothing
+    , _oMetadata = Nothing
+    }
+
+-- | If the value is \`false\`, it means the operation is still in progress.
+-- If \`true\`, the operation is completed, and either \`error\` or
+-- \`response\` is available.
+oDone :: Lens' Operation (Maybe Bool)
+oDone = lens _oDone (\ s a -> s{_oDone = a})
+
+-- | The error result of the operation in case of failure or cancellation.
+oError :: Lens' Operation (Maybe Status)
+oError = lens _oError (\ s a -> s{_oError = a})
+
+-- | The normal response of the operation in case of success. If the original
+-- method returns no data on success, such as \`Delete\`, the response is
+-- \`google.protobuf.Empty\`. If the original method is standard
+-- \`Get\`\/\`Create\`\/\`Update\`, the response should be the resource.
+-- For other methods, the response should have the type \`XxxResponse\`,
+-- where \`Xxx\` is the original method name. For example, if the original
+-- method name is \`TakeSnapshot()\`, the inferred response type is
+-- \`TakeSnapshotResponse\`.
+oResponse :: Lens' Operation (Maybe OperationResponse)
+oResponse
+  = lens _oResponse (\ s a -> s{_oResponse = a})
+
+-- | The server-assigned name, which is only unique within the same service
+-- that originally returns it. If you use the default HTTP mapping, the
+-- \`name\` should have the format of \`operations\/some\/unique\/name\`.
+oName :: Lens' Operation (Maybe Text)
+oName = lens _oName (\ s a -> s{_oName = a})
+
+-- | Service-specific metadata associated with the operation. It typically
+-- contains progress information and common metadata such as create time.
+-- Some services might not provide such metadata. Any method that returns a
+-- long-running operation should document the metadata type, if any.
+oMetadata :: Lens' Operation (Maybe OperationMetadata)
+oMetadata
+  = lens _oMetadata (\ s a -> s{_oMetadata = a})
+
+instance FromJSON Operation where
+        parseJSON
+          = withObject "Operation"
+              (\ o ->
+                 Operation' <$>
+                   (o .:? "done") <*> (o .:? "error") <*>
+                     (o .:? "response")
+                     <*> (o .:? "name")
+                     <*> (o .:? "metadata"))
+
+instance ToJSON Operation where
+        toJSON Operation'{..}
+          = object
+              (catMaybes
+                 [("done" .=) <$> _oDone, ("error" .=) <$> _oError,
+                  ("response" .=) <$> _oResponse,
+                  ("name" .=) <$> _oName,
+                  ("metadata" .=) <$> _oMetadata])
+
+-- | A generic empty message that you can re-use to avoid defining duplicated
+-- empty messages in your APIs. A typical example is to use it as the
+-- request or the response type of an API method. For instance: service Foo
+-- { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The
+-- JSON representation for \`Empty\` is empty JSON object \`{}\`.
+--
+-- /See:/ 'empty' smart constructor.
+data Empty =
+    Empty'
+    deriving (Eq,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'Empty' with the minimum fields required to make a request.
+--
+empty
+    :: Empty
+empty = Empty'
+
+instance FromJSON Empty where
+        parseJSON = withObject "Empty" (\ o -> pure Empty')
+
+instance ToJSON Empty where
+        toJSON = const emptyObject
+
+-- | Map of environment variable name to its encrypted value. Secret
+-- environment variables must be unique across all of a build\'s secrets,
+-- and must be used by at least one build step. Values can be at most 64 KB
+-- in size. There can be at most 100 secret values across all of a build\'s
+-- secrets.
+--
+-- /See:/ 'secretSecretEnv' smart constructor.
+newtype SecretSecretEnv = SecretSecretEnv'
+    { _sseAddtional :: HashMap Text Bytes
+    } deriving (Eq,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'SecretSecretEnv' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'sseAddtional'
+secretSecretEnv
+    :: HashMap Text ByteString -- ^ 'sseAddtional'
+    -> SecretSecretEnv
+secretSecretEnv pSseAddtional_ =
+    SecretSecretEnv'
+    { _sseAddtional = _Coerce # pSseAddtional_
+    }
+
+sseAddtional :: Lens' SecretSecretEnv (HashMap Text ByteString)
+sseAddtional
+  = lens _sseAddtional (\ s a -> s{_sseAddtional = a})
+      . _Coerce
+
+instance FromJSON SecretSecretEnv where
+        parseJSON
+          = withObject "SecretSecretEnv"
+              (\ o -> SecretSecretEnv' <$> (parseJSONObject o))
+
+instance ToJSON SecretSecretEnv where
+        toJSON = toJSON . _sseAddtional
+
+-- | Artifacts produced by a build that should be uploaded upon successful
+-- completion of all build steps.
+--
+-- /See:/ 'artifacts' smart constructor.
+data Artifacts = Artifacts'
+    { _aImages  :: !(Maybe [Text])
+    , _aObjects :: !(Maybe ArtifactObjects)
+    } deriving (Eq,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'Artifacts' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'aImages'
+--
+-- * 'aObjects'
+artifacts
+    :: Artifacts
+artifacts =
+    Artifacts'
+    { _aImages = Nothing
+    , _aObjects = Nothing
+    }
+
+-- | A list of images to be pushed upon the successful completion of all
+-- build steps. The images will be pushed using the builder service
+-- account\'s credentials. The digests of the pushed images will be stored
+-- in the Build resource\'s results field. If any of the images fail to be
+-- pushed, the build is marked FAILURE.
+aImages :: Lens' Artifacts [Text]
+aImages
+  = lens _aImages (\ s a -> s{_aImages = a}) . _Default
+      . _Coerce
+
+-- | A list of objects to be uploaded to Cloud Storage upon successful
+-- completion of all build steps. Files in the workspace matching specified
+-- paths globs will be uploaded to the specified Cloud Storage location
+-- using the builder service account\'s credentials. The location and
+-- generation of the uploaded objects will be stored in the Build
+-- resource\'s results field. If any objects fail to be pushed, the build
+-- is marked FAILURE.
+aObjects :: Lens' Artifacts (Maybe ArtifactObjects)
+aObjects = lens _aObjects (\ s a -> s{_aObjects = a})
+
+instance FromJSON Artifacts where
+        parseJSON
+          = withObject "Artifacts"
+              (\ o ->
+                 Artifacts' <$>
+                   (o .:? "images" .!= mempty) <*> (o .:? "objects"))
+
+instance ToJSON Artifacts where
+        toJSON Artifacts'{..}
+          = object
+              (catMaybes
+                 [("images" .=) <$> _aImages,
+                  ("objects" .=) <$> _aObjects])
+
+-- | Files in the workspace to upload to Cloud Storage upon successful
+-- completion of all build steps.
+--
+-- /See:/ 'artifactObjects' smart constructor.
+data ArtifactObjects = ArtifactObjects'
+    { _aoLocation :: !(Maybe Text)
+    , _aoTiming   :: !(Maybe TimeSpan)
+    , _aoPaths    :: !(Maybe [Text])
+    } deriving (Eq,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'ArtifactObjects' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'aoLocation'
+--
+-- * 'aoTiming'
+--
+-- * 'aoPaths'
+artifactObjects
+    :: ArtifactObjects
+artifactObjects =
+    ArtifactObjects'
+    { _aoLocation = Nothing
+    , _aoTiming = Nothing
+    , _aoPaths = Nothing
+    }
+
+-- | Cloud Storage bucket and optional object path, in the form
+-- \"gs:\/\/bucket\/path\/to\/somewhere\/\". (see [Bucket Name
+-- Requirements](https:\/\/cloud.google.com\/storage\/docs\/bucket-naming#requirements)).
+-- Files in the workspace matching any path pattern will be uploaded to
+-- Cloud Storage with this location as a prefix.
+aoLocation :: Lens' ArtifactObjects (Maybe Text)
+aoLocation
+  = lens _aoLocation (\ s a -> s{_aoLocation = a})
+
+-- | Output only. Stores timing information for pushing all artifact objects.
+aoTiming :: Lens' ArtifactObjects (Maybe TimeSpan)
+aoTiming = lens _aoTiming (\ s a -> s{_aoTiming = a})
+
+-- | Path globs used to match files in the build\'s workspace.
+aoPaths :: Lens' ArtifactObjects [Text]
+aoPaths
+  = lens _aoPaths (\ s a -> s{_aoPaths = a}) . _Default
+      . _Coerce
+
+instance FromJSON ArtifactObjects where
+        parseJSON
+          = withObject "ArtifactObjects"
+              (\ o ->
+                 ArtifactObjects' <$>
+                   (o .:? "location") <*> (o .:? "timing") <*>
+                     (o .:? "paths" .!= mempty))
+
+instance ToJSON ArtifactObjects where
+        toJSON ArtifactObjects'{..}
+          = object
+              (catMaybes
+                 [("location" .=) <$> _aoLocation,
+                  ("timing" .=) <$> _aoTiming,
+                  ("paths" .=) <$> _aoPaths])
+
+-- | Volume describes a Docker container volume which is mounted into build
+-- steps in order to persist files across build step execution.
+--
+-- /See:/ 'volume' smart constructor.
+data Volume = Volume'
+    { _vPath :: !(Maybe Text)
+    , _vName :: !(Maybe Text)
+    } deriving (Eq,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'Volume' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'vPath'
+--
+-- * 'vName'
+volume
+    :: Volume
+volume =
+    Volume'
+    { _vPath = Nothing
+    , _vName = Nothing
+    }
+
+-- | Path at which to mount the volume. Paths must be absolute and cannot
+-- conflict with other volume paths on the same build step or with certain
+-- reserved volume paths.
+vPath :: Lens' Volume (Maybe Text)
+vPath = lens _vPath (\ s a -> s{_vPath = a})
+
+-- | Name of the volume to mount. Volume names must be unique per build step
+-- and must be valid names for Docker volumes. Each named volume must be
+-- used by at least two build steps.
+vName :: Lens' Volume (Maybe Text)
+vName = lens _vName (\ s a -> s{_vName = a})
+
+instance FromJSON Volume where
+        parseJSON
+          = withObject "Volume"
+              (\ o ->
+                 Volume' <$> (o .:? "path") <*> (o .:? "name"))
+
+instance ToJSON Volume where
+        toJSON Volume'{..}
+          = object
+              (catMaybes
+                 [("path" .=) <$> _vPath, ("name" .=) <$> _vName])
+
+--
+-- /See:/ 'statusDetailsItem' smart constructor.
+newtype StatusDetailsItem = StatusDetailsItem'
+    { _sdiAddtional :: HashMap Text JSONValue
+    } deriving (Eq,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'StatusDetailsItem' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'sdiAddtional'
+statusDetailsItem
+    :: HashMap Text JSONValue -- ^ 'sdiAddtional'
+    -> StatusDetailsItem
+statusDetailsItem pSdiAddtional_ =
+    StatusDetailsItem'
+    { _sdiAddtional = _Coerce # pSdiAddtional_
+    }
+
+-- | Properties of the object. Contains field \'type with type URL.
+sdiAddtional :: Lens' StatusDetailsItem (HashMap Text JSONValue)
+sdiAddtional
+  = lens _sdiAddtional (\ s a -> s{_sdiAddtional = a})
+      . _Coerce
+
+instance FromJSON StatusDetailsItem where
+        parseJSON
+          = withObject "StatusDetailsItem"
+              (\ o -> StatusDetailsItem' <$> (parseJSONObject o))
+
+instance ToJSON StatusDetailsItem where
+        toJSON = toJSON . _sdiAddtional
+
+-- | A build resource in the Cloud Build API. At a high level, a \`Build\`
+-- describes where to find source code, how to build it (for example, the
+-- builder image to run on the source), and where to store the built
+-- artifacts. Fields can include the following variables, which will be
+-- expanded when the build is created: - $PROJECT_ID: the project ID of the
+-- build. - $BUILD_ID: the autogenerated ID of the build. - $REPO_NAME: the
+-- source repository name specified by RepoSource. - $BRANCH_NAME: the
+-- branch name specified by RepoSource. - $TAG_NAME: the tag name specified
+-- by RepoSource. - $REVISION_ID or $COMMIT_SHA: the commit SHA specified
+-- by RepoSource or resolved from the specified branch or tag. -
+-- $SHORT_SHA: first 7 characters of $REVISION_ID or $COMMIT_SHA.
+--
+-- /See:/ 'build' smart constructor.
+data Build = Build'
+    { _bImages           :: !(Maybe [Text])
+    , _bStatus           :: !(Maybe BuildStatus)
+    , _bSourceProvenance :: !(Maybe SourceProvenance)
+    , _bSubstitutions    :: !(Maybe BuildSubstitutions)
+    , _bLogURL           :: !(Maybe Text)
+    , _bResults          :: !(Maybe Results)
+    , _bSecrets          :: !(Maybe [Secret])
+    , _bStartTime        :: !(Maybe DateTime')
+    , _bArtifacts        :: !(Maybe Artifacts)
+    , _bLogsBucket       :: !(Maybe Text)
+    , _bSteps            :: !(Maybe [BuildStep])
+    , _bStatusDetail     :: !(Maybe Text)
+    , _bSource           :: !(Maybe Source)
+    , _bId               :: !(Maybe Text)
+    , _bOptions          :: !(Maybe BuildOptions)
+    , _bProjectId        :: !(Maybe Text)
+    , _bTiming           :: !(Maybe BuildTiming)
+    , _bBuildTriggerId   :: !(Maybe Text)
+    , _bTimeout          :: !(Maybe GDuration)
+    , _bFinishTime       :: !(Maybe DateTime')
+    , _bCreateTime       :: !(Maybe DateTime')
+    , _bTags             :: !(Maybe [Text])
+    } deriving (Eq,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'Build' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'bImages'
+--
+-- * 'bStatus'
+--
+-- * 'bSourceProvenance'
+--
+-- * 'bSubstitutions'
+--
+-- * 'bLogURL'
+--
+-- * 'bResults'
+--
+-- * 'bSecrets'
+--
+-- * 'bStartTime'
+--
+-- * 'bArtifacts'
+--
+-- * 'bLogsBucket'
+--
+-- * 'bSteps'
+--
+-- * 'bStatusDetail'
+--
+-- * 'bSource'
+--
+-- * 'bId'
+--
+-- * 'bOptions'
+--
+-- * 'bProjectId'
+--
+-- * 'bTiming'
+--
+-- * 'bBuildTriggerId'
+--
+-- * 'bTimeout'
+--
+-- * 'bFinishTime'
+--
+-- * 'bCreateTime'
+--
+-- * 'bTags'
+build
+    :: Build
+build =
+    Build'
+    { _bImages = Nothing
+    , _bStatus = Nothing
+    , _bSourceProvenance = Nothing
+    , _bSubstitutions = Nothing
+    , _bLogURL = Nothing
+    , _bResults = Nothing
+    , _bSecrets = Nothing
+    , _bStartTime = Nothing
+    , _bArtifacts = Nothing
+    , _bLogsBucket = Nothing
+    , _bSteps = Nothing
+    , _bStatusDetail = Nothing
+    , _bSource = Nothing
+    , _bId = Nothing
+    , _bOptions = Nothing
+    , _bProjectId = Nothing
+    , _bTiming = Nothing
+    , _bBuildTriggerId = Nothing
+    , _bTimeout = Nothing
+    , _bFinishTime = Nothing
+    , _bCreateTime = Nothing
+    , _bTags = Nothing
+    }
+
+-- | A list of images to be pushed upon the successful completion of all
+-- build steps. The images are pushed using the builder service account\'s
+-- credentials. The digests of the pushed images will be stored in the
+-- \`Build\` resource\'s results field. If any of the images fail to be
+-- pushed, the build status is marked \`FAILURE\`.
+bImages :: Lens' Build [Text]
+bImages
+  = lens _bImages (\ s a -> s{_bImages = a}) . _Default
+      . _Coerce
+
+-- | Output only. Status of the build.
+bStatus :: Lens' Build (Maybe BuildStatus)
+bStatus = lens _bStatus (\ s a -> s{_bStatus = a})
+
+-- | Output only. A permanent fixed identifier for source.
+bSourceProvenance :: Lens' Build (Maybe SourceProvenance)
+bSourceProvenance
+  = lens _bSourceProvenance
+      (\ s a -> s{_bSourceProvenance = a})
+
+-- | Substitutions data for \`Build\` resource.
+bSubstitutions :: Lens' Build (Maybe BuildSubstitutions)
+bSubstitutions
+  = lens _bSubstitutions
+      (\ s a -> s{_bSubstitutions = a})
+
+-- | Output only. URL to logs for this build in Google Cloud Console.
+bLogURL :: Lens' Build (Maybe Text)
+bLogURL = lens _bLogURL (\ s a -> s{_bLogURL = a})
+
+-- | Output only. Results of the build.
+bResults :: Lens' Build (Maybe Results)
+bResults = lens _bResults (\ s a -> s{_bResults = a})
+
+-- | Secrets to decrypt using Cloud Key Management Service.
+bSecrets :: Lens' Build [Secret]
+bSecrets
+  = lens _bSecrets (\ s a -> s{_bSecrets = a}) .
+      _Default
+      . _Coerce
+
+-- | Output only. Time at which execution of the build was started.
+bStartTime :: Lens' Build (Maybe UTCTime)
+bStartTime
+  = lens _bStartTime (\ s a -> s{_bStartTime = a}) .
+      mapping _DateTime
+
+-- | Artifacts produced by the build that should be uploaded upon successful
+-- completion of all build steps.
+bArtifacts :: Lens' Build (Maybe Artifacts)
+bArtifacts
+  = lens _bArtifacts (\ s a -> s{_bArtifacts = a})
+
+-- | Google Cloud Storage bucket where logs should be written (see [Bucket
+-- Name
+-- Requirements](https:\/\/cloud.google.com\/storage\/docs\/bucket-naming#requirements)).
+-- Logs file names will be of the format
+-- \`/l//o//g//s//b//u//c//k//e//t/\//l//o//g/−{build_id}.txt\`.
+bLogsBucket :: Lens' Build (Maybe Text)
+bLogsBucket
+  = lens _bLogsBucket (\ s a -> s{_bLogsBucket = a})
+
+-- | Required. The operations to be performed on the workspace.
+bSteps :: Lens' Build [BuildStep]
+bSteps
+  = lens _bSteps (\ s a -> s{_bSteps = a}) . _Default .
+      _Coerce
+
+-- | Output only. Customer-readable message about the current status.
+bStatusDetail :: Lens' Build (Maybe Text)
+bStatusDetail
+  = lens _bStatusDetail
+      (\ s a -> s{_bStatusDetail = a})
+
+-- | The location of the source files to build.
+bSource :: Lens' Build (Maybe Source)
+bSource = lens _bSource (\ s a -> s{_bSource = a})
+
+-- | Output only. Unique identifier of the build.
+bId :: Lens' Build (Maybe Text)
+bId = lens _bId (\ s a -> s{_bId = a})
+
+-- | Special options for this build.
+bOptions :: Lens' Build (Maybe BuildOptions)
+bOptions = lens _bOptions (\ s a -> s{_bOptions = a})
+
+-- | Output only. ID of the project.
+bProjectId :: Lens' Build (Maybe Text)
+bProjectId
+  = lens _bProjectId (\ s a -> s{_bProjectId = a})
+
+-- | Output only. Stores timing information for phases of the build. Valid
+-- keys are: * BUILD: time to execute all build steps * PUSH: time to push
+-- all specified images. * FETCHSOURCE: time to fetch source. If the build
+-- does not specify source or images, these keys will not be included.
+bTiming :: Lens' Build (Maybe BuildTiming)
+bTiming = lens _bTiming (\ s a -> s{_bTiming = a})
+
+-- | Output only. The ID of the \`BuildTrigger\` that triggered this build,
+-- if it was triggered automatically.
+bBuildTriggerId :: Lens' Build (Maybe Text)
+bBuildTriggerId
+  = lens _bBuildTriggerId
+      (\ s a -> s{_bBuildTriggerId = a})
+
+-- | Amount of time that this build should be allowed to run, to second
+-- granularity. If this amount of time elapses, work on the build will
+-- cease and the build status will be \`TIMEOUT\`. Default time is ten
+-- minutes.
+bTimeout :: Lens' Build (Maybe Scientific)
+bTimeout
+  = lens _bTimeout (\ s a -> s{_bTimeout = a}) .
+      mapping _GDuration
+
+-- | Output only. Time at which execution of the build was finished. The
+-- difference between finish_time and start_time is the duration of the
+-- build\'s execution.
+bFinishTime :: Lens' Build (Maybe UTCTime)
+bFinishTime
+  = lens _bFinishTime (\ s a -> s{_bFinishTime = a}) .
+      mapping _DateTime
+
+-- | Output only. Time at which the request to create the build was received.
+bCreateTime :: Lens' Build (Maybe UTCTime)
+bCreateTime
+  = lens _bCreateTime (\ s a -> s{_bCreateTime = a}) .
+      mapping _DateTime
+
+-- | Tags for annotation of a \`Build\`. These are not docker tags.
+bTags :: Lens' Build [Text]
+bTags
+  = lens _bTags (\ s a -> s{_bTags = a}) . _Default .
+      _Coerce
+
+instance FromJSON Build where
+        parseJSON
+          = withObject "Build"
+              (\ o ->
+                 Build' <$>
+                   (o .:? "images" .!= mempty) <*> (o .:? "status") <*>
+                     (o .:? "sourceProvenance")
+                     <*> (o .:? "substitutions")
+                     <*> (o .:? "logUrl")
+                     <*> (o .:? "results")
+                     <*> (o .:? "secrets" .!= mempty)
+                     <*> (o .:? "startTime")
+                     <*> (o .:? "artifacts")
+                     <*> (o .:? "logsBucket")
+                     <*> (o .:? "steps" .!= mempty)
+                     <*> (o .:? "statusDetail")
+                     <*> (o .:? "source")
+                     <*> (o .:? "id")
+                     <*> (o .:? "options")
+                     <*> (o .:? "projectId")
+                     <*> (o .:? "timing")
+                     <*> (o .:? "buildTriggerId")
+                     <*> (o .:? "timeout")
+                     <*> (o .:? "finishTime")
+                     <*> (o .:? "createTime")
+                     <*> (o .:? "tags" .!= mempty))
+
+instance ToJSON Build where
+        toJSON Build'{..}
+          = object
+              (catMaybes
+                 [("images" .=) <$> _bImages,
+                  ("status" .=) <$> _bStatus,
+                  ("sourceProvenance" .=) <$> _bSourceProvenance,
+                  ("substitutions" .=) <$> _bSubstitutions,
+                  ("logUrl" .=) <$> _bLogURL,
+                  ("results" .=) <$> _bResults,
+                  ("secrets" .=) <$> _bSecrets,
+                  ("startTime" .=) <$> _bStartTime,
+                  ("artifacts" .=) <$> _bArtifacts,
+                  ("logsBucket" .=) <$> _bLogsBucket,
+                  ("steps" .=) <$> _bSteps,
+                  ("statusDetail" .=) <$> _bStatusDetail,
+                  ("source" .=) <$> _bSource, ("id" .=) <$> _bId,
+                  ("options" .=) <$> _bOptions,
+                  ("projectId" .=) <$> _bProjectId,
+                  ("timing" .=) <$> _bTiming,
+                  ("buildTriggerId" .=) <$> _bBuildTriggerId,
+                  ("timeout" .=) <$> _bTimeout,
+                  ("finishTime" .=) <$> _bFinishTime,
+                  ("createTime" .=) <$> _bCreateTime,
+                  ("tags" .=) <$> _bTags])
+
+-- | Output only. Hash(es) of the build source, which can be used to verify
+-- that the originalsource integrity was maintained in the build. Note that
+-- \`FileHashes\` willonly be populated if \`BuildOptions\` has requested a
+-- \`SourceProvenanceHash\`. The keys to this map are file paths used as
+-- build source and the values contain the hash values for those files. If
+-- the build source came in a single package such as a gzipped tarfile
+-- (\`.tar.gz\`), the \`FileHash\` will be for the single path to that
+-- file.
+--
+-- /See:/ 'sourceProvenanceFileHashes' smart constructor.
+newtype SourceProvenanceFileHashes = SourceProvenanceFileHashes'
+    { _spfhAddtional :: HashMap Text FileHashes
+    } deriving (Eq,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'SourceProvenanceFileHashes' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'spfhAddtional'
+sourceProvenanceFileHashes
+    :: HashMap Text FileHashes -- ^ 'spfhAddtional'
+    -> SourceProvenanceFileHashes
+sourceProvenanceFileHashes pSpfhAddtional_ =
+    SourceProvenanceFileHashes'
+    { _spfhAddtional = _Coerce # pSpfhAddtional_
+    }
+
+spfhAddtional :: Lens' SourceProvenanceFileHashes (HashMap Text FileHashes)
+spfhAddtional
+  = lens _spfhAddtional
+      (\ s a -> s{_spfhAddtional = a})
+      . _Coerce
+
+instance FromJSON SourceProvenanceFileHashes where
+        parseJSON
+          = withObject "SourceProvenanceFileHashes"
+              (\ o ->
+                 SourceProvenanceFileHashes' <$> (parseJSONObject o))
+
+instance ToJSON SourceProvenanceFileHashes where
+        toJSON = toJSON . _spfhAddtional
+
+-- | Pairs a set of secret environment variables containing encrypted values
+-- with the Cloud KMS key to use to decrypt the value.
+--
+-- /See:/ 'secret' smart constructor.
+data Secret = Secret'
+    { _sKmsKeyName :: !(Maybe Text)
+    , _sSecretEnv  :: !(Maybe SecretSecretEnv)
+    } deriving (Eq,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'Secret' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'sKmsKeyName'
+--
+-- * 'sSecretEnv'
+secret
+    :: Secret
+secret =
+    Secret'
+    { _sKmsKeyName = Nothing
+    , _sSecretEnv = Nothing
+    }
+
+-- | Cloud KMS key name to use to decrypt these envs.
+sKmsKeyName :: Lens' Secret (Maybe Text)
+sKmsKeyName
+  = lens _sKmsKeyName (\ s a -> s{_sKmsKeyName = a})
+
+-- | Map of environment variable name to its encrypted value. Secret
+-- environment variables must be unique across all of a build\'s secrets,
+-- and must be used by at least one build step. Values can be at most 64 KB
+-- in size. There can be at most 100 secret values across all of a build\'s
+-- secrets.
+sSecretEnv :: Lens' Secret (Maybe SecretSecretEnv)
+sSecretEnv
+  = lens _sSecretEnv (\ s a -> s{_sSecretEnv = a})
+
+instance FromJSON Secret where
+        parseJSON
+          = withObject "Secret"
+              (\ o ->
+                 Secret' <$>
+                   (o .:? "kmsKeyName") <*> (o .:? "secretEnv"))
+
+instance ToJSON Secret where
+        toJSON Secret'{..}
+          = object
+              (catMaybes
+                 [("kmsKeyName" .=) <$> _sKmsKeyName,
+                  ("secretEnv" .=) <$> _sSecretEnv])
+
+-- | Request to cancel an ongoing build.
+--
+-- /See:/ 'cancelBuildRequest' smart constructor.
+data CancelBuildRequest =
+    CancelBuildRequest'
+    deriving (Eq,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'CancelBuildRequest' with the minimum fields required to make a request.
+--
+cancelBuildRequest
+    :: CancelBuildRequest
+cancelBuildRequest = CancelBuildRequest'
+
+instance FromJSON CancelBuildRequest where
+        parseJSON
+          = withObject "CancelBuildRequest"
+              (\ o -> pure CancelBuildRequest')
+
+instance ToJSON CancelBuildRequest where
+        toJSON = const emptyObject
+
+-- | Start and end times for a build execution phase.
+--
+-- /See:/ 'timeSpan' smart constructor.
+data TimeSpan = TimeSpan'
+    { _tsStartTime :: !(Maybe DateTime')
+    , _tsEndTime   :: !(Maybe DateTime')
+    } deriving (Eq,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'TimeSpan' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'tsStartTime'
+--
+-- * 'tsEndTime'
+timeSpan
+    :: TimeSpan
+timeSpan =
+    TimeSpan'
+    { _tsStartTime = Nothing
+    , _tsEndTime = Nothing
+    }
+
+-- | Start of time span.
+tsStartTime :: Lens' TimeSpan (Maybe UTCTime)
+tsStartTime
+  = lens _tsStartTime (\ s a -> s{_tsStartTime = a}) .
+      mapping _DateTime
+
+-- | End of time span.
+tsEndTime :: Lens' TimeSpan (Maybe UTCTime)
+tsEndTime
+  = lens _tsEndTime (\ s a -> s{_tsEndTime = a}) .
+      mapping _DateTime
+
+instance FromJSON TimeSpan where
+        parseJSON
+          = withObject "TimeSpan"
+              (\ o ->
+                 TimeSpan' <$>
+                   (o .:? "startTime") <*> (o .:? "endTime"))
+
+instance ToJSON TimeSpan where
+        toJSON TimeSpan'{..}
+          = object
+              (catMaybes
+                 [("startTime" .=) <$> _tsStartTime,
+                  ("endTime" .=) <$> _tsEndTime])
+
+-- | Location of the source in an archive file in Google Cloud Storage.
+--
+-- /See:/ 'storageSource' smart constructor.
+data StorageSource = StorageSource'
+    { _ssBucket     :: !(Maybe Text)
+    , _ssObject     :: !(Maybe Text)
+    , _ssGeneration :: !(Maybe (Textual Int64))
+    } deriving (Eq,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'StorageSource' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'ssBucket'
+--
+-- * 'ssObject'
+--
+-- * 'ssGeneration'
+storageSource
+    :: StorageSource
+storageSource =
+    StorageSource'
+    { _ssBucket = Nothing
+    , _ssObject = Nothing
+    , _ssGeneration = Nothing
+    }
+
+-- | Google Cloud Storage bucket containing the source (see [Bucket Name
+-- Requirements](https:\/\/cloud.google.com\/storage\/docs\/bucket-naming#requirements)).
+ssBucket :: Lens' StorageSource (Maybe Text)
+ssBucket = lens _ssBucket (\ s a -> s{_ssBucket = a})
+
+-- | Google Cloud Storage object containing the source. This object must be a
+-- gzipped archive file (\`.tar.gz\`) containing source to build.
+ssObject :: Lens' StorageSource (Maybe Text)
+ssObject = lens _ssObject (\ s a -> s{_ssObject = a})
+
+-- | Google Cloud Storage generation for the object. If the generation is
+-- omitted, the latest generation will be used.
+ssGeneration :: Lens' StorageSource (Maybe Int64)
+ssGeneration
+  = lens _ssGeneration (\ s a -> s{_ssGeneration = a})
+      . mapping _Coerce
+
+instance FromJSON StorageSource where
+        parseJSON
+          = withObject "StorageSource"
+              (\ o ->
+                 StorageSource' <$>
+                   (o .:? "bucket") <*> (o .:? "object") <*>
+                     (o .:? "generation"))
+
+instance ToJSON StorageSource where
+        toJSON StorageSource'{..}
+          = object
+              (catMaybes
+                 [("bucket" .=) <$> _ssBucket,
+                  ("object" .=) <$> _ssObject,
+                  ("generation" .=) <$> _ssGeneration])
+
+-- | Response containing existing \`BuildTriggers\`.
+--
+-- /See:/ 'listBuildTriggersResponse' smart constructor.
+newtype ListBuildTriggersResponse = ListBuildTriggersResponse'
+    { _lbtrTriggers :: Maybe [BuildTrigger]
+    } deriving (Eq,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'ListBuildTriggersResponse' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'lbtrTriggers'
+listBuildTriggersResponse
+    :: ListBuildTriggersResponse
+listBuildTriggersResponse =
+    ListBuildTriggersResponse'
+    { _lbtrTriggers = Nothing
+    }
+
+-- | \`BuildTriggers\` for the project, sorted by \`create_time\` descending.
+lbtrTriggers :: Lens' ListBuildTriggersResponse [BuildTrigger]
+lbtrTriggers
+  = lens _lbtrTriggers (\ s a -> s{_lbtrTriggers = a})
+      . _Default
+      . _Coerce
+
+instance FromJSON ListBuildTriggersResponse where
+        parseJSON
+          = withObject "ListBuildTriggersResponse"
+              (\ o ->
+                 ListBuildTriggersResponse' <$>
+                   (o .:? "triggers" .!= mempty))
+
+instance ToJSON ListBuildTriggersResponse where
+        toJSON ListBuildTriggersResponse'{..}
+          = object
+              (catMaybes [("triggers" .=) <$> _lbtrTriggers])
+
+-- | An artifact that was uploaded during a build. This is a single record in
+-- the artifact manifest JSON file.
+--
+-- /See:/ 'artifactResult' smart constructor.
+data ArtifactResult = ArtifactResult'
+    { _arFileHash :: !(Maybe [FileHashes])
+    , _arLocation :: !(Maybe Text)
+    } deriving (Eq,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'ArtifactResult' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'arFileHash'
+--
+-- * 'arLocation'
+artifactResult
+    :: ArtifactResult
+artifactResult =
+    ArtifactResult'
+    { _arFileHash = Nothing
+    , _arLocation = Nothing
+    }
+
+-- | The file hash of the artifact.
+arFileHash :: Lens' ArtifactResult [FileHashes]
+arFileHash
+  = lens _arFileHash (\ s a -> s{_arFileHash = a}) .
+      _Default
+      . _Coerce
+
+-- | The path of an artifact in a Google Cloud Storage bucket, with the
+-- generation number. For example,
+-- \`gs:\/\/mybucket\/path\/to\/output.jar#generation\`.
+arLocation :: Lens' ArtifactResult (Maybe Text)
+arLocation
+  = lens _arLocation (\ s a -> s{_arLocation = a})
+
+instance FromJSON ArtifactResult where
+        parseJSON
+          = withObject "ArtifactResult"
+              (\ o ->
+                 ArtifactResult' <$>
+                   (o .:? "fileHash" .!= mempty) <*> (o .:? "location"))
+
+instance ToJSON ArtifactResult where
+        toJSON ArtifactResult'{..}
+          = object
+              (catMaybes
+                 [("fileHash" .=) <$> _arFileHash,
+                  ("location" .=) <$> _arLocation])
+
+-- | Container message for hashes of byte content of files, used in
+-- SourceProvenance messages to verify integrity of source input to the
+-- build.
+--
+-- /See:/ 'fileHashes' smart constructor.
+newtype FileHashes = FileHashes'
+    { _fhFileHash :: Maybe [Hash]
+    } deriving (Eq,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'FileHashes' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'fhFileHash'
+fileHashes
+    :: FileHashes
+fileHashes =
+    FileHashes'
+    { _fhFileHash = Nothing
+    }
+
+-- | Collection of file hashes.
+fhFileHash :: Lens' FileHashes [Hash]
+fhFileHash
+  = lens _fhFileHash (\ s a -> s{_fhFileHash = a}) .
+      _Default
+      . _Coerce
+
+instance FromJSON FileHashes where
+        parseJSON
+          = withObject "FileHashes"
+              (\ o ->
+                 FileHashes' <$> (o .:? "fileHash" .!= mempty))
+
+instance ToJSON FileHashes where
+        toJSON FileHashes'{..}
+          = object
+              (catMaybes [("fileHash" .=) <$> _fhFileHash])
+
+-- | Substitutions data for \`Build\` resource.
+--
+-- /See:/ 'buildSubstitutions' smart constructor.
+newtype BuildSubstitutions = BuildSubstitutions'
+    { _bsAddtional :: HashMap Text Text
+    } deriving (Eq,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'BuildSubstitutions' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'bsAddtional'
+buildSubstitutions
+    :: HashMap Text Text -- ^ 'bsAddtional'
+    -> BuildSubstitutions
+buildSubstitutions pBsAddtional_ =
+    BuildSubstitutions'
+    { _bsAddtional = _Coerce # pBsAddtional_
+    }
+
+bsAddtional :: Lens' BuildSubstitutions (HashMap Text Text)
+bsAddtional
+  = lens _bsAddtional (\ s a -> s{_bsAddtional = a}) .
+      _Coerce
+
+instance FromJSON BuildSubstitutions where
+        parseJSON
+          = withObject "BuildSubstitutions"
+              (\ o -> BuildSubstitutions' <$> (parseJSONObject o))
+
+instance ToJSON BuildSubstitutions where
+        toJSON = toJSON . _bsAddtional
+
+-- | Location of the source in a supported storage service.
+--
+-- /See:/ 'source' smart constructor.
+data Source = Source'
+    { _sRepoSource    :: !(Maybe RepoSource)
+    , _sStorageSource :: !(Maybe StorageSource)
+    } deriving (Eq,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'Source' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'sRepoSource'
+--
+-- * 'sStorageSource'
+source
+    :: Source
+source =
+    Source'
+    { _sRepoSource = Nothing
+    , _sStorageSource = Nothing
+    }
+
+-- | If provided, get the source from this location in a Cloud Source
+-- Repository.
+sRepoSource :: Lens' Source (Maybe RepoSource)
+sRepoSource
+  = lens _sRepoSource (\ s a -> s{_sRepoSource = a})
+
+-- | If provided, get the source from this location in Google Cloud Storage.
+sStorageSource :: Lens' Source (Maybe StorageSource)
+sStorageSource
+  = lens _sStorageSource
+      (\ s a -> s{_sStorageSource = a})
+
+instance FromJSON Source where
+        parseJSON
+          = withObject "Source"
+              (\ o ->
+                 Source' <$>
+                   (o .:? "repoSource") <*> (o .:? "storageSource"))
+
+instance ToJSON Source where
+        toJSON Source'{..}
+          = object
+              (catMaybes
+                 [("repoSource" .=) <$> _sRepoSource,
+                  ("storageSource" .=) <$> _sStorageSource])
+
+-- | Service-specific metadata associated with the operation. It typically
+-- contains progress information and common metadata such as create time.
+-- Some services might not provide such metadata. Any method that returns a
+-- long-running operation should document the metadata type, if any.
+--
+-- /See:/ 'operationMetadata' smart constructor.
+newtype OperationMetadata = OperationMetadata'
+    { _omAddtional :: HashMap Text JSONValue
+    } deriving (Eq,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'OperationMetadata' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'omAddtional'
+operationMetadata
+    :: HashMap Text JSONValue -- ^ 'omAddtional'
+    -> OperationMetadata
+operationMetadata pOmAddtional_ =
+    OperationMetadata'
+    { _omAddtional = _Coerce # pOmAddtional_
+    }
+
+-- | Properties of the object. Contains field \'type with type URL.
+omAddtional :: Lens' OperationMetadata (HashMap Text JSONValue)
+omAddtional
+  = lens _omAddtional (\ s a -> s{_omAddtional = a}) .
+      _Coerce
+
+instance FromJSON OperationMetadata where
+        parseJSON
+          = withObject "OperationMetadata"
+              (\ o -> OperationMetadata' <$> (parseJSONObject o))
+
+instance ToJSON OperationMetadata where
+        toJSON = toJSON . _omAddtional
+
+-- | Output only. Stores timing information for phases of the build. Valid
+-- keys are: * BUILD: time to execute all build steps * PUSH: time to push
+-- all specified images. * FETCHSOURCE: time to fetch source. If the build
+-- does not specify source or images, these keys will not be included.
+--
+-- /See:/ 'buildTiming' smart constructor.
+newtype BuildTiming = BuildTiming'
+    { _btAddtional :: HashMap Text TimeSpan
+    } deriving (Eq,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'BuildTiming' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'btAddtional'
+buildTiming
+    :: HashMap Text TimeSpan -- ^ 'btAddtional'
+    -> BuildTiming
+buildTiming pBtAddtional_ =
+    BuildTiming'
+    { _btAddtional = _Coerce # pBtAddtional_
+    }
+
+btAddtional :: Lens' BuildTiming (HashMap Text TimeSpan)
+btAddtional
+  = lens _btAddtional (\ s a -> s{_btAddtional = a}) .
+      _Coerce
+
+instance FromJSON BuildTiming where
+        parseJSON
+          = withObject "BuildTiming"
+              (\ o -> BuildTiming' <$> (parseJSONObject o))
+
+instance ToJSON BuildTiming where
+        toJSON = toJSON . _btAddtional
+
+-- | Metadata for build operations.
+--
+-- /See:/ 'buildOperationMetadata' smart constructor.
+newtype BuildOperationMetadata = BuildOperationMetadata'
+    { _bomBuild :: Maybe Build
+    } deriving (Eq,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'BuildOperationMetadata' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'bomBuild'
+buildOperationMetadata
+    :: BuildOperationMetadata
+buildOperationMetadata =
+    BuildOperationMetadata'
+    { _bomBuild = Nothing
+    }
+
+-- | The build that the operation is tracking.
+bomBuild :: Lens' BuildOperationMetadata (Maybe Build)
+bomBuild = lens _bomBuild (\ s a -> s{_bomBuild = a})
+
+instance FromJSON BuildOperationMetadata where
+        parseJSON
+          = withObject "BuildOperationMetadata"
+              (\ o -> BuildOperationMetadata' <$> (o .:? "build"))
+
+instance ToJSON BuildOperationMetadata where
+        toJSON BuildOperationMetadata'{..}
+          = object (catMaybes [("build" .=) <$> _bomBuild])
+
+-- | Optional arguments to enable specific features of builds.
+--
+-- /See:/ 'buildOptions' smart constructor.
+data BuildOptions = BuildOptions'
+    { _boDiskSizeGb            :: !(Maybe (Textual Int64))
+    , _boEnv                   :: !(Maybe [Text])
+    , _boSubstitutionOption    :: !(Maybe BuildOptionsSubstitutionOption)
+    , _boRequestedVerifyOption :: !(Maybe BuildOptionsRequestedVerifyOption)
+    , _boWorkerPool            :: !(Maybe Text)
+    , _boMachineType           :: !(Maybe BuildOptionsMachineType)
+    , _boSecretEnv             :: !(Maybe [Text])
+    , _boVolumes               :: !(Maybe [Volume])
+    , _boLogStreamingOption    :: !(Maybe BuildOptionsLogStreamingOption)
+    , _boLogging               :: !(Maybe BuildOptionsLogging)
+    , _boSourceProvenanceHash  :: !(Maybe [Text])
+    } deriving (Eq,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'BuildOptions' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'boDiskSizeGb'
+--
+-- * 'boEnv'
+--
+-- * 'boSubstitutionOption'
+--
+-- * 'boRequestedVerifyOption'
+--
+-- * 'boWorkerPool'
+--
+-- * 'boMachineType'
+--
+-- * 'boSecretEnv'
+--
+-- * 'boVolumes'
+--
+-- * 'boLogStreamingOption'
+--
+-- * 'boLogging'
+--
+-- * 'boSourceProvenanceHash'
+buildOptions
+    :: BuildOptions
+buildOptions =
+    BuildOptions'
+    { _boDiskSizeGb = Nothing
+    , _boEnv = Nothing
+    , _boSubstitutionOption = Nothing
+    , _boRequestedVerifyOption = Nothing
+    , _boWorkerPool = Nothing
+    , _boMachineType = Nothing
+    , _boSecretEnv = Nothing
+    , _boVolumes = Nothing
+    , _boLogStreamingOption = Nothing
+    , _boLogging = Nothing
+    , _boSourceProvenanceHash = Nothing
+    }
+
+-- | Requested disk size for the VM that runs the build. Note that this is
+-- *NOT* \"disk free\"; some of the space will be used by the operating
+-- system and build utilities. Also note that this is the minimum disk size
+-- that will be allocated for the build -- the build may run with a larger
+-- disk than requested. At present, the maximum disk size is 1000GB; builds
+-- that request more than the maximum are rejected with an error.
+boDiskSizeGb :: Lens' BuildOptions (Maybe Int64)
+boDiskSizeGb
+  = lens _boDiskSizeGb (\ s a -> s{_boDiskSizeGb = a})
+      . mapping _Coerce
+
+-- | A list of global environment variable definitions that will exist for
+-- all build steps in this build. If a variable is defined in both globally
+-- and in a build step, the variable will use the build step value. The
+-- elements are of the form \"KEY=VALUE\" for the environment variable
+-- \"KEY\" being given the value \"VALUE\".
+boEnv :: Lens' BuildOptions [Text]
+boEnv
+  = lens _boEnv (\ s a -> s{_boEnv = a}) . _Default .
+      _Coerce
+
+-- | Option to specify behavior when there is an error in the substitution
+-- checks.
+boSubstitutionOption :: Lens' BuildOptions (Maybe BuildOptionsSubstitutionOption)
+boSubstitutionOption
+  = lens _boSubstitutionOption
+      (\ s a -> s{_boSubstitutionOption = a})
+
+-- | Requested verifiability options.
+boRequestedVerifyOption :: Lens' BuildOptions (Maybe BuildOptionsRequestedVerifyOption)
+boRequestedVerifyOption
+  = lens _boRequestedVerifyOption
+      (\ s a -> s{_boRequestedVerifyOption = a})
+
+-- | Option to specify a \`WorkerPool\` for the build. User specifies the
+-- pool with the format \"[WORKERPOOL_PROJECT_ID]\/[WORKERPOOL_NAME]\".
+-- This is an experimental field.
+boWorkerPool :: Lens' BuildOptions (Maybe Text)
+boWorkerPool
+  = lens _boWorkerPool (\ s a -> s{_boWorkerPool = a})
+
+-- | Compute Engine machine type on which to run the build.
+boMachineType :: Lens' BuildOptions (Maybe BuildOptionsMachineType)
+boMachineType
+  = lens _boMachineType
+      (\ s a -> s{_boMachineType = a})
+
+-- | A list of global environment variables, which are encrypted using a
+-- Cloud Key Management Service crypto key. These values must be specified
+-- in the build\'s \`Secret\`. These variables will be available to all
+-- build steps in this build.
+boSecretEnv :: Lens' BuildOptions [Text]
+boSecretEnv
+  = lens _boSecretEnv (\ s a -> s{_boSecretEnv = a}) .
+      _Default
+      . _Coerce
+
+-- | Global list of volumes to mount for ALL build steps Each volume is
+-- created as an empty volume prior to starting the build process. Upon
+-- completion of the build, volumes and their contents are discarded.
+-- Global volume names and paths cannot conflict with the volumes defined a
+-- build step. Using a global volume in a build with only one step is not
+-- valid as it is indicative of a build request with an incorrect
+-- configuration.
+boVolumes :: Lens' BuildOptions [Volume]
+boVolumes
+  = lens _boVolumes (\ s a -> s{_boVolumes = a}) .
+      _Default
+      . _Coerce
+
+-- | Option to define build log streaming behavior to Google Cloud Storage.
+boLogStreamingOption :: Lens' BuildOptions (Maybe BuildOptionsLogStreamingOption)
+boLogStreamingOption
+  = lens _boLogStreamingOption
+      (\ s a -> s{_boLogStreamingOption = a})
+
+-- | Option to specify the logging mode, which determines where the logs are
+-- stored.
+boLogging :: Lens' BuildOptions (Maybe BuildOptionsLogging)
+boLogging
+  = lens _boLogging (\ s a -> s{_boLogging = a})
+
+-- | Requested hash for SourceProvenance.
+boSourceProvenanceHash :: Lens' BuildOptions [Text]
+boSourceProvenanceHash
+  = lens _boSourceProvenanceHash
+      (\ s a -> s{_boSourceProvenanceHash = a})
+      . _Default
+      . _Coerce
+
+instance FromJSON BuildOptions where
+        parseJSON
+          = withObject "BuildOptions"
+              (\ o ->
+                 BuildOptions' <$>
+                   (o .:? "diskSizeGb") <*> (o .:? "env" .!= mempty) <*>
+                     (o .:? "substitutionOption")
+                     <*> (o .:? "requestedVerifyOption")
+                     <*> (o .:? "workerPool")
+                     <*> (o .:? "machineType")
+                     <*> (o .:? "secretEnv" .!= mempty)
+                     <*> (o .:? "volumes" .!= mempty)
+                     <*> (o .:? "logStreamingOption")
+                     <*> (o .:? "logging")
+                     <*> (o .:? "sourceProvenanceHash" .!= mempty))
+
+instance ToJSON BuildOptions where
+        toJSON BuildOptions'{..}
+          = object
+              (catMaybes
+                 [("diskSizeGb" .=) <$> _boDiskSizeGb,
+                  ("env" .=) <$> _boEnv,
+                  ("substitutionOption" .=) <$> _boSubstitutionOption,
+                  ("requestedVerifyOption" .=) <$>
+                    _boRequestedVerifyOption,
+                  ("workerPool" .=) <$> _boWorkerPool,
+                  ("machineType" .=) <$> _boMachineType,
+                  ("secretEnv" .=) <$> _boSecretEnv,
+                  ("volumes" .=) <$> _boVolumes,
+                  ("logStreamingOption" .=) <$> _boLogStreamingOption,
+                  ("logging" .=) <$> _boLogging,
+                  ("sourceProvenanceHash" .=) <$>
+                    _boSourceProvenanceHash])
+
+-- | The normal response of the operation in case of success. If the original
+-- method returns no data on success, such as \`Delete\`, the response is
+-- \`google.protobuf.Empty\`. If the original method is standard
+-- \`Get\`\/\`Create\`\/\`Update\`, the response should be the resource.
+-- For other methods, the response should have the type \`XxxResponse\`,
+-- where \`Xxx\` is the original method name. For example, if the original
+-- method name is \`TakeSnapshot()\`, the inferred response type is
+-- \`TakeSnapshotResponse\`.
+--
+-- /See:/ 'operationResponse' smart constructor.
+newtype OperationResponse = OperationResponse'
+    { _orAddtional :: HashMap Text JSONValue
+    } deriving (Eq,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'OperationResponse' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'orAddtional'
+operationResponse
+    :: HashMap Text JSONValue -- ^ 'orAddtional'
+    -> OperationResponse
+operationResponse pOrAddtional_ =
+    OperationResponse'
+    { _orAddtional = _Coerce # pOrAddtional_
+    }
+
+-- | Properties of the object. Contains field \'type with type URL.
+orAddtional :: Lens' OperationResponse (HashMap Text JSONValue)
+orAddtional
+  = lens _orAddtional (\ s a -> s{_orAddtional = a}) .
+      _Coerce
+
+instance FromJSON OperationResponse where
+        parseJSON
+          = withObject "OperationResponse"
+              (\ o -> OperationResponse' <$> (parseJSONObject o))
+
+instance ToJSON OperationResponse where
+        toJSON = toJSON . _orAddtional
+
+-- | Configuration for an automated build in response to source repository
+-- changes.
+--
+-- /See:/ 'buildTrigger' smart constructor.
+data BuildTrigger = BuildTrigger'
+    { _btSubstitutions   :: !(Maybe BuildTriggerSubstitutions)
+    , _btIncludedFiles   :: !(Maybe [Text])
+    , _btDisabled        :: !(Maybe Bool)
+    , _btTriggerTemplate :: !(Maybe RepoSource)
+    , _btBuild           :: !(Maybe Build)
+    , _btIgnoredFiles    :: !(Maybe [Text])
+    , _btId              :: !(Maybe Text)
+    , _btDescription     :: !(Maybe Text)
+    , _btFilename        :: !(Maybe Text)
+    , _btCreateTime      :: !(Maybe DateTime')
+    } deriving (Eq,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'BuildTrigger' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'btSubstitutions'
+--
+-- * 'btIncludedFiles'
+--
+-- * 'btDisabled'
+--
+-- * 'btTriggerTemplate'
+--
+-- * 'btBuild'
+--
+-- * 'btIgnoredFiles'
+--
+-- * 'btId'
+--
+-- * 'btDescription'
+--
+-- * 'btFilename'
+--
+-- * 'btCreateTime'
+buildTrigger
+    :: BuildTrigger
+buildTrigger =
+    BuildTrigger'
+    { _btSubstitutions = Nothing
+    , _btIncludedFiles = Nothing
+    , _btDisabled = Nothing
+    , _btTriggerTemplate = Nothing
+    , _btBuild = Nothing
+    , _btIgnoredFiles = Nothing
+    , _btId = Nothing
+    , _btDescription = Nothing
+    , _btFilename = Nothing
+    , _btCreateTime = Nothing
+    }
+
+-- | Substitutions data for Build resource.
+btSubstitutions :: Lens' BuildTrigger (Maybe BuildTriggerSubstitutions)
+btSubstitutions
+  = lens _btSubstitutions
+      (\ s a -> s{_btSubstitutions = a})
+
+-- | If any of the files altered in the commit pass the ignored_files filter
+-- and included_files is empty, then as far as this filter is concerned, we
+-- should trigger the build. If any of the files altered in the commit pass
+-- the ignored_files filter and included_files is not empty, then we make
+-- sure that at least one of those files matches a included_files glob. If
+-- not, then we do not trigger a build.
+btIncludedFiles :: Lens' BuildTrigger [Text]
+btIncludedFiles
+  = lens _btIncludedFiles
+      (\ s a -> s{_btIncludedFiles = a})
+      . _Default
+      . _Coerce
+
+-- | If true, the trigger will never result in a build.
+btDisabled :: Lens' BuildTrigger (Maybe Bool)
+btDisabled
+  = lens _btDisabled (\ s a -> s{_btDisabled = a})
+
+-- | Template describing the types of source changes to trigger a build.
+-- Branch and tag names in trigger templates are interpreted as regular
+-- expressions. Any branch or tag change that matches that regular
+-- expression will trigger a build.
+btTriggerTemplate :: Lens' BuildTrigger (Maybe RepoSource)
+btTriggerTemplate
+  = lens _btTriggerTemplate
+      (\ s a -> s{_btTriggerTemplate = a})
+
+-- | Contents of the build template.
+btBuild :: Lens' BuildTrigger (Maybe Build)
+btBuild = lens _btBuild (\ s a -> s{_btBuild = a})
+
+-- | ignored_files and included_files are file glob matches using
+-- http:\/\/godoc\/pkg\/path\/filepath#Match extended with support for
+-- \"**\". If ignored_files and changed files are both empty, then they are
+-- not used to determine whether or not to trigger a build. If
+-- ignored_files is not empty, then we ignore any files that match any of
+-- the ignored_file globs. If the change has no files that are outside of
+-- the ignored_files globs, then we do not trigger a build.
+btIgnoredFiles :: Lens' BuildTrigger [Text]
+btIgnoredFiles
+  = lens _btIgnoredFiles
+      (\ s a -> s{_btIgnoredFiles = a})
+      . _Default
+      . _Coerce
+
+-- | Output only. Unique identifier of the trigger.
+btId :: Lens' BuildTrigger (Maybe Text)
+btId = lens _btId (\ s a -> s{_btId = a})
+
+-- | Human-readable description of this trigger.
+btDescription :: Lens' BuildTrigger (Maybe Text)
+btDescription
+  = lens _btDescription
+      (\ s a -> s{_btDescription = a})
+
+-- | Path, from the source root, to a file whose contents is used for the
+-- template.
+btFilename :: Lens' BuildTrigger (Maybe Text)
+btFilename
+  = lens _btFilename (\ s a -> s{_btFilename = a})
+
+-- | Output only. Time when the trigger was created.
+btCreateTime :: Lens' BuildTrigger (Maybe UTCTime)
+btCreateTime
+  = lens _btCreateTime (\ s a -> s{_btCreateTime = a})
+      . mapping _DateTime
+
+instance FromJSON BuildTrigger where
+        parseJSON
+          = withObject "BuildTrigger"
+              (\ o ->
+                 BuildTrigger' <$>
+                   (o .:? "substitutions") <*>
+                     (o .:? "includedFiles" .!= mempty)
+                     <*> (o .:? "disabled")
+                     <*> (o .:? "triggerTemplate")
+                     <*> (o .:? "build")
+                     <*> (o .:? "ignoredFiles" .!= mempty)
+                     <*> (o .:? "id")
+                     <*> (o .:? "description")
+                     <*> (o .:? "filename")
+                     <*> (o .:? "createTime"))
+
+instance ToJSON BuildTrigger where
+        toJSON BuildTrigger'{..}
+          = object
+              (catMaybes
+                 [("substitutions" .=) <$> _btSubstitutions,
+                  ("includedFiles" .=) <$> _btIncludedFiles,
+                  ("disabled" .=) <$> _btDisabled,
+                  ("triggerTemplate" .=) <$> _btTriggerTemplate,
+                  ("build" .=) <$> _btBuild,
+                  ("ignoredFiles" .=) <$> _btIgnoredFiles,
+                  ("id" .=) <$> _btId,
+                  ("description" .=) <$> _btDescription,
+                  ("filename" .=) <$> _btFilename,
+                  ("createTime" .=) <$> _btCreateTime])
+
+-- | An image built by the pipeline.
+--
+-- /See:/ 'builtImage' smart constructor.
+data BuiltImage = BuiltImage'
+    { _biPushTiming :: !(Maybe TimeSpan)
+    , _biName       :: !(Maybe Text)
+    , _biDigest     :: !(Maybe Text)
+    } deriving (Eq,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'BuiltImage' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'biPushTiming'
+--
+-- * 'biName'
+--
+-- * 'biDigest'
+builtImage
+    :: BuiltImage
+builtImage =
+    BuiltImage'
+    { _biPushTiming = Nothing
+    , _biName = Nothing
+    , _biDigest = Nothing
+    }
+
+-- | Output only. Stores timing information for pushing the specified image.
+biPushTiming :: Lens' BuiltImage (Maybe TimeSpan)
+biPushTiming
+  = lens _biPushTiming (\ s a -> s{_biPushTiming = a})
+
+-- | Name used to push the container image to Google Container Registry, as
+-- presented to \`docker push\`.
+biName :: Lens' BuiltImage (Maybe Text)
+biName = lens _biName (\ s a -> s{_biName = a})
+
+-- | Docker Registry 2.0 digest.
+biDigest :: Lens' BuiltImage (Maybe Text)
+biDigest = lens _biDigest (\ s a -> s{_biDigest = a})
+
+instance FromJSON BuiltImage where
+        parseJSON
+          = withObject "BuiltImage"
+              (\ o ->
+                 BuiltImage' <$>
+                   (o .:? "pushTiming") <*> (o .:? "name") <*>
+                     (o .:? "digest"))
+
+instance ToJSON BuiltImage where
+        toJSON BuiltImage'{..}
+          = object
+              (catMaybes
+                 [("pushTiming" .=) <$> _biPushTiming,
+                  ("name" .=) <$> _biName,
                   ("digest" .=) <$> _biDigest])
diff --git a/gen/Network/Google/ContainerBuilder/Types/Sum.hs b/gen/Network/Google/ContainerBuilder/Types/Sum.hs
--- a/gen/Network/Google/ContainerBuilder/Types/Sum.hs
+++ b/gen/Network/Google/ContainerBuilder/Types/Sum.hs
@@ -16,8 +16,69 @@
 --
 module Network.Google.ContainerBuilder.Types.Sum where
 
-import           Network.Google.Prelude
+import           Network.Google.Prelude hiding (Bytes)
 
+-- | Output only. Status of the build step. At this time, build step status
+-- is only updated on build completion; step status is not updated in
+-- real-time as the build progresses.
+data BuildStepStatus
+    = StatusUnknown
+      -- ^ @STATUS_UNKNOWN@
+      -- Status of the build is unknown.
+    | Queued
+      -- ^ @QUEUED@
+      -- Build or step is queued; work has not yet begun.
+    | Working
+      -- ^ @WORKING@
+      -- Build or step is being executed.
+    | Success
+      -- ^ @SUCCESS@
+      -- Build or step finished successfully.
+    | Failure
+      -- ^ @FAILURE@
+      -- Build or step failed to complete successfully.
+    | InternalError
+      -- ^ @INTERNAL_ERROR@
+      -- Build or step failed due to an internal cause.
+    | Timeout
+      -- ^ @TIMEOUT@
+      -- Build or step took longer than was allowed.
+    | Cancelled
+      -- ^ @CANCELLED@
+      -- Build or step was canceled by a user.
+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
+
+instance Hashable BuildStepStatus
+
+instance FromHttpApiData BuildStepStatus where
+    parseQueryParam = \case
+        "STATUS_UNKNOWN" -> Right StatusUnknown
+        "QUEUED" -> Right Queued
+        "WORKING" -> Right Working
+        "SUCCESS" -> Right Success
+        "FAILURE" -> Right Failure
+        "INTERNAL_ERROR" -> Right InternalError
+        "TIMEOUT" -> Right Timeout
+        "CANCELLED" -> Right Cancelled
+        x -> Left ("Unable to parse BuildStepStatus from: " <> x)
+
+instance ToHttpApiData BuildStepStatus where
+    toQueryParam = \case
+        StatusUnknown -> "STATUS_UNKNOWN"
+        Queued -> "QUEUED"
+        Working -> "WORKING"
+        Success -> "SUCCESS"
+        Failure -> "FAILURE"
+        InternalError -> "INTERNAL_ERROR"
+        Timeout -> "TIMEOUT"
+        Cancelled -> "CANCELLED"
+
+instance FromJSON BuildStepStatus where
+    parseJSON = parseJSONText "BuildStepStatus"
+
+instance ToJSON BuildStepStatus where
+    toJSON = toJSONText
+
 -- | Requested verifiability options.
 data BuildOptionsRequestedVerifyOption
     = NotVerified
@@ -76,58 +137,58 @@
 instance ToJSON Xgafv where
     toJSON = toJSONText
 
--- | Status of the build. \'OutputOnly
+-- | Output only. Status of the build.
 data BuildStatus
-    = StatusUnknown
+    = BSStatusUnknown
       -- ^ @STATUS_UNKNOWN@
       -- Status of the build is unknown.
-    | Queued
+    | BSQueued
       -- ^ @QUEUED@
-      -- Build is queued; work has not yet begun.
-    | Working
+      -- Build or step is queued; work has not yet begun.
+    | BSWorking
       -- ^ @WORKING@
-      -- Build is being executed.
-    | Success
+      -- Build or step is being executed.
+    | BSSuccess
       -- ^ @SUCCESS@
-      -- Build finished successfully.
-    | Failure
+      -- Build or step finished successfully.
+    | BSFailure
       -- ^ @FAILURE@
-      -- Build failed to complete successfully.
-    | InternalError
+      -- Build or step failed to complete successfully.
+    | BSInternalError
       -- ^ @INTERNAL_ERROR@
-      -- Build failed due to an internal cause.
-    | Timeout
+      -- Build or step failed due to an internal cause.
+    | BSTimeout
       -- ^ @TIMEOUT@
-      -- Build took longer than was allowed.
-    | Cancelled
+      -- Build or step took longer than was allowed.
+    | BSCancelled
       -- ^ @CANCELLED@
-      -- Build was canceled by a user.
+      -- Build or step was canceled by a user.
       deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
 
 instance Hashable BuildStatus
 
 instance FromHttpApiData BuildStatus where
     parseQueryParam = \case
-        "STATUS_UNKNOWN" -> Right StatusUnknown
-        "QUEUED" -> Right Queued
-        "WORKING" -> Right Working
-        "SUCCESS" -> Right Success
-        "FAILURE" -> Right Failure
-        "INTERNAL_ERROR" -> Right InternalError
-        "TIMEOUT" -> Right Timeout
-        "CANCELLED" -> Right Cancelled
+        "STATUS_UNKNOWN" -> Right BSStatusUnknown
+        "QUEUED" -> Right BSQueued
+        "WORKING" -> Right BSWorking
+        "SUCCESS" -> Right BSSuccess
+        "FAILURE" -> Right BSFailure
+        "INTERNAL_ERROR" -> Right BSInternalError
+        "TIMEOUT" -> Right BSTimeout
+        "CANCELLED" -> Right BSCancelled
         x -> Left ("Unable to parse BuildStatus from: " <> x)
 
 instance ToHttpApiData BuildStatus where
     toQueryParam = \case
-        StatusUnknown -> "STATUS_UNKNOWN"
-        Queued -> "QUEUED"
-        Working -> "WORKING"
-        Success -> "SUCCESS"
-        Failure -> "FAILURE"
-        InternalError -> "INTERNAL_ERROR"
-        Timeout -> "TIMEOUT"
-        Cancelled -> "CANCELLED"
+        BSStatusUnknown -> "STATUS_UNKNOWN"
+        BSQueued -> "QUEUED"
+        BSWorking -> "WORKING"
+        BSSuccess -> "SUCCESS"
+        BSFailure -> "FAILURE"
+        BSInternalError -> "INTERNAL_ERROR"
+        BSTimeout -> "TIMEOUT"
+        BSCancelled -> "CANCELLED"
 
 instance FromJSON BuildStatus where
     parseJSON = parseJSONText "BuildStatus"
@@ -135,6 +196,37 @@
 instance ToJSON BuildStatus where
     toJSON = toJSONText
 
+-- | Option to specify behavior when there is an error in the substitution
+-- checks.
+data BuildOptionsSubstitutionOption
+    = MustMatch
+      -- ^ @MUST_MATCH@
+      -- Fails the build if error in substitutions checks, like missing a
+      -- substitution in the template or in the map.
+    | AllowLoose
+      -- ^ @ALLOW_LOOSE@
+      -- Do not fail the build if error in substitutions checks.
+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
+
+instance Hashable BuildOptionsSubstitutionOption
+
+instance FromHttpApiData BuildOptionsSubstitutionOption where
+    parseQueryParam = \case
+        "MUST_MATCH" -> Right MustMatch
+        "ALLOW_LOOSE" -> Right AllowLoose
+        x -> Left ("Unable to parse BuildOptionsSubstitutionOption from: " <> x)
+
+instance ToHttpApiData BuildOptionsSubstitutionOption where
+    toQueryParam = \case
+        MustMatch -> "MUST_MATCH"
+        AllowLoose -> "ALLOW_LOOSE"
+
+instance FromJSON BuildOptionsSubstitutionOption where
+    parseJSON = parseJSONText "BuildOptionsSubstitutionOption"
+
+instance ToJSON BuildOptionsSubstitutionOption where
+    toJSON = toJSONText
+
 -- | The type of hash that was performed.
 data HashType
     = None
@@ -143,6 +235,9 @@
     | SHA256
       -- ^ @SHA256@
       -- Use a sha256 hash.
+    | MD5
+      -- ^ @MD5@
+      -- Use a md5 hash.
       deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
 
 instance Hashable HashType
@@ -151,15 +246,122 @@
     parseQueryParam = \case
         "NONE" -> Right None
         "SHA256" -> Right SHA256
+        "MD5" -> Right MD5
         x -> Left ("Unable to parse HashType from: " <> x)
 
 instance ToHttpApiData HashType where
     toQueryParam = \case
         None -> "NONE"
         SHA256 -> "SHA256"
+        MD5 -> "MD5"
 
 instance FromJSON HashType where
     parseJSON = parseJSONText "HashType"
 
 instance ToJSON HashType where
+    toJSON = toJSONText
+
+-- | Option to define build log streaming behavior to Google Cloud Storage.
+data BuildOptionsLogStreamingOption
+    = StreamDefault
+      -- ^ @STREAM_DEFAULT@
+      -- Service may automatically determine build log streaming behavior.
+    | StreamOn
+      -- ^ @STREAM_ON@
+      -- Build logs should be streamed to Google Cloud Storage.
+    | StreamOff
+      -- ^ @STREAM_OFF@
+      -- Build logs should not be streamed to Google Cloud Storage; they will be
+      -- written when the build is completed.
+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
+
+instance Hashable BuildOptionsLogStreamingOption
+
+instance FromHttpApiData BuildOptionsLogStreamingOption where
+    parseQueryParam = \case
+        "STREAM_DEFAULT" -> Right StreamDefault
+        "STREAM_ON" -> Right StreamOn
+        "STREAM_OFF" -> Right StreamOff
+        x -> Left ("Unable to parse BuildOptionsLogStreamingOption from: " <> x)
+
+instance ToHttpApiData BuildOptionsLogStreamingOption where
+    toQueryParam = \case
+        StreamDefault -> "STREAM_DEFAULT"
+        StreamOn -> "STREAM_ON"
+        StreamOff -> "STREAM_OFF"
+
+instance FromJSON BuildOptionsLogStreamingOption where
+    parseJSON = parseJSONText "BuildOptionsLogStreamingOption"
+
+instance ToJSON BuildOptionsLogStreamingOption where
+    toJSON = toJSONText
+
+-- | Option to specify the logging mode, which determines where the logs are
+-- stored.
+data BuildOptionsLogging
+    = LoggingUnspecified
+      -- ^ @LOGGING_UNSPECIFIED@
+      -- The service determines the logging mode. The default is \`LEGACY\`. Do
+      -- not rely on the default logging behavior as it may change in the future.
+    | Legacy
+      -- ^ @LEGACY@
+      -- Stackdriver logging and Cloud Storage logging are enabled.
+    | GcsOnly
+      -- ^ @GCS_ONLY@
+      -- Only Cloud Storage logging is enabled.
+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
+
+instance Hashable BuildOptionsLogging
+
+instance FromHttpApiData BuildOptionsLogging where
+    parseQueryParam = \case
+        "LOGGING_UNSPECIFIED" -> Right LoggingUnspecified
+        "LEGACY" -> Right Legacy
+        "GCS_ONLY" -> Right GcsOnly
+        x -> Left ("Unable to parse BuildOptionsLogging from: " <> x)
+
+instance ToHttpApiData BuildOptionsLogging where
+    toQueryParam = \case
+        LoggingUnspecified -> "LOGGING_UNSPECIFIED"
+        Legacy -> "LEGACY"
+        GcsOnly -> "GCS_ONLY"
+
+instance FromJSON BuildOptionsLogging where
+    parseJSON = parseJSONText "BuildOptionsLogging"
+
+instance ToJSON BuildOptionsLogging where
+    toJSON = toJSONText
+
+-- | Compute Engine machine type on which to run the build.
+data BuildOptionsMachineType
+    = Unspecified
+      -- ^ @UNSPECIFIED@
+      -- Standard machine type.
+    | N1Highcpu8
+      -- ^ @N1_HIGHCPU_8@
+      -- Highcpu machine with 8 CPUs.
+    | N1Highcpu32
+      -- ^ @N1_HIGHCPU_32@
+      -- Highcpu machine with 32 CPUs.
+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
+
+instance Hashable BuildOptionsMachineType
+
+instance FromHttpApiData BuildOptionsMachineType where
+    parseQueryParam = \case
+        "UNSPECIFIED" -> Right Unspecified
+        "N1_HIGHCPU_8" -> Right N1Highcpu8
+        "N1_HIGHCPU_32" -> Right N1Highcpu32
+        x -> Left ("Unable to parse BuildOptionsMachineType from: " <> x)
+
+instance ToHttpApiData BuildOptionsMachineType where
+    toQueryParam = \case
+        Unspecified -> "UNSPECIFIED"
+        N1Highcpu8 -> "N1_HIGHCPU_8"
+        N1Highcpu32 -> "N1_HIGHCPU_32"
+
+instance FromJSON BuildOptionsMachineType where
+    parseJSON = parseJSONText "BuildOptionsMachineType"
+
+instance ToJSON BuildOptionsMachineType where
     toJSON = toJSONText
diff --git a/gen/Network/Google/Resource/Cloudbuild/Operations/Cancel.hs b/gen/Network/Google/Resource/Cloudbuild/Operations/Cancel.hs
--- a/gen/Network/Google/Resource/Cloudbuild/Operations/Cancel.hs
+++ b/gen/Network/Google/Resource/Cloudbuild/Operations/Cancel.hs
@@ -30,7 +30,7 @@
 -- instead, it becomes an operation with an Operation.error value with a
 -- google.rpc.Status.code of 1, corresponding to \`Code.CANCELLED\`.
 --
--- /See:/ <https://cloud.google.com/container-builder/docs/ Google Cloud Container Builder API Reference> for @cloudbuild.operations.cancel@.
+-- /See:/ <https://cloud.google.com/cloud-build/docs/ Cloud Build API Reference> for @cloudbuild.operations.cancel@.
 module Network.Google.Resource.Cloudbuild.Operations.Cancel
     (
     -- * REST Resource
@@ -43,11 +43,9 @@
     -- * Request Lenses
     , ocXgafv
     , ocUploadProtocol
-    , ocPp
     , ocAccessToken
     , ocUploadType
     , ocPayload
-    , ocBearerToken
     , ocName
     , ocCallback
     ) where
@@ -62,14 +60,12 @@
        CaptureMode "name" "cancel" Text :>
          QueryParam "$.xgafv" Xgafv :>
            QueryParam "upload_protocol" Text :>
-             QueryParam "pp" Bool :>
-               QueryParam "access_token" Text :>
-                 QueryParam "uploadType" Text :>
-                   QueryParam "bearer_token" Text :>
-                     QueryParam "callback" Text :>
-                       QueryParam "alt" AltJSON :>
-                         ReqBody '[JSON] CancelOperationRequest :>
-                           Post '[JSON] Empty
+             QueryParam "access_token" Text :>
+               QueryParam "uploadType" Text :>
+                 QueryParam "callback" Text :>
+                   QueryParam "alt" AltJSON :>
+                     ReqBody '[JSON] CancelOperationRequest :>
+                       Post '[JSON] Empty
 
 -- | Starts asynchronous cancellation on a long-running operation. The server
 -- makes a best effort to cancel the operation, but success is not
@@ -85,11 +81,9 @@
 data OperationsCancel = OperationsCancel'
     { _ocXgafv          :: !(Maybe Xgafv)
     , _ocUploadProtocol :: !(Maybe Text)
-    , _ocPp             :: !Bool
     , _ocAccessToken    :: !(Maybe Text)
     , _ocUploadType     :: !(Maybe Text)
     , _ocPayload        :: !CancelOperationRequest
-    , _ocBearerToken    :: !(Maybe Text)
     , _ocName           :: !Text
     , _ocCallback       :: !(Maybe Text)
     } deriving (Eq,Show,Data,Typeable,Generic)
@@ -102,16 +96,12 @@
 --
 -- * 'ocUploadProtocol'
 --
--- * 'ocPp'
---
 -- * 'ocAccessToken'
 --
 -- * 'ocUploadType'
 --
 -- * 'ocPayload'
 --
--- * 'ocBearerToken'
---
 -- * 'ocName'
 --
 -- * 'ocCallback'
@@ -123,11 +113,9 @@
     OperationsCancel'
     { _ocXgafv = Nothing
     , _ocUploadProtocol = Nothing
-    , _ocPp = True
     , _ocAccessToken = Nothing
     , _ocUploadType = Nothing
     , _ocPayload = pOcPayload_
-    , _ocBearerToken = Nothing
     , _ocName = pOcName_
     , _ocCallback = Nothing
     }
@@ -142,10 +130,6 @@
   = lens _ocUploadProtocol
       (\ s a -> s{_ocUploadProtocol = a})
 
--- | Pretty-print response.
-ocPp :: Lens' OperationsCancel Bool
-ocPp = lens _ocPp (\ s a -> s{_ocPp = a})
-
 -- | OAuth access token.
 ocAccessToken :: Lens' OperationsCancel (Maybe Text)
 ocAccessToken
@@ -162,12 +146,6 @@
 ocPayload
   = lens _ocPayload (\ s a -> s{_ocPayload = a})
 
--- | OAuth bearer token.
-ocBearerToken :: Lens' OperationsCancel (Maybe Text)
-ocBearerToken
-  = lens _ocBearerToken
-      (\ s a -> s{_ocBearerToken = a})
-
 -- | The name of the operation resource to be cancelled.
 ocName :: Lens' OperationsCancel Text
 ocName = lens _ocName (\ s a -> s{_ocName = a})
@@ -182,10 +160,9 @@
         type Scopes OperationsCancel =
              '["https://www.googleapis.com/auth/cloud-platform"]
         requestClient OperationsCancel'{..}
-          = go _ocName _ocXgafv _ocUploadProtocol (Just _ocPp)
+          = go _ocName _ocXgafv _ocUploadProtocol
               _ocAccessToken
               _ocUploadType
-              _ocBearerToken
               _ocCallback
               (Just AltJSON)
               _ocPayload
diff --git a/gen/Network/Google/Resource/Cloudbuild/Operations/Get.hs b/gen/Network/Google/Resource/Cloudbuild/Operations/Get.hs
--- a/gen/Network/Google/Resource/Cloudbuild/Operations/Get.hs
+++ b/gen/Network/Google/Resource/Cloudbuild/Operations/Get.hs
@@ -24,7 +24,7 @@
 -- method to poll the operation result at intervals as recommended by the
 -- API service.
 --
--- /See:/ <https://cloud.google.com/container-builder/docs/ Google Cloud Container Builder API Reference> for @cloudbuild.operations.get@.
+-- /See:/ <https://cloud.google.com/cloud-build/docs/ Cloud Build API Reference> for @cloudbuild.operations.get@.
 module Network.Google.Resource.Cloudbuild.Operations.Get
     (
     -- * REST Resource
@@ -37,10 +37,8 @@
     -- * Request Lenses
     , ogXgafv
     , ogUploadProtocol
-    , ogPp
     , ogAccessToken
     , ogUploadType
-    , ogBearerToken
     , ogName
     , ogCallback
     ) where
@@ -55,12 +53,10 @@
        Capture "name" Text :>
          QueryParam "$.xgafv" Xgafv :>
            QueryParam "upload_protocol" Text :>
-             QueryParam "pp" Bool :>
-               QueryParam "access_token" Text :>
-                 QueryParam "uploadType" Text :>
-                   QueryParam "bearer_token" Text :>
-                     QueryParam "callback" Text :>
-                       QueryParam "alt" AltJSON :> Get '[JSON] Operation
+             QueryParam "access_token" Text :>
+               QueryParam "uploadType" Text :>
+                 QueryParam "callback" Text :>
+                   QueryParam "alt" AltJSON :> Get '[JSON] Operation
 
 -- | Gets the latest state of a long-running operation. Clients can use this
 -- method to poll the operation result at intervals as recommended by the
@@ -70,10 +66,8 @@
 data OperationsGet = OperationsGet'
     { _ogXgafv          :: !(Maybe Xgafv)
     , _ogUploadProtocol :: !(Maybe Text)
-    , _ogPp             :: !Bool
     , _ogAccessToken    :: !(Maybe Text)
     , _ogUploadType     :: !(Maybe Text)
-    , _ogBearerToken    :: !(Maybe Text)
     , _ogName           :: !Text
     , _ogCallback       :: !(Maybe Text)
     } deriving (Eq,Show,Data,Typeable,Generic)
@@ -86,14 +80,10 @@
 --
 -- * 'ogUploadProtocol'
 --
--- * 'ogPp'
---
 -- * 'ogAccessToken'
 --
 -- * 'ogUploadType'
 --
--- * 'ogBearerToken'
---
 -- * 'ogName'
 --
 -- * 'ogCallback'
@@ -104,10 +94,8 @@
     OperationsGet'
     { _ogXgafv = Nothing
     , _ogUploadProtocol = Nothing
-    , _ogPp = True
     , _ogAccessToken = Nothing
     , _ogUploadType = Nothing
-    , _ogBearerToken = Nothing
     , _ogName = pOgName_
     , _ogCallback = Nothing
     }
@@ -122,10 +110,6 @@
   = lens _ogUploadProtocol
       (\ s a -> s{_ogUploadProtocol = a})
 
--- | Pretty-print response.
-ogPp :: Lens' OperationsGet Bool
-ogPp = lens _ogPp (\ s a -> s{_ogPp = a})
-
 -- | OAuth access token.
 ogAccessToken :: Lens' OperationsGet (Maybe Text)
 ogAccessToken
@@ -137,12 +121,6 @@
 ogUploadType
   = lens _ogUploadType (\ s a -> s{_ogUploadType = a})
 
--- | OAuth bearer token.
-ogBearerToken :: Lens' OperationsGet (Maybe Text)
-ogBearerToken
-  = lens _ogBearerToken
-      (\ s a -> s{_ogBearerToken = a})
-
 -- | The name of the operation resource.
 ogName :: Lens' OperationsGet Text
 ogName = lens _ogName (\ s a -> s{_ogName = a})
@@ -157,10 +135,9 @@
         type Scopes OperationsGet =
              '["https://www.googleapis.com/auth/cloud-platform"]
         requestClient OperationsGet'{..}
-          = go _ogName _ogXgafv _ogUploadProtocol (Just _ogPp)
+          = go _ogName _ogXgafv _ogUploadProtocol
               _ogAccessToken
               _ogUploadType
-              _ogBearerToken
               _ogCallback
               (Just AltJSON)
               containerBuilderService
diff --git a/gen/Network/Google/Resource/Cloudbuild/Operations/List.hs b/gen/Network/Google/Resource/Cloudbuild/Operations/List.hs
--- a/gen/Network/Google/Resource/Cloudbuild/Operations/List.hs
+++ b/gen/Network/Google/Resource/Cloudbuild/Operations/List.hs
@@ -22,11 +22,16 @@
 --
 -- Lists operations that match the specified filter in the request. If the
 -- server doesn\'t support this method, it returns \`UNIMPLEMENTED\`. NOTE:
--- the \`name\` binding below allows API services to override the binding
--- to use different resource name schemes, such as
--- \`users\/*\/operations\`.
+-- the \`name\` binding allows API services to override the binding to use
+-- different resource name schemes, such as \`users\/*\/operations\`. To
+-- override the binding, API services can add a binding such as
+-- \`\"\/v1\/{name=users\/*}\/operations\"\` to their service
+-- configuration. For backwards compatibility, the default name includes
+-- the operations collection id, however overriding users must ensure the
+-- name binding is the parent resource, without the operations collection
+-- id.
 --
--- /See:/ <https://cloud.google.com/container-builder/docs/ Google Cloud Container Builder API Reference> for @cloudbuild.operations.list@.
+-- /See:/ <https://cloud.google.com/cloud-build/docs/ Cloud Build API Reference> for @cloudbuild.operations.list@.
 module Network.Google.Resource.Cloudbuild.Operations.List
     (
     -- * REST Resource
@@ -39,10 +44,8 @@
     -- * Request Lenses
     , olXgafv
     , olUploadProtocol
-    , olPp
     , olAccessToken
     , olUploadType
-    , olBearerToken
     , olName
     , olFilter
     , olPageToken
@@ -60,31 +63,32 @@
        Capture "name" Text :>
          QueryParam "$.xgafv" Xgafv :>
            QueryParam "upload_protocol" Text :>
-             QueryParam "pp" Bool :>
-               QueryParam "access_token" Text :>
-                 QueryParam "uploadType" Text :>
-                   QueryParam "bearer_token" Text :>
-                     QueryParam "filter" Text :>
-                       QueryParam "pageToken" Text :>
-                         QueryParam "pageSize" (Textual Int32) :>
-                           QueryParam "callback" Text :>
-                             QueryParam "alt" AltJSON :>
-                               Get '[JSON] ListOperationsResponse
+             QueryParam "access_token" Text :>
+               QueryParam "uploadType" Text :>
+                 QueryParam "filter" Text :>
+                   QueryParam "pageToken" Text :>
+                     QueryParam "pageSize" (Textual Int32) :>
+                       QueryParam "callback" Text :>
+                         QueryParam "alt" AltJSON :>
+                           Get '[JSON] ListOperationsResponse
 
 -- | Lists operations that match the specified filter in the request. If the
 -- server doesn\'t support this method, it returns \`UNIMPLEMENTED\`. NOTE:
--- the \`name\` binding below allows API services to override the binding
--- to use different resource name schemes, such as
--- \`users\/*\/operations\`.
+-- the \`name\` binding allows API services to override the binding to use
+-- different resource name schemes, such as \`users\/*\/operations\`. To
+-- override the binding, API services can add a binding such as
+-- \`\"\/v1\/{name=users\/*}\/operations\"\` to their service
+-- configuration. For backwards compatibility, the default name includes
+-- the operations collection id, however overriding users must ensure the
+-- name binding is the parent resource, without the operations collection
+-- id.
 --
 -- /See:/ 'operationsList' smart constructor.
 data OperationsList = OperationsList'
     { _olXgafv          :: !(Maybe Xgafv)
     , _olUploadProtocol :: !(Maybe Text)
-    , _olPp             :: !Bool
     , _olAccessToken    :: !(Maybe Text)
     , _olUploadType     :: !(Maybe Text)
-    , _olBearerToken    :: !(Maybe Text)
     , _olName           :: !Text
     , _olFilter         :: !(Maybe Text)
     , _olPageToken      :: !(Maybe Text)
@@ -100,14 +104,10 @@
 --
 -- * 'olUploadProtocol'
 --
--- * 'olPp'
---
 -- * 'olAccessToken'
 --
 -- * 'olUploadType'
 --
--- * 'olBearerToken'
---
 -- * 'olName'
 --
 -- * 'olFilter'
@@ -124,10 +124,8 @@
     OperationsList'
     { _olXgafv = Nothing
     , _olUploadProtocol = Nothing
-    , _olPp = True
     , _olAccessToken = Nothing
     , _olUploadType = Nothing
-    , _olBearerToken = Nothing
     , _olName = pOlName_
     , _olFilter = Nothing
     , _olPageToken = Nothing
@@ -145,10 +143,6 @@
   = lens _olUploadProtocol
       (\ s a -> s{_olUploadProtocol = a})
 
--- | Pretty-print response.
-olPp :: Lens' OperationsList Bool
-olPp = lens _olPp (\ s a -> s{_olPp = a})
-
 -- | OAuth access token.
 olAccessToken :: Lens' OperationsList (Maybe Text)
 olAccessToken
@@ -160,13 +154,7 @@
 olUploadType
   = lens _olUploadType (\ s a -> s{_olUploadType = a})
 
--- | OAuth bearer token.
-olBearerToken :: Lens' OperationsList (Maybe Text)
-olBearerToken
-  = lens _olBearerToken
-      (\ s a -> s{_olBearerToken = a})
-
--- | The name of the operation collection.
+-- | The name of the operation\'s parent resource.
 olName :: Lens' OperationsList Text
 olName = lens _olName (\ s a -> s{_olName = a})
 
@@ -195,10 +183,9 @@
         type Scopes OperationsList =
              '["https://www.googleapis.com/auth/cloud-platform"]
         requestClient OperationsList'{..}
-          = go _olName _olXgafv _olUploadProtocol (Just _olPp)
+          = go _olName _olXgafv _olUploadProtocol
               _olAccessToken
               _olUploadType
-              _olBearerToken
               _olFilter
               _olPageToken
               _olPageSize
diff --git a/gen/Network/Google/Resource/Cloudbuild/Projects/Builds/Cancel.hs b/gen/Network/Google/Resource/Cloudbuild/Projects/Builds/Cancel.hs
--- a/gen/Network/Google/Resource/Cloudbuild/Projects/Builds/Cancel.hs
+++ b/gen/Network/Google/Resource/Cloudbuild/Projects/Builds/Cancel.hs
@@ -20,9 +20,9 @@
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Cancels a requested build in progress.
+-- Cancels a build in progress.
 --
--- /See:/ <https://cloud.google.com/container-builder/docs/ Google Cloud Container Builder API Reference> for @cloudbuild.projects.builds.cancel@.
+-- /See:/ <https://cloud.google.com/cloud-build/docs/ Cloud Build API Reference> for @cloudbuild.projects.builds.cancel@.
 module Network.Google.Resource.Cloudbuild.Projects.Builds.Cancel
     (
     -- * REST Resource
@@ -35,11 +35,9 @@
     -- * Request Lenses
     , pbcXgafv
     , pbcUploadProtocol
-    , pbcPp
     , pbcAccessToken
     , pbcUploadType
     , pbcPayload
-    , pbcBearerToken
     , pbcId
     , pbcProjectId
     , pbcCallback
@@ -58,26 +56,22 @@
              CaptureMode "id" "cancel" Text :>
                QueryParam "$.xgafv" Xgafv :>
                  QueryParam "upload_protocol" Text :>
-                   QueryParam "pp" Bool :>
-                     QueryParam "access_token" Text :>
-                       QueryParam "uploadType" Text :>
-                         QueryParam "bearer_token" Text :>
-                           QueryParam "callback" Text :>
-                             QueryParam "alt" AltJSON :>
-                               ReqBody '[JSON] CancelBuildRequest :>
-                                 Post '[JSON] Build
+                   QueryParam "access_token" Text :>
+                     QueryParam "uploadType" Text :>
+                       QueryParam "callback" Text :>
+                         QueryParam "alt" AltJSON :>
+                           ReqBody '[JSON] CancelBuildRequest :>
+                             Post '[JSON] Build
 
--- | Cancels a requested build in progress.
+-- | Cancels a build in progress.
 --
 -- /See:/ 'projectsBuildsCancel' smart constructor.
 data ProjectsBuildsCancel = ProjectsBuildsCancel'
     { _pbcXgafv          :: !(Maybe Xgafv)
     , _pbcUploadProtocol :: !(Maybe Text)
-    , _pbcPp             :: !Bool
     , _pbcAccessToken    :: !(Maybe Text)
     , _pbcUploadType     :: !(Maybe Text)
     , _pbcPayload        :: !CancelBuildRequest
-    , _pbcBearerToken    :: !(Maybe Text)
     , _pbcId             :: !Text
     , _pbcProjectId      :: !Text
     , _pbcCallback       :: !(Maybe Text)
@@ -91,16 +85,12 @@
 --
 -- * 'pbcUploadProtocol'
 --
--- * 'pbcPp'
---
 -- * 'pbcAccessToken'
 --
 -- * 'pbcUploadType'
 --
 -- * 'pbcPayload'
 --
--- * 'pbcBearerToken'
---
 -- * 'pbcId'
 --
 -- * 'pbcProjectId'
@@ -115,11 +105,9 @@
     ProjectsBuildsCancel'
     { _pbcXgafv = Nothing
     , _pbcUploadProtocol = Nothing
-    , _pbcPp = True
     , _pbcAccessToken = Nothing
     , _pbcUploadType = Nothing
     , _pbcPayload = pPbcPayload_
-    , _pbcBearerToken = Nothing
     , _pbcId = pPbcId_
     , _pbcProjectId = pPbcProjectId_
     , _pbcCallback = Nothing
@@ -135,10 +123,6 @@
   = lens _pbcUploadProtocol
       (\ s a -> s{_pbcUploadProtocol = a})
 
--- | Pretty-print response.
-pbcPp :: Lens' ProjectsBuildsCancel Bool
-pbcPp = lens _pbcPp (\ s a -> s{_pbcPp = a})
-
 -- | OAuth access token.
 pbcAccessToken :: Lens' ProjectsBuildsCancel (Maybe Text)
 pbcAccessToken
@@ -156,12 +140,6 @@
 pbcPayload
   = lens _pbcPayload (\ s a -> s{_pbcPayload = a})
 
--- | OAuth bearer token.
-pbcBearerToken :: Lens' ProjectsBuildsCancel (Maybe Text)
-pbcBearerToken
-  = lens _pbcBearerToken
-      (\ s a -> s{_pbcBearerToken = a})
-
 -- | ID of the build.
 pbcId :: Lens' ProjectsBuildsCancel Text
 pbcId = lens _pbcId (\ s a -> s{_pbcId = a})
@@ -183,10 +161,8 @@
         requestClient ProjectsBuildsCancel'{..}
           = go _pbcProjectId _pbcId _pbcXgafv
               _pbcUploadProtocol
-              (Just _pbcPp)
               _pbcAccessToken
               _pbcUploadType
-              _pbcBearerToken
               _pbcCallback
               (Just AltJSON)
               _pbcPayload
diff --git a/gen/Network/Google/Resource/Cloudbuild/Projects/Builds/Create.hs b/gen/Network/Google/Resource/Cloudbuild/Projects/Builds/Create.hs
--- a/gen/Network/Google/Resource/Cloudbuild/Projects/Builds/Create.hs
+++ b/gen/Network/Google/Resource/Cloudbuild/Projects/Builds/Create.hs
@@ -20,12 +20,12 @@
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Starts a build with the specified configuration. The long-running
--- Operation returned by this method will include the ID of the build,
--- which can be passed to GetBuild to determine its status (e.g., success
--- or failure).
+-- Starts a build with the specified configuration. This method returns a
+-- long-running \`Operation\`, which includes the build ID. Pass the build
+-- ID to \`GetBuild\` to determine the build status (such as \`SUCCESS\` or
+-- \`FAILURE\`).
 --
--- /See:/ <https://cloud.google.com/container-builder/docs/ Google Cloud Container Builder API Reference> for @cloudbuild.projects.builds.create@.
+-- /See:/ <https://cloud.google.com/cloud-build/docs/ Cloud Build API Reference> for @cloudbuild.projects.builds.create@.
 module Network.Google.Resource.Cloudbuild.Projects.Builds.Create
     (
     -- * REST Resource
@@ -38,11 +38,9 @@
     -- * Request Lenses
     , pXgafv
     , pUploadProtocol
-    , pPp
     , pAccessToken
     , pUploadType
     , pPayload
-    , pBearerToken
     , pProjectId
     , pCallback
     ) where
@@ -59,28 +57,24 @@
            "builds" :>
              QueryParam "$.xgafv" Xgafv :>
                QueryParam "upload_protocol" Text :>
-                 QueryParam "pp" Bool :>
-                   QueryParam "access_token" Text :>
-                     QueryParam "uploadType" Text :>
-                       QueryParam "bearer_token" Text :>
-                         QueryParam "callback" Text :>
-                           QueryParam "alt" AltJSON :>
-                             ReqBody '[JSON] Build :> Post '[JSON] Operation
+                 QueryParam "access_token" Text :>
+                   QueryParam "uploadType" Text :>
+                     QueryParam "callback" Text :>
+                       QueryParam "alt" AltJSON :>
+                         ReqBody '[JSON] Build :> Post '[JSON] Operation
 
--- | Starts a build with the specified configuration. The long-running
--- Operation returned by this method will include the ID of the build,
--- which can be passed to GetBuild to determine its status (e.g., success
--- or failure).
+-- | Starts a build with the specified configuration. This method returns a
+-- long-running \`Operation\`, which includes the build ID. Pass the build
+-- ID to \`GetBuild\` to determine the build status (such as \`SUCCESS\` or
+-- \`FAILURE\`).
 --
 -- /See:/ 'projectsBuildsCreate' smart constructor.
 data ProjectsBuildsCreate = ProjectsBuildsCreate'
     { _pXgafv          :: !(Maybe Xgafv)
     , _pUploadProtocol :: !(Maybe Text)
-    , _pPp             :: !Bool
     , _pAccessToken    :: !(Maybe Text)
     , _pUploadType     :: !(Maybe Text)
     , _pPayload        :: !Build
-    , _pBearerToken    :: !(Maybe Text)
     , _pProjectId      :: !Text
     , _pCallback       :: !(Maybe Text)
     } deriving (Eq,Show,Data,Typeable,Generic)
@@ -93,16 +87,12 @@
 --
 -- * 'pUploadProtocol'
 --
--- * 'pPp'
---
 -- * 'pAccessToken'
 --
 -- * 'pUploadType'
 --
 -- * 'pPayload'
 --
--- * 'pBearerToken'
---
 -- * 'pProjectId'
 --
 -- * 'pCallback'
@@ -114,11 +104,9 @@
     ProjectsBuildsCreate'
     { _pXgafv = Nothing
     , _pUploadProtocol = Nothing
-    , _pPp = True
     , _pAccessToken = Nothing
     , _pUploadType = Nothing
     , _pPayload = pPPayload_
-    , _pBearerToken = Nothing
     , _pProjectId = pPProjectId_
     , _pCallback = Nothing
     }
@@ -133,10 +121,6 @@
   = lens _pUploadProtocol
       (\ s a -> s{_pUploadProtocol = a})
 
--- | Pretty-print response.
-pPp :: Lens' ProjectsBuildsCreate Bool
-pPp = lens _pPp (\ s a -> s{_pPp = a})
-
 -- | OAuth access token.
 pAccessToken :: Lens' ProjectsBuildsCreate (Maybe Text)
 pAccessToken
@@ -151,11 +135,6 @@
 pPayload :: Lens' ProjectsBuildsCreate Build
 pPayload = lens _pPayload (\ s a -> s{_pPayload = a})
 
--- | OAuth bearer token.
-pBearerToken :: Lens' ProjectsBuildsCreate (Maybe Text)
-pBearerToken
-  = lens _pBearerToken (\ s a -> s{_pBearerToken = a})
-
 -- | ID of the project.
 pProjectId :: Lens' ProjectsBuildsCreate Text
 pProjectId
@@ -171,10 +150,9 @@
         type Scopes ProjectsBuildsCreate =
              '["https://www.googleapis.com/auth/cloud-platform"]
         requestClient ProjectsBuildsCreate'{..}
-          = go _pProjectId _pXgafv _pUploadProtocol (Just _pPp)
+          = go _pProjectId _pXgafv _pUploadProtocol
               _pAccessToken
               _pUploadType
-              _pBearerToken
               _pCallback
               (Just AltJSON)
               _pPayload
diff --git a/gen/Network/Google/Resource/Cloudbuild/Projects/Builds/Get.hs b/gen/Network/Google/Resource/Cloudbuild/Projects/Builds/Get.hs
--- a/gen/Network/Google/Resource/Cloudbuild/Projects/Builds/Get.hs
+++ b/gen/Network/Google/Resource/Cloudbuild/Projects/Builds/Get.hs
@@ -20,11 +20,11 @@
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Returns information about a previously requested build. The Build that
--- is returned includes its status (e.g., success or failure, or
--- in-progress), and timing information.
+-- Returns information about a previously requested build. The \`Build\`
+-- that is returned includes its status (such as \`SUCCESS\`, \`FAILURE\`,
+-- or \`WORKING\`), and timing information.
 --
--- /See:/ <https://cloud.google.com/container-builder/docs/ Google Cloud Container Builder API Reference> for @cloudbuild.projects.builds.get@.
+-- /See:/ <https://cloud.google.com/cloud-build/docs/ Cloud Build API Reference> for @cloudbuild.projects.builds.get@.
 module Network.Google.Resource.Cloudbuild.Projects.Builds.Get
     (
     -- * REST Resource
@@ -37,10 +37,8 @@
     -- * Request Lenses
     , pbgXgafv
     , pbgUploadProtocol
-    , pbgPp
     , pbgAccessToken
     , pbgUploadType
-    , pbgBearerToken
     , pbgId
     , pbgProjectId
     , pbgCallback
@@ -59,25 +57,21 @@
              Capture "id" Text :>
                QueryParam "$.xgafv" Xgafv :>
                  QueryParam "upload_protocol" Text :>
-                   QueryParam "pp" Bool :>
-                     QueryParam "access_token" Text :>
-                       QueryParam "uploadType" Text :>
-                         QueryParam "bearer_token" Text :>
-                           QueryParam "callback" Text :>
-                             QueryParam "alt" AltJSON :> Get '[JSON] Build
+                   QueryParam "access_token" Text :>
+                     QueryParam "uploadType" Text :>
+                       QueryParam "callback" Text :>
+                         QueryParam "alt" AltJSON :> Get '[JSON] Build
 
--- | Returns information about a previously requested build. The Build that
--- is returned includes its status (e.g., success or failure, or
--- in-progress), and timing information.
+-- | Returns information about a previously requested build. The \`Build\`
+-- that is returned includes its status (such as \`SUCCESS\`, \`FAILURE\`,
+-- or \`WORKING\`), and timing information.
 --
 -- /See:/ 'projectsBuildsGet' smart constructor.
 data ProjectsBuildsGet = ProjectsBuildsGet'
     { _pbgXgafv          :: !(Maybe Xgafv)
     , _pbgUploadProtocol :: !(Maybe Text)
-    , _pbgPp             :: !Bool
     , _pbgAccessToken    :: !(Maybe Text)
     , _pbgUploadType     :: !(Maybe Text)
-    , _pbgBearerToken    :: !(Maybe Text)
     , _pbgId             :: !Text
     , _pbgProjectId      :: !Text
     , _pbgCallback       :: !(Maybe Text)
@@ -91,14 +85,10 @@
 --
 -- * 'pbgUploadProtocol'
 --
--- * 'pbgPp'
---
 -- * 'pbgAccessToken'
 --
 -- * 'pbgUploadType'
 --
--- * 'pbgBearerToken'
---
 -- * 'pbgId'
 --
 -- * 'pbgProjectId'
@@ -112,10 +102,8 @@
     ProjectsBuildsGet'
     { _pbgXgafv = Nothing
     , _pbgUploadProtocol = Nothing
-    , _pbgPp = True
     , _pbgAccessToken = Nothing
     , _pbgUploadType = Nothing
-    , _pbgBearerToken = Nothing
     , _pbgId = pPbgId_
     , _pbgProjectId = pPbgProjectId_
     , _pbgCallback = Nothing
@@ -131,10 +119,6 @@
   = lens _pbgUploadProtocol
       (\ s a -> s{_pbgUploadProtocol = a})
 
--- | Pretty-print response.
-pbgPp :: Lens' ProjectsBuildsGet Bool
-pbgPp = lens _pbgPp (\ s a -> s{_pbgPp = a})
-
 -- | OAuth access token.
 pbgAccessToken :: Lens' ProjectsBuildsGet (Maybe Text)
 pbgAccessToken
@@ -147,12 +131,6 @@
   = lens _pbgUploadType
       (\ s a -> s{_pbgUploadType = a})
 
--- | OAuth bearer token.
-pbgBearerToken :: Lens' ProjectsBuildsGet (Maybe Text)
-pbgBearerToken
-  = lens _pbgBearerToken
-      (\ s a -> s{_pbgBearerToken = a})
-
 -- | ID of the build.
 pbgId :: Lens' ProjectsBuildsGet Text
 pbgId = lens _pbgId (\ s a -> s{_pbgId = a})
@@ -174,10 +152,8 @@
         requestClient ProjectsBuildsGet'{..}
           = go _pbgProjectId _pbgId _pbgXgafv
               _pbgUploadProtocol
-              (Just _pbgPp)
               _pbgAccessToken
               _pbgUploadType
-              _pbgBearerToken
               _pbgCallback
               (Just AltJSON)
               containerBuilderService
diff --git a/gen/Network/Google/Resource/Cloudbuild/Projects/Builds/List.hs b/gen/Network/Google/Resource/Cloudbuild/Projects/Builds/List.hs
--- a/gen/Network/Google/Resource/Cloudbuild/Projects/Builds/List.hs
+++ b/gen/Network/Google/Resource/Cloudbuild/Projects/Builds/List.hs
@@ -23,7 +23,7 @@
 -- Lists previously requested builds. Previously requested builds may still
 -- be in-progress, or may have finished successfully or unsuccessfully.
 --
--- /See:/ <https://cloud.google.com/container-builder/docs/ Google Cloud Container Builder API Reference> for @cloudbuild.projects.builds.list@.
+-- /See:/ <https://cloud.google.com/cloud-build/docs/ Cloud Build API Reference> for @cloudbuild.projects.builds.list@.
 module Network.Google.Resource.Cloudbuild.Projects.Builds.List
     (
     -- * REST Resource
@@ -36,10 +36,8 @@
     -- * Request Lenses
     , pblXgafv
     , pblUploadProtocol
-    , pblPp
     , pblAccessToken
     , pblUploadType
-    , pblBearerToken
     , pblFilter
     , pblPageToken
     , pblProjectId
@@ -59,16 +57,14 @@
            "builds" :>
              QueryParam "$.xgafv" Xgafv :>
                QueryParam "upload_protocol" Text :>
-                 QueryParam "pp" Bool :>
-                   QueryParam "access_token" Text :>
-                     QueryParam "uploadType" Text :>
-                       QueryParam "bearer_token" Text :>
-                         QueryParam "filter" Text :>
-                           QueryParam "pageToken" Text :>
-                             QueryParam "pageSize" (Textual Int32) :>
-                               QueryParam "callback" Text :>
-                                 QueryParam "alt" AltJSON :>
-                                   Get '[JSON] ListBuildsResponse
+                 QueryParam "access_token" Text :>
+                   QueryParam "uploadType" Text :>
+                     QueryParam "filter" Text :>
+                       QueryParam "pageToken" Text :>
+                         QueryParam "pageSize" (Textual Int32) :>
+                           QueryParam "callback" Text :>
+                             QueryParam "alt" AltJSON :>
+                               Get '[JSON] ListBuildsResponse
 
 -- | Lists previously requested builds. Previously requested builds may still
 -- be in-progress, or may have finished successfully or unsuccessfully.
@@ -77,10 +73,8 @@
 data ProjectsBuildsList = ProjectsBuildsList'
     { _pblXgafv          :: !(Maybe Xgafv)
     , _pblUploadProtocol :: !(Maybe Text)
-    , _pblPp             :: !Bool
     , _pblAccessToken    :: !(Maybe Text)
     , _pblUploadType     :: !(Maybe Text)
-    , _pblBearerToken    :: !(Maybe Text)
     , _pblFilter         :: !(Maybe Text)
     , _pblPageToken      :: !(Maybe Text)
     , _pblProjectId      :: !Text
@@ -96,14 +90,10 @@
 --
 -- * 'pblUploadProtocol'
 --
--- * 'pblPp'
---
 -- * 'pblAccessToken'
 --
 -- * 'pblUploadType'
 --
--- * 'pblBearerToken'
---
 -- * 'pblFilter'
 --
 -- * 'pblPageToken'
@@ -120,10 +110,8 @@
     ProjectsBuildsList'
     { _pblXgafv = Nothing
     , _pblUploadProtocol = Nothing
-    , _pblPp = True
     , _pblAccessToken = Nothing
     , _pblUploadType = Nothing
-    , _pblBearerToken = Nothing
     , _pblFilter = Nothing
     , _pblPageToken = Nothing
     , _pblProjectId = pPblProjectId_
@@ -141,10 +129,6 @@
   = lens _pblUploadProtocol
       (\ s a -> s{_pblUploadProtocol = a})
 
--- | Pretty-print response.
-pblPp :: Lens' ProjectsBuildsList Bool
-pblPp = lens _pblPp (\ s a -> s{_pblPp = a})
-
 -- | OAuth access token.
 pblAccessToken :: Lens' ProjectsBuildsList (Maybe Text)
 pblAccessToken
@@ -157,12 +141,6 @@
   = lens _pblUploadType
       (\ s a -> s{_pblUploadType = a})
 
--- | OAuth bearer token.
-pblBearerToken :: Lens' ProjectsBuildsList (Maybe Text)
-pblBearerToken
-  = lens _pblBearerToken
-      (\ s a -> s{_pblBearerToken = a})
-
 -- | The raw filter text to constrain the results.
 pblFilter :: Lens' ProjectsBuildsList (Maybe Text)
 pblFilter
@@ -195,10 +173,8 @@
              '["https://www.googleapis.com/auth/cloud-platform"]
         requestClient ProjectsBuildsList'{..}
           = go _pblProjectId _pblXgafv _pblUploadProtocol
-              (Just _pblPp)
               _pblAccessToken
               _pblUploadType
-              _pblBearerToken
               _pblFilter
               _pblPageToken
               _pblPageSize
diff --git a/gen/Network/Google/Resource/Cloudbuild/Projects/Builds/Retry.hs b/gen/Network/Google/Resource/Cloudbuild/Projects/Builds/Retry.hs
new file mode 100644
--- /dev/null
+++ b/gen/Network/Google/Resource/Cloudbuild/Projects/Builds/Retry.hs
@@ -0,0 +1,205 @@
+{-# LANGUAGE DataKinds          #-}
+{-# LANGUAGE DeriveDataTypeable #-}
+{-# LANGUAGE DeriveGeneric      #-}
+{-# LANGUAGE FlexibleInstances  #-}
+{-# LANGUAGE NoImplicitPrelude  #-}
+{-# LANGUAGE OverloadedStrings  #-}
+{-# LANGUAGE RecordWildCards    #-}
+{-# LANGUAGE TypeFamilies       #-}
+{-# LANGUAGE TypeOperators      #-}
+
+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}
+
+-- |
+-- Module      : Network.Google.Resource.Cloudbuild.Projects.Builds.Retry
+-- Copyright   : (c) 2015-2016 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Creates a new build based on the specified build. This method creates a
+-- new build using the original build request, which may or may not result
+-- in an identical build. For triggered builds: * Triggered builds resolve
+-- to a precise revision; therefore a retry of a triggered build will
+-- result in a build that uses the same revision. For non-triggered builds
+-- that specify \`RepoSource\`: * If the original build built from the tip
+-- of a branch, the retried build will build from the tip of that branch,
+-- which may not be the same revision as the original build. * If the
+-- original build specified a commit sha or revision ID, the retried build
+-- will use the identical source. For builds that specify
+-- \`StorageSource\`: * If the original build pulled source from Google
+-- Cloud Storage without specifying the generation of the object, the new
+-- build will use the current object, which may be different from the
+-- original build source. * If the original build pulled source from Cloud
+-- Storage and specified the generation of the object, the new build will
+-- attempt to use the same object, which may or may not be available
+-- depending on the bucket\'s lifecycle management settings.
+--
+-- /See:/ <https://cloud.google.com/cloud-build/docs/ Cloud Build API Reference> for @cloudbuild.projects.builds.retry@.
+module Network.Google.Resource.Cloudbuild.Projects.Builds.Retry
+    (
+    -- * REST Resource
+      ProjectsBuildsRetryResource
+
+    -- * Creating a Request
+    , projectsBuildsRetry
+    , ProjectsBuildsRetry
+
+    -- * Request Lenses
+    , pbrXgafv
+    , pbrUploadProtocol
+    , pbrAccessToken
+    , pbrUploadType
+    , pbrPayload
+    , pbrId
+    , pbrProjectId
+    , pbrCallback
+    ) where
+
+import           Network.Google.ContainerBuilder.Types
+import           Network.Google.Prelude
+
+-- | A resource alias for @cloudbuild.projects.builds.retry@ method which the
+-- 'ProjectsBuildsRetry' request conforms to.
+type ProjectsBuildsRetryResource =
+     "v1" :>
+       "projects" :>
+         Capture "projectId" Text :>
+           "builds" :>
+             CaptureMode "id" "retry" Text :>
+               QueryParam "$.xgafv" Xgafv :>
+                 QueryParam "upload_protocol" Text :>
+                   QueryParam "access_token" Text :>
+                     QueryParam "uploadType" Text :>
+                       QueryParam "callback" Text :>
+                         QueryParam "alt" AltJSON :>
+                           ReqBody '[JSON] RetryBuildRequest :>
+                             Post '[JSON] Operation
+
+-- | Creates a new build based on the specified build. This method creates a
+-- new build using the original build request, which may or may not result
+-- in an identical build. For triggered builds: * Triggered builds resolve
+-- to a precise revision; therefore a retry of a triggered build will
+-- result in a build that uses the same revision. For non-triggered builds
+-- that specify \`RepoSource\`: * If the original build built from the tip
+-- of a branch, the retried build will build from the tip of that branch,
+-- which may not be the same revision as the original build. * If the
+-- original build specified a commit sha or revision ID, the retried build
+-- will use the identical source. For builds that specify
+-- \`StorageSource\`: * If the original build pulled source from Google
+-- Cloud Storage without specifying the generation of the object, the new
+-- build will use the current object, which may be different from the
+-- original build source. * If the original build pulled source from Cloud
+-- Storage and specified the generation of the object, the new build will
+-- attempt to use the same object, which may or may not be available
+-- depending on the bucket\'s lifecycle management settings.
+--
+-- /See:/ 'projectsBuildsRetry' smart constructor.
+data ProjectsBuildsRetry = ProjectsBuildsRetry'
+    { _pbrXgafv          :: !(Maybe Xgafv)
+    , _pbrUploadProtocol :: !(Maybe Text)
+    , _pbrAccessToken    :: !(Maybe Text)
+    , _pbrUploadType     :: !(Maybe Text)
+    , _pbrPayload        :: !RetryBuildRequest
+    , _pbrId             :: !Text
+    , _pbrProjectId      :: !Text
+    , _pbrCallback       :: !(Maybe Text)
+    } deriving (Eq,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'ProjectsBuildsRetry' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'pbrXgafv'
+--
+-- * 'pbrUploadProtocol'
+--
+-- * 'pbrAccessToken'
+--
+-- * 'pbrUploadType'
+--
+-- * 'pbrPayload'
+--
+-- * 'pbrId'
+--
+-- * 'pbrProjectId'
+--
+-- * 'pbrCallback'
+projectsBuildsRetry
+    :: RetryBuildRequest -- ^ 'pbrPayload'
+    -> Text -- ^ 'pbrId'
+    -> Text -- ^ 'pbrProjectId'
+    -> ProjectsBuildsRetry
+projectsBuildsRetry pPbrPayload_ pPbrId_ pPbrProjectId_ =
+    ProjectsBuildsRetry'
+    { _pbrXgafv = Nothing
+    , _pbrUploadProtocol = Nothing
+    , _pbrAccessToken = Nothing
+    , _pbrUploadType = Nothing
+    , _pbrPayload = pPbrPayload_
+    , _pbrId = pPbrId_
+    , _pbrProjectId = pPbrProjectId_
+    , _pbrCallback = Nothing
+    }
+
+-- | V1 error format.
+pbrXgafv :: Lens' ProjectsBuildsRetry (Maybe Xgafv)
+pbrXgafv = lens _pbrXgafv (\ s a -> s{_pbrXgafv = a})
+
+-- | Upload protocol for media (e.g. \"raw\", \"multipart\").
+pbrUploadProtocol :: Lens' ProjectsBuildsRetry (Maybe Text)
+pbrUploadProtocol
+  = lens _pbrUploadProtocol
+      (\ s a -> s{_pbrUploadProtocol = a})
+
+-- | OAuth access token.
+pbrAccessToken :: Lens' ProjectsBuildsRetry (Maybe Text)
+pbrAccessToken
+  = lens _pbrAccessToken
+      (\ s a -> s{_pbrAccessToken = a})
+
+-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
+pbrUploadType :: Lens' ProjectsBuildsRetry (Maybe Text)
+pbrUploadType
+  = lens _pbrUploadType
+      (\ s a -> s{_pbrUploadType = a})
+
+-- | Multipart request metadata.
+pbrPayload :: Lens' ProjectsBuildsRetry RetryBuildRequest
+pbrPayload
+  = lens _pbrPayload (\ s a -> s{_pbrPayload = a})
+
+-- | Build ID of the original build.
+pbrId :: Lens' ProjectsBuildsRetry Text
+pbrId = lens _pbrId (\ s a -> s{_pbrId = a})
+
+-- | ID of the project.
+pbrProjectId :: Lens' ProjectsBuildsRetry Text
+pbrProjectId
+  = lens _pbrProjectId (\ s a -> s{_pbrProjectId = a})
+
+-- | JSONP
+pbrCallback :: Lens' ProjectsBuildsRetry (Maybe Text)
+pbrCallback
+  = lens _pbrCallback (\ s a -> s{_pbrCallback = a})
+
+instance GoogleRequest ProjectsBuildsRetry where
+        type Rs ProjectsBuildsRetry = Operation
+        type Scopes ProjectsBuildsRetry =
+             '["https://www.googleapis.com/auth/cloud-platform"]
+        requestClient ProjectsBuildsRetry'{..}
+          = go _pbrProjectId _pbrId _pbrXgafv
+              _pbrUploadProtocol
+              _pbrAccessToken
+              _pbrUploadType
+              _pbrCallback
+              (Just AltJSON)
+              _pbrPayload
+              containerBuilderService
+          where go
+                  = buildClient
+                      (Proxy :: Proxy ProjectsBuildsRetryResource)
+                      mempty
diff --git a/gen/Network/Google/Resource/Cloudbuild/Projects/Triggers/Create.hs b/gen/Network/Google/Resource/Cloudbuild/Projects/Triggers/Create.hs
--- a/gen/Network/Google/Resource/Cloudbuild/Projects/Triggers/Create.hs
+++ b/gen/Network/Google/Resource/Cloudbuild/Projects/Triggers/Create.hs
@@ -20,9 +20,9 @@
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Creates a new BuildTrigger. This API is experimental.
+-- Creates a new \`BuildTrigger\`. This API is experimental.
 --
--- /See:/ <https://cloud.google.com/container-builder/docs/ Google Cloud Container Builder API Reference> for @cloudbuild.projects.triggers.create@.
+-- /See:/ <https://cloud.google.com/cloud-build/docs/ Cloud Build API Reference> for @cloudbuild.projects.triggers.create@.
 module Network.Google.Resource.Cloudbuild.Projects.Triggers.Create
     (
     -- * REST Resource
@@ -35,11 +35,9 @@
     -- * Request Lenses
     , ptcXgafv
     , ptcUploadProtocol
-    , ptcPp
     , ptcAccessToken
     , ptcUploadType
     , ptcPayload
-    , ptcBearerToken
     , ptcProjectId
     , ptcCallback
     ) where
@@ -56,26 +54,22 @@
            "triggers" :>
              QueryParam "$.xgafv" Xgafv :>
                QueryParam "upload_protocol" Text :>
-                 QueryParam "pp" Bool :>
-                   QueryParam "access_token" Text :>
-                     QueryParam "uploadType" Text :>
-                       QueryParam "bearer_token" Text :>
-                         QueryParam "callback" Text :>
-                           QueryParam "alt" AltJSON :>
-                             ReqBody '[JSON] BuildTrigger :>
-                               Post '[JSON] BuildTrigger
+                 QueryParam "access_token" Text :>
+                   QueryParam "uploadType" Text :>
+                     QueryParam "callback" Text :>
+                       QueryParam "alt" AltJSON :>
+                         ReqBody '[JSON] BuildTrigger :>
+                           Post '[JSON] BuildTrigger
 
--- | Creates a new BuildTrigger. This API is experimental.
+-- | Creates a new \`BuildTrigger\`. This API is experimental.
 --
 -- /See:/ 'projectsTriggersCreate' smart constructor.
 data ProjectsTriggersCreate = ProjectsTriggersCreate'
     { _ptcXgafv          :: !(Maybe Xgafv)
     , _ptcUploadProtocol :: !(Maybe Text)
-    , _ptcPp             :: !Bool
     , _ptcAccessToken    :: !(Maybe Text)
     , _ptcUploadType     :: !(Maybe Text)
     , _ptcPayload        :: !BuildTrigger
-    , _ptcBearerToken    :: !(Maybe Text)
     , _ptcProjectId      :: !Text
     , _ptcCallback       :: !(Maybe Text)
     } deriving (Eq,Show,Data,Typeable,Generic)
@@ -88,16 +82,12 @@
 --
 -- * 'ptcUploadProtocol'
 --
--- * 'ptcPp'
---
 -- * 'ptcAccessToken'
 --
 -- * 'ptcUploadType'
 --
 -- * 'ptcPayload'
 --
--- * 'ptcBearerToken'
---
 -- * 'ptcProjectId'
 --
 -- * 'ptcCallback'
@@ -109,11 +99,9 @@
     ProjectsTriggersCreate'
     { _ptcXgafv = Nothing
     , _ptcUploadProtocol = Nothing
-    , _ptcPp = True
     , _ptcAccessToken = Nothing
     , _ptcUploadType = Nothing
     , _ptcPayload = pPtcPayload_
-    , _ptcBearerToken = Nothing
     , _ptcProjectId = pPtcProjectId_
     , _ptcCallback = Nothing
     }
@@ -128,10 +116,6 @@
   = lens _ptcUploadProtocol
       (\ s a -> s{_ptcUploadProtocol = a})
 
--- | Pretty-print response.
-ptcPp :: Lens' ProjectsTriggersCreate Bool
-ptcPp = lens _ptcPp (\ s a -> s{_ptcPp = a})
-
 -- | OAuth access token.
 ptcAccessToken :: Lens' ProjectsTriggersCreate (Maybe Text)
 ptcAccessToken
@@ -149,12 +133,6 @@
 ptcPayload
   = lens _ptcPayload (\ s a -> s{_ptcPayload = a})
 
--- | OAuth bearer token.
-ptcBearerToken :: Lens' ProjectsTriggersCreate (Maybe Text)
-ptcBearerToken
-  = lens _ptcBearerToken
-      (\ s a -> s{_ptcBearerToken = a})
-
 -- | ID of the project for which to configure automatic builds.
 ptcProjectId :: Lens' ProjectsTriggersCreate Text
 ptcProjectId
@@ -171,10 +149,8 @@
              '["https://www.googleapis.com/auth/cloud-platform"]
         requestClient ProjectsTriggersCreate'{..}
           = go _ptcProjectId _ptcXgafv _ptcUploadProtocol
-              (Just _ptcPp)
               _ptcAccessToken
               _ptcUploadType
-              _ptcBearerToken
               _ptcCallback
               (Just AltJSON)
               _ptcPayload
diff --git a/gen/Network/Google/Resource/Cloudbuild/Projects/Triggers/Delete.hs b/gen/Network/Google/Resource/Cloudbuild/Projects/Triggers/Delete.hs
--- a/gen/Network/Google/Resource/Cloudbuild/Projects/Triggers/Delete.hs
+++ b/gen/Network/Google/Resource/Cloudbuild/Projects/Triggers/Delete.hs
@@ -20,10 +20,10 @@
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Deletes an BuildTrigger by its project ID and trigger ID. This API is
+-- Deletes a \`BuildTrigger\` by its project ID and trigger ID. This API is
 -- experimental.
 --
--- /See:/ <https://cloud.google.com/container-builder/docs/ Google Cloud Container Builder API Reference> for @cloudbuild.projects.triggers.delete@.
+-- /See:/ <https://cloud.google.com/cloud-build/docs/ Cloud Build API Reference> for @cloudbuild.projects.triggers.delete@.
 module Network.Google.Resource.Cloudbuild.Projects.Triggers.Delete
     (
     -- * REST Resource
@@ -37,10 +37,8 @@
     , ptdXgafv
     , ptdUploadProtocol
     , ptdTriggerId
-    , ptdPp
     , ptdAccessToken
     , ptdUploadType
-    , ptdBearerToken
     , ptdProjectId
     , ptdCallback
     ) where
@@ -58,14 +56,12 @@
              Capture "triggerId" Text :>
                QueryParam "$.xgafv" Xgafv :>
                  QueryParam "upload_protocol" Text :>
-                   QueryParam "pp" Bool :>
-                     QueryParam "access_token" Text :>
-                       QueryParam "uploadType" Text :>
-                         QueryParam "bearer_token" Text :>
-                           QueryParam "callback" Text :>
-                             QueryParam "alt" AltJSON :> Delete '[JSON] Empty
+                   QueryParam "access_token" Text :>
+                     QueryParam "uploadType" Text :>
+                       QueryParam "callback" Text :>
+                         QueryParam "alt" AltJSON :> Delete '[JSON] Empty
 
--- | Deletes an BuildTrigger by its project ID and trigger ID. This API is
+-- | Deletes a \`BuildTrigger\` by its project ID and trigger ID. This API is
 -- experimental.
 --
 -- /See:/ 'projectsTriggersDelete' smart constructor.
@@ -73,10 +69,8 @@
     { _ptdXgafv          :: !(Maybe Xgafv)
     , _ptdUploadProtocol :: !(Maybe Text)
     , _ptdTriggerId      :: !Text
-    , _ptdPp             :: !Bool
     , _ptdAccessToken    :: !(Maybe Text)
     , _ptdUploadType     :: !(Maybe Text)
-    , _ptdBearerToken    :: !(Maybe Text)
     , _ptdProjectId      :: !Text
     , _ptdCallback       :: !(Maybe Text)
     } deriving (Eq,Show,Data,Typeable,Generic)
@@ -91,14 +85,10 @@
 --
 -- * 'ptdTriggerId'
 --
--- * 'ptdPp'
---
 -- * 'ptdAccessToken'
 --
 -- * 'ptdUploadType'
 --
--- * 'ptdBearerToken'
---
 -- * 'ptdProjectId'
 --
 -- * 'ptdCallback'
@@ -111,10 +101,8 @@
     { _ptdXgafv = Nothing
     , _ptdUploadProtocol = Nothing
     , _ptdTriggerId = pPtdTriggerId_
-    , _ptdPp = True
     , _ptdAccessToken = Nothing
     , _ptdUploadType = Nothing
-    , _ptdBearerToken = Nothing
     , _ptdProjectId = pPtdProjectId_
     , _ptdCallback = Nothing
     }
@@ -129,15 +117,11 @@
   = lens _ptdUploadProtocol
       (\ s a -> s{_ptdUploadProtocol = a})
 
--- | ID of the BuildTrigger to delete.
+-- | ID of the \`BuildTrigger\` to delete.
 ptdTriggerId :: Lens' ProjectsTriggersDelete Text
 ptdTriggerId
   = lens _ptdTriggerId (\ s a -> s{_ptdTriggerId = a})
 
--- | Pretty-print response.
-ptdPp :: Lens' ProjectsTriggersDelete Bool
-ptdPp = lens _ptdPp (\ s a -> s{_ptdPp = a})
-
 -- | OAuth access token.
 ptdAccessToken :: Lens' ProjectsTriggersDelete (Maybe Text)
 ptdAccessToken
@@ -150,12 +134,6 @@
   = lens _ptdUploadType
       (\ s a -> s{_ptdUploadType = a})
 
--- | OAuth bearer token.
-ptdBearerToken :: Lens' ProjectsTriggersDelete (Maybe Text)
-ptdBearerToken
-  = lens _ptdBearerToken
-      (\ s a -> s{_ptdBearerToken = a})
-
 -- | ID of the project that owns the trigger.
 ptdProjectId :: Lens' ProjectsTriggersDelete Text
 ptdProjectId
@@ -173,10 +151,8 @@
         requestClient ProjectsTriggersDelete'{..}
           = go _ptdProjectId _ptdTriggerId _ptdXgafv
               _ptdUploadProtocol
-              (Just _ptdPp)
               _ptdAccessToken
               _ptdUploadType
-              _ptdBearerToken
               _ptdCallback
               (Just AltJSON)
               containerBuilderService
diff --git a/gen/Network/Google/Resource/Cloudbuild/Projects/Triggers/Get.hs b/gen/Network/Google/Resource/Cloudbuild/Projects/Triggers/Get.hs
--- a/gen/Network/Google/Resource/Cloudbuild/Projects/Triggers/Get.hs
+++ b/gen/Network/Google/Resource/Cloudbuild/Projects/Triggers/Get.hs
@@ -20,9 +20,9 @@
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Gets information about a BuildTrigger. This API is experimental.
+-- Returns information about a \`BuildTrigger\`. This API is experimental.
 --
--- /See:/ <https://cloud.google.com/container-builder/docs/ Google Cloud Container Builder API Reference> for @cloudbuild.projects.triggers.get@.
+-- /See:/ <https://cloud.google.com/cloud-build/docs/ Cloud Build API Reference> for @cloudbuild.projects.triggers.get@.
 module Network.Google.Resource.Cloudbuild.Projects.Triggers.Get
     (
     -- * REST Resource
@@ -36,10 +36,8 @@
     , ptgXgafv
     , ptgUploadProtocol
     , ptgTriggerId
-    , ptgPp
     , ptgAccessToken
     , ptgUploadType
-    , ptgBearerToken
     , ptgProjectId
     , ptgCallback
     ) where
@@ -57,25 +55,20 @@
              Capture "triggerId" Text :>
                QueryParam "$.xgafv" Xgafv :>
                  QueryParam "upload_protocol" Text :>
-                   QueryParam "pp" Bool :>
-                     QueryParam "access_token" Text :>
-                       QueryParam "uploadType" Text :>
-                         QueryParam "bearer_token" Text :>
-                           QueryParam "callback" Text :>
-                             QueryParam "alt" AltJSON :>
-                               Get '[JSON] BuildTrigger
+                   QueryParam "access_token" Text :>
+                     QueryParam "uploadType" Text :>
+                       QueryParam "callback" Text :>
+                         QueryParam "alt" AltJSON :> Get '[JSON] BuildTrigger
 
--- | Gets information about a BuildTrigger. This API is experimental.
+-- | Returns information about a \`BuildTrigger\`. This API is experimental.
 --
 -- /See:/ 'projectsTriggersGet' smart constructor.
 data ProjectsTriggersGet = ProjectsTriggersGet'
     { _ptgXgafv          :: !(Maybe Xgafv)
     , _ptgUploadProtocol :: !(Maybe Text)
     , _ptgTriggerId      :: !Text
-    , _ptgPp             :: !Bool
     , _ptgAccessToken    :: !(Maybe Text)
     , _ptgUploadType     :: !(Maybe Text)
-    , _ptgBearerToken    :: !(Maybe Text)
     , _ptgProjectId      :: !Text
     , _ptgCallback       :: !(Maybe Text)
     } deriving (Eq,Show,Data,Typeable,Generic)
@@ -90,14 +83,10 @@
 --
 -- * 'ptgTriggerId'
 --
--- * 'ptgPp'
---
 -- * 'ptgAccessToken'
 --
 -- * 'ptgUploadType'
 --
--- * 'ptgBearerToken'
---
 -- * 'ptgProjectId'
 --
 -- * 'ptgCallback'
@@ -110,10 +99,8 @@
     { _ptgXgafv = Nothing
     , _ptgUploadProtocol = Nothing
     , _ptgTriggerId = pPtgTriggerId_
-    , _ptgPp = True
     , _ptgAccessToken = Nothing
     , _ptgUploadType = Nothing
-    , _ptgBearerToken = Nothing
     , _ptgProjectId = pPtgProjectId_
     , _ptgCallback = Nothing
     }
@@ -128,15 +115,11 @@
   = lens _ptgUploadProtocol
       (\ s a -> s{_ptgUploadProtocol = a})
 
--- | ID of the BuildTrigger to get.
+-- | ID of the \`BuildTrigger\` to get.
 ptgTriggerId :: Lens' ProjectsTriggersGet Text
 ptgTriggerId
   = lens _ptgTriggerId (\ s a -> s{_ptgTriggerId = a})
 
--- | Pretty-print response.
-ptgPp :: Lens' ProjectsTriggersGet Bool
-ptgPp = lens _ptgPp (\ s a -> s{_ptgPp = a})
-
 -- | OAuth access token.
 ptgAccessToken :: Lens' ProjectsTriggersGet (Maybe Text)
 ptgAccessToken
@@ -149,12 +132,6 @@
   = lens _ptgUploadType
       (\ s a -> s{_ptgUploadType = a})
 
--- | OAuth bearer token.
-ptgBearerToken :: Lens' ProjectsTriggersGet (Maybe Text)
-ptgBearerToken
-  = lens _ptgBearerToken
-      (\ s a -> s{_ptgBearerToken = a})
-
 -- | ID of the project that owns the trigger.
 ptgProjectId :: Lens' ProjectsTriggersGet Text
 ptgProjectId
@@ -172,10 +149,8 @@
         requestClient ProjectsTriggersGet'{..}
           = go _ptgProjectId _ptgTriggerId _ptgXgafv
               _ptgUploadProtocol
-              (Just _ptgPp)
               _ptgAccessToken
               _ptgUploadType
-              _ptgBearerToken
               _ptgCallback
               (Just AltJSON)
               containerBuilderService
diff --git a/gen/Network/Google/Resource/Cloudbuild/Projects/Triggers/List.hs b/gen/Network/Google/Resource/Cloudbuild/Projects/Triggers/List.hs
--- a/gen/Network/Google/Resource/Cloudbuild/Projects/Triggers/List.hs
+++ b/gen/Network/Google/Resource/Cloudbuild/Projects/Triggers/List.hs
@@ -20,9 +20,9 @@
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Lists existing BuildTrigger. This API is experimental.
+-- Lists existing \`BuildTrigger\`s. This API is experimental.
 --
--- /See:/ <https://cloud.google.com/container-builder/docs/ Google Cloud Container Builder API Reference> for @cloudbuild.projects.triggers.list@.
+-- /See:/ <https://cloud.google.com/cloud-build/docs/ Cloud Build API Reference> for @cloudbuild.projects.triggers.list@.
 module Network.Google.Resource.Cloudbuild.Projects.Triggers.List
     (
     -- * REST Resource
@@ -35,10 +35,8 @@
     -- * Request Lenses
     , ptlXgafv
     , ptlUploadProtocol
-    , ptlPp
     , ptlAccessToken
     , ptlUploadType
-    , ptlBearerToken
     , ptlProjectId
     , ptlCallback
     ) where
@@ -55,24 +53,20 @@
            "triggers" :>
              QueryParam "$.xgafv" Xgafv :>
                QueryParam "upload_protocol" Text :>
-                 QueryParam "pp" Bool :>
-                   QueryParam "access_token" Text :>
-                     QueryParam "uploadType" Text :>
-                       QueryParam "bearer_token" Text :>
-                         QueryParam "callback" Text :>
-                           QueryParam "alt" AltJSON :>
-                             Get '[JSON] ListBuildTriggersResponse
+                 QueryParam "access_token" Text :>
+                   QueryParam "uploadType" Text :>
+                     QueryParam "callback" Text :>
+                       QueryParam "alt" AltJSON :>
+                         Get '[JSON] ListBuildTriggersResponse
 
--- | Lists existing BuildTrigger. This API is experimental.
+-- | Lists existing \`BuildTrigger\`s. This API is experimental.
 --
 -- /See:/ 'projectsTriggersList' smart constructor.
 data ProjectsTriggersList = ProjectsTriggersList'
     { _ptlXgafv          :: !(Maybe Xgafv)
     , _ptlUploadProtocol :: !(Maybe Text)
-    , _ptlPp             :: !Bool
     , _ptlAccessToken    :: !(Maybe Text)
     , _ptlUploadType     :: !(Maybe Text)
-    , _ptlBearerToken    :: !(Maybe Text)
     , _ptlProjectId      :: !Text
     , _ptlCallback       :: !(Maybe Text)
     } deriving (Eq,Show,Data,Typeable,Generic)
@@ -85,14 +79,10 @@
 --
 -- * 'ptlUploadProtocol'
 --
--- * 'ptlPp'
---
 -- * 'ptlAccessToken'
 --
 -- * 'ptlUploadType'
 --
--- * 'ptlBearerToken'
---
 -- * 'ptlProjectId'
 --
 -- * 'ptlCallback'
@@ -103,10 +93,8 @@
     ProjectsTriggersList'
     { _ptlXgafv = Nothing
     , _ptlUploadProtocol = Nothing
-    , _ptlPp = True
     , _ptlAccessToken = Nothing
     , _ptlUploadType = Nothing
-    , _ptlBearerToken = Nothing
     , _ptlProjectId = pPtlProjectId_
     , _ptlCallback = Nothing
     }
@@ -121,10 +109,6 @@
   = lens _ptlUploadProtocol
       (\ s a -> s{_ptlUploadProtocol = a})
 
--- | Pretty-print response.
-ptlPp :: Lens' ProjectsTriggersList Bool
-ptlPp = lens _ptlPp (\ s a -> s{_ptlPp = a})
-
 -- | OAuth access token.
 ptlAccessToken :: Lens' ProjectsTriggersList (Maybe Text)
 ptlAccessToken
@@ -137,12 +121,6 @@
   = lens _ptlUploadType
       (\ s a -> s{_ptlUploadType = a})
 
--- | OAuth bearer token.
-ptlBearerToken :: Lens' ProjectsTriggersList (Maybe Text)
-ptlBearerToken
-  = lens _ptlBearerToken
-      (\ s a -> s{_ptlBearerToken = a})
-
 -- | ID of the project for which to list BuildTriggers.
 ptlProjectId :: Lens' ProjectsTriggersList Text
 ptlProjectId
@@ -160,10 +138,8 @@
              '["https://www.googleapis.com/auth/cloud-platform"]
         requestClient ProjectsTriggersList'{..}
           = go _ptlProjectId _ptlXgafv _ptlUploadProtocol
-              (Just _ptlPp)
               _ptlAccessToken
               _ptlUploadType
-              _ptlBearerToken
               _ptlCallback
               (Just AltJSON)
               containerBuilderService
diff --git a/gen/Network/Google/Resource/Cloudbuild/Projects/Triggers/Patch.hs b/gen/Network/Google/Resource/Cloudbuild/Projects/Triggers/Patch.hs
--- a/gen/Network/Google/Resource/Cloudbuild/Projects/Triggers/Patch.hs
+++ b/gen/Network/Google/Resource/Cloudbuild/Projects/Triggers/Patch.hs
@@ -20,10 +20,10 @@
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Updates an BuildTrigger by its project ID and trigger ID. This API is
+-- Updates a \`BuildTrigger\` by its project ID and trigger ID. This API is
 -- experimental.
 --
--- /See:/ <https://cloud.google.com/container-builder/docs/ Google Cloud Container Builder API Reference> for @cloudbuild.projects.triggers.patch@.
+-- /See:/ <https://cloud.google.com/cloud-build/docs/ Cloud Build API Reference> for @cloudbuild.projects.triggers.patch@.
 module Network.Google.Resource.Cloudbuild.Projects.Triggers.Patch
     (
     -- * REST Resource
@@ -37,11 +37,9 @@
     , ptpXgafv
     , ptpUploadProtocol
     , ptpTriggerId
-    , ptpPp
     , ptpAccessToken
     , ptpUploadType
     , ptpPayload
-    , ptpBearerToken
     , ptpProjectId
     , ptpCallback
     ) where
@@ -59,16 +57,14 @@
              Capture "triggerId" Text :>
                QueryParam "$.xgafv" Xgafv :>
                  QueryParam "upload_protocol" Text :>
-                   QueryParam "pp" Bool :>
-                     QueryParam "access_token" Text :>
-                       QueryParam "uploadType" Text :>
-                         QueryParam "bearer_token" Text :>
-                           QueryParam "callback" Text :>
-                             QueryParam "alt" AltJSON :>
-                               ReqBody '[JSON] BuildTrigger :>
-                                 Patch '[JSON] BuildTrigger
+                   QueryParam "access_token" Text :>
+                     QueryParam "uploadType" Text :>
+                       QueryParam "callback" Text :>
+                         QueryParam "alt" AltJSON :>
+                           ReqBody '[JSON] BuildTrigger :>
+                             Patch '[JSON] BuildTrigger
 
--- | Updates an BuildTrigger by its project ID and trigger ID. This API is
+-- | Updates a \`BuildTrigger\` by its project ID and trigger ID. This API is
 -- experimental.
 --
 -- /See:/ 'projectsTriggersPatch' smart constructor.
@@ -76,11 +72,9 @@
     { _ptpXgafv          :: !(Maybe Xgafv)
     , _ptpUploadProtocol :: !(Maybe Text)
     , _ptpTriggerId      :: !Text
-    , _ptpPp             :: !Bool
     , _ptpAccessToken    :: !(Maybe Text)
     , _ptpUploadType     :: !(Maybe Text)
     , _ptpPayload        :: !BuildTrigger
-    , _ptpBearerToken    :: !(Maybe Text)
     , _ptpProjectId      :: !Text
     , _ptpCallback       :: !(Maybe Text)
     } deriving (Eq,Show,Data,Typeable,Generic)
@@ -95,16 +89,12 @@
 --
 -- * 'ptpTriggerId'
 --
--- * 'ptpPp'
---
 -- * 'ptpAccessToken'
 --
 -- * 'ptpUploadType'
 --
 -- * 'ptpPayload'
 --
--- * 'ptpBearerToken'
---
 -- * 'ptpProjectId'
 --
 -- * 'ptpCallback'
@@ -118,11 +108,9 @@
     { _ptpXgafv = Nothing
     , _ptpUploadProtocol = Nothing
     , _ptpTriggerId = pPtpTriggerId_
-    , _ptpPp = True
     , _ptpAccessToken = Nothing
     , _ptpUploadType = Nothing
     , _ptpPayload = pPtpPayload_
-    , _ptpBearerToken = Nothing
     , _ptpProjectId = pPtpProjectId_
     , _ptpCallback = Nothing
     }
@@ -137,15 +125,11 @@
   = lens _ptpUploadProtocol
       (\ s a -> s{_ptpUploadProtocol = a})
 
--- | ID of the BuildTrigger to update.
+-- | ID of the \`BuildTrigger\` to update.
 ptpTriggerId :: Lens' ProjectsTriggersPatch Text
 ptpTriggerId
   = lens _ptpTriggerId (\ s a -> s{_ptpTriggerId = a})
 
--- | Pretty-print response.
-ptpPp :: Lens' ProjectsTriggersPatch Bool
-ptpPp = lens _ptpPp (\ s a -> s{_ptpPp = a})
-
 -- | OAuth access token.
 ptpAccessToken :: Lens' ProjectsTriggersPatch (Maybe Text)
 ptpAccessToken
@@ -163,12 +147,6 @@
 ptpPayload
   = lens _ptpPayload (\ s a -> s{_ptpPayload = a})
 
--- | OAuth bearer token.
-ptpBearerToken :: Lens' ProjectsTriggersPatch (Maybe Text)
-ptpBearerToken
-  = lens _ptpBearerToken
-      (\ s a -> s{_ptpBearerToken = a})
-
 -- | ID of the project that owns the trigger.
 ptpProjectId :: Lens' ProjectsTriggersPatch Text
 ptpProjectId
@@ -186,10 +164,8 @@
         requestClient ProjectsTriggersPatch'{..}
           = go _ptpProjectId _ptpTriggerId _ptpXgafv
               _ptpUploadProtocol
-              (Just _ptpPp)
               _ptpAccessToken
               _ptpUploadType
-              _ptpBearerToken
               _ptpCallback
               (Just AltJSON)
               _ptpPayload
diff --git a/gen/Network/Google/Resource/Cloudbuild/Projects/Triggers/Run.hs b/gen/Network/Google/Resource/Cloudbuild/Projects/Triggers/Run.hs
new file mode 100644
--- /dev/null
+++ b/gen/Network/Google/Resource/Cloudbuild/Projects/Triggers/Run.hs
@@ -0,0 +1,173 @@
+{-# LANGUAGE DataKinds          #-}
+{-# LANGUAGE DeriveDataTypeable #-}
+{-# LANGUAGE DeriveGeneric      #-}
+{-# LANGUAGE FlexibleInstances  #-}
+{-# LANGUAGE NoImplicitPrelude  #-}
+{-# LANGUAGE OverloadedStrings  #-}
+{-# LANGUAGE RecordWildCards    #-}
+{-# LANGUAGE TypeFamilies       #-}
+{-# LANGUAGE TypeOperators      #-}
+
+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}
+
+-- |
+-- Module      : Network.Google.Resource.Cloudbuild.Projects.Triggers.Run
+-- Copyright   : (c) 2015-2016 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Runs a \`BuildTrigger\` at a particular source revision.
+--
+-- /See:/ <https://cloud.google.com/cloud-build/docs/ Cloud Build API Reference> for @cloudbuild.projects.triggers.run@.
+module Network.Google.Resource.Cloudbuild.Projects.Triggers.Run
+    (
+    -- * REST Resource
+      ProjectsTriggersRunResource
+
+    -- * Creating a Request
+    , projectsTriggersRun
+    , ProjectsTriggersRun
+
+    -- * Request Lenses
+    , ptrXgafv
+    , ptrUploadProtocol
+    , ptrTriggerId
+    , ptrAccessToken
+    , ptrUploadType
+    , ptrPayload
+    , ptrProjectId
+    , ptrCallback
+    ) where
+
+import           Network.Google.ContainerBuilder.Types
+import           Network.Google.Prelude
+
+-- | A resource alias for @cloudbuild.projects.triggers.run@ method which the
+-- 'ProjectsTriggersRun' request conforms to.
+type ProjectsTriggersRunResource =
+     "v1" :>
+       "projects" :>
+         Capture "projectId" Text :>
+           "triggers" :>
+             CaptureMode "triggerId" "run" Text :>
+               QueryParam "$.xgafv" Xgafv :>
+                 QueryParam "upload_protocol" Text :>
+                   QueryParam "access_token" Text :>
+                     QueryParam "uploadType" Text :>
+                       QueryParam "callback" Text :>
+                         QueryParam "alt" AltJSON :>
+                           ReqBody '[JSON] RepoSource :> Post '[JSON] Operation
+
+-- | Runs a \`BuildTrigger\` at a particular source revision.
+--
+-- /See:/ 'projectsTriggersRun' smart constructor.
+data ProjectsTriggersRun = ProjectsTriggersRun'
+    { _ptrXgafv          :: !(Maybe Xgafv)
+    , _ptrUploadProtocol :: !(Maybe Text)
+    , _ptrTriggerId      :: !Text
+    , _ptrAccessToken    :: !(Maybe Text)
+    , _ptrUploadType     :: !(Maybe Text)
+    , _ptrPayload        :: !RepoSource
+    , _ptrProjectId      :: !Text
+    , _ptrCallback       :: !(Maybe Text)
+    } deriving (Eq,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'ProjectsTriggersRun' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'ptrXgafv'
+--
+-- * 'ptrUploadProtocol'
+--
+-- * 'ptrTriggerId'
+--
+-- * 'ptrAccessToken'
+--
+-- * 'ptrUploadType'
+--
+-- * 'ptrPayload'
+--
+-- * 'ptrProjectId'
+--
+-- * 'ptrCallback'
+projectsTriggersRun
+    :: Text -- ^ 'ptrTriggerId'
+    -> RepoSource -- ^ 'ptrPayload'
+    -> Text -- ^ 'ptrProjectId'
+    -> ProjectsTriggersRun
+projectsTriggersRun pPtrTriggerId_ pPtrPayload_ pPtrProjectId_ =
+    ProjectsTriggersRun'
+    { _ptrXgafv = Nothing
+    , _ptrUploadProtocol = Nothing
+    , _ptrTriggerId = pPtrTriggerId_
+    , _ptrAccessToken = Nothing
+    , _ptrUploadType = Nothing
+    , _ptrPayload = pPtrPayload_
+    , _ptrProjectId = pPtrProjectId_
+    , _ptrCallback = Nothing
+    }
+
+-- | V1 error format.
+ptrXgafv :: Lens' ProjectsTriggersRun (Maybe Xgafv)
+ptrXgafv = lens _ptrXgafv (\ s a -> s{_ptrXgafv = a})
+
+-- | Upload protocol for media (e.g. \"raw\", \"multipart\").
+ptrUploadProtocol :: Lens' ProjectsTriggersRun (Maybe Text)
+ptrUploadProtocol
+  = lens _ptrUploadProtocol
+      (\ s a -> s{_ptrUploadProtocol = a})
+
+-- | ID of the trigger.
+ptrTriggerId :: Lens' ProjectsTriggersRun Text
+ptrTriggerId
+  = lens _ptrTriggerId (\ s a -> s{_ptrTriggerId = a})
+
+-- | OAuth access token.
+ptrAccessToken :: Lens' ProjectsTriggersRun (Maybe Text)
+ptrAccessToken
+  = lens _ptrAccessToken
+      (\ s a -> s{_ptrAccessToken = a})
+
+-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
+ptrUploadType :: Lens' ProjectsTriggersRun (Maybe Text)
+ptrUploadType
+  = lens _ptrUploadType
+      (\ s a -> s{_ptrUploadType = a})
+
+-- | Multipart request metadata.
+ptrPayload :: Lens' ProjectsTriggersRun RepoSource
+ptrPayload
+  = lens _ptrPayload (\ s a -> s{_ptrPayload = a})
+
+-- | ID of the project.
+ptrProjectId :: Lens' ProjectsTriggersRun Text
+ptrProjectId
+  = lens _ptrProjectId (\ s a -> s{_ptrProjectId = a})
+
+-- | JSONP
+ptrCallback :: Lens' ProjectsTriggersRun (Maybe Text)
+ptrCallback
+  = lens _ptrCallback (\ s a -> s{_ptrCallback = a})
+
+instance GoogleRequest ProjectsTriggersRun where
+        type Rs ProjectsTriggersRun = Operation
+        type Scopes ProjectsTriggersRun =
+             '["https://www.googleapis.com/auth/cloud-platform"]
+        requestClient ProjectsTriggersRun'{..}
+          = go _ptrProjectId _ptrTriggerId _ptrXgafv
+              _ptrUploadProtocol
+              _ptrAccessToken
+              _ptrUploadType
+              _ptrCallback
+              (Just AltJSON)
+              _ptrPayload
+              containerBuilderService
+          where go
+                  = buildClient
+                      (Proxy :: Proxy ProjectsTriggersRunResource)
+                      mempty
diff --git a/gogol-containerbuilder.cabal b/gogol-containerbuilder.cabal
--- a/gogol-containerbuilder.cabal
+++ b/gogol-containerbuilder.cabal
@@ -1,6 +1,6 @@
 name:                  gogol-containerbuilder
-version:               0.3.0
-synopsis:              Google Cloud Container Builder SDK.
+version:               0.4.0
+synopsis:              Google Cloud Build SDK.
 homepage:              https://github.com/brendanhay/gogol
 bug-reports:           https://github.com/brendanhay/gogol/issues
 license:               OtherLicense
@@ -14,7 +14,7 @@
 extra-source-files:    README.md src/.gitkeep
 
 description:
-    Builds container images in the cloud.
+    Creates and manages builds on Google Cloud Platform.
     .
     /Warning:/ This is an experimental prototype/preview release which is still
     under exploratory development and not intended for public use, caveat emptor!
@@ -42,16 +42,18 @@
         , Network.Google.Resource.Cloudbuild.Projects.Builds.Create
         , Network.Google.Resource.Cloudbuild.Projects.Builds.Get
         , Network.Google.Resource.Cloudbuild.Projects.Builds.List
+        , Network.Google.Resource.Cloudbuild.Projects.Builds.Retry
         , Network.Google.Resource.Cloudbuild.Projects.Triggers.Create
         , Network.Google.Resource.Cloudbuild.Projects.Triggers.Delete
         , Network.Google.Resource.Cloudbuild.Projects.Triggers.Get
         , Network.Google.Resource.Cloudbuild.Projects.Triggers.List
         , Network.Google.Resource.Cloudbuild.Projects.Triggers.Patch
+        , Network.Google.Resource.Cloudbuild.Projects.Triggers.Run
 
     other-modules:
           Network.Google.ContainerBuilder.Types.Product
         , Network.Google.ContainerBuilder.Types.Sum
 
     build-depends:
-          gogol-core == 0.3.0.*
+          gogol-core == 0.4.0.*
         , base       >= 4.7 && < 5
