packages feed

amazonka-codebuild (empty) → 1.4.5

raw patch · 47 files changed

+4776/−0 lines, 47 filesdep +amazonka-codebuilddep +amazonka-coredep +amazonka-testsetup-changed

Dependencies added: amazonka-codebuild, amazonka-core, amazonka-test, base, bytestring, tasty, tasty-hunit, text, time, unordered-containers

Files

+ LICENSE view
@@ -0,0 +1,367 @@+Mozilla Public License Version 2.0+==================================++1. Definitions+--------------++1.1. "Contributor"+    means each individual or legal entity that creates, contributes to+    the creation of, or owns Covered Software.++1.2. "Contributor Version"+    means the combination of the Contributions of others (if any) used+    by a Contributor and that particular Contributor's Contribution.++1.3. "Contribution"+    means Covered Software of a particular Contributor.++1.4. "Covered Software"+    means Source Code Form to which the initial Contributor has attached+    the notice in Exhibit A, the Executable Form of such Source Code+    Form, and Modifications of such Source Code Form, in each case+    including portions thereof.++1.5. "Incompatible With Secondary Licenses"+    means++    (a) that the initial Contributor has attached the notice described+        in Exhibit B to the Covered Software; or++    (b) that the Covered Software was made available under the terms of+        version 1.1 or earlier of the License, but not also under the+        terms of a Secondary License.++1.6. "Executable Form"+    means any form of the work other than Source Code Form.++1.7. "Larger Work"+    means a work that combines Covered Software with other material, in+    a separate file or files, that is not Covered Software.++1.8. "License"+    means this document.++1.9. "Licensable"+    means having the right to grant, to the maximum extent possible,+    whether at the time of the initial grant or subsequently, any and+    all of the rights conveyed by this License.++1.10. "Modifications"+    means any of the following:++    (a) any file in Source Code Form that results from an addition to,+        deletion from, or modification of the contents of Covered+        Software; or++    (b) any new file in Source Code Form that contains any Covered+        Software.++1.11. "Patent Claims" of a Contributor+    means any patent claim(s), including without limitation, method,+    process, and apparatus claims, in any patent Licensable by such+    Contributor that would be infringed, but for the grant of the+    License, by the making, using, selling, offering for sale, having+    made, import, or transfer of either its Contributions or its+    Contributor Version.++1.12. "Secondary License"+    means either the GNU General Public License, Version 2.0, the GNU+    Lesser General Public License, Version 2.1, the GNU Affero General+    Public License, Version 3.0, or any later versions of those+    licenses.++1.13. "Source Code Form"+    means the form of the work preferred for making modifications.++1.14. "You" (or "Your")+    means an individual or a legal entity exercising rights under this+    License. For legal entities, "You" includes any entity that+    controls, is controlled by, or is under common control with You. For+    purposes of this definition, "control" means (a) the power, direct+    or indirect, to cause the direction or management of such entity,+    whether by contract or otherwise, or (b) ownership of more than+    fifty percent (50%) of the outstanding shares or beneficial+    ownership of such entity.++2. License Grants and Conditions+--------------------------------++2.1. Grants++Each Contributor hereby grants You a world-wide, royalty-free,+non-exclusive license:++(a) under intellectual property rights (other than patent or trademark)+    Licensable by such Contributor to use, reproduce, make available,+    modify, display, perform, distribute, and otherwise exploit its+    Contributions, either on an unmodified basis, with Modifications, or+    as part of a Larger Work; and++(b) under Patent Claims of such Contributor to make, use, sell, offer+    for sale, have made, import, and otherwise transfer either its+    Contributions or its Contributor Version.++2.2. Effective Date++The licenses granted in Section 2.1 with respect to any Contribution+become effective for each Contribution on the date the Contributor first+distributes such Contribution.++2.3. Limitations on Grant Scope++The licenses granted in this Section 2 are the only rights granted under+this License. No additional rights or licenses will be implied from the+distribution or licensing of Covered Software under this License.+Notwithstanding Section 2.1(b) above, no patent license is granted by a+Contributor:++(a) for any code that a Contributor has removed from Covered Software;+    or++(b) for infringements caused by: (i) Your and any other third party's+    modifications of Covered Software, or (ii) the combination of its+    Contributions with other software (except as part of its Contributor+    Version); or++(c) under Patent Claims infringed by Covered Software in the absence of+    its Contributions.++This License does not grant any rights in the trademarks, service marks,+or logos of any Contributor (except as may be necessary to comply with+the notice requirements in Section 3.4).++2.4. Subsequent Licenses++No Contributor makes additional grants as a result of Your choice to+distribute the Covered Software under a subsequent version of this+License (see Section 10.2) or under the terms of a Secondary License (if+permitted under the terms of Section 3.3).++2.5. Representation++Each Contributor represents that the Contributor believes its+Contributions are its original creation(s) or it has sufficient rights+to grant the rights to its Contributions conveyed by this License.++2.6. Fair Use++This License is not intended to limit any rights You have under+applicable copyright doctrines of fair use, fair dealing, or other+equivalents.++2.7. Conditions++Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted+in Section 2.1.++3. Responsibilities+-------------------++3.1. Distribution of Source Form++All distribution of Covered Software in Source Code Form, including any+Modifications that You create or to which You contribute, must be under+the terms of this License. You must inform recipients that the Source+Code Form of the Covered Software is governed by the terms of this+License, and how they can obtain a copy of this License. You may not+attempt to alter or restrict the recipients' rights in the Source Code+Form.++3.2. Distribution of Executable Form++If You distribute Covered Software in Executable Form then:++(a) such Covered Software must also be made available in Source Code+    Form, as described in Section 3.1, and You must inform recipients of+    the Executable Form how they can obtain a copy of such Source Code+    Form by reasonable means in a timely manner, at a charge no more+    than the cost of distribution to the recipient; and++(b) You may distribute such Executable Form under the terms of this+    License, or sublicense it under different terms, provided that the+    license for the Executable Form does not attempt to limit or alter+    the recipients' rights in the Source Code Form under this License.++3.3. Distribution of a Larger Work++You may create and distribute a Larger Work under terms of Your choice,+provided that You also comply with the requirements of this License for+the Covered Software. If the Larger Work is a combination of Covered+Software with a work governed by one or more Secondary Licenses, and the+Covered Software is not Incompatible With Secondary Licenses, this+License permits You to additionally distribute such Covered Software+under the terms of such Secondary License(s), so that the recipient of+the Larger Work may, at their option, further distribute the Covered+Software under the terms of either this License or such Secondary+License(s).++3.4. Notices++You may not remove or alter the substance of any license notices+(including copyright notices, patent notices, disclaimers of warranty,+or limitations of liability) contained within the Source Code Form of+the Covered Software, except that You may alter any license notices to+the extent required to remedy known factual inaccuracies.++3.5. Application of Additional Terms++You may choose to offer, and to charge a fee for, warranty, support,+indemnity or liability obligations to one or more recipients of Covered+Software. However, You may do so only on Your own behalf, and not on+behalf of any Contributor. You must make it absolutely clear that any+such warranty, support, indemnity, or liability obligation is offered by+You alone, and You hereby agree to indemnify every Contributor for any+liability incurred by such Contributor as a result of warranty, support,+indemnity or liability terms You offer. You may include additional+disclaimers of warranty and limitations of liability specific to any+jurisdiction.++4. Inability to Comply Due to Statute or Regulation+---------------------------------------------------++If it is impossible for You to comply with any of the terms of this+License with respect to some or all of the Covered Software due to+statute, judicial order, or regulation then You must: (a) comply with+the terms of this License to the maximum extent possible; and (b)+describe the limitations and the code they affect. Such description must+be placed in a text file included with all distributions of the Covered+Software under this License. Except to the extent prohibited by statute+or regulation, such description must be sufficiently detailed for a+recipient of ordinary skill to be able to understand it.++5. Termination+--------------++5.1. The rights granted under this License will terminate automatically+if You fail to comply with any of its terms. However, if You become+compliant, then the rights granted under this License from a particular+Contributor are reinstated (a) provisionally, unless and until such+Contributor explicitly and finally terminates Your grants, and (b) on an+ongoing basis, if such Contributor fails to notify You of the+non-compliance by some reasonable means prior to 60 days after You have+come back into compliance. Moreover, Your grants from a particular+Contributor are reinstated on an ongoing basis if such Contributor+notifies You of the non-compliance by some reasonable means, this is the+first time You have received notice of non-compliance with this License+from such Contributor, and You become compliant prior to 30 days after+Your receipt of the notice.++5.2. If You initiate litigation against any entity by asserting a patent+infringement claim (excluding declaratory judgment actions,+counter-claims, and cross-claims) alleging that a Contributor Version+directly or indirectly infringes any patent, then the rights granted to+You by any and all Contributors for the Covered Software under Section+2.1 of this License shall terminate.++5.3. In the event of termination under Sections 5.1 or 5.2 above, all+end user license agreements (excluding distributors and resellers) which+have been validly granted by You or Your distributors under this License+prior to termination shall survive termination.++************************************************************************+*                                                                      *+*  6. Disclaimer of Warranty                                           *+*  -------------------------                                           *+*                                                                      *+*  Covered Software is provided under this License on an "as is"       *+*  basis, without warranty of any kind, either expressed, implied, or  *+*  statutory, including, without limitation, warranties that the       *+*  Covered Software is free of defects, merchantable, fit for a        *+*  particular purpose or non-infringing. The entire risk as to the     *+*  quality and performance of the Covered Software is with You.        *+*  Should any Covered Software prove defective in any respect, You     *+*  (not any Contributor) assume the cost of any necessary servicing,   *+*  repair, or correction. This disclaimer of warranty constitutes an   *+*  essential part of this License. No use of any Covered Software is   *+*  authorized under this License except under this disclaimer.         *+*                                                                      *+************************************************************************++************************************************************************+*                                                                      *+*  7. Limitation of Liability                                          *+*  --------------------------                                          *+*                                                                      *+*  Under no circumstances and under no legal theory, whether tort      *+*  (including negligence), contract, or otherwise, shall any           *+*  Contributor, or anyone who distributes Covered Software as          *+*  permitted above, be liable to You for any direct, indirect,         *+*  special, incidental, or consequential damages of any character      *+*  including, without limitation, damages for lost profits, loss of    *+*  goodwill, work stoppage, computer failure or malfunction, or any    *+*  and all other commercial damages or losses, even if such party      *+*  shall have been informed of the possibility of such damages. This   *+*  limitation of liability shall not apply to liability for death or   *+*  personal injury resulting from such party's negligence to the       *+*  extent applicable law prohibits such limitation. Some               *+*  jurisdictions do not allow the exclusion or limitation of           *+*  incidental or consequential damages, so this exclusion and          *+*  limitation may not apply to You.                                    *+*                                                                      *+************************************************************************++8. Litigation+-------------++Any litigation relating to this License may be brought only in the+courts of a jurisdiction where the defendant maintains its principal+place of business and such litigation shall be governed by laws of that+jurisdiction, without reference to its conflict-of-law provisions.+Nothing in this Section shall prevent a party's ability to bring+cross-claims or counter-claims.++9. Miscellaneous+----------------++This License represents the complete agreement concerning the subject+matter hereof. If any provision of this License is held to be+unenforceable, such provision shall be reformed only to the extent+necessary to make it enforceable. Any law or regulation which provides+that the language of a contract shall be construed against the drafter+shall not be used to construe this License against a Contributor.++10. Versions of the License+---------------------------++10.1. New Versions++Mozilla Foundation is the license steward. Except as provided in Section+10.3, no one other than the license steward has the right to modify or+publish new versions of this License. Each version will be given a+distinguishing version number.++10.2. Effect of New Versions++You may distribute the Covered Software under the terms of the version+of the License under which You originally received the Covered Software,+or under the terms of any subsequent version published by the license+steward.++10.3. Modified Versions++If you create software not governed by this License, and you want to+create a new license for such software, you may create and use a+modified version of this License if you rename the license and remove+any references to the name of the license steward (except to note that+such modified license differs from this License).++10.4. Distributing Source Code Form that is Incompatible With Secondary+Licenses++If You choose to distribute Source Code Form that is Incompatible With+Secondary Licenses under the terms of this version of the License, the+notice described in Exhibit B of this License must be attached.++Exhibit A - Source Code Form License Notice+-------------------------------------------++  This Source Code Form is subject to the terms of the Mozilla Public+  License, v. 2.0. If a copy of the MPL was not distributed with this+  file, You can obtain one at http://mozilla.org/MPL/2.0/.++If it is not possible or desirable to put the notice in a particular+file, then You may include the notice in a location (such as a LICENSE+file in a relevant directory) where a recipient would be likely to look+for such a notice.++You may add additional accurate notices of copyright ownership.
+ README.md view
@@ -0,0 +1,45 @@+# Amazon CodeBuild SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version++`1.4.5`+++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-codebuild)+and the [AWS API Reference](https://aws.amazon.com/documentation/).++The types from this library are intended to be used with [amazonka](http://hackage.haskell.org/package/amazonka),+which provides mechanisms for specifying AuthN/AuthZ information, sending requests,+and receiving responses.++Lenses are used for constructing and manipulating types,+due to the depth of nesting of AWS types and transparency regarding+de/serialisation into more palatable Haskell values.+The provided lenses should be compatible with any of the major lens libraries+[lens](http://hackage.haskell.org/package/lens) or [lens-family-core](http://hackage.haskell.org/package/lens-family-core).++See [Network.AWS.CodeBuild](http://hackage.haskell.org/package/amazonka-codebuild/docs/Network-AWS-CodeBuild.html)+or [the AWS documentation](https://aws.amazon.com/documentation/) to get started.+++## Contribute++For any problems, comments, or feedback please create an issue [here on GitHub](https://github.com/brendanhay/amazonka/issues).++> _Note:_ this library is an auto-generated Haskell package. Please see `amazonka-gen` for more information.+++## Licence++`amazonka-codebuild` is released under the [Mozilla Public License Version 2.0](http://www.mozilla.org/MPL/).++Parts of the code are derived from AWS service descriptions, licensed under Apache 2.0.+Source files subject to this contain an additional licensing clause in their header.
+ Setup.hs view
@@ -0,0 +1,2 @@+import           Distribution.Simple+main = defaultMain
+ amazonka-codebuild.cabal view
@@ -0,0 +1,91 @@+name:                  amazonka-codebuild+version:               1.4.5+synopsis:              Amazon CodeBuild SDK.+homepage:              https://github.com/brendanhay/amazonka+bug-reports:           https://github.com/brendanhay/amazonka/issues+license:               OtherLicense+license-file:          LICENSE+author:                Brendan Hay+maintainer:            Brendan Hay <brendan.g.hay@gmail.com>+copyright:             Copyright (c) 2013-2016 Brendan Hay+category:              Network, AWS, Cloud, Distributed Computing+build-type:            Simple+cabal-version:         >= 1.10+extra-source-files:    README.md fixture/*.yaml fixture/*.proto src/.gitkeep+description:+    The types from this library are intended to be used with+    <http://hackage.haskell.org/package/amazonka amazonka>, which provides+    mechanisms for specifying AuthN/AuthZ information, sending requests,+    and receiving responses.+    .+    Lenses are used for constructing and manipulating types,+    due to the depth of nesting of AWS types and transparency regarding+    de/serialisation into more palatable Haskell values.+    The provided lenses should be compatible with any of the major lens libraries+    such as <http://hackage.haskell.org/package/lens lens> or+    <http://hackage.haskell.org/package/lens-family-core lens-family-core>.+    .+    See "Network.AWS.CodeBuild" or <https://aws.amazon.com/documentation/ the AWS documentation>+    to get started.++source-repository head+    type:     git+    location: git://github.com/brendanhay/amazonka.git++library+    default-language:  Haskell2010+    hs-source-dirs:    src gen++    ghc-options:       -Wall++    exposed-modules:+          Network.AWS.CodeBuild+        , Network.AWS.CodeBuild.BatchGetBuilds+        , Network.AWS.CodeBuild.BatchGetProjects+        , Network.AWS.CodeBuild.CreateProject+        , Network.AWS.CodeBuild.DeleteProject+        , Network.AWS.CodeBuild.ListBuilds+        , Network.AWS.CodeBuild.ListBuildsForProject+        , Network.AWS.CodeBuild.ListCuratedEnvironmentImages+        , Network.AWS.CodeBuild.ListProjects+        , Network.AWS.CodeBuild.StartBuild+        , Network.AWS.CodeBuild.StopBuild+        , Network.AWS.CodeBuild.Types+        , Network.AWS.CodeBuild.UpdateProject+        , Network.AWS.CodeBuild.Waiters++    other-modules:+          Network.AWS.CodeBuild.Types.Product+        , Network.AWS.CodeBuild.Types.Sum++    build-depends:+          amazonka-core == 1.4.5.*+        , base          >= 4.7     && < 5++test-suite amazonka-codebuild-test+    type:              exitcode-stdio-1.0+    default-language:  Haskell2010+    hs-source-dirs:    test+    main-is:           Main.hs++    ghc-options:       -Wall -threaded++    -- This section is encoded by the template and any modules added by+    -- hand outside these namespaces will not correctly be added to the+    -- distribution package.+    other-modules:+          Test.AWS.CodeBuild+        , Test.AWS.Gen.CodeBuild+        , Test.AWS.CodeBuild.Internal++    build-depends:+          amazonka-core == 1.4.5.*+        , amazonka-test == 1.4.5.*+        , amazonka-codebuild == 1.4.5.*+        , base+        , bytestring+        , tasty+        , tasty-hunit+        , text+        , time+        , unordered-containers
+ fixture/BatchGetBuilds.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/codebuild/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  codebuild.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/BatchGetBuildsResponse.proto view
+ fixture/BatchGetProjects.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/codebuild/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  codebuild.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/BatchGetProjectsResponse.proto view
+ fixture/CreateProject.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/codebuild/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  codebuild.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/CreateProjectResponse.proto view
+ fixture/DeleteProject.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/codebuild/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  codebuild.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DeleteProjectResponse.proto view
+ fixture/ListBuilds.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/codebuild/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  codebuild.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/ListBuildsForProject.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/codebuild/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  codebuild.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/ListBuildsForProjectResponse.proto view
+ fixture/ListBuildsResponse.proto view
+ fixture/ListCuratedEnvironmentImages.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/codebuild/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  codebuild.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/ListCuratedEnvironmentImagesResponse.proto view
+ fixture/ListProjects.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/codebuild/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  codebuild.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/ListProjectsResponse.proto view
+ fixture/StartBuild.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/codebuild/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  codebuild.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/StartBuildResponse.proto view
+ fixture/StopBuild.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/codebuild/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  codebuild.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/StopBuildResponse.proto view
+ fixture/UpdateProject.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/codebuild/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  codebuild.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/UpdateProjectResponse.proto view
+ gen/Network/AWS/CodeBuild.hs view
@@ -0,0 +1,315 @@+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.CodeBuild+-- Copyright   : (c) 2013-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)+--+-- __AWS CodeBuild__+--+-- AWS CodeBuild is a fully-managed build service in the cloud. AWS CodeBuild compiles your source code, runs unit tests, and produces artifacts that are ready to deploy. AWS CodeBuild eliminates the need to provision, manage, and scale your own build servers. It provides prepackaged build environments for the most popular programming languages and build tools such as Apach Maven, Gradle, and more. You can also fully customize build environments in AWS CodeBuild to use your own build tools. AWS CodeBuild scales automatically to meet peak build requests, and you pay only for the build time you consume. For more information about AWS CodeBuild, see the /AWS CodeBuild User Guide/ .+--+-- AWS CodeBuild supports these operations:+--+--     * @BatchGetProjects@ : Gets information about one or more build projects. A /build project/ defines how AWS CodeBuild will run a build. This includes information such as where to get the source code to build, the build environment to use, the build commands to run, and where to store the build output. A /build environment/ represents a combination of operating system, programming language runtime, and tools that AWS CodeBuild will use to run a build. Also, you can add tags to build projects to help manage your resources and costs.+--+--     * @CreateProject@ : Creates a build project.+--+--     * @DeleteProject@ : Deletes a build project.+--+--     * @ListProjects@ : Gets a list of build project names, with each build project name representing a single build project.+--+--     * @UpdateProject@ : Changes the settings of an existing build project.+--+--     * @BatchGetBuilds@ : Gets information about one or more builds.+--+--     * @ListBuilds@ : Gets a list of build IDs, with each build ID representing a single build.+--+--     * @ListBuildsForProject@ : Gets a list of build IDs for the specified build project, with each build ID representing a single build.+--+--     * @StartBuild@ : Starts running a build.+--+--     * @StopBuild@ : Attempts to stop running a build.+--+--     * @ListCuratedEnvironmentImages@ : Gets information about Docker images that are managed by AWS CodeBuild.+--+--+--+module Network.AWS.CodeBuild+    (+    -- * Service Configuration+      codeBuild++    -- * Errors+    -- $errors++    -- ** ResourceAlreadyExistsException+    , _ResourceAlreadyExistsException++    -- ** AccountLimitExceededException+    , _AccountLimitExceededException++    -- ** InvalidInputException+    , _InvalidInputException++    -- ** ResourceNotFoundException+    , _ResourceNotFoundException++    -- * Waiters+    -- $waiters++    -- * Operations+    -- $operations++    -- ** ListProjects+    , module Network.AWS.CodeBuild.ListProjects++    -- ** DeleteProject+    , module Network.AWS.CodeBuild.DeleteProject++    -- ** UpdateProject+    , module Network.AWS.CodeBuild.UpdateProject++    -- ** ListBuilds+    , module Network.AWS.CodeBuild.ListBuilds++    -- ** StartBuild+    , module Network.AWS.CodeBuild.StartBuild++    -- ** ListBuildsForProject+    , module Network.AWS.CodeBuild.ListBuildsForProject++    -- ** BatchGetProjects+    , module Network.AWS.CodeBuild.BatchGetProjects++    -- ** BatchGetBuilds+    , module Network.AWS.CodeBuild.BatchGetBuilds++    -- ** ListCuratedEnvironmentImages+    , module Network.AWS.CodeBuild.ListCuratedEnvironmentImages++    -- ** StopBuild+    , module Network.AWS.CodeBuild.StopBuild++    -- ** CreateProject+    , module Network.AWS.CodeBuild.CreateProject++    -- * Types++    -- ** ArtifactNamespace+    , ArtifactNamespace (..)++    -- ** ArtifactPackaging+    , ArtifactPackaging (..)++    -- ** ArtifactsType+    , ArtifactsType (..)++    -- ** BuildPhaseType+    , BuildPhaseType (..)++    -- ** ComputeType+    , ComputeType (..)++    -- ** EnvironmentType+    , EnvironmentType (..)++    -- ** LanguageType+    , LanguageType (..)++    -- ** PlatformType+    , PlatformType (..)++    -- ** ProjectSortByType+    , ProjectSortByType (..)++    -- ** SortOrderType+    , SortOrderType (..)++    -- ** SourceAuthType+    , SourceAuthType (..)++    -- ** SourceType+    , SourceType (..)++    -- ** StatusType+    , StatusType (..)++    -- ** Build+    , Build+    , build+    , bPhases+    , bBuildComplete+    , bArn+    , bStartTime+    , bArtifacts+    , bEnvironment+    , bInitiator+    , bCurrentPhase+    , bSourceVersion+    , bLogs+    , bEndTime+    , bProjectName+    , bBuildStatus+    , bSource+    , bId+    , bTimeoutInMinutes++    -- ** BuildArtifacts+    , BuildArtifacts+    , buildArtifacts+    , baLocation+    , baMd5sum+    , baSha256sum++    -- ** BuildPhase+    , BuildPhase+    , buildPhase+    , bpContexts+    , bpStartTime+    , bpPhaseStatus+    , bpPhaseType+    , bpEndTime+    , bpDurationInSeconds++    -- ** EnvironmentImage+    , EnvironmentImage+    , environmentImage+    , eiName+    , eiDescription++    -- ** EnvironmentLanguage+    , EnvironmentLanguage+    , environmentLanguage+    , elImages+    , elLanguage++    -- ** EnvironmentPlatform+    , EnvironmentPlatform+    , environmentPlatform+    , epPlatform+    , epLanguages++    -- ** EnvironmentVariable+    , EnvironmentVariable+    , environmentVariable+    , evName+    , evValue++    -- ** LogsLocation+    , LogsLocation+    , logsLocation+    , llDeepLink+    , llGroupName+    , llStreamName++    -- ** PhaseContext+    , PhaseContext+    , phaseContext+    , pcMessage+    , pcStatusCode++    -- ** Project+    , Project+    , project+    , pArn+    , pArtifacts+    , pEnvironment+    , pCreated+    , pName+    , pSource+    , pEncryptionKey+    , pLastModified+    , pDescription+    , pServiceRole+    , pTags+    , pTimeoutInMinutes++    -- ** ProjectArtifacts+    , ProjectArtifacts+    , projectArtifacts+    , paPackaging+    , paPath+    , paLocation+    , paName+    , paNamespaceType+    , paType++    -- ** ProjectEnvironment+    , ProjectEnvironment+    , projectEnvironment+    , peEnvironmentVariables+    , peType+    , peImage+    , peComputeType++    -- ** ProjectSource+    , ProjectSource+    , projectSource+    , psLocation+    , psAuth+    , psBuildspec+    , psType++    -- ** SourceAuth+    , SourceAuth+    , sourceAuth+    , saResource+    , saType++    -- ** Tag+    , Tag+    , tag+    , tagValue+    , tagKey+    ) where++import           Network.AWS.CodeBuild.BatchGetBuilds+import           Network.AWS.CodeBuild.BatchGetProjects+import           Network.AWS.CodeBuild.CreateProject+import           Network.AWS.CodeBuild.DeleteProject+import           Network.AWS.CodeBuild.ListBuilds+import           Network.AWS.CodeBuild.ListBuildsForProject+import           Network.AWS.CodeBuild.ListCuratedEnvironmentImages+import           Network.AWS.CodeBuild.ListProjects+import           Network.AWS.CodeBuild.StartBuild+import           Network.AWS.CodeBuild.StopBuild+import           Network.AWS.CodeBuild.Types+import           Network.AWS.CodeBuild.UpdateProject+import           Network.AWS.CodeBuild.Waiters++{- $errors+Error matchers are designed for use with the functions provided by+<http://hackage.haskell.org/package/lens/docs/Control-Exception-Lens.html Control.Exception.Lens>.+This allows catching (and rethrowing) service specific errors returned+by 'CodeBuild'.+-}++{- $operations+Some AWS operations return results that are incomplete and require subsequent+requests in order to obtain the entire result set. The process of sending+subsequent requests to continue where a previous request left off is called+pagination. For example, the 'ListObjects' operation of Amazon S3 returns up to+1000 objects at a time, and you must send subsequent requests with the+appropriate Marker in order to retrieve the next page of results.++Operations that have an 'AWSPager' instance can transparently perform subsequent+requests, correctly setting Markers and other request facets to iterate through+the entire result set of a truncated API operation. Operations which support+this have an additional note in the documentation.++Many operations have the ability to filter results on the server side. See the+individual operation parameters for details.+-}++{- $waiters+Waiters poll by repeatedly sending a request until some remote success condition+configured by the 'Wait' specification is fulfilled. The 'Wait' specification+determines how many attempts should be made, in addition to delay and retry strategies.+-}
+ gen/Network/AWS/CodeBuild/BatchGetBuilds.hs view
@@ -0,0 +1,142 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.CodeBuild.BatchGetBuilds+-- Copyright   : (c) 2013-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)+--+-- Gets information about one or more builds.+--+--+module Network.AWS.CodeBuild.BatchGetBuilds+    (+    -- * Creating a Request+      batchGetBuilds+    , BatchGetBuilds+    -- * Request Lenses+    , bgbIds++    -- * Destructuring the Response+    , batchGetBuildsResponse+    , BatchGetBuildsResponse+    -- * Response Lenses+    , bgbrsBuilds+    , bgbrsBuildsNotFound+    , bgbrsResponseStatus+    ) where++import           Network.AWS.CodeBuild.Types+import           Network.AWS.CodeBuild.Types.Product+import           Network.AWS.Lens+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'batchGetBuilds' smart constructor.+newtype BatchGetBuilds = BatchGetBuilds'+    { _bgbIds :: List1 Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'BatchGetBuilds' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bgbIds' - The IDs of the builds to get information about.+batchGetBuilds+    :: NonEmpty Text -- ^ 'bgbIds'+    -> BatchGetBuilds+batchGetBuilds pIds_ =+    BatchGetBuilds'+    { _bgbIds = _List1 # pIds_+    }++-- | The IDs of the builds to get information about.+bgbIds :: Lens' BatchGetBuilds (NonEmpty Text)+bgbIds = lens _bgbIds (\ s a -> s{_bgbIds = a}) . _List1;++instance AWSRequest BatchGetBuilds where+        type Rs BatchGetBuilds = BatchGetBuildsResponse+        request = postJSON codeBuild+        response+          = receiveJSON+              (\ s h x ->+                 BatchGetBuildsResponse' <$>+                   (x .?> "builds" .!@ mempty) <*>+                     (x .?> "buildsNotFound")+                     <*> (pure (fromEnum s)))++instance Hashable BatchGetBuilds++instance NFData BatchGetBuilds++instance ToHeaders BatchGetBuilds where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("CodeBuild_20161006.BatchGetBuilds" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON BatchGetBuilds where+        toJSON BatchGetBuilds'{..}+          = object (catMaybes [Just ("ids" .= _bgbIds)])++instance ToPath BatchGetBuilds where+        toPath = const "/"++instance ToQuery BatchGetBuilds where+        toQuery = const mempty++-- | /See:/ 'batchGetBuildsResponse' smart constructor.+data BatchGetBuildsResponse = BatchGetBuildsResponse'+    { _bgbrsBuilds         :: !(Maybe [Build])+    , _bgbrsBuildsNotFound :: !(Maybe (List1 Text))+    , _bgbrsResponseStatus :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'BatchGetBuildsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bgbrsBuilds' - Information about the requested builds.+--+-- * 'bgbrsBuildsNotFound' - The IDs of builds for which information could not be found.+--+-- * 'bgbrsResponseStatus' - -- | The response status code.+batchGetBuildsResponse+    :: Int -- ^ 'bgbrsResponseStatus'+    -> BatchGetBuildsResponse+batchGetBuildsResponse pResponseStatus_ =+    BatchGetBuildsResponse'+    { _bgbrsBuilds = Nothing+    , _bgbrsBuildsNotFound = Nothing+    , _bgbrsResponseStatus = pResponseStatus_+    }++-- | Information about the requested builds.+bgbrsBuilds :: Lens' BatchGetBuildsResponse [Build]+bgbrsBuilds = lens _bgbrsBuilds (\ s a -> s{_bgbrsBuilds = a}) . _Default . _Coerce;++-- | The IDs of builds for which information could not be found.+bgbrsBuildsNotFound :: Lens' BatchGetBuildsResponse (Maybe (NonEmpty Text))+bgbrsBuildsNotFound = lens _bgbrsBuildsNotFound (\ s a -> s{_bgbrsBuildsNotFound = a}) . mapping _List1;++-- | -- | The response status code.+bgbrsResponseStatus :: Lens' BatchGetBuildsResponse Int+bgbrsResponseStatus = lens _bgbrsResponseStatus (\ s a -> s{_bgbrsResponseStatus = a});++instance NFData BatchGetBuildsResponse
+ gen/Network/AWS/CodeBuild/BatchGetProjects.hs view
@@ -0,0 +1,143 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.CodeBuild.BatchGetProjects+-- Copyright   : (c) 2013-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)+--+-- Gets information about one or more build projects.+--+--+module Network.AWS.CodeBuild.BatchGetProjects+    (+    -- * Creating a Request+      batchGetProjects+    , BatchGetProjects+    -- * Request Lenses+    , bgpNames++    -- * Destructuring the Response+    , batchGetProjectsResponse+    , BatchGetProjectsResponse+    -- * Response Lenses+    , bgprsProjectsNotFound+    , bgprsProjects+    , bgprsResponseStatus+    ) where++import           Network.AWS.CodeBuild.Types+import           Network.AWS.CodeBuild.Types.Product+import           Network.AWS.Lens+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'batchGetProjects' smart constructor.+newtype BatchGetProjects = BatchGetProjects'+    { _bgpNames :: List1 Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'BatchGetProjects' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bgpNames' - The names of the build projects to get information about.+batchGetProjects+    :: NonEmpty Text -- ^ 'bgpNames'+    -> BatchGetProjects+batchGetProjects pNames_ =+    BatchGetProjects'+    { _bgpNames = _List1 # pNames_+    }++-- | The names of the build projects to get information about.+bgpNames :: Lens' BatchGetProjects (NonEmpty Text)+bgpNames = lens _bgpNames (\ s a -> s{_bgpNames = a}) . _List1;++instance AWSRequest BatchGetProjects where+        type Rs BatchGetProjects = BatchGetProjectsResponse+        request = postJSON codeBuild+        response+          = receiveJSON+              (\ s h x ->+                 BatchGetProjectsResponse' <$>+                   (x .?> "projectsNotFound") <*>+                     (x .?> "projects" .!@ mempty)+                     <*> (pure (fromEnum s)))++instance Hashable BatchGetProjects++instance NFData BatchGetProjects++instance ToHeaders BatchGetProjects where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("CodeBuild_20161006.BatchGetProjects" ::+                       ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON BatchGetProjects where+        toJSON BatchGetProjects'{..}+          = object (catMaybes [Just ("names" .= _bgpNames)])++instance ToPath BatchGetProjects where+        toPath = const "/"++instance ToQuery BatchGetProjects where+        toQuery = const mempty++-- | /See:/ 'batchGetProjectsResponse' smart constructor.+data BatchGetProjectsResponse = BatchGetProjectsResponse'+    { _bgprsProjectsNotFound :: !(Maybe (List1 Text))+    , _bgprsProjects         :: !(Maybe [Project])+    , _bgprsResponseStatus   :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'BatchGetProjectsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bgprsProjectsNotFound' - The names of build projects for which information could not be found.+--+-- * 'bgprsProjects' - Information about the requested build projects.+--+-- * 'bgprsResponseStatus' - -- | The response status code.+batchGetProjectsResponse+    :: Int -- ^ 'bgprsResponseStatus'+    -> BatchGetProjectsResponse+batchGetProjectsResponse pResponseStatus_ =+    BatchGetProjectsResponse'+    { _bgprsProjectsNotFound = Nothing+    , _bgprsProjects = Nothing+    , _bgprsResponseStatus = pResponseStatus_+    }++-- | The names of build projects for which information could not be found.+bgprsProjectsNotFound :: Lens' BatchGetProjectsResponse (Maybe (NonEmpty Text))+bgprsProjectsNotFound = lens _bgprsProjectsNotFound (\ s a -> s{_bgprsProjectsNotFound = a}) . mapping _List1;++-- | Information about the requested build projects.+bgprsProjects :: Lens' BatchGetProjectsResponse [Project]+bgprsProjects = lens _bgprsProjects (\ s a -> s{_bgprsProjects = a}) . _Default . _Coerce;++-- | -- | The response status code.+bgprsResponseStatus :: Lens' BatchGetProjectsResponse Int+bgprsResponseStatus = lens _bgprsResponseStatus (\ s a -> s{_bgprsResponseStatus = a});++instance NFData BatchGetProjectsResponse
+ gen/Network/AWS/CodeBuild/CreateProject.hs view
@@ -0,0 +1,216 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.CodeBuild.CreateProject+-- Copyright   : (c) 2013-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 build project.+--+--+module Network.AWS.CodeBuild.CreateProject+    (+    -- * Creating a Request+      createProject+    , CreateProject+    -- * Request Lenses+    , cpEncryptionKey+    , cpDescription+    , cpServiceRole+    , cpTags+    , cpTimeoutInMinutes+    , cpName+    , cpSource+    , cpArtifacts+    , cpEnvironment++    -- * Destructuring the Response+    , createProjectResponse+    , CreateProjectResponse+    -- * Response Lenses+    , cprsProject+    , cprsResponseStatus+    ) where++import           Network.AWS.CodeBuild.Types+import           Network.AWS.CodeBuild.Types.Product+import           Network.AWS.Lens+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'createProject' smart constructor.+data CreateProject = CreateProject'+    { _cpEncryptionKey    :: !(Maybe Text)+    , _cpDescription      :: !(Maybe Text)+    , _cpServiceRole      :: !(Maybe Text)+    , _cpTags             :: !(Maybe [Tag])+    , _cpTimeoutInMinutes :: !(Maybe Nat)+    , _cpName             :: !Text+    , _cpSource           :: !ProjectSource+    , _cpArtifacts        :: !ProjectArtifacts+    , _cpEnvironment      :: !ProjectEnvironment+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateProject' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cpEncryptionKey' - The AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build project's build output artifacts. You can specify either the CMK's Amazon Resource Name (ARN) or, if available, the CMK's alias (using the format @alias//alias-name/ @ ).+--+-- * 'cpDescription' - A meaningful description of the build project.+--+-- * 'cpServiceRole' - The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that enables AWS CodeBuild to interact with dependent AWS services on behalf of the AWS account.+--+-- * 'cpTags' - A set of tags for this build project. These tags are available for use by AWS services that support AWS CodeBuild build project tags.+--+-- * 'cpTimeoutInMinutes' - How long in minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes.+--+-- * 'cpName' - The build project's name.+--+-- * 'cpSource' - Information about the build project's build input source code.+--+-- * 'cpArtifacts' - Information about the build project's build output artifacts.+--+-- * 'cpEnvironment' - Information about the build project's build environment.+createProject+    :: Text -- ^ 'cpName'+    -> ProjectSource -- ^ 'cpSource'+    -> ProjectArtifacts -- ^ 'cpArtifacts'+    -> ProjectEnvironment -- ^ 'cpEnvironment'+    -> CreateProject+createProject pName_ pSource_ pArtifacts_ pEnvironment_ =+    CreateProject'+    { _cpEncryptionKey = Nothing+    , _cpDescription = Nothing+    , _cpServiceRole = Nothing+    , _cpTags = Nothing+    , _cpTimeoutInMinutes = Nothing+    , _cpName = pName_+    , _cpSource = pSource_+    , _cpArtifacts = pArtifacts_+    , _cpEnvironment = pEnvironment_+    }++-- | The AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build project's build output artifacts. You can specify either the CMK's Amazon Resource Name (ARN) or, if available, the CMK's alias (using the format @alias//alias-name/ @ ).+cpEncryptionKey :: Lens' CreateProject (Maybe Text)+cpEncryptionKey = lens _cpEncryptionKey (\ s a -> s{_cpEncryptionKey = a});++-- | A meaningful description of the build project.+cpDescription :: Lens' CreateProject (Maybe Text)+cpDescription = lens _cpDescription (\ s a -> s{_cpDescription = a});++-- | The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that enables AWS CodeBuild to interact with dependent AWS services on behalf of the AWS account.+cpServiceRole :: Lens' CreateProject (Maybe Text)+cpServiceRole = lens _cpServiceRole (\ s a -> s{_cpServiceRole = a});++-- | A set of tags for this build project. These tags are available for use by AWS services that support AWS CodeBuild build project tags.+cpTags :: Lens' CreateProject [Tag]+cpTags = lens _cpTags (\ s a -> s{_cpTags = a}) . _Default . _Coerce;++-- | How long in minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes.+cpTimeoutInMinutes :: Lens' CreateProject (Maybe Natural)+cpTimeoutInMinutes = lens _cpTimeoutInMinutes (\ s a -> s{_cpTimeoutInMinutes = a}) . mapping _Nat;++-- | The build project's name.+cpName :: Lens' CreateProject Text+cpName = lens _cpName (\ s a -> s{_cpName = a});++-- | Information about the build project's build input source code.+cpSource :: Lens' CreateProject ProjectSource+cpSource = lens _cpSource (\ s a -> s{_cpSource = a});++-- | Information about the build project's build output artifacts.+cpArtifacts :: Lens' CreateProject ProjectArtifacts+cpArtifacts = lens _cpArtifacts (\ s a -> s{_cpArtifacts = a});++-- | Information about the build project's build environment.+cpEnvironment :: Lens' CreateProject ProjectEnvironment+cpEnvironment = lens _cpEnvironment (\ s a -> s{_cpEnvironment = a});++instance AWSRequest CreateProject where+        type Rs CreateProject = CreateProjectResponse+        request = postJSON codeBuild+        response+          = receiveJSON+              (\ s h x ->+                 CreateProjectResponse' <$>+                   (x .?> "project") <*> (pure (fromEnum s)))++instance Hashable CreateProject++instance NFData CreateProject++instance ToHeaders CreateProject where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("CodeBuild_20161006.CreateProject" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON CreateProject where+        toJSON CreateProject'{..}+          = object+              (catMaybes+                 [("encryptionKey" .=) <$> _cpEncryptionKey,+                  ("description" .=) <$> _cpDescription,+                  ("serviceRole" .=) <$> _cpServiceRole,+                  ("tags" .=) <$> _cpTags,+                  ("timeoutInMinutes" .=) <$> _cpTimeoutInMinutes,+                  Just ("name" .= _cpName),+                  Just ("source" .= _cpSource),+                  Just ("artifacts" .= _cpArtifacts),+                  Just ("environment" .= _cpEnvironment)])++instance ToPath CreateProject where+        toPath = const "/"++instance ToQuery CreateProject where+        toQuery = const mempty++-- | /See:/ 'createProjectResponse' smart constructor.+data CreateProjectResponse = CreateProjectResponse'+    { _cprsProject        :: !(Maybe Project)+    , _cprsResponseStatus :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateProjectResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cprsProject' - Information about the build project that was created.+--+-- * 'cprsResponseStatus' - -- | The response status code.+createProjectResponse+    :: Int -- ^ 'cprsResponseStatus'+    -> CreateProjectResponse+createProjectResponse pResponseStatus_ =+    CreateProjectResponse'+    { _cprsProject = Nothing+    , _cprsResponseStatus = pResponseStatus_+    }++-- | Information about the build project that was created.+cprsProject :: Lens' CreateProjectResponse (Maybe Project)+cprsProject = lens _cprsProject (\ s a -> s{_cprsProject = a});++-- | -- | The response status code.+cprsResponseStatus :: Lens' CreateProjectResponse Int+cprsResponseStatus = lens _cprsResponseStatus (\ s a -> s{_cprsResponseStatus = a});++instance NFData CreateProjectResponse
+ gen/Network/AWS/CodeBuild/DeleteProject.hs view
@@ -0,0 +1,121 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.CodeBuild.DeleteProject+-- Copyright   : (c) 2013-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)+--+-- Deletes a build project.+--+--+module Network.AWS.CodeBuild.DeleteProject+    (+    -- * Creating a Request+      deleteProject+    , DeleteProject+    -- * Request Lenses+    , dpName++    -- * Destructuring the Response+    , deleteProjectResponse+    , DeleteProjectResponse+    -- * Response Lenses+    , dprsResponseStatus+    ) where++import           Network.AWS.CodeBuild.Types+import           Network.AWS.CodeBuild.Types.Product+import           Network.AWS.Lens+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'deleteProject' smart constructor.+newtype DeleteProject = DeleteProject'+    { _dpName :: Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteProject' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dpName' - The name of the build project to delete.+deleteProject+    :: Text -- ^ 'dpName'+    -> DeleteProject+deleteProject pName_ =+    DeleteProject'+    { _dpName = pName_+    }++-- | The name of the build project to delete.+dpName :: Lens' DeleteProject Text+dpName = lens _dpName (\ s a -> s{_dpName = a});++instance AWSRequest DeleteProject where+        type Rs DeleteProject = DeleteProjectResponse+        request = postJSON codeBuild+        response+          = receiveEmpty+              (\ s h x ->+                 DeleteProjectResponse' <$> (pure (fromEnum s)))++instance Hashable DeleteProject++instance NFData DeleteProject++instance ToHeaders DeleteProject where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("CodeBuild_20161006.DeleteProject" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON DeleteProject where+        toJSON DeleteProject'{..}+          = object (catMaybes [Just ("name" .= _dpName)])++instance ToPath DeleteProject where+        toPath = const "/"++instance ToQuery DeleteProject where+        toQuery = const mempty++-- | /See:/ 'deleteProjectResponse' smart constructor.+newtype DeleteProjectResponse = DeleteProjectResponse'+    { _dprsResponseStatus :: Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteProjectResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dprsResponseStatus' - -- | The response status code.+deleteProjectResponse+    :: Int -- ^ 'dprsResponseStatus'+    -> DeleteProjectResponse+deleteProjectResponse pResponseStatus_ =+    DeleteProjectResponse'+    { _dprsResponseStatus = pResponseStatus_+    }++-- | -- | The response status code.+dprsResponseStatus :: Lens' DeleteProjectResponse Int+dprsResponseStatus = lens _dprsResponseStatus (\ s a -> s{_dprsResponseStatus = a});++instance NFData DeleteProjectResponse
+ gen/Network/AWS/CodeBuild/ListBuilds.hs view
@@ -0,0 +1,152 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.CodeBuild.ListBuilds+-- Copyright   : (c) 2013-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)+--+-- Gets a list of build IDs, with each build ID representing a single build.+--+--+module Network.AWS.CodeBuild.ListBuilds+    (+    -- * Creating a Request+      listBuilds+    , ListBuilds+    -- * Request Lenses+    , lbSortOrder+    , lbNextToken++    -- * Destructuring the Response+    , listBuildsResponse+    , ListBuildsResponse+    -- * Response Lenses+    , lbrsIds+    , lbrsNextToken+    , lbrsResponseStatus+    ) where++import           Network.AWS.CodeBuild.Types+import           Network.AWS.CodeBuild.Types.Product+import           Network.AWS.Lens+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'listBuilds' smart constructor.+data ListBuilds = ListBuilds'+    { _lbSortOrder :: !(Maybe SortOrderType)+    , _lbNextToken :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListBuilds' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lbSortOrder' - The order to list build IDs. Valid values include:     * @ASCENDING@ : List the build IDs in ascending order by build ID.     * @DESCENDING@ : List the build IDs in descending order by build ID.+--+-- * 'lbNextToken' - During a previous call, if there are more than 100 items in the list, only the first 100 items are returned, along with a unique string called a /next token/ . To get the next batch of items in the list, call this operation again, adding the next token to the call. To get all of the items in the list, keep calling this operation with each subsequent next token that is returned, until no more next tokens are returned.+listBuilds+    :: ListBuilds+listBuilds =+    ListBuilds'+    { _lbSortOrder = Nothing+    , _lbNextToken = Nothing+    }++-- | The order to list build IDs. Valid values include:     * @ASCENDING@ : List the build IDs in ascending order by build ID.     * @DESCENDING@ : List the build IDs in descending order by build ID.+lbSortOrder :: Lens' ListBuilds (Maybe SortOrderType)+lbSortOrder = lens _lbSortOrder (\ s a -> s{_lbSortOrder = a});++-- | During a previous call, if there are more than 100 items in the list, only the first 100 items are returned, along with a unique string called a /next token/ . To get the next batch of items in the list, call this operation again, adding the next token to the call. To get all of the items in the list, keep calling this operation with each subsequent next token that is returned, until no more next tokens are returned.+lbNextToken :: Lens' ListBuilds (Maybe Text)+lbNextToken = lens _lbNextToken (\ s a -> s{_lbNextToken = a});++instance AWSRequest ListBuilds where+        type Rs ListBuilds = ListBuildsResponse+        request = postJSON codeBuild+        response+          = receiveJSON+              (\ s h x ->+                 ListBuildsResponse' <$>+                   (x .?> "ids") <*> (x .?> "nextToken") <*>+                     (pure (fromEnum s)))++instance Hashable ListBuilds++instance NFData ListBuilds++instance ToHeaders ListBuilds where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("CodeBuild_20161006.ListBuilds" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON ListBuilds where+        toJSON ListBuilds'{..}+          = object+              (catMaybes+                 [("sortOrder" .=) <$> _lbSortOrder,+                  ("nextToken" .=) <$> _lbNextToken])++instance ToPath ListBuilds where+        toPath = const "/"++instance ToQuery ListBuilds where+        toQuery = const mempty++-- | /See:/ 'listBuildsResponse' smart constructor.+data ListBuildsResponse = ListBuildsResponse'+    { _lbrsIds            :: !(Maybe (List1 Text))+    , _lbrsNextToken      :: !(Maybe Text)+    , _lbrsResponseStatus :: !Int+    } deriving (Eq,Read,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:+--+-- * 'lbrsIds' - A list of build IDs, with each build ID representing a single build.+--+-- * 'lbrsNextToken' - If there are more than 100 items in the list, only the first 100 items are returned, along with a unique string called a /next token/ . To get the next batch of items in the list, call this operation again, adding the next token to the call.+--+-- * 'lbrsResponseStatus' - -- | The response status code.+listBuildsResponse+    :: Int -- ^ 'lbrsResponseStatus'+    -> ListBuildsResponse+listBuildsResponse pResponseStatus_ =+    ListBuildsResponse'+    { _lbrsIds = Nothing+    , _lbrsNextToken = Nothing+    , _lbrsResponseStatus = pResponseStatus_+    }++-- | A list of build IDs, with each build ID representing a single build.+lbrsIds :: Lens' ListBuildsResponse (Maybe (NonEmpty Text))+lbrsIds = lens _lbrsIds (\ s a -> s{_lbrsIds = a}) . mapping _List1;++-- | If there are more than 100 items in the list, only the first 100 items are returned, along with a unique string called a /next token/ . To get the next batch of items in the list, call this operation again, adding the next token to the call.+lbrsNextToken :: Lens' ListBuildsResponse (Maybe Text)+lbrsNextToken = lens _lbrsNextToken (\ s a -> s{_lbrsNextToken = a});++-- | -- | The response status code.+lbrsResponseStatus :: Lens' ListBuildsResponse Int+lbrsResponseStatus = lens _lbrsResponseStatus (\ s a -> s{_lbrsResponseStatus = a});++instance NFData ListBuildsResponse
+ gen/Network/AWS/CodeBuild/ListBuildsForProject.hs view
@@ -0,0 +1,165 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.CodeBuild.ListBuildsForProject+-- Copyright   : (c) 2013-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)+--+-- Gets a list of build IDs for the specified build project, with each build ID representing a single build.+--+--+module Network.AWS.CodeBuild.ListBuildsForProject+    (+    -- * Creating a Request+      listBuildsForProject+    , ListBuildsForProject+    -- * Request Lenses+    , lbfpSortOrder+    , lbfpNextToken+    , lbfpProjectName++    -- * Destructuring the Response+    , listBuildsForProjectResponse+    , ListBuildsForProjectResponse+    -- * Response Lenses+    , lbfprsIds+    , lbfprsNextToken+    , lbfprsResponseStatus+    ) where++import           Network.AWS.CodeBuild.Types+import           Network.AWS.CodeBuild.Types.Product+import           Network.AWS.Lens+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'listBuildsForProject' smart constructor.+data ListBuildsForProject = ListBuildsForProject'+    { _lbfpSortOrder   :: !(Maybe SortOrderType)+    , _lbfpNextToken   :: !(Maybe Text)+    , _lbfpProjectName :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListBuildsForProject' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lbfpSortOrder' - The order to list build IDs. Valid values include:     * @ASCENDING@ : List the build IDs in ascending order by build ID.     * @DESCENDING@ : List the build IDs in descending order by build ID.+--+-- * 'lbfpNextToken' - During a previous call, if there are more than 100 items in the list, only the first 100 items are returned, along with a unique string called a /next token/ . To get the next batch of items in the list, call this operation again, adding the next token to the call. To get all of the items in the list, keep calling this operation with each subsequent next token that is returned, until no more next tokens are returned.+--+-- * 'lbfpProjectName' - The name of the build project to get a list of build IDs for.+listBuildsForProject+    :: Text -- ^ 'lbfpProjectName'+    -> ListBuildsForProject+listBuildsForProject pProjectName_ =+    ListBuildsForProject'+    { _lbfpSortOrder = Nothing+    , _lbfpNextToken = Nothing+    , _lbfpProjectName = pProjectName_+    }++-- | The order to list build IDs. Valid values include:     * @ASCENDING@ : List the build IDs in ascending order by build ID.     * @DESCENDING@ : List the build IDs in descending order by build ID.+lbfpSortOrder :: Lens' ListBuildsForProject (Maybe SortOrderType)+lbfpSortOrder = lens _lbfpSortOrder (\ s a -> s{_lbfpSortOrder = a});++-- | During a previous call, if there are more than 100 items in the list, only the first 100 items are returned, along with a unique string called a /next token/ . To get the next batch of items in the list, call this operation again, adding the next token to the call. To get all of the items in the list, keep calling this operation with each subsequent next token that is returned, until no more next tokens are returned.+lbfpNextToken :: Lens' ListBuildsForProject (Maybe Text)+lbfpNextToken = lens _lbfpNextToken (\ s a -> s{_lbfpNextToken = a});++-- | The name of the build project to get a list of build IDs for.+lbfpProjectName :: Lens' ListBuildsForProject Text+lbfpProjectName = lens _lbfpProjectName (\ s a -> s{_lbfpProjectName = a});++instance AWSRequest ListBuildsForProject where+        type Rs ListBuildsForProject =+             ListBuildsForProjectResponse+        request = postJSON codeBuild+        response+          = receiveJSON+              (\ s h x ->+                 ListBuildsForProjectResponse' <$>+                   (x .?> "ids") <*> (x .?> "nextToken") <*>+                     (pure (fromEnum s)))++instance Hashable ListBuildsForProject++instance NFData ListBuildsForProject++instance ToHeaders ListBuildsForProject where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("CodeBuild_20161006.ListBuildsForProject" ::+                       ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON ListBuildsForProject where+        toJSON ListBuildsForProject'{..}+          = object+              (catMaybes+                 [("sortOrder" .=) <$> _lbfpSortOrder,+                  ("nextToken" .=) <$> _lbfpNextToken,+                  Just ("projectName" .= _lbfpProjectName)])++instance ToPath ListBuildsForProject where+        toPath = const "/"++instance ToQuery ListBuildsForProject where+        toQuery = const mempty++-- | /See:/ 'listBuildsForProjectResponse' smart constructor.+data ListBuildsForProjectResponse = ListBuildsForProjectResponse'+    { _lbfprsIds            :: !(Maybe (List1 Text))+    , _lbfprsNextToken      :: !(Maybe Text)+    , _lbfprsResponseStatus :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListBuildsForProjectResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lbfprsIds' - A list of build IDs for the specified build project, with each build ID representing a single build.+--+-- * 'lbfprsNextToken' - If there are more than 100 items in the list, only the first 100 items are returned, along with a unique string called a /next token/ . To get the next batch of items in the list, call this operation again, adding the next token to the call.+--+-- * 'lbfprsResponseStatus' - -- | The response status code.+listBuildsForProjectResponse+    :: Int -- ^ 'lbfprsResponseStatus'+    -> ListBuildsForProjectResponse+listBuildsForProjectResponse pResponseStatus_ =+    ListBuildsForProjectResponse'+    { _lbfprsIds = Nothing+    , _lbfprsNextToken = Nothing+    , _lbfprsResponseStatus = pResponseStatus_+    }++-- | A list of build IDs for the specified build project, with each build ID representing a single build.+lbfprsIds :: Lens' ListBuildsForProjectResponse (Maybe (NonEmpty Text))+lbfprsIds = lens _lbfprsIds (\ s a -> s{_lbfprsIds = a}) . mapping _List1;++-- | If there are more than 100 items in the list, only the first 100 items are returned, along with a unique string called a /next token/ . To get the next batch of items in the list, call this operation again, adding the next token to the call.+lbfprsNextToken :: Lens' ListBuildsForProjectResponse (Maybe Text)+lbfprsNextToken = lens _lbfprsNextToken (\ s a -> s{_lbfprsNextToken = a});++-- | -- | The response status code.+lbfprsResponseStatus :: Lens' ListBuildsForProjectResponse Int+lbfprsResponseStatus = lens _lbfprsResponseStatus (\ s a -> s{_lbfprsResponseStatus = a});++instance NFData ListBuildsForProjectResponse
+ gen/Network/AWS/CodeBuild/ListCuratedEnvironmentImages.hs view
@@ -0,0 +1,121 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.CodeBuild.ListCuratedEnvironmentImages+-- Copyright   : (c) 2013-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)+--+-- Gets information about Docker images that are managed by AWS CodeBuild.+--+--+module Network.AWS.CodeBuild.ListCuratedEnvironmentImages+    (+    -- * Creating a Request+      listCuratedEnvironmentImages+    , ListCuratedEnvironmentImages++    -- * Destructuring the Response+    , listCuratedEnvironmentImagesResponse+    , ListCuratedEnvironmentImagesResponse+    -- * Response Lenses+    , lceirsPlatforms+    , lceirsResponseStatus+    ) where++import           Network.AWS.CodeBuild.Types+import           Network.AWS.CodeBuild.Types.Product+import           Network.AWS.Lens+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'listCuratedEnvironmentImages' smart constructor.+data ListCuratedEnvironmentImages =+    ListCuratedEnvironmentImages'+    deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListCuratedEnvironmentImages' with the minimum fields required to make a request.+--+listCuratedEnvironmentImages+    :: ListCuratedEnvironmentImages+listCuratedEnvironmentImages = ListCuratedEnvironmentImages'++instance AWSRequest ListCuratedEnvironmentImages+         where+        type Rs ListCuratedEnvironmentImages =+             ListCuratedEnvironmentImagesResponse+        request = postJSON codeBuild+        response+          = receiveJSON+              (\ s h x ->+                 ListCuratedEnvironmentImagesResponse' <$>+                   (x .?> "platforms" .!@ mempty) <*>+                     (pure (fromEnum s)))++instance Hashable ListCuratedEnvironmentImages++instance NFData ListCuratedEnvironmentImages++instance ToHeaders ListCuratedEnvironmentImages where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("CodeBuild_20161006.ListCuratedEnvironmentImages" ::+                       ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON ListCuratedEnvironmentImages where+        toJSON = const (Object mempty)++instance ToPath ListCuratedEnvironmentImages where+        toPath = const "/"++instance ToQuery ListCuratedEnvironmentImages where+        toQuery = const mempty++-- | /See:/ 'listCuratedEnvironmentImagesResponse' smart constructor.+data ListCuratedEnvironmentImagesResponse = ListCuratedEnvironmentImagesResponse'+    { _lceirsPlatforms      :: !(Maybe [EnvironmentPlatform])+    , _lceirsResponseStatus :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListCuratedEnvironmentImagesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lceirsPlatforms' - Information about supported platforms for Docker images that are managed by AWS CodeBuild.+--+-- * 'lceirsResponseStatus' - -- | The response status code.+listCuratedEnvironmentImagesResponse+    :: Int -- ^ 'lceirsResponseStatus'+    -> ListCuratedEnvironmentImagesResponse+listCuratedEnvironmentImagesResponse pResponseStatus_ =+    ListCuratedEnvironmentImagesResponse'+    { _lceirsPlatforms = Nothing+    , _lceirsResponseStatus = pResponseStatus_+    }++-- | Information about supported platforms for Docker images that are managed by AWS CodeBuild.+lceirsPlatforms :: Lens' ListCuratedEnvironmentImagesResponse [EnvironmentPlatform]+lceirsPlatforms = lens _lceirsPlatforms (\ s a -> s{_lceirsPlatforms = a}) . _Default . _Coerce;++-- | -- | The response status code.+lceirsResponseStatus :: Lens' ListCuratedEnvironmentImagesResponse Int+lceirsResponseStatus = lens _lceirsResponseStatus (\ s a -> s{_lceirsResponseStatus = a});++instance NFData ListCuratedEnvironmentImagesResponse
+ gen/Network/AWS/CodeBuild/ListProjects.hs view
@@ -0,0 +1,162 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.CodeBuild.ListProjects+-- Copyright   : (c) 2013-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)+--+-- Gets a list of build project names, with each build project name representing a single build project.+--+--+module Network.AWS.CodeBuild.ListProjects+    (+    -- * Creating a Request+      listProjects+    , ListProjects+    -- * Request Lenses+    , lpSortOrder+    , lpNextToken+    , lpSortBy++    -- * Destructuring the Response+    , listProjectsResponse+    , ListProjectsResponse+    -- * Response Lenses+    , lprsNextToken+    , lprsProjects+    , lprsResponseStatus+    ) where++import           Network.AWS.CodeBuild.Types+import           Network.AWS.CodeBuild.Types.Product+import           Network.AWS.Lens+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'listProjects' smart constructor.+data ListProjects = ListProjects'+    { _lpSortOrder :: !(Maybe SortOrderType)+    , _lpNextToken :: !(Maybe Text)+    , _lpSortBy    :: !(Maybe ProjectSortByType)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListProjects' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lpSortOrder' - The order in which to list build projects. Valid values include:     * @ASCENDING@ : List the build project names in ascending order.     * @DESCENDING@ : List the build project names in descending order. Use @sortBy@ to specify the criterion to be used to list build project names.+--+-- * 'lpNextToken' - During a previous call, if there are more than 100 items in the list, only the first 100 items are returned, along with a unique string called a /next token/ . To get the next batch of items in the list, call this operation again, adding the next token to the call. To get all of the items in the list, keep calling this operation with each subsequent next token that is returned, until no more next tokens are returned.+--+-- * 'lpSortBy' - The criterion to be used to list build project names. Valid values include:     * @CREATED_TIME@ : List the build project names based on when each build project was created.     * @LAST_MODIFIED_TIME@ : List the build project names based on when information about each build project was last changed.     * @NAME@ : List the build project names based on each build project's name. Use @sortOrder@ to specify in what order to list the build project names based on the preceding criteria.+listProjects+    :: ListProjects+listProjects =+    ListProjects'+    { _lpSortOrder = Nothing+    , _lpNextToken = Nothing+    , _lpSortBy = Nothing+    }++-- | The order in which to list build projects. Valid values include:     * @ASCENDING@ : List the build project names in ascending order.     * @DESCENDING@ : List the build project names in descending order. Use @sortBy@ to specify the criterion to be used to list build project names.+lpSortOrder :: Lens' ListProjects (Maybe SortOrderType)+lpSortOrder = lens _lpSortOrder (\ s a -> s{_lpSortOrder = a});++-- | During a previous call, if there are more than 100 items in the list, only the first 100 items are returned, along with a unique string called a /next token/ . To get the next batch of items in the list, call this operation again, adding the next token to the call. To get all of the items in the list, keep calling this operation with each subsequent next token that is returned, until no more next tokens are returned.+lpNextToken :: Lens' ListProjects (Maybe Text)+lpNextToken = lens _lpNextToken (\ s a -> s{_lpNextToken = a});++-- | The criterion to be used to list build project names. Valid values include:     * @CREATED_TIME@ : List the build project names based on when each build project was created.     * @LAST_MODIFIED_TIME@ : List the build project names based on when information about each build project was last changed.     * @NAME@ : List the build project names based on each build project's name. Use @sortOrder@ to specify in what order to list the build project names based on the preceding criteria.+lpSortBy :: Lens' ListProjects (Maybe ProjectSortByType)+lpSortBy = lens _lpSortBy (\ s a -> s{_lpSortBy = a});++instance AWSRequest ListProjects where+        type Rs ListProjects = ListProjectsResponse+        request = postJSON codeBuild+        response+          = receiveJSON+              (\ s h x ->+                 ListProjectsResponse' <$>+                   (x .?> "nextToken") <*> (x .?> "projects") <*>+                     (pure (fromEnum s)))++instance Hashable ListProjects++instance NFData ListProjects++instance ToHeaders ListProjects where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("CodeBuild_20161006.ListProjects" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON ListProjects where+        toJSON ListProjects'{..}+          = object+              (catMaybes+                 [("sortOrder" .=) <$> _lpSortOrder,+                  ("nextToken" .=) <$> _lpNextToken,+                  ("sortBy" .=) <$> _lpSortBy])++instance ToPath ListProjects where+        toPath = const "/"++instance ToQuery ListProjects where+        toQuery = const mempty++-- | /See:/ 'listProjectsResponse' smart constructor.+data ListProjectsResponse = ListProjectsResponse'+    { _lprsNextToken      :: !(Maybe Text)+    , _lprsProjects       :: !(Maybe (List1 Text))+    , _lprsResponseStatus :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListProjectsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lprsNextToken' - If there are more than 100 items in the list, only the first 100 items are returned, along with a unique string called a /next token/ . To get the next batch of items in the list, call this operation again, adding the next token to the call.+--+-- * 'lprsProjects' - The list of build project names, with each build project name representing a single build project.+--+-- * 'lprsResponseStatus' - -- | The response status code.+listProjectsResponse+    :: Int -- ^ 'lprsResponseStatus'+    -> ListProjectsResponse+listProjectsResponse pResponseStatus_ =+    ListProjectsResponse'+    { _lprsNextToken = Nothing+    , _lprsProjects = Nothing+    , _lprsResponseStatus = pResponseStatus_+    }++-- | If there are more than 100 items in the list, only the first 100 items are returned, along with a unique string called a /next token/ . To get the next batch of items in the list, call this operation again, adding the next token to the call.+lprsNextToken :: Lens' ListProjectsResponse (Maybe Text)+lprsNextToken = lens _lprsNextToken (\ s a -> s{_lprsNextToken = a});++-- | The list of build project names, with each build project name representing a single build project.+lprsProjects :: Lens' ListProjectsResponse (Maybe (NonEmpty Text))+lprsProjects = lens _lprsProjects (\ s a -> s{_lprsProjects = a}) . mapping _List1;++-- | -- | The response status code.+lprsResponseStatus :: Lens' ListProjectsResponse Int+lprsResponseStatus = lens _lprsResponseStatus (\ s a -> s{_lprsResponseStatus = a});++instance NFData ListProjectsResponse
+ gen/Network/AWS/CodeBuild/StartBuild.hs view
@@ -0,0 +1,185 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.CodeBuild.StartBuild+-- Copyright   : (c) 2013-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)+--+-- Starts running a build.+--+--+module Network.AWS.CodeBuild.StartBuild+    (+    -- * Creating a Request+      startBuild+    , StartBuild+    -- * Request Lenses+    , sbEnvironmentVariablesOverride+    , sbTimeoutInMinutesOverride+    , sbSourceVersion+    , sbBuildspecOverride+    , sbArtifactsOverride+    , sbProjectName++    -- * Destructuring the Response+    , startBuildResponse+    , StartBuildResponse+    -- * Response Lenses+    , srsBuild+    , srsResponseStatus+    ) where++import           Network.AWS.CodeBuild.Types+import           Network.AWS.CodeBuild.Types.Product+import           Network.AWS.Lens+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'startBuild' smart constructor.+data StartBuild = StartBuild'+    { _sbEnvironmentVariablesOverride :: !(Maybe [EnvironmentVariable])+    , _sbTimeoutInMinutesOverride     :: !(Maybe Nat)+    , _sbSourceVersion                :: !(Maybe Text)+    , _sbBuildspecOverride            :: !(Maybe Text)+    , _sbArtifactsOverride            :: !(Maybe ProjectArtifacts)+    , _sbProjectName                  :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'StartBuild' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sbEnvironmentVariablesOverride' - A set of environment variables that overrides, for this build only, the latest ones already defined in the corresponding build project.+--+-- * 'sbTimeoutInMinutesOverride' - The number of build timeout minutes, from 5 to 480 (8 hours) that overrides, for this build only, the latest setting already defined in the corresponding build project.+--+-- * 'sbSourceVersion' - A version of the build input to be built, for this build only. If not specified, the latest version will be used. If specified, must be one of:     * For AWS CodeCommit or GitHub: the commit ID to use.     * For Amazon Simple Storage Service (Amazon S3): the version ID of the object representing the build input ZIP file to use.+--+-- * 'sbBuildspecOverride' - A build spec declaration that overrides, for this build only, the latest one already defined in the corresponding build project.+--+-- * 'sbArtifactsOverride' - Build output artifact settings that override, for this build only, the latest ones already defined in the corresponding build project.+--+-- * 'sbProjectName' - The name of the build project to start running a build.+startBuild+    :: Text -- ^ 'sbProjectName'+    -> StartBuild+startBuild pProjectName_ =+    StartBuild'+    { _sbEnvironmentVariablesOverride = Nothing+    , _sbTimeoutInMinutesOverride = Nothing+    , _sbSourceVersion = Nothing+    , _sbBuildspecOverride = Nothing+    , _sbArtifactsOverride = Nothing+    , _sbProjectName = pProjectName_+    }++-- | A set of environment variables that overrides, for this build only, the latest ones already defined in the corresponding build project.+sbEnvironmentVariablesOverride :: Lens' StartBuild [EnvironmentVariable]+sbEnvironmentVariablesOverride = lens _sbEnvironmentVariablesOverride (\ s a -> s{_sbEnvironmentVariablesOverride = a}) . _Default . _Coerce;++-- | The number of build timeout minutes, from 5 to 480 (8 hours) that overrides, for this build only, the latest setting already defined in the corresponding build project.+sbTimeoutInMinutesOverride :: Lens' StartBuild (Maybe Natural)+sbTimeoutInMinutesOverride = lens _sbTimeoutInMinutesOverride (\ s a -> s{_sbTimeoutInMinutesOverride = a}) . mapping _Nat;++-- | A version of the build input to be built, for this build only. If not specified, the latest version will be used. If specified, must be one of:     * For AWS CodeCommit or GitHub: the commit ID to use.     * For Amazon Simple Storage Service (Amazon S3): the version ID of the object representing the build input ZIP file to use.+sbSourceVersion :: Lens' StartBuild (Maybe Text)+sbSourceVersion = lens _sbSourceVersion (\ s a -> s{_sbSourceVersion = a});++-- | A build spec declaration that overrides, for this build only, the latest one already defined in the corresponding build project.+sbBuildspecOverride :: Lens' StartBuild (Maybe Text)+sbBuildspecOverride = lens _sbBuildspecOverride (\ s a -> s{_sbBuildspecOverride = a});++-- | Build output artifact settings that override, for this build only, the latest ones already defined in the corresponding build project.+sbArtifactsOverride :: Lens' StartBuild (Maybe ProjectArtifacts)+sbArtifactsOverride = lens _sbArtifactsOverride (\ s a -> s{_sbArtifactsOverride = a});++-- | The name of the build project to start running a build.+sbProjectName :: Lens' StartBuild Text+sbProjectName = lens _sbProjectName (\ s a -> s{_sbProjectName = a});++instance AWSRequest StartBuild where+        type Rs StartBuild = StartBuildResponse+        request = postJSON codeBuild+        response+          = receiveJSON+              (\ s h x ->+                 StartBuildResponse' <$>+                   (x .?> "build") <*> (pure (fromEnum s)))++instance Hashable StartBuild++instance NFData StartBuild++instance ToHeaders StartBuild where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("CodeBuild_20161006.StartBuild" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON StartBuild where+        toJSON StartBuild'{..}+          = object+              (catMaybes+                 [("environmentVariablesOverride" .=) <$>+                    _sbEnvironmentVariablesOverride,+                  ("timeoutInMinutesOverride" .=) <$>+                    _sbTimeoutInMinutesOverride,+                  ("sourceVersion" .=) <$> _sbSourceVersion,+                  ("buildspecOverride" .=) <$> _sbBuildspecOverride,+                  ("artifactsOverride" .=) <$> _sbArtifactsOverride,+                  Just ("projectName" .= _sbProjectName)])++instance ToPath StartBuild where+        toPath = const "/"++instance ToQuery StartBuild where+        toQuery = const mempty++-- | /See:/ 'startBuildResponse' smart constructor.+data StartBuildResponse = StartBuildResponse'+    { _srsBuild          :: !(Maybe Build)+    , _srsResponseStatus :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'StartBuildResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'srsBuild' - Information about the build to be run.+--+-- * 'srsResponseStatus' - -- | The response status code.+startBuildResponse+    :: Int -- ^ 'srsResponseStatus'+    -> StartBuildResponse+startBuildResponse pResponseStatus_ =+    StartBuildResponse'+    { _srsBuild = Nothing+    , _srsResponseStatus = pResponseStatus_+    }++-- | Information about the build to be run.+srsBuild :: Lens' StartBuildResponse (Maybe Build)+srsBuild = lens _srsBuild (\ s a -> s{_srsBuild = a});++-- | -- | The response status code.+srsResponseStatus :: Lens' StartBuildResponse Int+srsResponseStatus = lens _srsResponseStatus (\ s a -> s{_srsResponseStatus = a});++instance NFData StartBuildResponse
+ gen/Network/AWS/CodeBuild/StopBuild.hs view
@@ -0,0 +1,131 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.CodeBuild.StopBuild+-- Copyright   : (c) 2013-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)+--+-- Attempts to stop running a build.+--+--+module Network.AWS.CodeBuild.StopBuild+    (+    -- * Creating a Request+      stopBuild+    , StopBuild+    -- * Request Lenses+    , sbId++    -- * Destructuring the Response+    , stopBuildResponse+    , StopBuildResponse+    -- * Response Lenses+    , sbrsBuild+    , sbrsResponseStatus+    ) where++import           Network.AWS.CodeBuild.Types+import           Network.AWS.CodeBuild.Types.Product+import           Network.AWS.Lens+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'stopBuild' smart constructor.+newtype StopBuild = StopBuild'+    { _sbId :: Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'StopBuild' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sbId' - The ID of the build to attempt to stop running.+stopBuild+    :: Text -- ^ 'sbId'+    -> StopBuild+stopBuild pId_ =+    StopBuild'+    { _sbId = pId_+    }++-- | The ID of the build to attempt to stop running.+sbId :: Lens' StopBuild Text+sbId = lens _sbId (\ s a -> s{_sbId = a});++instance AWSRequest StopBuild where+        type Rs StopBuild = StopBuildResponse+        request = postJSON codeBuild+        response+          = receiveJSON+              (\ s h x ->+                 StopBuildResponse' <$>+                   (x .?> "build") <*> (pure (fromEnum s)))++instance Hashable StopBuild++instance NFData StopBuild++instance ToHeaders StopBuild where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("CodeBuild_20161006.StopBuild" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON StopBuild where+        toJSON StopBuild'{..}+          = object (catMaybes [Just ("id" .= _sbId)])++instance ToPath StopBuild where+        toPath = const "/"++instance ToQuery StopBuild where+        toQuery = const mempty++-- | /See:/ 'stopBuildResponse' smart constructor.+data StopBuildResponse = StopBuildResponse'+    { _sbrsBuild          :: !(Maybe Build)+    , _sbrsResponseStatus :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'StopBuildResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sbrsBuild' - Information about the build that was attempted to be stopped.+--+-- * 'sbrsResponseStatus' - -- | The response status code.+stopBuildResponse+    :: Int -- ^ 'sbrsResponseStatus'+    -> StopBuildResponse+stopBuildResponse pResponseStatus_ =+    StopBuildResponse'+    { _sbrsBuild = Nothing+    , _sbrsResponseStatus = pResponseStatus_+    }++-- | Information about the build that was attempted to be stopped.+sbrsBuild :: Lens' StopBuildResponse (Maybe Build)+sbrsBuild = lens _sbrsBuild (\ s a -> s{_sbrsBuild = a});++-- | -- | The response status code.+sbrsResponseStatus :: Lens' StopBuildResponse Int+sbrsResponseStatus = lens _sbrsResponseStatus (\ s a -> s{_sbrsResponseStatus = a});++instance NFData StopBuildResponse
+ gen/Network/AWS/CodeBuild/Types.hs view
@@ -0,0 +1,257 @@+{-# LANGUAGE OverloadedStrings #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.CodeBuild.Types+-- Copyright   : (c) 2013-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)+--+module Network.AWS.CodeBuild.Types+    (+    -- * Service Configuration+      codeBuild++    -- * Errors+    , _ResourceAlreadyExistsException+    , _AccountLimitExceededException+    , _InvalidInputException+    , _ResourceNotFoundException++    -- * ArtifactNamespace+    , ArtifactNamespace (..)++    -- * ArtifactPackaging+    , ArtifactPackaging (..)++    -- * ArtifactsType+    , ArtifactsType (..)++    -- * BuildPhaseType+    , BuildPhaseType (..)++    -- * ComputeType+    , ComputeType (..)++    -- * EnvironmentType+    , EnvironmentType (..)++    -- * LanguageType+    , LanguageType (..)++    -- * PlatformType+    , PlatformType (..)++    -- * ProjectSortByType+    , ProjectSortByType (..)++    -- * SortOrderType+    , SortOrderType (..)++    -- * SourceAuthType+    , SourceAuthType (..)++    -- * SourceType+    , SourceType (..)++    -- * StatusType+    , StatusType (..)++    -- * Build+    , Build+    , build+    , bPhases+    , bBuildComplete+    , bArn+    , bStartTime+    , bArtifacts+    , bEnvironment+    , bInitiator+    , bCurrentPhase+    , bSourceVersion+    , bLogs+    , bEndTime+    , bProjectName+    , bBuildStatus+    , bSource+    , bId+    , bTimeoutInMinutes++    -- * BuildArtifacts+    , BuildArtifacts+    , buildArtifacts+    , baLocation+    , baMd5sum+    , baSha256sum++    -- * BuildPhase+    , BuildPhase+    , buildPhase+    , bpContexts+    , bpStartTime+    , bpPhaseStatus+    , bpPhaseType+    , bpEndTime+    , bpDurationInSeconds++    -- * EnvironmentImage+    , EnvironmentImage+    , environmentImage+    , eiName+    , eiDescription++    -- * EnvironmentLanguage+    , EnvironmentLanguage+    , environmentLanguage+    , elImages+    , elLanguage++    -- * EnvironmentPlatform+    , EnvironmentPlatform+    , environmentPlatform+    , epPlatform+    , epLanguages++    -- * EnvironmentVariable+    , EnvironmentVariable+    , environmentVariable+    , evName+    , evValue++    -- * LogsLocation+    , LogsLocation+    , logsLocation+    , llDeepLink+    , llGroupName+    , llStreamName++    -- * PhaseContext+    , PhaseContext+    , phaseContext+    , pcMessage+    , pcStatusCode++    -- * Project+    , Project+    , project+    , pArn+    , pArtifacts+    , pEnvironment+    , pCreated+    , pName+    , pSource+    , pEncryptionKey+    , pLastModified+    , pDescription+    , pServiceRole+    , pTags+    , pTimeoutInMinutes++    -- * ProjectArtifacts+    , ProjectArtifacts+    , projectArtifacts+    , paPackaging+    , paPath+    , paLocation+    , paName+    , paNamespaceType+    , paType++    -- * ProjectEnvironment+    , ProjectEnvironment+    , projectEnvironment+    , peEnvironmentVariables+    , peType+    , peImage+    , peComputeType++    -- * ProjectSource+    , ProjectSource+    , projectSource+    , psLocation+    , psAuth+    , psBuildspec+    , psType++    -- * SourceAuth+    , SourceAuth+    , sourceAuth+    , saResource+    , saType++    -- * Tag+    , Tag+    , tag+    , tagValue+    , tagKey+    ) where++import           Network.AWS.CodeBuild.Types.Product+import           Network.AWS.CodeBuild.Types.Sum+import           Network.AWS.Lens+import           Network.AWS.Prelude+import           Network.AWS.Sign.V4++-- | API version @2016-10-06@ of the Amazon CodeBuild SDK configuration.+codeBuild :: Service+codeBuild =+    Service+    { _svcAbbrev = "CodeBuild"+    , _svcSigner = v4+    , _svcPrefix = "codebuild"+    , _svcVersion = "2016-10-06"+    , _svcEndpoint = defaultEndpoint codeBuild+    , _svcTimeout = Just 70+    , _svcCheck = statusSuccess+    , _svcError = parseJSONError "CodeBuild"+    , _svcRetry = retry+    }+  where+    retry =+        Exponential+        { _retryBase = 5.0e-2+        , _retryGrowth = 2+        , _retryAttempts = 5+        , _retryCheck = check+        }+    check e+      | has (hasStatus 429) e = Just "too_many_requests"+      | has (hasCode "ThrottlingException" . hasStatus 400) e =+          Just "throttling_exception"+      | has (hasCode "Throttling" . hasStatus 400) e = Just "throttling"+      | has (hasStatus 504) e = Just "gateway_timeout"+      | has (hasStatus 502) e = Just "bad_gateway"+      | has (hasStatus 503) e = Just "service_unavailable"+      | has (hasStatus 500) e = Just "general_server_error"+      | has (hasStatus 509) e = Just "limit_exceeded"+      | otherwise = Nothing++-- | The specified AWS resource cannot be created, because an AWS resource with the same settings already exists.+--+--+_ResourceAlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError+_ResourceAlreadyExistsException =+    _ServiceError . hasCode "ResourceAlreadyExistsException"++-- | An AWS service limit was exceeded for the calling AWS account.+--+--+_AccountLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError+_AccountLimitExceededException =+    _ServiceError . hasCode "AccountLimitExceededException"++-- | The input value that was provided is not valid.+--+--+_InvalidInputException :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidInputException = _ServiceError . hasCode "InvalidInputException"++-- | The specified AWS resource cannot be found.+--+--+_ResourceNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError+_ResourceNotFoundException =+    _ServiceError . hasCode "ResourceNotFoundException"
+ gen/Network/AWS/CodeBuild/Types/Product.hs view
@@ -0,0 +1,1085 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.CodeBuild.Types.Product+-- Copyright   : (c) 2013-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)+--+module Network.AWS.CodeBuild.Types.Product where++import           Network.AWS.CodeBuild.Types.Sum+import           Network.AWS.Lens+import           Network.AWS.Prelude++-- | Information about a build.+--+--+--+-- /See:/ 'build' smart constructor.+data Build = Build'+    { _bPhases           :: !(Maybe [BuildPhase])+    , _bBuildComplete    :: !(Maybe Bool)+    , _bArn              :: !(Maybe Text)+    , _bStartTime        :: !(Maybe POSIX)+    , _bArtifacts        :: !(Maybe BuildArtifacts)+    , _bEnvironment      :: !(Maybe ProjectEnvironment)+    , _bInitiator        :: !(Maybe Text)+    , _bCurrentPhase     :: !(Maybe Text)+    , _bSourceVersion    :: !(Maybe Text)+    , _bLogs             :: !(Maybe LogsLocation)+    , _bEndTime          :: !(Maybe POSIX)+    , _bProjectName      :: !(Maybe Text)+    , _bBuildStatus      :: !(Maybe StatusType)+    , _bSource           :: !(Maybe ProjectSource)+    , _bId               :: !(Maybe Text)+    , _bTimeoutInMinutes :: !(Maybe Int)+    } deriving (Eq,Read,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:+--+-- * 'bPhases' - Information about all previous build phases that have completed, and information about any current build phase that has not yet completed.+--+-- * 'bBuildComplete' - Whether the build has finished. Valid values include true if completed; otherwise, false.+--+-- * 'bArn' - The build's Amazon Resource Name (ARN).+--+-- * 'bStartTime' - When the build process started, expressed in Unix time format.+--+-- * 'bArtifacts' - Information about the build's output artifacts.+--+-- * 'bEnvironment' - Information about the build environment for this build.+--+-- * 'bInitiator' - The entity that started the build. Valid values include:     * If AWS CodePipeline started the build, the pipeline's name, for example @codepipeline/my-demo-pipeline@ .     * If an AWS Identity and Access Management (IAM) user started the build, the user's name, for example @MyUserName@ .     * If the Jenkins plugin for AWS CodeBuild started the build, the string @CodeBuild-Jenkins-Plugin@ .+--+-- * 'bCurrentPhase' - The build's current build phase.+--+-- * 'bSourceVersion' - Any version identifier for the version of the source code to be built.+--+-- * 'bLogs' - Information about the build's logs in Amazon CloudWatch Logs.+--+-- * 'bEndTime' - When the build process ended, expressed in Unix time format.+--+-- * 'bProjectName' - The build project's name.+--+-- * 'bBuildStatus' - The build's current status. Valid values include:     * @FAILED@ : The build failed.     * @FAULT@ : The build faulted.     * @IN_PROGRESS@ : The build is still in progress.     * @STOPPED@ : The build stopped.     * @SUCCEEDED@ : The build succeeded.     * @TIMED_OUT@ : The build timed out.+--+-- * 'bSource' - Information about the source code to be built.+--+-- * 'bId' - The build's unique ID.+--+-- * 'bTimeoutInMinutes' - How long in minutes for AWS CodeBuild to wait to timeout this build if it does not get marked as completed.+build+    :: Build+build =+    Build'+    { _bPhases = Nothing+    , _bBuildComplete = Nothing+    , _bArn = Nothing+    , _bStartTime = Nothing+    , _bArtifacts = Nothing+    , _bEnvironment = Nothing+    , _bInitiator = Nothing+    , _bCurrentPhase = Nothing+    , _bSourceVersion = Nothing+    , _bLogs = Nothing+    , _bEndTime = Nothing+    , _bProjectName = Nothing+    , _bBuildStatus = Nothing+    , _bSource = Nothing+    , _bId = Nothing+    , _bTimeoutInMinutes = Nothing+    }++-- | Information about all previous build phases that have completed, and information about any current build phase that has not yet completed.+bPhases :: Lens' Build [BuildPhase]+bPhases = lens _bPhases (\ s a -> s{_bPhases = a}) . _Default . _Coerce;++-- | Whether the build has finished. Valid values include true if completed; otherwise, false.+bBuildComplete :: Lens' Build (Maybe Bool)+bBuildComplete = lens _bBuildComplete (\ s a -> s{_bBuildComplete = a});++-- | The build's Amazon Resource Name (ARN).+bArn :: Lens' Build (Maybe Text)+bArn = lens _bArn (\ s a -> s{_bArn = a});++-- | When the build process started, expressed in Unix time format.+bStartTime :: Lens' Build (Maybe UTCTime)+bStartTime = lens _bStartTime (\ s a -> s{_bStartTime = a}) . mapping _Time;++-- | Information about the build's output artifacts.+bArtifacts :: Lens' Build (Maybe BuildArtifacts)+bArtifacts = lens _bArtifacts (\ s a -> s{_bArtifacts = a});++-- | Information about the build environment for this build.+bEnvironment :: Lens' Build (Maybe ProjectEnvironment)+bEnvironment = lens _bEnvironment (\ s a -> s{_bEnvironment = a});++-- | The entity that started the build. Valid values include:     * If AWS CodePipeline started the build, the pipeline's name, for example @codepipeline/my-demo-pipeline@ .     * If an AWS Identity and Access Management (IAM) user started the build, the user's name, for example @MyUserName@ .     * If the Jenkins plugin for AWS CodeBuild started the build, the string @CodeBuild-Jenkins-Plugin@ .+bInitiator :: Lens' Build (Maybe Text)+bInitiator = lens _bInitiator (\ s a -> s{_bInitiator = a});++-- | The build's current build phase.+bCurrentPhase :: Lens' Build (Maybe Text)+bCurrentPhase = lens _bCurrentPhase (\ s a -> s{_bCurrentPhase = a});++-- | Any version identifier for the version of the source code to be built.+bSourceVersion :: Lens' Build (Maybe Text)+bSourceVersion = lens _bSourceVersion (\ s a -> s{_bSourceVersion = a});++-- | Information about the build's logs in Amazon CloudWatch Logs.+bLogs :: Lens' Build (Maybe LogsLocation)+bLogs = lens _bLogs (\ s a -> s{_bLogs = a});++-- | When the build process ended, expressed in Unix time format.+bEndTime :: Lens' Build (Maybe UTCTime)+bEndTime = lens _bEndTime (\ s a -> s{_bEndTime = a}) . mapping _Time;++-- | The build project's name.+bProjectName :: Lens' Build (Maybe Text)+bProjectName = lens _bProjectName (\ s a -> s{_bProjectName = a});++-- | The build's current status. Valid values include:     * @FAILED@ : The build failed.     * @FAULT@ : The build faulted.     * @IN_PROGRESS@ : The build is still in progress.     * @STOPPED@ : The build stopped.     * @SUCCEEDED@ : The build succeeded.     * @TIMED_OUT@ : The build timed out.+bBuildStatus :: Lens' Build (Maybe StatusType)+bBuildStatus = lens _bBuildStatus (\ s a -> s{_bBuildStatus = a});++-- | Information about the source code to be built.+bSource :: Lens' Build (Maybe ProjectSource)+bSource = lens _bSource (\ s a -> s{_bSource = a});++-- | The build's unique ID.+bId :: Lens' Build (Maybe Text)+bId = lens _bId (\ s a -> s{_bId = a});++-- | How long in minutes for AWS CodeBuild to wait to timeout this build if it does not get marked as completed.+bTimeoutInMinutes :: Lens' Build (Maybe Int)+bTimeoutInMinutes = lens _bTimeoutInMinutes (\ s a -> s{_bTimeoutInMinutes = a});++instance FromJSON Build where+        parseJSON+          = withObject "Build"+              (\ x ->+                 Build' <$>+                   (x .:? "phases" .!= mempty) <*>+                     (x .:? "buildComplete")+                     <*> (x .:? "arn")+                     <*> (x .:? "startTime")+                     <*> (x .:? "artifacts")+                     <*> (x .:? "environment")+                     <*> (x .:? "initiator")+                     <*> (x .:? "currentPhase")+                     <*> (x .:? "sourceVersion")+                     <*> (x .:? "logs")+                     <*> (x .:? "endTime")+                     <*> (x .:? "projectName")+                     <*> (x .:? "buildStatus")+                     <*> (x .:? "source")+                     <*> (x .:? "id")+                     <*> (x .:? "timeoutInMinutes"))++instance Hashable Build++instance NFData Build++-- | Information about build output artifacts.+--+--+--+-- /See:/ 'buildArtifacts' smart constructor.+data BuildArtifacts = BuildArtifacts'+    { _baLocation  :: !(Maybe Text)+    , _baMd5sum    :: !(Maybe Text)+    , _baSha256sum :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'BuildArtifacts' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'baLocation' - Information about the build artifacts' location.+--+-- * 'baMd5sum' - The MD5 hash of the build artifact. You can use this hash along with a checksum tool to confirm both file integrity and authenticity.+--+-- * 'baSha256sum' - The SHA-256 hash of the build artifact. You can use this hash along with a checksum tool to confirm both file integrity and authenticity.+buildArtifacts+    :: BuildArtifacts+buildArtifacts =+    BuildArtifacts'+    { _baLocation = Nothing+    , _baMd5sum = Nothing+    , _baSha256sum = Nothing+    }++-- | Information about the build artifacts' location.+baLocation :: Lens' BuildArtifacts (Maybe Text)+baLocation = lens _baLocation (\ s a -> s{_baLocation = a});++-- | The MD5 hash of the build artifact. You can use this hash along with a checksum tool to confirm both file integrity and authenticity.+baMd5sum :: Lens' BuildArtifacts (Maybe Text)+baMd5sum = lens _baMd5sum (\ s a -> s{_baMd5sum = a});++-- | The SHA-256 hash of the build artifact. You can use this hash along with a checksum tool to confirm both file integrity and authenticity.+baSha256sum :: Lens' BuildArtifacts (Maybe Text)+baSha256sum = lens _baSha256sum (\ s a -> s{_baSha256sum = a});++instance FromJSON BuildArtifacts where+        parseJSON+          = withObject "BuildArtifacts"+              (\ x ->+                 BuildArtifacts' <$>+                   (x .:? "location") <*> (x .:? "md5sum") <*>+                     (x .:? "sha256sum"))++instance Hashable BuildArtifacts++instance NFData BuildArtifacts++-- | Information about a stage for a build.+--+--+--+-- /See:/ 'buildPhase' smart constructor.+data BuildPhase = BuildPhase'+    { _bpContexts          :: !(Maybe [PhaseContext])+    , _bpStartTime         :: !(Maybe POSIX)+    , _bpPhaseStatus       :: !(Maybe StatusType)+    , _bpPhaseType         :: !(Maybe BuildPhaseType)+    , _bpEndTime           :: !(Maybe POSIX)+    , _bpDurationInSeconds :: !(Maybe Integer)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'BuildPhase' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bpContexts' - Additional information about a build phase, especially to help troubleshoot a failed build.+--+-- * 'bpStartTime' - When the build phase started, expressed in Unix time format.+--+-- * 'bpPhaseStatus' - The build phase's current status. Valid values include:     * @FAILED@ : The build phase failed.     * @FAULT@ : The build phase faulted.     * @IN_PROGRESS@ : The build phase is still in progress.     * @STOPPED@ : The build phase stopped.     * @SUCCEEDED@ : The build phase succeeded.     * @TIMED_OUT@ : The build phase timed out.+--+-- * 'bpPhaseType' - The build phase's name. Valid values include:     * @BUILD@ : Core build activities typically occur in this build phase.     * @COMPLETED@ : The build has completed.     * @DOWNLOAD_SOURCE@ : Source code is being downloaded in this build phase.     * @FINALIZING@ : The build process is completing in this build phase.     * @INSTALL@ : Installation activities typically occur in this build phase.     * @POST_BUILD@ : Post-build activities typically occur in this build phase.     * @PRE_BUILD@ : Pre-build activities typically occur in this build phase.     * @PROVISIONING@ : The build environment is being set up.     * @SUBMITTED@ : The build has been submitted.     * @UPLOAD_ARTIFACTS@ : Build output artifacts are being uploaded to output location.+--+-- * 'bpEndTime' - When the build phase ended, expressed in Unix time format.+--+-- * 'bpDurationInSeconds' - How long, in seconds, between the build's phase starting and ending times.+buildPhase+    :: BuildPhase+buildPhase =+    BuildPhase'+    { _bpContexts = Nothing+    , _bpStartTime = Nothing+    , _bpPhaseStatus = Nothing+    , _bpPhaseType = Nothing+    , _bpEndTime = Nothing+    , _bpDurationInSeconds = Nothing+    }++-- | Additional information about a build phase, especially to help troubleshoot a failed build.+bpContexts :: Lens' BuildPhase [PhaseContext]+bpContexts = lens _bpContexts (\ s a -> s{_bpContexts = a}) . _Default . _Coerce;++-- | When the build phase started, expressed in Unix time format.+bpStartTime :: Lens' BuildPhase (Maybe UTCTime)+bpStartTime = lens _bpStartTime (\ s a -> s{_bpStartTime = a}) . mapping _Time;++-- | The build phase's current status. Valid values include:     * @FAILED@ : The build phase failed.     * @FAULT@ : The build phase faulted.     * @IN_PROGRESS@ : The build phase is still in progress.     * @STOPPED@ : The build phase stopped.     * @SUCCEEDED@ : The build phase succeeded.     * @TIMED_OUT@ : The build phase timed out.+bpPhaseStatus :: Lens' BuildPhase (Maybe StatusType)+bpPhaseStatus = lens _bpPhaseStatus (\ s a -> s{_bpPhaseStatus = a});++-- | The build phase's name. Valid values include:     * @BUILD@ : Core build activities typically occur in this build phase.     * @COMPLETED@ : The build has completed.     * @DOWNLOAD_SOURCE@ : Source code is being downloaded in this build phase.     * @FINALIZING@ : The build process is completing in this build phase.     * @INSTALL@ : Installation activities typically occur in this build phase.     * @POST_BUILD@ : Post-build activities typically occur in this build phase.     * @PRE_BUILD@ : Pre-build activities typically occur in this build phase.     * @PROVISIONING@ : The build environment is being set up.     * @SUBMITTED@ : The build has been submitted.     * @UPLOAD_ARTIFACTS@ : Build output artifacts are being uploaded to output location.+bpPhaseType :: Lens' BuildPhase (Maybe BuildPhaseType)+bpPhaseType = lens _bpPhaseType (\ s a -> s{_bpPhaseType = a});++-- | When the build phase ended, expressed in Unix time format.+bpEndTime :: Lens' BuildPhase (Maybe UTCTime)+bpEndTime = lens _bpEndTime (\ s a -> s{_bpEndTime = a}) . mapping _Time;++-- | How long, in seconds, between the build's phase starting and ending times.+bpDurationInSeconds :: Lens' BuildPhase (Maybe Integer)+bpDurationInSeconds = lens _bpDurationInSeconds (\ s a -> s{_bpDurationInSeconds = a});++instance FromJSON BuildPhase where+        parseJSON+          = withObject "BuildPhase"+              (\ x ->+                 BuildPhase' <$>+                   (x .:? "contexts" .!= mempty) <*> (x .:? "startTime")+                     <*> (x .:? "phaseStatus")+                     <*> (x .:? "phaseType")+                     <*> (x .:? "endTime")+                     <*> (x .:? "durationInSeconds"))++instance Hashable BuildPhase++instance NFData BuildPhase++-- | Information about a Docker image that is managed by AWS CodeBuild.+--+--+--+-- /See:/ 'environmentImage' smart constructor.+data EnvironmentImage = EnvironmentImage'+    { _eiName        :: !(Maybe Text)+    , _eiDescription :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnvironmentImage' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eiName' - The Docker image's name.+--+-- * 'eiDescription' - The Docker image's description.+environmentImage+    :: EnvironmentImage+environmentImage =+    EnvironmentImage'+    { _eiName = Nothing+    , _eiDescription = Nothing+    }++-- | The Docker image's name.+eiName :: Lens' EnvironmentImage (Maybe Text)+eiName = lens _eiName (\ s a -> s{_eiName = a});++-- | The Docker image's description.+eiDescription :: Lens' EnvironmentImage (Maybe Text)+eiDescription = lens _eiDescription (\ s a -> s{_eiDescription = a});++instance FromJSON EnvironmentImage where+        parseJSON+          = withObject "EnvironmentImage"+              (\ x ->+                 EnvironmentImage' <$>+                   (x .:? "name") <*> (x .:? "description"))++instance Hashable EnvironmentImage++instance NFData EnvironmentImage++-- | A set of Docker images that are related by programming language and are managed by AWS CodeBuild.+--+--+--+-- /See:/ 'environmentLanguage' smart constructor.+data EnvironmentLanguage = EnvironmentLanguage'+    { _elImages   :: !(Maybe [EnvironmentImage])+    , _elLanguage :: !(Maybe LanguageType)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnvironmentLanguage' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'elImages' - The list of Docker images that are related by the specified programming language.+--+-- * 'elLanguage' - The programming language for the related set of Docker images.+environmentLanguage+    :: EnvironmentLanguage+environmentLanguage =+    EnvironmentLanguage'+    { _elImages = Nothing+    , _elLanguage = Nothing+    }++-- | The list of Docker images that are related by the specified programming language.+elImages :: Lens' EnvironmentLanguage [EnvironmentImage]+elImages = lens _elImages (\ s a -> s{_elImages = a}) . _Default . _Coerce;++-- | The programming language for the related set of Docker images.+elLanguage :: Lens' EnvironmentLanguage (Maybe LanguageType)+elLanguage = lens _elLanguage (\ s a -> s{_elLanguage = a});++instance FromJSON EnvironmentLanguage where+        parseJSON+          = withObject "EnvironmentLanguage"+              (\ x ->+                 EnvironmentLanguage' <$>+                   (x .:? "images" .!= mempty) <*> (x .:? "language"))++instance Hashable EnvironmentLanguage++instance NFData EnvironmentLanguage++-- | A set of Docker images that are related by platform and are managed by AWS CodeBuild.+--+--+--+-- /See:/ 'environmentPlatform' smart constructor.+data EnvironmentPlatform = EnvironmentPlatform'+    { _epPlatform  :: !(Maybe PlatformType)+    , _epLanguages :: !(Maybe [EnvironmentLanguage])+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnvironmentPlatform' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'epPlatform' - The platform's name.+--+-- * 'epLanguages' - The list of programming languages that are available for the specified platform.+environmentPlatform+    :: EnvironmentPlatform+environmentPlatform =+    EnvironmentPlatform'+    { _epPlatform = Nothing+    , _epLanguages = Nothing+    }++-- | The platform's name.+epPlatform :: Lens' EnvironmentPlatform (Maybe PlatformType)+epPlatform = lens _epPlatform (\ s a -> s{_epPlatform = a});++-- | The list of programming languages that are available for the specified platform.+epLanguages :: Lens' EnvironmentPlatform [EnvironmentLanguage]+epLanguages = lens _epLanguages (\ s a -> s{_epLanguages = a}) . _Default . _Coerce;++instance FromJSON EnvironmentPlatform where+        parseJSON+          = withObject "EnvironmentPlatform"+              (\ x ->+                 EnvironmentPlatform' <$>+                   (x .:? "platform") <*>+                     (x .:? "languages" .!= mempty))++instance Hashable EnvironmentPlatform++instance NFData EnvironmentPlatform++-- | Information about an environment variable for a build project or a build.+--+--+--+-- /See:/ 'environmentVariable' smart constructor.+data EnvironmentVariable = EnvironmentVariable'+    { _evName  :: !Text+    , _evValue :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnvironmentVariable' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'evName' - The environment variable's name or key.+--+-- * 'evValue' - The environment variable's value.+environmentVariable+    :: Text -- ^ 'evName'+    -> Text -- ^ 'evValue'+    -> EnvironmentVariable+environmentVariable pName_ pValue_ =+    EnvironmentVariable'+    { _evName = pName_+    , _evValue = pValue_+    }++-- | The environment variable's name or key.+evName :: Lens' EnvironmentVariable Text+evName = lens _evName (\ s a -> s{_evName = a});++-- | The environment variable's value.+evValue :: Lens' EnvironmentVariable Text+evValue = lens _evValue (\ s a -> s{_evValue = a});++instance FromJSON EnvironmentVariable where+        parseJSON+          = withObject "EnvironmentVariable"+              (\ x ->+                 EnvironmentVariable' <$>+                   (x .: "name") <*> (x .: "value"))++instance Hashable EnvironmentVariable++instance NFData EnvironmentVariable++instance ToJSON EnvironmentVariable where+        toJSON EnvironmentVariable'{..}+          = object+              (catMaybes+                 [Just ("name" .= _evName),+                  Just ("value" .= _evValue)])++-- | Information about build logs in Amazon CloudWatch Logs.+--+--+--+-- /See:/ 'logsLocation' smart constructor.+data LogsLocation = LogsLocation'+    { _llDeepLink   :: !(Maybe Text)+    , _llGroupName  :: !(Maybe Text)+    , _llStreamName :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'LogsLocation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'llDeepLink' - The URL to an individual build log in Amazon CloudWatch Logs.+--+-- * 'llGroupName' - The name of the Amazon CloudWatch Logs group for the associated build logs.+--+-- * 'llStreamName' - The name of the Amazon CloudWatch Logs stream for the associated build logs.+logsLocation+    :: LogsLocation+logsLocation =+    LogsLocation'+    { _llDeepLink = Nothing+    , _llGroupName = Nothing+    , _llStreamName = Nothing+    }++-- | The URL to an individual build log in Amazon CloudWatch Logs.+llDeepLink :: Lens' LogsLocation (Maybe Text)+llDeepLink = lens _llDeepLink (\ s a -> s{_llDeepLink = a});++-- | The name of the Amazon CloudWatch Logs group for the associated build logs.+llGroupName :: Lens' LogsLocation (Maybe Text)+llGroupName = lens _llGroupName (\ s a -> s{_llGroupName = a});++-- | The name of the Amazon CloudWatch Logs stream for the associated build logs.+llStreamName :: Lens' LogsLocation (Maybe Text)+llStreamName = lens _llStreamName (\ s a -> s{_llStreamName = a});++instance FromJSON LogsLocation where+        parseJSON+          = withObject "LogsLocation"+              (\ x ->+                 LogsLocation' <$>+                   (x .:? "deepLink") <*> (x .:? "groupName") <*>+                     (x .:? "streamName"))++instance Hashable LogsLocation++instance NFData LogsLocation++-- | Additional information about a build phase that has an error, which you can use to help troubleshoot a failed build.+--+--+--+-- /See:/ 'phaseContext' smart constructor.+data PhaseContext = PhaseContext'+    { _pcMessage    :: !(Maybe Text)+    , _pcStatusCode :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'PhaseContext' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pcMessage' - An explanation of the build phase's context. This explanation may include a command ID and an exit code.+--+-- * 'pcStatusCode' - The status code for the context of the build phase.+phaseContext+    :: PhaseContext+phaseContext =+    PhaseContext'+    { _pcMessage = Nothing+    , _pcStatusCode = Nothing+    }++-- | An explanation of the build phase's context. This explanation may include a command ID and an exit code.+pcMessage :: Lens' PhaseContext (Maybe Text)+pcMessage = lens _pcMessage (\ s a -> s{_pcMessage = a});++-- | The status code for the context of the build phase.+pcStatusCode :: Lens' PhaseContext (Maybe Text)+pcStatusCode = lens _pcStatusCode (\ s a -> s{_pcStatusCode = a});++instance FromJSON PhaseContext where+        parseJSON+          = withObject "PhaseContext"+              (\ x ->+                 PhaseContext' <$>+                   (x .:? "message") <*> (x .:? "statusCode"))++instance Hashable PhaseContext++instance NFData PhaseContext++-- | Information about a build project.+--+--+--+-- /See:/ 'project' smart constructor.+data Project = Project'+    { _pArn              :: !(Maybe Text)+    , _pArtifacts        :: !(Maybe ProjectArtifacts)+    , _pEnvironment      :: !(Maybe ProjectEnvironment)+    , _pCreated          :: !(Maybe POSIX)+    , _pName             :: !(Maybe Text)+    , _pSource           :: !(Maybe ProjectSource)+    , _pEncryptionKey    :: !(Maybe Text)+    , _pLastModified     :: !(Maybe POSIX)+    , _pDescription      :: !(Maybe Text)+    , _pServiceRole      :: !(Maybe Text)+    , _pTags             :: !(Maybe [Tag])+    , _pTimeoutInMinutes :: !(Maybe Nat)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Project' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pArn' - The build project's Amazon Resource Name (ARN).+--+-- * 'pArtifacts' - Information about the build project's build output artifacts.+--+-- * 'pEnvironment' - Information about the build environment for this build project.+--+-- * 'pCreated' - When the build project was created, expressed in Unix time format.+--+-- * 'pName' - The build project's name.+--+-- * 'pSource' - Information about the build project's build input source code.+--+-- * 'pEncryptionKey' - The AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build project's build output artifacts. This is expressed either as the CMK's Amazon Resource Name (ARN) or, if specified, the CMK's alias (using the format @alias//alias-name/ @ ).+--+-- * 'pLastModified' - When the build project's settings were last modified, expressed in Unix time format.+--+-- * 'pDescription' - A meaningful description of the build project.+--+-- * 'pServiceRole' - The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that enables AWS CodeBuild to interact with dependent AWS services on behalf of the AWS account.+--+-- * 'pTags' - The tags for this build project. These tags are available for use by AWS services that support AWS CodeBuild build project tags.+--+-- * 'pTimeoutInMinutes' - How long in minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait to timeout any related build that did not get marked as completed. The default is 60 minutes.+project+    :: Project+project =+    Project'+    { _pArn = Nothing+    , _pArtifacts = Nothing+    , _pEnvironment = Nothing+    , _pCreated = Nothing+    , _pName = Nothing+    , _pSource = Nothing+    , _pEncryptionKey = Nothing+    , _pLastModified = Nothing+    , _pDescription = Nothing+    , _pServiceRole = Nothing+    , _pTags = Nothing+    , _pTimeoutInMinutes = Nothing+    }++-- | The build project's Amazon Resource Name (ARN).+pArn :: Lens' Project (Maybe Text)+pArn = lens _pArn (\ s a -> s{_pArn = a});++-- | Information about the build project's build output artifacts.+pArtifacts :: Lens' Project (Maybe ProjectArtifacts)+pArtifacts = lens _pArtifacts (\ s a -> s{_pArtifacts = a});++-- | Information about the build environment for this build project.+pEnvironment :: Lens' Project (Maybe ProjectEnvironment)+pEnvironment = lens _pEnvironment (\ s a -> s{_pEnvironment = a});++-- | When the build project was created, expressed in Unix time format.+pCreated :: Lens' Project (Maybe UTCTime)+pCreated = lens _pCreated (\ s a -> s{_pCreated = a}) . mapping _Time;++-- | The build project's name.+pName :: Lens' Project (Maybe Text)+pName = lens _pName (\ s a -> s{_pName = a});++-- | Information about the build project's build input source code.+pSource :: Lens' Project (Maybe ProjectSource)+pSource = lens _pSource (\ s a -> s{_pSource = a});++-- | The AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build project's build output artifacts. This is expressed either as the CMK's Amazon Resource Name (ARN) or, if specified, the CMK's alias (using the format @alias//alias-name/ @ ).+pEncryptionKey :: Lens' Project (Maybe Text)+pEncryptionKey = lens _pEncryptionKey (\ s a -> s{_pEncryptionKey = a});++-- | When the build project's settings were last modified, expressed in Unix time format.+pLastModified :: Lens' Project (Maybe UTCTime)+pLastModified = lens _pLastModified (\ s a -> s{_pLastModified = a}) . mapping _Time;++-- | A meaningful description of the build project.+pDescription :: Lens' Project (Maybe Text)+pDescription = lens _pDescription (\ s a -> s{_pDescription = a});++-- | The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that enables AWS CodeBuild to interact with dependent AWS services on behalf of the AWS account.+pServiceRole :: Lens' Project (Maybe Text)+pServiceRole = lens _pServiceRole (\ s a -> s{_pServiceRole = a});++-- | The tags for this build project. These tags are available for use by AWS services that support AWS CodeBuild build project tags.+pTags :: Lens' Project [Tag]+pTags = lens _pTags (\ s a -> s{_pTags = a}) . _Default . _Coerce;++-- | How long in minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait to timeout any related build that did not get marked as completed. The default is 60 minutes.+pTimeoutInMinutes :: Lens' Project (Maybe Natural)+pTimeoutInMinutes = lens _pTimeoutInMinutes (\ s a -> s{_pTimeoutInMinutes = a}) . mapping _Nat;++instance FromJSON Project where+        parseJSON+          = withObject "Project"+              (\ x ->+                 Project' <$>+                   (x .:? "arn") <*> (x .:? "artifacts") <*>+                     (x .:? "environment")+                     <*> (x .:? "created")+                     <*> (x .:? "name")+                     <*> (x .:? "source")+                     <*> (x .:? "encryptionKey")+                     <*> (x .:? "lastModified")+                     <*> (x .:? "description")+                     <*> (x .:? "serviceRole")+                     <*> (x .:? "tags" .!= mempty)+                     <*> (x .:? "timeoutInMinutes"))++instance Hashable Project++instance NFData Project++-- | Information about the build project's build output artifacts.+--+--+--+-- /See:/ 'projectArtifacts' smart constructor.+data ProjectArtifacts = ProjectArtifacts'+    { _paPackaging     :: !(Maybe ArtifactPackaging)+    , _paPath          :: !(Maybe Text)+    , _paLocation      :: !(Maybe Text)+    , _paName          :: !(Maybe Text)+    , _paNamespaceType :: !(Maybe ArtifactNamespace)+    , _paType          :: !ArtifactsType+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectArtifacts' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'paPackaging' - The type of build output artifact to create, as follows:     * If @type@ is set to @CODEPIPELINE@ , then AWS CodePipeline will ignore this value if specified. This is because AWS CodePipeline manages its build output artifacts instead of AWS CodeBuild.     * If @type@ is set to @NO_ARTIFACTS@ , then this value will be ignored if specified, because no build output will be produced.     * If @type@ is set to @S3@ , valid values include:     * @NONE@ : AWS CodeBuild will create in the output bucket a folder containing the build output. This is the default if @packaging@ is not specified.     * @ZIP@ : AWS CodeBuild will create in the output bucket a ZIP file containing the build output.+--+-- * 'paPath' - Along with @namespaceType@ and @name@ , the pattern that AWS CodeBuild will use to name and store the output artifact, as follows:     * If @type@ is set to @CODEPIPELINE@ , then AWS CodePipeline will ignore this value if specified. This is because AWS CodePipeline manages its build output names instead of AWS CodeBuild.     * If @type@ is set to @NO_ARTIFACTS@ , then this value will be ignored if specified, because no build output will be produced.     * If @type@ is set to @S3@ , this is the path to the output artifact. If @path@ is not specified, then @path@ will not be used. For example, if @path@ is set to @MyArtifacts@ , @namespaceType@ is set to @NONE@ , and @name@ is set to @MyArtifact.zip@ , then the output artifact would be stored in the output bucket at @MyArtifacts/MyArtifact.zip@ .+--+-- * 'paLocation' - Information about the build output artifact location, as follows:     * If @type@ is set to @CODEPIPELINE@ , then AWS CodePipeline will ignore this value if specified. This is because AWS CodePipeline manages its build output locations instead of AWS CodeBuild.     * If @type@ is set to @NO_ARTIFACTS@ , then this value will be ignored if specified, because no build output will be produced.     * If @type@ is set to @S3@ , this is the name of the output bucket. If @path@ is not also specified, then @location@ can also specify the path of the output artifact in the output bucket.+--+-- * 'paName' - Along with @path@ and @namespaceType@ , the pattern that AWS CodeBuild will use to name and store the output artifact, as follows:     * If @type@ is set to @CODEPIPELINE@ , then AWS CodePipeline will ignore this value if specified. This is because AWS CodePipeline manages its build output names instead of AWS CodeBuild.     * If @type@ is set to @NO_ARTIFACTS@ , then this value will be ignored if specified, because no build output will be produced.     * If @type@ is set to @S3@ , this is the name of the output artifact object. For example, if @path@ is set to @MyArtifacts@ , @namespaceType@ is set to @BUILD_ID@ , and @name@ is set to @MyArtifact.zip@ , then the output artifact would be stored in @MyArtifacts//build-ID/ /MyArtifact.zip@ .+--+-- * 'paNamespaceType' - Along with @path@ and @name@ , the pattern that AWS CodeBuild will use to determine the name and location to store the output artifact, as follows:     * If @type@ is set to @CODEPIPELINE@ , then AWS CodePipeline will ignore this value if specified. This is because AWS CodePipeline manages its build output names instead of AWS CodeBuild.     * If @type@ is set to @NO_ARTIFACTS@ , then this value will be ignored if specified, because no build output will be produced.     * If @type@ is set to @S3@ , then valid values include:     * @BUILD_ID@ : Include the build ID in the location of the build output artifact.     * @NONE@ : Do not include the build ID. This is the default if @namespaceType@ is not specified. For example, if @path@ is set to @MyArtifacts@ , @namespaceType@ is set to @BUILD_ID@ , and @name@ is set to @MyArtifact.zip@ , then the output artifact would be stored in @MyArtifacts//build-ID/ /MyArtifact.zip@ .+--+-- * 'paType' - The build output artifact's type. Valid values include:     * @CODEPIPELINE@ : The build project with have build output generated through AWS CodePipeline.     * @NO_ARTIFACTS@ : The build project will not produce any build output.     * @S3@ : The build project will store build output in Amazon Simple Storage Service (Amazon S3).+projectArtifacts+    :: ArtifactsType -- ^ 'paType'+    -> ProjectArtifacts+projectArtifacts pType_ =+    ProjectArtifacts'+    { _paPackaging = Nothing+    , _paPath = Nothing+    , _paLocation = Nothing+    , _paName = Nothing+    , _paNamespaceType = Nothing+    , _paType = pType_+    }++-- | The type of build output artifact to create, as follows:     * If @type@ is set to @CODEPIPELINE@ , then AWS CodePipeline will ignore this value if specified. This is because AWS CodePipeline manages its build output artifacts instead of AWS CodeBuild.     * If @type@ is set to @NO_ARTIFACTS@ , then this value will be ignored if specified, because no build output will be produced.     * If @type@ is set to @S3@ , valid values include:     * @NONE@ : AWS CodeBuild will create in the output bucket a folder containing the build output. This is the default if @packaging@ is not specified.     * @ZIP@ : AWS CodeBuild will create in the output bucket a ZIP file containing the build output.+paPackaging :: Lens' ProjectArtifacts (Maybe ArtifactPackaging)+paPackaging = lens _paPackaging (\ s a -> s{_paPackaging = a});++-- | Along with @namespaceType@ and @name@ , the pattern that AWS CodeBuild will use to name and store the output artifact, as follows:     * If @type@ is set to @CODEPIPELINE@ , then AWS CodePipeline will ignore this value if specified. This is because AWS CodePipeline manages its build output names instead of AWS CodeBuild.     * If @type@ is set to @NO_ARTIFACTS@ , then this value will be ignored if specified, because no build output will be produced.     * If @type@ is set to @S3@ , this is the path to the output artifact. If @path@ is not specified, then @path@ will not be used. For example, if @path@ is set to @MyArtifacts@ , @namespaceType@ is set to @NONE@ , and @name@ is set to @MyArtifact.zip@ , then the output artifact would be stored in the output bucket at @MyArtifacts/MyArtifact.zip@ .+paPath :: Lens' ProjectArtifacts (Maybe Text)+paPath = lens _paPath (\ s a -> s{_paPath = a});++-- | Information about the build output artifact location, as follows:     * If @type@ is set to @CODEPIPELINE@ , then AWS CodePipeline will ignore this value if specified. This is because AWS CodePipeline manages its build output locations instead of AWS CodeBuild.     * If @type@ is set to @NO_ARTIFACTS@ , then this value will be ignored if specified, because no build output will be produced.     * If @type@ is set to @S3@ , this is the name of the output bucket. If @path@ is not also specified, then @location@ can also specify the path of the output artifact in the output bucket.+paLocation :: Lens' ProjectArtifacts (Maybe Text)+paLocation = lens _paLocation (\ s a -> s{_paLocation = a});++-- | Along with @path@ and @namespaceType@ , the pattern that AWS CodeBuild will use to name and store the output artifact, as follows:     * If @type@ is set to @CODEPIPELINE@ , then AWS CodePipeline will ignore this value if specified. This is because AWS CodePipeline manages its build output names instead of AWS CodeBuild.     * If @type@ is set to @NO_ARTIFACTS@ , then this value will be ignored if specified, because no build output will be produced.     * If @type@ is set to @S3@ , this is the name of the output artifact object. For example, if @path@ is set to @MyArtifacts@ , @namespaceType@ is set to @BUILD_ID@ , and @name@ is set to @MyArtifact.zip@ , then the output artifact would be stored in @MyArtifacts//build-ID/ /MyArtifact.zip@ .+paName :: Lens' ProjectArtifacts (Maybe Text)+paName = lens _paName (\ s a -> s{_paName = a});++-- | Along with @path@ and @name@ , the pattern that AWS CodeBuild will use to determine the name and location to store the output artifact, as follows:     * If @type@ is set to @CODEPIPELINE@ , then AWS CodePipeline will ignore this value if specified. This is because AWS CodePipeline manages its build output names instead of AWS CodeBuild.     * If @type@ is set to @NO_ARTIFACTS@ , then this value will be ignored if specified, because no build output will be produced.     * If @type@ is set to @S3@ , then valid values include:     * @BUILD_ID@ : Include the build ID in the location of the build output artifact.     * @NONE@ : Do not include the build ID. This is the default if @namespaceType@ is not specified. For example, if @path@ is set to @MyArtifacts@ , @namespaceType@ is set to @BUILD_ID@ , and @name@ is set to @MyArtifact.zip@ , then the output artifact would be stored in @MyArtifacts//build-ID/ /MyArtifact.zip@ .+paNamespaceType :: Lens' ProjectArtifacts (Maybe ArtifactNamespace)+paNamespaceType = lens _paNamespaceType (\ s a -> s{_paNamespaceType = a});++-- | The build output artifact's type. Valid values include:     * @CODEPIPELINE@ : The build project with have build output generated through AWS CodePipeline.     * @NO_ARTIFACTS@ : The build project will not produce any build output.     * @S3@ : The build project will store build output in Amazon Simple Storage Service (Amazon S3).+paType :: Lens' ProjectArtifacts ArtifactsType+paType = lens _paType (\ s a -> s{_paType = a});++instance FromJSON ProjectArtifacts where+        parseJSON+          = withObject "ProjectArtifacts"+              (\ x ->+                 ProjectArtifacts' <$>+                   (x .:? "packaging") <*> (x .:? "path") <*>+                     (x .:? "location")+                     <*> (x .:? "name")+                     <*> (x .:? "namespaceType")+                     <*> (x .: "type"))++instance Hashable ProjectArtifacts++instance NFData ProjectArtifacts++instance ToJSON ProjectArtifacts where+        toJSON ProjectArtifacts'{..}+          = object+              (catMaybes+                 [("packaging" .=) <$> _paPackaging,+                  ("path" .=) <$> _paPath,+                  ("location" .=) <$> _paLocation,+                  ("name" .=) <$> _paName,+                  ("namespaceType" .=) <$> _paNamespaceType,+                  Just ("type" .= _paType)])++-- | Information about the build project's build environment.+--+--+--+-- /See:/ 'projectEnvironment' smart constructor.+data ProjectEnvironment = ProjectEnvironment'+    { _peEnvironmentVariables :: !(Maybe [EnvironmentVariable])+    , _peType                 :: !EnvironmentType+    , _peImage                :: !Text+    , _peComputeType          :: !ComputeType+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectEnvironment' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'peEnvironmentVariables' - A set of environment variables to make available to builds for this build project.+--+-- * 'peType' - The type of build environment to use for related builds. The only valid value is @LINUX_CONTAINER@ , which represents a Linux-based build environment.+--+-- * 'peImage' - The ID of the Docker image to use for this build project.+--+-- * 'peComputeType' - Information about the compute resources the build project will use. Available values include:     * @BUILD_GENERAL1_SMALL@ : Use up to 3 GB memory and 2 vCPUs for builds.     * @BUILD_GENERAL1_MEDIUM@ : Use up to 7 GB memory and 4 vCPUs for builds.     * @BUILD_GENERAL1_LARGE@ : Use up to 15 GB memory and 8 vCPUs for builds.+projectEnvironment+    :: EnvironmentType -- ^ 'peType'+    -> Text -- ^ 'peImage'+    -> ComputeType -- ^ 'peComputeType'+    -> ProjectEnvironment+projectEnvironment pType_ pImage_ pComputeType_ =+    ProjectEnvironment'+    { _peEnvironmentVariables = Nothing+    , _peType = pType_+    , _peImage = pImage_+    , _peComputeType = pComputeType_+    }++-- | A set of environment variables to make available to builds for this build project.+peEnvironmentVariables :: Lens' ProjectEnvironment [EnvironmentVariable]+peEnvironmentVariables = lens _peEnvironmentVariables (\ s a -> s{_peEnvironmentVariables = a}) . _Default . _Coerce;++-- | The type of build environment to use for related builds. The only valid value is @LINUX_CONTAINER@ , which represents a Linux-based build environment.+peType :: Lens' ProjectEnvironment EnvironmentType+peType = lens _peType (\ s a -> s{_peType = a});++-- | The ID of the Docker image to use for this build project.+peImage :: Lens' ProjectEnvironment Text+peImage = lens _peImage (\ s a -> s{_peImage = a});++-- | Information about the compute resources the build project will use. Available values include:     * @BUILD_GENERAL1_SMALL@ : Use up to 3 GB memory and 2 vCPUs for builds.     * @BUILD_GENERAL1_MEDIUM@ : Use up to 7 GB memory and 4 vCPUs for builds.     * @BUILD_GENERAL1_LARGE@ : Use up to 15 GB memory and 8 vCPUs for builds.+peComputeType :: Lens' ProjectEnvironment ComputeType+peComputeType = lens _peComputeType (\ s a -> s{_peComputeType = a});++instance FromJSON ProjectEnvironment where+        parseJSON+          = withObject "ProjectEnvironment"+              (\ x ->+                 ProjectEnvironment' <$>+                   (x .:? "environmentVariables" .!= mempty) <*>+                     (x .: "type")+                     <*> (x .: "image")+                     <*> (x .: "computeType"))++instance Hashable ProjectEnvironment++instance NFData ProjectEnvironment++instance ToJSON ProjectEnvironment where+        toJSON ProjectEnvironment'{..}+          = object+              (catMaybes+                 [("environmentVariables" .=) <$>+                    _peEnvironmentVariables,+                  Just ("type" .= _peType), Just ("image" .= _peImage),+                  Just ("computeType" .= _peComputeType)])++-- | Information about the build project's build input source code.+--+--+--+-- /See:/ 'projectSource' smart constructor.+data ProjectSource = ProjectSource'+    { _psLocation  :: !(Maybe Text)+    , _psAuth      :: !(Maybe SourceAuth)+    , _psBuildspec :: !(Maybe Text)+    , _psType      :: !SourceType+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectSource' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'psLocation' - Information about the location of the source code to be built. Valid values include:     * For source code settings that are specified in the source action of a pipeline in AWS CodePipeline, @location@ should not be specified. If it is specified, AWS CodePipeline will ignore it. This is because AWS CodePipeline uses the settings in a pipeline's source action instead of this value.     * For source code in an AWS CodeCommit repository, the HTTPS clone URL to the repository that contains the source code and the build spec (for example, @https://git-codecommit./region-ID/ .amazonaws.com/v1/repos//repo-name/ @ ).     * For source code in an Amazon Simple Storage Service (Amazon S3) input bucket, the path to the ZIP file that contains the source code (for example, @/bucket-name/ //path/ //to/ //object-name/ .zip@ )     * For source code in a GitHub repository, the HTTPS clone URL, including the user name and personal access token, to the repository that contains the source code and the build spec (for example, @https:///login-user-name/ :/personal-access-token/ @github.com//repo-owner-name/ //repo-name/ .git@ ). For more information, see <https://help.github.com/articles/creating-an-access-token-for-command-line-use/ Creating an Access Token for Command-Line Use> on the GitHub Help website.+--+-- * 'psAuth' - Information about the authorization settings for AWS CodeBuild to access the source code to be built. This information is only for the AWS CodeBuild console's use. Your code should not get or set this information directly.+--+-- * 'psBuildspec' - The build spec declaration to use for this build project's related builds. If this value is not specified, a build spec must be included along with the source code to be built.+--+-- * 'psType' - The type of repository that contains the source code to be built. Valid values include:     * @CODECOMMIT@ : The source code is in an AWS CodeCommit repository.     * @CODEPIPELINE@ : The source code settings are specified in the source action of a pipeline in AWS CodePipeline.     * @GITHUB@ : The source code is in a GitHub repository.     * @S3@ : The source code is in an Amazon Simple Storage Service (Amazon S3) input bucket.+projectSource+    :: SourceType -- ^ 'psType'+    -> ProjectSource+projectSource pType_ =+    ProjectSource'+    { _psLocation = Nothing+    , _psAuth = Nothing+    , _psBuildspec = Nothing+    , _psType = pType_+    }++-- | Information about the location of the source code to be built. Valid values include:     * For source code settings that are specified in the source action of a pipeline in AWS CodePipeline, @location@ should not be specified. If it is specified, AWS CodePipeline will ignore it. This is because AWS CodePipeline uses the settings in a pipeline's source action instead of this value.     * For source code in an AWS CodeCommit repository, the HTTPS clone URL to the repository that contains the source code and the build spec (for example, @https://git-codecommit./region-ID/ .amazonaws.com/v1/repos//repo-name/ @ ).     * For source code in an Amazon Simple Storage Service (Amazon S3) input bucket, the path to the ZIP file that contains the source code (for example, @/bucket-name/ //path/ //to/ //object-name/ .zip@ )     * For source code in a GitHub repository, the HTTPS clone URL, including the user name and personal access token, to the repository that contains the source code and the build spec (for example, @https:///login-user-name/ :/personal-access-token/ @github.com//repo-owner-name/ //repo-name/ .git@ ). For more information, see <https://help.github.com/articles/creating-an-access-token-for-command-line-use/ Creating an Access Token for Command-Line Use> on the GitHub Help website.+psLocation :: Lens' ProjectSource (Maybe Text)+psLocation = lens _psLocation (\ s a -> s{_psLocation = a});++-- | Information about the authorization settings for AWS CodeBuild to access the source code to be built. This information is only for the AWS CodeBuild console's use. Your code should not get or set this information directly.+psAuth :: Lens' ProjectSource (Maybe SourceAuth)+psAuth = lens _psAuth (\ s a -> s{_psAuth = a});++-- | The build spec declaration to use for this build project's related builds. If this value is not specified, a build spec must be included along with the source code to be built.+psBuildspec :: Lens' ProjectSource (Maybe Text)+psBuildspec = lens _psBuildspec (\ s a -> s{_psBuildspec = a});++-- | The type of repository that contains the source code to be built. Valid values include:     * @CODECOMMIT@ : The source code is in an AWS CodeCommit repository.     * @CODEPIPELINE@ : The source code settings are specified in the source action of a pipeline in AWS CodePipeline.     * @GITHUB@ : The source code is in a GitHub repository.     * @S3@ : The source code is in an Amazon Simple Storage Service (Amazon S3) input bucket.+psType :: Lens' ProjectSource SourceType+psType = lens _psType (\ s a -> s{_psType = a});++instance FromJSON ProjectSource where+        parseJSON+          = withObject "ProjectSource"+              (\ x ->+                 ProjectSource' <$>+                   (x .:? "location") <*> (x .:? "auth") <*>+                     (x .:? "buildspec")+                     <*> (x .: "type"))++instance Hashable ProjectSource++instance NFData ProjectSource++instance ToJSON ProjectSource where+        toJSON ProjectSource'{..}+          = object+              (catMaybes+                 [("location" .=) <$> _psLocation,+                  ("auth" .=) <$> _psAuth,+                  ("buildspec" .=) <$> _psBuildspec,+                  Just ("type" .= _psType)])++-- | Information about the authorization settings for AWS CodeBuild to access the source code to be built.+--+--+-- This information is only for the AWS CodeBuild console's use. Your code should not get or set this information directly.+--+--+-- /See:/ 'sourceAuth' smart constructor.+data SourceAuth = SourceAuth'+    { _saResource :: !(Maybe Text)+    , _saType     :: !SourceAuthType+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'SourceAuth' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'saResource' - The resource value that applies to the specified authorization type.+--+-- * 'saType' - The authorization type to use. The only valid value is @OAUTH@ , which represents the OAuth authorization type.+sourceAuth+    :: SourceAuthType -- ^ 'saType'+    -> SourceAuth+sourceAuth pType_ =+    SourceAuth'+    { _saResource = Nothing+    , _saType = pType_+    }++-- | The resource value that applies to the specified authorization type.+saResource :: Lens' SourceAuth (Maybe Text)+saResource = lens _saResource (\ s a -> s{_saResource = a});++-- | The authorization type to use. The only valid value is @OAUTH@ , which represents the OAuth authorization type.+saType :: Lens' SourceAuth SourceAuthType+saType = lens _saType (\ s a -> s{_saType = a});++instance FromJSON SourceAuth where+        parseJSON+          = withObject "SourceAuth"+              (\ x ->+                 SourceAuth' <$> (x .:? "resource") <*> (x .: "type"))++instance Hashable SourceAuth++instance NFData SourceAuth++instance ToJSON SourceAuth where+        toJSON SourceAuth'{..}+          = object+              (catMaybes+                 [("resource" .=) <$> _saResource,+                  Just ("type" .= _saType)])++-- | A tag, consisting of a key and a value.+--+--+-- This tag is available for use by AWS services that support tags in AWS CodeBuild.+--+--+-- /See:/ 'tag' smart constructor.+data Tag = Tag'+    { _tagValue :: !(Maybe Text)+    , _tagKey   :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Tag' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tagValue' - The tag's value.+--+-- * 'tagKey' - The tag's key.+tag+    :: Tag+tag =+    Tag'+    { _tagValue = Nothing+    , _tagKey = Nothing+    }++-- | The tag's value.+tagValue :: Lens' Tag (Maybe Text)+tagValue = lens _tagValue (\ s a -> s{_tagValue = a});++-- | The tag's key.+tagKey :: Lens' Tag (Maybe Text)+tagKey = lens _tagKey (\ s a -> s{_tagKey = a});++instance FromJSON Tag where+        parseJSON+          = withObject "Tag"+              (\ x -> Tag' <$> (x .:? "value") <*> (x .:? "key"))++instance Hashable Tag++instance NFData Tag++instance ToJSON Tag where+        toJSON Tag'{..}+          = object+              (catMaybes+                 [("value" .=) <$> _tagValue, ("key" .=) <$> _tagKey])
+ gen/Network/AWS/CodeBuild/Types/Sum.hs view
@@ -0,0 +1,445 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE LambdaCase         #-}+{-# LANGUAGE OverloadedStrings  #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.CodeBuild.Types.Sum+-- Copyright   : (c) 2013-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)+--+module Network.AWS.CodeBuild.Types.Sum where++import           Network.AWS.Prelude++data ArtifactNamespace+    = ANBuildId+    | ANNone+    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)++instance FromText ArtifactNamespace where+    parser = takeLowerText >>= \case+        "build_id" -> pure ANBuildId+        "none" -> pure ANNone+        e -> fromTextError $ "Failure parsing ArtifactNamespace from value: '" <> e+           <> "'. Accepted values: build_id, none"++instance ToText ArtifactNamespace where+    toText = \case+        ANBuildId -> "BUILD_ID"+        ANNone -> "NONE"++instance Hashable     ArtifactNamespace+instance NFData       ArtifactNamespace+instance ToByteString ArtifactNamespace+instance ToQuery      ArtifactNamespace+instance ToHeader     ArtifactNamespace++instance ToJSON ArtifactNamespace where+    toJSON = toJSONText++instance FromJSON ArtifactNamespace where+    parseJSON = parseJSONText "ArtifactNamespace"++data ArtifactPackaging+    = None+    | Zip+    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)++instance FromText ArtifactPackaging where+    parser = takeLowerText >>= \case+        "none" -> pure None+        "zip" -> pure Zip+        e -> fromTextError $ "Failure parsing ArtifactPackaging from value: '" <> e+           <> "'. Accepted values: none, zip"++instance ToText ArtifactPackaging where+    toText = \case+        None -> "NONE"+        Zip -> "ZIP"++instance Hashable     ArtifactPackaging+instance NFData       ArtifactPackaging+instance ToByteString ArtifactPackaging+instance ToQuery      ArtifactPackaging+instance ToHeader     ArtifactPackaging++instance ToJSON ArtifactPackaging where+    toJSON = toJSONText++instance FromJSON ArtifactPackaging where+    parseJSON = parseJSONText "ArtifactPackaging"++data ArtifactsType+    = Codepipeline+    | NoArtifacts+    | S3+    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)++instance FromText ArtifactsType where+    parser = takeLowerText >>= \case+        "codepipeline" -> pure Codepipeline+        "no_artifacts" -> pure NoArtifacts+        "s3" -> pure S3+        e -> fromTextError $ "Failure parsing ArtifactsType from value: '" <> e+           <> "'. Accepted values: codepipeline, no_artifacts, s3"++instance ToText ArtifactsType where+    toText = \case+        Codepipeline -> "CODEPIPELINE"+        NoArtifacts -> "NO_ARTIFACTS"+        S3 -> "S3"++instance Hashable     ArtifactsType+instance NFData       ArtifactsType+instance ToByteString ArtifactsType+instance ToQuery      ArtifactsType+instance ToHeader     ArtifactsType++instance ToJSON ArtifactsType where+    toJSON = toJSONText++instance FromJSON ArtifactsType where+    parseJSON = parseJSONText "ArtifactsType"++data BuildPhaseType+    = Build+    | Completed+    | DownloadSource+    | Finalizing+    | Install+    | PostBuild+    | PreBuild+    | Provisioning+    | Submitted+    | UploadArtifacts+    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)++instance FromText BuildPhaseType where+    parser = takeLowerText >>= \case+        "build" -> pure Build+        "completed" -> pure Completed+        "download_source" -> pure DownloadSource+        "finalizing" -> pure Finalizing+        "install" -> pure Install+        "post_build" -> pure PostBuild+        "pre_build" -> pure PreBuild+        "provisioning" -> pure Provisioning+        "submitted" -> pure Submitted+        "upload_artifacts" -> pure UploadArtifacts+        e -> fromTextError $ "Failure parsing BuildPhaseType from value: '" <> e+           <> "'. Accepted values: build, completed, download_source, finalizing, install, post_build, pre_build, provisioning, submitted, upload_artifacts"++instance ToText BuildPhaseType where+    toText = \case+        Build -> "BUILD"+        Completed -> "COMPLETED"+        DownloadSource -> "DOWNLOAD_SOURCE"+        Finalizing -> "FINALIZING"+        Install -> "INSTALL"+        PostBuild -> "POST_BUILD"+        PreBuild -> "PRE_BUILD"+        Provisioning -> "PROVISIONING"+        Submitted -> "SUBMITTED"+        UploadArtifacts -> "UPLOAD_ARTIFACTS"++instance Hashable     BuildPhaseType+instance NFData       BuildPhaseType+instance ToByteString BuildPhaseType+instance ToQuery      BuildPhaseType+instance ToHeader     BuildPhaseType++instance FromJSON BuildPhaseType where+    parseJSON = parseJSONText "BuildPhaseType"++data ComputeType+    = BuildGENERAL1Large+    | BuildGENERAL1Medium+    | BuildGENERAL1Small+    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)++instance FromText ComputeType where+    parser = takeLowerText >>= \case+        "build_general1_large" -> pure BuildGENERAL1Large+        "build_general1_medium" -> pure BuildGENERAL1Medium+        "build_general1_small" -> pure BuildGENERAL1Small+        e -> fromTextError $ "Failure parsing ComputeType from value: '" <> e+           <> "'. Accepted values: build_general1_large, build_general1_medium, build_general1_small"++instance ToText ComputeType where+    toText = \case+        BuildGENERAL1Large -> "BUILD_GENERAL1_LARGE"+        BuildGENERAL1Medium -> "BUILD_GENERAL1_MEDIUM"+        BuildGENERAL1Small -> "BUILD_GENERAL1_SMALL"++instance Hashable     ComputeType+instance NFData       ComputeType+instance ToByteString ComputeType+instance ToQuery      ComputeType+instance ToHeader     ComputeType++instance ToJSON ComputeType where+    toJSON = toJSONText++instance FromJSON ComputeType where+    parseJSON = parseJSONText "ComputeType"++data EnvironmentType =+    LinuxContainer+    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)++instance FromText EnvironmentType where+    parser = takeLowerText >>= \case+        "linux_container" -> pure LinuxContainer+        e -> fromTextError $ "Failure parsing EnvironmentType from value: '" <> e+           <> "'. Accepted values: linux_container"++instance ToText EnvironmentType where+    toText = \case+        LinuxContainer -> "LINUX_CONTAINER"++instance Hashable     EnvironmentType+instance NFData       EnvironmentType+instance ToByteString EnvironmentType+instance ToQuery      EnvironmentType+instance ToHeader     EnvironmentType++instance ToJSON EnvironmentType where+    toJSON = toJSONText++instance FromJSON EnvironmentType where+    parseJSON = parseJSONText "EnvironmentType"++data LanguageType+    = Android+    | Base+    | Docker+    | Golang+    | Java+    | NodeJs+    | Python+    | Ruby+    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)++instance FromText LanguageType where+    parser = takeLowerText >>= \case+        "android" -> pure Android+        "base" -> pure Base+        "docker" -> pure Docker+        "golang" -> pure Golang+        "java" -> pure Java+        "node_js" -> pure NodeJs+        "python" -> pure Python+        "ruby" -> pure Ruby+        e -> fromTextError $ "Failure parsing LanguageType from value: '" <> e+           <> "'. Accepted values: android, base, docker, golang, java, node_js, python, ruby"++instance ToText LanguageType where+    toText = \case+        Android -> "ANDROID"+        Base -> "BASE"+        Docker -> "DOCKER"+        Golang -> "GOLANG"+        Java -> "JAVA"+        NodeJs -> "NODE_JS"+        Python -> "PYTHON"+        Ruby -> "RUBY"++instance Hashable     LanguageType+instance NFData       LanguageType+instance ToByteString LanguageType+instance ToQuery      LanguageType+instance ToHeader     LanguageType++instance FromJSON LanguageType where+    parseJSON = parseJSONText "LanguageType"++data PlatformType+    = AmazonLinux+    | Debian+    | Ubuntu+    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)++instance FromText PlatformType where+    parser = takeLowerText >>= \case+        "amazon_linux" -> pure AmazonLinux+        "debian" -> pure Debian+        "ubuntu" -> pure Ubuntu+        e -> fromTextError $ "Failure parsing PlatformType from value: '" <> e+           <> "'. Accepted values: amazon_linux, debian, ubuntu"++instance ToText PlatformType where+    toText = \case+        AmazonLinux -> "AMAZON_LINUX"+        Debian -> "DEBIAN"+        Ubuntu -> "UBUNTU"++instance Hashable     PlatformType+instance NFData       PlatformType+instance ToByteString PlatformType+instance ToQuery      PlatformType+instance ToHeader     PlatformType++instance FromJSON PlatformType where+    parseJSON = parseJSONText "PlatformType"++data ProjectSortByType+    = CreatedTime+    | LastModifiedTime+    | Name+    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)++instance FromText ProjectSortByType where+    parser = takeLowerText >>= \case+        "created_time" -> pure CreatedTime+        "last_modified_time" -> pure LastModifiedTime+        "name" -> pure Name+        e -> fromTextError $ "Failure parsing ProjectSortByType from value: '" <> e+           <> "'. Accepted values: created_time, last_modified_time, name"++instance ToText ProjectSortByType where+    toText = \case+        CreatedTime -> "CREATED_TIME"+        LastModifiedTime -> "LAST_MODIFIED_TIME"+        Name -> "NAME"++instance Hashable     ProjectSortByType+instance NFData       ProjectSortByType+instance ToByteString ProjectSortByType+instance ToQuery      ProjectSortByType+instance ToHeader     ProjectSortByType++instance ToJSON ProjectSortByType where+    toJSON = toJSONText++data SortOrderType+    = Ascending+    | Descending+    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)++instance FromText SortOrderType where+    parser = takeLowerText >>= \case+        "ascending" -> pure Ascending+        "descending" -> pure Descending+        e -> fromTextError $ "Failure parsing SortOrderType from value: '" <> e+           <> "'. Accepted values: ascending, descending"++instance ToText SortOrderType where+    toText = \case+        Ascending -> "ASCENDING"+        Descending -> "DESCENDING"++instance Hashable     SortOrderType+instance NFData       SortOrderType+instance ToByteString SortOrderType+instance ToQuery      SortOrderType+instance ToHeader     SortOrderType++instance ToJSON SortOrderType where+    toJSON = toJSONText++data SourceAuthType =+    Oauth+    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)++instance FromText SourceAuthType where+    parser = takeLowerText >>= \case+        "oauth" -> pure Oauth+        e -> fromTextError $ "Failure parsing SourceAuthType from value: '" <> e+           <> "'. Accepted values: oauth"++instance ToText SourceAuthType where+    toText = \case+        Oauth -> "OAUTH"++instance Hashable     SourceAuthType+instance NFData       SourceAuthType+instance ToByteString SourceAuthType+instance ToQuery      SourceAuthType+instance ToHeader     SourceAuthType++instance ToJSON SourceAuthType where+    toJSON = toJSONText++instance FromJSON SourceAuthType where+    parseJSON = parseJSONText "SourceAuthType"++data SourceType+    = STCodecommit+    | STCodepipeline+    | STGithub+    | STS3+    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)++instance FromText SourceType where+    parser = takeLowerText >>= \case+        "codecommit" -> pure STCodecommit+        "codepipeline" -> pure STCodepipeline+        "github" -> pure STGithub+        "s3" -> pure STS3+        e -> fromTextError $ "Failure parsing SourceType from value: '" <> e+           <> "'. Accepted values: codecommit, codepipeline, github, s3"++instance ToText SourceType where+    toText = \case+        STCodecommit -> "CODECOMMIT"+        STCodepipeline -> "CODEPIPELINE"+        STGithub -> "GITHUB"+        STS3 -> "S3"++instance Hashable     SourceType+instance NFData       SourceType+instance ToByteString SourceType+instance ToQuery      SourceType+instance ToHeader     SourceType++instance ToJSON SourceType where+    toJSON = toJSONText++instance FromJSON SourceType where+    parseJSON = parseJSONText "SourceType"++data StatusType+    = Failed+    | Fault+    | InProgress+    | Stopped+    | Succeeded+    | TimedOut+    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)++instance FromText StatusType where+    parser = takeLowerText >>= \case+        "failed" -> pure Failed+        "fault" -> pure Fault+        "in_progress" -> pure InProgress+        "stopped" -> pure Stopped+        "succeeded" -> pure Succeeded+        "timed_out" -> pure TimedOut+        e -> fromTextError $ "Failure parsing StatusType from value: '" <> e+           <> "'. Accepted values: failed, fault, in_progress, stopped, succeeded, timed_out"++instance ToText StatusType where+    toText = \case+        Failed -> "FAILED"+        Fault -> "FAULT"+        InProgress -> "IN_PROGRESS"+        Stopped -> "STOPPED"+        Succeeded -> "SUCCEEDED"+        TimedOut -> "TIMED_OUT"++instance Hashable     StatusType+instance NFData       StatusType+instance ToByteString StatusType+instance ToQuery      StatusType+instance ToHeader     StatusType++instance FromJSON StatusType where+    parseJSON = parseJSONText "StatusType"
+ gen/Network/AWS/CodeBuild/UpdateProject.hs view
@@ -0,0 +1,213 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.CodeBuild.UpdateProject+-- Copyright   : (c) 2013-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)+--+-- Changes the settings of an existing build project.+--+--+module Network.AWS.CodeBuild.UpdateProject+    (+    -- * Creating a Request+      updateProject+    , UpdateProject+    -- * Request Lenses+    , upArtifacts+    , upEnvironment+    , upSource+    , upEncryptionKey+    , upDescription+    , upServiceRole+    , upTags+    , upTimeoutInMinutes+    , upName++    -- * Destructuring the Response+    , updateProjectResponse+    , UpdateProjectResponse+    -- * Response Lenses+    , uprsProject+    , uprsResponseStatus+    ) where++import           Network.AWS.CodeBuild.Types+import           Network.AWS.CodeBuild.Types.Product+import           Network.AWS.Lens+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'updateProject' smart constructor.+data UpdateProject = UpdateProject'+    { _upArtifacts        :: !(Maybe ProjectArtifacts)+    , _upEnvironment      :: !(Maybe ProjectEnvironment)+    , _upSource           :: !(Maybe ProjectSource)+    , _upEncryptionKey    :: !(Maybe Text)+    , _upDescription      :: !(Maybe Text)+    , _upServiceRole      :: !(Maybe Text)+    , _upTags             :: !(Maybe [Tag])+    , _upTimeoutInMinutes :: !(Maybe Nat)+    , _upName             :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateProject' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'upArtifacts' - Information to be changed about the build project's build output artifacts.+--+-- * 'upEnvironment' - Information to be changed about the build project's build environment.+--+-- * 'upSource' - Information to be changed about the build project's build input source code.+--+-- * 'upEncryptionKey' - The replacement AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build project's build output artifacts. You can specify either the CMK's Amazon Resource Name (ARN) or, if available, the CMK's alias (using the format @alias//alias-name/ @ ).+--+-- * 'upDescription' - A new or replacement description of the build project.+--+-- * 'upServiceRole' - The replacement Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that enables AWS CodeBuild to interact with dependent AWS services on behalf of the AWS account.+--+-- * 'upTags' - The replacement set of tags for this build project. These tags are available for use by AWS services that support AWS CodeBuild build project tags.+--+-- * 'upTimeoutInMinutes' - The replacement value in minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait to timeout any related build that did not get marked as completed.+--+-- * 'upName' - The name of the existing build project to change settings.+updateProject+    :: Text -- ^ 'upName'+    -> UpdateProject+updateProject pName_ =+    UpdateProject'+    { _upArtifacts = Nothing+    , _upEnvironment = Nothing+    , _upSource = Nothing+    , _upEncryptionKey = Nothing+    , _upDescription = Nothing+    , _upServiceRole = Nothing+    , _upTags = Nothing+    , _upTimeoutInMinutes = Nothing+    , _upName = pName_+    }++-- | Information to be changed about the build project's build output artifacts.+upArtifacts :: Lens' UpdateProject (Maybe ProjectArtifacts)+upArtifacts = lens _upArtifacts (\ s a -> s{_upArtifacts = a});++-- | Information to be changed about the build project's build environment.+upEnvironment :: Lens' UpdateProject (Maybe ProjectEnvironment)+upEnvironment = lens _upEnvironment (\ s a -> s{_upEnvironment = a});++-- | Information to be changed about the build project's build input source code.+upSource :: Lens' UpdateProject (Maybe ProjectSource)+upSource = lens _upSource (\ s a -> s{_upSource = a});++-- | The replacement AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build project's build output artifacts. You can specify either the CMK's Amazon Resource Name (ARN) or, if available, the CMK's alias (using the format @alias//alias-name/ @ ).+upEncryptionKey :: Lens' UpdateProject (Maybe Text)+upEncryptionKey = lens _upEncryptionKey (\ s a -> s{_upEncryptionKey = a});++-- | A new or replacement description of the build project.+upDescription :: Lens' UpdateProject (Maybe Text)+upDescription = lens _upDescription (\ s a -> s{_upDescription = a});++-- | The replacement Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that enables AWS CodeBuild to interact with dependent AWS services on behalf of the AWS account.+upServiceRole :: Lens' UpdateProject (Maybe Text)+upServiceRole = lens _upServiceRole (\ s a -> s{_upServiceRole = a});++-- | The replacement set of tags for this build project. These tags are available for use by AWS services that support AWS CodeBuild build project tags.+upTags :: Lens' UpdateProject [Tag]+upTags = lens _upTags (\ s a -> s{_upTags = a}) . _Default . _Coerce;++-- | The replacement value in minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait to timeout any related build that did not get marked as completed.+upTimeoutInMinutes :: Lens' UpdateProject (Maybe Natural)+upTimeoutInMinutes = lens _upTimeoutInMinutes (\ s a -> s{_upTimeoutInMinutes = a}) . mapping _Nat;++-- | The name of the existing build project to change settings.+upName :: Lens' UpdateProject Text+upName = lens _upName (\ s a -> s{_upName = a});++instance AWSRequest UpdateProject where+        type Rs UpdateProject = UpdateProjectResponse+        request = postJSON codeBuild+        response+          = receiveJSON+              (\ s h x ->+                 UpdateProjectResponse' <$>+                   (x .?> "project") <*> (pure (fromEnum s)))++instance Hashable UpdateProject++instance NFData UpdateProject++instance ToHeaders UpdateProject where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("CodeBuild_20161006.UpdateProject" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON UpdateProject where+        toJSON UpdateProject'{..}+          = object+              (catMaybes+                 [("artifacts" .=) <$> _upArtifacts,+                  ("environment" .=) <$> _upEnvironment,+                  ("source" .=) <$> _upSource,+                  ("encryptionKey" .=) <$> _upEncryptionKey,+                  ("description" .=) <$> _upDescription,+                  ("serviceRole" .=) <$> _upServiceRole,+                  ("tags" .=) <$> _upTags,+                  ("timeoutInMinutes" .=) <$> _upTimeoutInMinutes,+                  Just ("name" .= _upName)])++instance ToPath UpdateProject where+        toPath = const "/"++instance ToQuery UpdateProject where+        toQuery = const mempty++-- | /See:/ 'updateProjectResponse' smart constructor.+data UpdateProjectResponse = UpdateProjectResponse'+    { _uprsProject        :: !(Maybe Project)+    , _uprsResponseStatus :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateProjectResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uprsProject' - Information about the build project that was changed.+--+-- * 'uprsResponseStatus' - -- | The response status code.+updateProjectResponse+    :: Int -- ^ 'uprsResponseStatus'+    -> UpdateProjectResponse+updateProjectResponse pResponseStatus_ =+    UpdateProjectResponse'+    { _uprsProject = Nothing+    , _uprsResponseStatus = pResponseStatus_+    }++-- | Information about the build project that was changed.+uprsProject :: Lens' UpdateProjectResponse (Maybe Project)+uprsProject = lens _uprsProject (\ s a -> s{_uprsProject = a});++-- | -- | The response status code.+uprsResponseStatus :: Lens' UpdateProjectResponse Int+uprsResponseStatus = lens _uprsResponseStatus (\ s a -> s{_uprsResponseStatus = a});++instance NFData UpdateProjectResponse
+ gen/Network/AWS/CodeBuild/Waiters.hs view
@@ -0,0 +1,21 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE TypeFamilies      #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.CodeBuild.Waiters+-- Copyright   : (c) 2013-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)+--+module Network.AWS.CodeBuild.Waiters where++import           Network.AWS.CodeBuild.Types+import           Network.AWS.Lens+import           Network.AWS.Prelude+import           Network.AWS.Waiter
+ src/.gitkeep view
+ test/Main.hs view
@@ -0,0 +1,21 @@+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Main+-- Copyright   : (c) 2013-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)+--+module Main (main) where++import Test.Tasty+import Test.AWS.CodeBuild+import Test.AWS.CodeBuild.Internal++main :: IO ()+main = defaultMain $ testGroup "CodeBuild"+    [ testGroup "tests"    tests+    , testGroup "fixtures" fixtures+    ]
+ test/Test/AWS/CodeBuild.hs view
@@ -0,0 +1,20 @@+-- |+-- Module      : Test.AWS.CodeBuild+-- Copyright   : (c) 2013-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)+--+module Test.AWS.CodeBuild+    ( tests+    , fixtures+    ) where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/AWS/CodeBuild/Internal.hs view
@@ -0,0 +1,9 @@+-- |+-- Module      : Test.AWS.CodeBuild.Internal+-- Copyright   : (c) 2013-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)+--+module Test.AWS.CodeBuild.Internal where
+ test/Test/AWS/Gen/CodeBuild.hs view
@@ -0,0 +1,237 @@+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-orphans        #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Test.AWS.Gen.CodeBuild+-- Copyright   : (c) 2013-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)+--+module Test.AWS.Gen.CodeBuild where++import Data.Proxy+import Test.AWS.Fixture+import Test.AWS.Prelude+import Test.Tasty+import Network.AWS.CodeBuild+import Test.AWS.CodeBuild.Internal++-- Auto-generated: the actual test selection needs to be manually placed into+-- the top-level so that real test data can be incrementally added.+--+-- This commented snippet is what the entire set should look like:++-- fixtures :: TestTree+-- fixtures =+--     [ testGroup "request"+--         [ requestListProjects $+--             listProjects+--+--         , requestDeleteProject $+--             deleteProject+--+--         , requestUpdateProject $+--             updateProject+--+--         , requestListBuilds $+--             listBuilds+--+--         , requestStartBuild $+--             startBuild+--+--         , requestListBuildsForProject $+--             listBuildsForProject+--+--         , requestBatchGetProjects $+--             batchGetProjects+--+--         , requestBatchGetBuilds $+--             batchGetBuilds+--+--         , requestListCuratedEnvironmentImages $+--             listCuratedEnvironmentImages+--+--         , requestStopBuild $+--             stopBuild+--+--         , requestCreateProject $+--             createProject+--+--           ]++--     , testGroup "response"+--         [ responseListProjects $+--             listProjectsResponse+--+--         , responseDeleteProject $+--             deleteProjectResponse+--+--         , responseUpdateProject $+--             updateProjectResponse+--+--         , responseListBuilds $+--             listBuildsResponse+--+--         , responseStartBuild $+--             startBuildResponse+--+--         , responseListBuildsForProject $+--             listBuildsForProjectResponse+--+--         , responseBatchGetProjects $+--             batchGetProjectsResponse+--+--         , responseBatchGetBuilds $+--             batchGetBuildsResponse+--+--         , responseListCuratedEnvironmentImages $+--             listCuratedEnvironmentImagesResponse+--+--         , responseStopBuild $+--             stopBuildResponse+--+--         , responseCreateProject $+--             createProjectResponse+--+--           ]+--     ]++-- Requests++requestListProjects :: ListProjects -> TestTree+requestListProjects = req+    "ListProjects"+    "fixture/ListProjects.yaml"++requestDeleteProject :: DeleteProject -> TestTree+requestDeleteProject = req+    "DeleteProject"+    "fixture/DeleteProject.yaml"++requestUpdateProject :: UpdateProject -> TestTree+requestUpdateProject = req+    "UpdateProject"+    "fixture/UpdateProject.yaml"++requestListBuilds :: ListBuilds -> TestTree+requestListBuilds = req+    "ListBuilds"+    "fixture/ListBuilds.yaml"++requestStartBuild :: StartBuild -> TestTree+requestStartBuild = req+    "StartBuild"+    "fixture/StartBuild.yaml"++requestListBuildsForProject :: ListBuildsForProject -> TestTree+requestListBuildsForProject = req+    "ListBuildsForProject"+    "fixture/ListBuildsForProject.yaml"++requestBatchGetProjects :: BatchGetProjects -> TestTree+requestBatchGetProjects = req+    "BatchGetProjects"+    "fixture/BatchGetProjects.yaml"++requestBatchGetBuilds :: BatchGetBuilds -> TestTree+requestBatchGetBuilds = req+    "BatchGetBuilds"+    "fixture/BatchGetBuilds.yaml"++requestListCuratedEnvironmentImages :: ListCuratedEnvironmentImages -> TestTree+requestListCuratedEnvironmentImages = req+    "ListCuratedEnvironmentImages"+    "fixture/ListCuratedEnvironmentImages.yaml"++requestStopBuild :: StopBuild -> TestTree+requestStopBuild = req+    "StopBuild"+    "fixture/StopBuild.yaml"++requestCreateProject :: CreateProject -> TestTree+requestCreateProject = req+    "CreateProject"+    "fixture/CreateProject.yaml"++-- Responses++responseListProjects :: ListProjectsResponse -> TestTree+responseListProjects = res+    "ListProjectsResponse"+    "fixture/ListProjectsResponse.proto"+    codeBuild+    (Proxy :: Proxy ListProjects)++responseDeleteProject :: DeleteProjectResponse -> TestTree+responseDeleteProject = res+    "DeleteProjectResponse"+    "fixture/DeleteProjectResponse.proto"+    codeBuild+    (Proxy :: Proxy DeleteProject)++responseUpdateProject :: UpdateProjectResponse -> TestTree+responseUpdateProject = res+    "UpdateProjectResponse"+    "fixture/UpdateProjectResponse.proto"+    codeBuild+    (Proxy :: Proxy UpdateProject)++responseListBuilds :: ListBuildsResponse -> TestTree+responseListBuilds = res+    "ListBuildsResponse"+    "fixture/ListBuildsResponse.proto"+    codeBuild+    (Proxy :: Proxy ListBuilds)++responseStartBuild :: StartBuildResponse -> TestTree+responseStartBuild = res+    "StartBuildResponse"+    "fixture/StartBuildResponse.proto"+    codeBuild+    (Proxy :: Proxy StartBuild)++responseListBuildsForProject :: ListBuildsForProjectResponse -> TestTree+responseListBuildsForProject = res+    "ListBuildsForProjectResponse"+    "fixture/ListBuildsForProjectResponse.proto"+    codeBuild+    (Proxy :: Proxy ListBuildsForProject)++responseBatchGetProjects :: BatchGetProjectsResponse -> TestTree+responseBatchGetProjects = res+    "BatchGetProjectsResponse"+    "fixture/BatchGetProjectsResponse.proto"+    codeBuild+    (Proxy :: Proxy BatchGetProjects)++responseBatchGetBuilds :: BatchGetBuildsResponse -> TestTree+responseBatchGetBuilds = res+    "BatchGetBuildsResponse"+    "fixture/BatchGetBuildsResponse.proto"+    codeBuild+    (Proxy :: Proxy BatchGetBuilds)++responseListCuratedEnvironmentImages :: ListCuratedEnvironmentImagesResponse -> TestTree+responseListCuratedEnvironmentImages = res+    "ListCuratedEnvironmentImagesResponse"+    "fixture/ListCuratedEnvironmentImagesResponse.proto"+    codeBuild+    (Proxy :: Proxy ListCuratedEnvironmentImages)++responseStopBuild :: StopBuildResponse -> TestTree+responseStopBuild = res+    "StopBuildResponse"+    "fixture/StopBuildResponse.proto"+    codeBuild+    (Proxy :: Proxy StopBuild)++responseCreateProject :: CreateProjectResponse -> TestTree+responseCreateProject = res+    "CreateProjectResponse"+    "fixture/CreateProjectResponse.proto"+    codeBuild+    (Proxy :: Proxy CreateProject)