packages feed

amazonka-codepipeline (empty) → 1.0.0

raw patch · 36 files changed

+7965/−0 lines, 36 filesdep +amazonka-codepipelinedep +amazonka-coredep +amazonka-testsetup-changed

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

Files

+ LICENSE view
@@ -0,0 +1,373 @@+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.++Exhibit B - "Incompatible With Secondary Licenses" Notice+---------------------------------------------------------++  This Source Code Form is "Incompatible With Secondary Licenses", as+  defined by the Mozilla Public License, v. 2.0.
+ README.md view
@@ -0,0 +1,132 @@+# Amazon CodePipeline SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version++`1.0.0`+++## Description++AWS CodePipeline __Overview__++This is the AWS CodePipeline API Reference. This guide provides+descriptions of the actions and data types for AWS CodePipeline. Some+functionality for your pipeline is only configurable through the API.+For additional information, see the+<http://docs.aws.amazon.com/pipelines/latest/userguide/welcome.html AWS CodePipeline User Guide>.++You can use the AWS CodePipeline API to work with pipelines, stages,+actions, gates, and transitions, as described below.++/Pipelines/ are models of automated release processes. Each pipeline is+uniquely named, and consists of actions, gates, and stages.++You can work with pipelines by calling:++-   CreatePipeline, which creates a uniquely-named pipeline.+-   DeletePipeline, which deletes the specified pipeline.+-   GetPipeline, which returns information about a pipeline structure.+-   GetPipelineState, which returns information about the current state+    of the stages and actions of a pipeline.+-   ListPipelines, which gets a summary of all of the pipelines+    associated with your account.+-   StartPipelineExecution, which runs the the most recent revision of+    an artifact through the pipeline.+-   UpdatePipeline, which updates a pipeline with edits or changes to+    the structure of the pipeline.++Pipelines include /stages/, which are which are logical groupings of+gates and actions. Each stage contains one or more actions that must+complete before the next stage begins. A stage will result in success or+failure. If a stage fails, then the pipeline stops at that stage and+will remain stopped until either a new version of an artifact appears in+the source location, or a user takes action to re-run the most recent+artifact through the pipeline. You can call GetPipelineState, which+displays the status of a pipeline, including the status of stages in the+pipeline, or GetPipeline, which returns the entire structure of the+pipeline, including the stages of that pipeline.++Pipeline stages include /actions/, which are categorized into categories+such as source or build actions performed within a stage of a pipeline.+For example, you can use a source action to import artifacts into a+pipeline from a source such as Amazon S3. Like stages, you do not work+with actions directly in most cases, but you do define and interact with+actions when working with pipeline operations such as CreatePipeline and+GetPipelineState.++Pipelines also include /transitions/, which allow the transition of+artifacts from one stage to the next in a pipeline after the actions in+one stage complete.++You can work with transitions by calling:++-   DisableStageTransition, which prevents artifacts from transitioning+    to the next stage in a pipeline.+-   EnableStageTransition, which enables transition of artifacts between+    stages in a pipeline.++__Using the API to integrate with AWS CodePipeline__++For third-party integrators or developers who want to create their own+integrations with AWS CodePipeline, the expected sequence varies from+the standard API user. In order to integrate with AWS CodePipeline,+developers will need to work with the following items:++-   Jobs, which are instances of an action. For example, a job for a+    source action might import a revision of an artifact from a source.++    You can work with jobs by calling:++    -   AcknowledgeJob, which confirms whether a job worker has received+        the specified job,+    -   PollForJobs, which determines whether there are any jobs to act+        upon,+    -   PutJobFailureResult, which provides details of a job failure,+        and+    -   PutJobSuccessResult, which provides details of a job success.+-   Third party jobs, which are instances of an action created by a+    partner action and integrated into AWS CodePipeline. Partner actions+    are created by members of the AWS Partner Network.++    You can work with third party jobs by calling:++    -   AcknowledgeThirdPartyJob, which confirms whether a job worker+        has received the specified job,+    -   PollForThirdPartyJobs, which determines whether there are any+        jobs to act upon,+    -   PutThirdPartyJobFailureResult, which provides details of a job+        failure, and+    -   PutThirdPartyJobSuccessResult, which provides details of a job+        success.++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-codepipeline)+and the [AWS API Reference](http://docs.aws.amazon.com/codepipeline/latest/APIReference/Welcome.html).++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 and sending requests.++Use of lenses is required for constructing and manipulating types.+This is due to the amount 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).++## 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-codepipeline` 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-codepipeline.cabal view
@@ -0,0 +1,194 @@+name:                  amazonka-codepipeline+version:               1.0.0+synopsis:              Amazon CodePipeline SDK.+homepage:              https://github.com/brendanhay/amazonka+license:               OtherLicense+license-file:          LICENSE+author:                Brendan Hay+maintainer:            Brendan Hay <brendan.g.hay@gmail.com>+copyright:             Copyright (c) 2013-2015 Brendan Hay+category:              Network, AWS, Cloud, Distributed Computing+build-type:            Simple+extra-source-files:    README.md+cabal-version:         >= 1.10++description:+    AWS CodePipeline __Overview__++    This is the AWS CodePipeline API Reference. This guide provides+    descriptions of the actions and data types for AWS CodePipeline. Some+    functionality for your pipeline is only configurable through the API.+    For additional information, see the+    <http://docs.aws.amazon.com/pipelines/latest/userguide/welcome.html AWS CodePipeline User Guide>.++    You can use the AWS CodePipeline API to work with pipelines, stages,+    actions, gates, and transitions, as described below.++    /Pipelines/ are models of automated release processes. Each pipeline is+    uniquely named, and consists of actions, gates, and stages.++    You can work with pipelines by calling:++    -   CreatePipeline, which creates a uniquely-named pipeline.+    -   DeletePipeline, which deletes the specified pipeline.+    -   GetPipeline, which returns information about a pipeline structure.+    -   GetPipelineState, which returns information about the current state+        of the stages and actions of a pipeline.+    -   ListPipelines, which gets a summary of all of the pipelines+        associated with your account.+    -   StartPipelineExecution, which runs the the most recent revision of+        an artifact through the pipeline.+    -   UpdatePipeline, which updates a pipeline with edits or changes to+        the structure of the pipeline.++    Pipelines include /stages/, which are which are logical groupings of+    gates and actions. Each stage contains one or more actions that must+    complete before the next stage begins. A stage will result in success or+    failure. If a stage fails, then the pipeline stops at that stage and+    will remain stopped until either a new version of an artifact appears in+    the source location, or a user takes action to re-run the most recent+    artifact through the pipeline. You can call GetPipelineState, which+    displays the status of a pipeline, including the status of stages in the+    pipeline, or GetPipeline, which returns the entire structure of the+    pipeline, including the stages of that pipeline.++    Pipeline stages include /actions/, which are categorized into categories+    such as source or build actions performed within a stage of a pipeline.+    For example, you can use a source action to import artifacts into a+    pipeline from a source such as Amazon S3. Like stages, you do not work+    with actions directly in most cases, but you do define and interact with+    actions when working with pipeline operations such as CreatePipeline and+    GetPipelineState.++    Pipelines also include /transitions/, which allow the transition of+    artifacts from one stage to the next in a pipeline after the actions in+    one stage complete.++    You can work with transitions by calling:++    -   DisableStageTransition, which prevents artifacts from transitioning+        to the next stage in a pipeline.+    -   EnableStageTransition, which enables transition of artifacts between+        stages in a pipeline.++    __Using the API to integrate with AWS CodePipeline__++    For third-party integrators or developers who want to create their own+    integrations with AWS CodePipeline, the expected sequence varies from+    the standard API user. In order to integrate with AWS CodePipeline,+    developers will need to work with the following items:++    -   Jobs, which are instances of an action. For example, a job for a+        source action might import a revision of an artifact from a source.++        You can work with jobs by calling:++        -   AcknowledgeJob, which confirms whether a job worker has received+            the specified job,+        -   PollForJobs, which determines whether there are any jobs to act+            upon,+        -   PutJobFailureResult, which provides details of a job failure,+            and+        -   PutJobSuccessResult, which provides details of a job success.+    -   Third party jobs, which are instances of an action created by a+        partner action and integrated into AWS CodePipeline. Partner actions+        are created by members of the AWS Partner Network.++        You can work with third party jobs by calling:++        -   AcknowledgeThirdPartyJob, which confirms whether a job worker+            has received the specified job,+        -   PollForThirdPartyJobs, which determines whether there are any+            jobs to act upon,+        -   PutThirdPartyJobFailureResult, which provides details of a job+            failure, and+        -   PutThirdPartyJobSuccessResult, which provides details of a job+            success.+    .+    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 and sending requests.+    .+    Use of lenses is required for constructing and manipulating types.+    This is due to the amount 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.CodePipeline" and the <http://docs.aws.amazon.com/codepipeline/latest/APIReference/Welcome.html AWS API Reference>+    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.CodePipeline+        , Network.AWS.CodePipeline.AcknowledgeJob+        , Network.AWS.CodePipeline.AcknowledgeThirdPartyJob+        , Network.AWS.CodePipeline.CreateCustomActionType+        , Network.AWS.CodePipeline.CreatePipeline+        , Network.AWS.CodePipeline.DeleteCustomActionType+        , Network.AWS.CodePipeline.DeletePipeline+        , Network.AWS.CodePipeline.DisableStageTransition+        , Network.AWS.CodePipeline.EnableStageTransition+        , Network.AWS.CodePipeline.GetJobDetails+        , Network.AWS.CodePipeline.GetPipeline+        , Network.AWS.CodePipeline.GetPipelineState+        , Network.AWS.CodePipeline.GetThirdPartyJobDetails+        , Network.AWS.CodePipeline.ListActionTypes+        , Network.AWS.CodePipeline.ListPipelines+        , Network.AWS.CodePipeline.PollForJobs+        , Network.AWS.CodePipeline.PollForThirdPartyJobs+        , Network.AWS.CodePipeline.PutActionRevision+        , Network.AWS.CodePipeline.PutJobFailureResult+        , Network.AWS.CodePipeline.PutJobSuccessResult+        , Network.AWS.CodePipeline.PutThirdPartyJobFailureResult+        , Network.AWS.CodePipeline.PutThirdPartyJobSuccessResult+        , Network.AWS.CodePipeline.StartPipelineExecution+        , Network.AWS.CodePipeline.Types+        , Network.AWS.CodePipeline.UpdatePipeline+        , Network.AWS.CodePipeline.Waiters++    other-modules:+          Network.AWS.CodePipeline.Types.Product+        , Network.AWS.CodePipeline.Types.Sum++    build-depends:+          amazonka-core == 1.0.0.*+        , base          >= 4.7     && < 5++test-suite amazonka-codepipeline-test+    type:              exitcode-stdio-1.0+    default-language:  Haskell2010+    hs-source-dirs:    test+    main-is:           Main.hs++    ghc-options:       -Wall -threaded++    -- This is not comprehensive if modules have manually been added.+    -- It exists to ensure cabal 'somewhat' detects test module changes.+    other-modules:+          Test.AWS.CodePipeline+        , Test.AWS.Gen.CodePipeline+        , Test.AWS.CodePipeline.Internal++    build-depends:+          amazonka-core == 1.0.0+        , amazonka-test == 1.0.0+        , amazonka-codepipeline == 1.0.0+        , base+        , bytestring+        , lens+        , tasty+        , tasty-hunit+        , text+        , time+        , unordered-containers
+ gen/Network/AWS/CodePipeline.hs view
@@ -0,0 +1,596 @@+{-# 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.CodePipeline+-- Copyright   : (c) 2013-2015 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 CodePipeline __Overview__+--+-- This is the AWS CodePipeline API Reference. This guide provides+-- descriptions of the actions and data types for AWS CodePipeline. Some+-- functionality for your pipeline is only configurable through the API.+-- For additional information, see the+-- <http://docs.aws.amazon.com/pipelines/latest/userguide/welcome.html AWS CodePipeline User Guide>.+--+-- You can use the AWS CodePipeline API to work with pipelines, stages,+-- actions, gates, and transitions, as described below.+--+-- /Pipelines/ are models of automated release processes. Each pipeline is+-- uniquely named, and consists of actions, gates, and stages.+--+-- You can work with pipelines by calling:+--+-- -   CreatePipeline, which creates a uniquely-named pipeline.+-- -   DeletePipeline, which deletes the specified pipeline.+-- -   GetPipeline, which returns information about a pipeline structure.+-- -   GetPipelineState, which returns information about the current state+--     of the stages and actions of a pipeline.+-- -   ListPipelines, which gets a summary of all of the pipelines+--     associated with your account.+-- -   StartPipelineExecution, which runs the the most recent revision of+--     an artifact through the pipeline.+-- -   UpdatePipeline, which updates a pipeline with edits or changes to+--     the structure of the pipeline.+--+-- Pipelines include /stages/, which are which are logical groupings of+-- gates and actions. Each stage contains one or more actions that must+-- complete before the next stage begins. A stage will result in success or+-- failure. If a stage fails, then the pipeline stops at that stage and+-- will remain stopped until either a new version of an artifact appears in+-- the source location, or a user takes action to re-run the most recent+-- artifact through the pipeline. You can call GetPipelineState, which+-- displays the status of a pipeline, including the status of stages in the+-- pipeline, or GetPipeline, which returns the entire structure of the+-- pipeline, including the stages of that pipeline.+--+-- Pipeline stages include /actions/, which are categorized into categories+-- such as source or build actions performed within a stage of a pipeline.+-- For example, you can use a source action to import artifacts into a+-- pipeline from a source such as Amazon S3. Like stages, you do not work+-- with actions directly in most cases, but you do define and interact with+-- actions when working with pipeline operations such as CreatePipeline and+-- GetPipelineState.+--+-- Pipelines also include /transitions/, which allow the transition of+-- artifacts from one stage to the next in a pipeline after the actions in+-- one stage complete.+--+-- You can work with transitions by calling:+--+-- -   DisableStageTransition, which prevents artifacts from transitioning+--     to the next stage in a pipeline.+-- -   EnableStageTransition, which enables transition of artifacts between+--     stages in a pipeline.+--+-- __Using the API to integrate with AWS CodePipeline__+--+-- For third-party integrators or developers who want to create their own+-- integrations with AWS CodePipeline, the expected sequence varies from+-- the standard API user. In order to integrate with AWS CodePipeline,+-- developers will need to work with the following items:+--+-- -   Jobs, which are instances of an action. For example, a job for a+--     source action might import a revision of an artifact from a source.+--+--     You can work with jobs by calling:+--+--     -   AcknowledgeJob, which confirms whether a job worker has received+--         the specified job,+--     -   PollForJobs, which determines whether there are any jobs to act+--         upon,+--     -   PutJobFailureResult, which provides details of a job failure,+--         and+--     -   PutJobSuccessResult, which provides details of a job success.+-- -   Third party jobs, which are instances of an action created by a+--     partner action and integrated into AWS CodePipeline. Partner actions+--     are created by members of the AWS Partner Network.+--+--     You can work with third party jobs by calling:+--+--     -   AcknowledgeThirdPartyJob, which confirms whether a job worker+--         has received the specified job,+--     -   PollForThirdPartyJobs, which determines whether there are any+--         jobs to act upon,+--     -   PutThirdPartyJobFailureResult, which provides details of a job+--         failure, and+--     -   PutThirdPartyJobSuccessResult, which provides details of a job+--         success.+--+-- /See:/ <http://docs.aws.amazon.com/codepipeline/latest/APIReference/Welcome.html AWS API Reference>+module Network.AWS.CodePipeline+    (+    -- * Service+      CodePipeline++    -- * Errors+    -- $errors++    -- ** ValidationException+    , _ValidationException++    -- ** InvalidClientTokenException+    , _InvalidClientTokenException++    -- ** InvalidNonceException+    , _InvalidNonceException++    -- ** ActionNotFoundException+    , _ActionNotFoundException++    -- ** InvalidBlockerDeclarationException+    , _InvalidBlockerDeclarationException++    -- ** InvalidJobStateException+    , _InvalidJobStateException++    -- ** InvalidJobException+    , _InvalidJobException++    -- ** PipelineVersionNotFoundException+    , _PipelineVersionNotFoundException++    -- ** ActionTypeNotFoundException+    , _ActionTypeNotFoundException++    -- ** InvalidNextTokenException+    , _InvalidNextTokenException++    -- ** InvalidStageDeclarationException+    , _InvalidStageDeclarationException++    -- ** InvalidActionDeclarationException+    , _InvalidActionDeclarationException++    -- ** StageNotFoundException+    , _StageNotFoundException++    -- ** JobNotFoundException+    , _JobNotFoundException++    -- ** InvalidStructureException+    , _InvalidStructureException++    -- ** PipelineNotFoundException+    , _PipelineNotFoundException++    -- ** PipelineNameInUseException+    , _PipelineNameInUseException++    -- ** LimitExceededException+    , _LimitExceededException++    -- * Waiters+    -- $waiters++    -- * Operations+    -- $operations++    -- ** GetPipeline+    , module Network.AWS.CodePipeline.GetPipeline++    -- ** PutJobFailureResult+    , module Network.AWS.CodePipeline.PutJobFailureResult++    -- ** AcknowledgeThirdPartyJob+    , module Network.AWS.CodePipeline.AcknowledgeThirdPartyJob++    -- ** PutThirdPartyJobFailureResult+    , module Network.AWS.CodePipeline.PutThirdPartyJobFailureResult++    -- ** PollForThirdPartyJobs+    , module Network.AWS.CodePipeline.PollForThirdPartyJobs++    -- ** PollForJobs+    , module Network.AWS.CodePipeline.PollForJobs++    -- ** StartPipelineExecution+    , module Network.AWS.CodePipeline.StartPipelineExecution++    -- ** UpdatePipeline+    , module Network.AWS.CodePipeline.UpdatePipeline++    -- ** DeletePipeline+    , module Network.AWS.CodePipeline.DeletePipeline++    -- ** GetPipelineState+    , module Network.AWS.CodePipeline.GetPipelineState++    -- ** GetJobDetails+    , module Network.AWS.CodePipeline.GetJobDetails++    -- ** ListPipelines+    , module Network.AWS.CodePipeline.ListPipelines++    -- ** DeleteCustomActionType+    , module Network.AWS.CodePipeline.DeleteCustomActionType++    -- ** PutActionRevision+    , module Network.AWS.CodePipeline.PutActionRevision++    -- ** PutJobSuccessResult+    , module Network.AWS.CodePipeline.PutJobSuccessResult++    -- ** ListActionTypes+    , module Network.AWS.CodePipeline.ListActionTypes++    -- ** DisableStageTransition+    , module Network.AWS.CodePipeline.DisableStageTransition++    -- ** AcknowledgeJob+    , module Network.AWS.CodePipeline.AcknowledgeJob++    -- ** EnableStageTransition+    , module Network.AWS.CodePipeline.EnableStageTransition++    -- ** GetThirdPartyJobDetails+    , module Network.AWS.CodePipeline.GetThirdPartyJobDetails++    -- ** CreatePipeline+    , module Network.AWS.CodePipeline.CreatePipeline++    -- ** CreateCustomActionType+    , module Network.AWS.CodePipeline.CreateCustomActionType++    -- ** PutThirdPartyJobSuccessResult+    , module Network.AWS.CodePipeline.PutThirdPartyJobSuccessResult++    -- * Types++    -- ** ActionCategory+    , ActionCategory (..)++    -- ** ActionConfigurationPropertyType+    , ActionConfigurationPropertyType (..)++    -- ** ActionExecutionStatus+    , ActionExecutionStatus (..)++    -- ** ActionOwner+    , ActionOwner (..)++    -- ** ArtifactLocationType+    , ArtifactLocationType (..)++    -- ** ArtifactStoreType+    , ArtifactStoreType (..)++    -- ** BlockerType+    , BlockerType (..)++    -- ** FailureType+    , FailureType (..)++    -- ** JobStatus+    , JobStatus (..)++    -- ** StageTransitionType+    , StageTransitionType (..)++    -- ** AWSSessionCredentials+    , AWSSessionCredentials+    , awsSessionCredentials+    , ascAccessKeyId+    , ascSecretAccessKey+    , ascSessionToken++    -- ** ActionConfiguration+    , ActionConfiguration+    , actionConfiguration+    , acConfiguration++    -- ** ActionConfigurationProperty+    , ActionConfigurationProperty+    , actionConfigurationProperty+    , acpQueryable+    , acpType+    , acpDescription+    , acpName+    , acpRequired+    , acpKey+    , acpSecret++    -- ** ActionContext+    , ActionContext+    , actionContext+    , acName++    -- ** ActionDeclaration+    , ActionDeclaration+    , actionDeclaration+    , adOutputArtifacts+    , adRunOrder+    , adConfiguration+    , adInputArtifacts+    , adRoleARN+    , adName+    , adActionTypeId++    -- ** ActionExecution+    , ActionExecution+    , actionExecution+    , aeSummary+    , aeStatus+    , aeLastStatusChange+    , aeExternalExecutionURL+    , aePercentComplete+    , aeErrorDetails+    , aeExternalExecutionId++    -- ** ActionRevision+    , ActionRevision+    , actionRevision+    , arRevisionChangeId+    , arRevisionId+    , arCreated++    -- ** ActionState+    , ActionState+    , actionState+    , asEntityURL+    , asRevisionURL+    , asActionName+    , asCurrentRevision+    , asLatestExecution++    -- ** ActionType+    , ActionType+    , actionType+    , atSettings+    , atActionConfigurationProperties+    , atId+    , atInputArtifactDetails+    , atOutputArtifactDetails++    -- ** ActionTypeId+    , ActionTypeId+    , actionTypeId+    , atiCategory+    , atiOwner+    , atiProvider+    , atiVersion++    -- ** ActionTypeSettings+    , ActionTypeSettings+    , actionTypeSettings+    , atsThirdPartyConfigurationURL+    , atsExecutionURLTemplate+    , atsEntityURLTemplate+    , atsRevisionURLTemplate++    -- ** Artifact+    , Artifact+    , artifact+    , aLocation+    , aName+    , aRevision++    -- ** ArtifactDetails+    , ArtifactDetails+    , artifactDetails+    , adMinimumCount+    , adMaximumCount++    -- ** ArtifactLocation+    , ArtifactLocation+    , artifactLocation+    , alS3Location+    , alType++    -- ** ArtifactStore+    , ArtifactStore+    , artifactStore+    , asType+    , asLocation++    -- ** BlockerDeclaration+    , BlockerDeclaration+    , blockerDeclaration+    , bdName+    , bdType++    -- ** CurrentRevision+    , CurrentRevision+    , currentRevision+    , crRevision+    , crChangeIdentifier++    -- ** ErrorDetails+    , ErrorDetails+    , errorDetails+    , edCode+    , edMessage++    -- ** ExecutionDetails+    , ExecutionDetails+    , executionDetails+    , edSummary+    , edPercentComplete+    , edExternalExecutionId++    -- ** FailureDetails+    , FailureDetails+    , failureDetails+    , fdExternalExecutionId+    , fdMessage+    , fdType++    -- ** InputArtifact+    , InputArtifact+    , inputArtifact+    , iaName++    -- ** Job+    , Job+    , job+    , jData+    , jAccountId+    , jId+    , jNonce++    -- ** JobData+    , JobData+    , jobData+    , jdContinuationToken+    , jdOutputArtifacts+    , jdArtifactCredentials+    , jdPipelineContext+    , jdActionTypeId+    , jdInputArtifacts+    , jdActionConfiguration++    -- ** JobDetails+    , JobDetails+    , jobDetails+    , jdData+    , jdAccountId+    , jdId++    -- ** OutputArtifact+    , OutputArtifact+    , outputArtifact+    , oaName++    -- ** PipelineContext+    , PipelineContext+    , pipelineContext+    , pcStage+    , pcPipelineName+    , pcAction++    -- ** PipelineDeclaration+    , PipelineDeclaration+    , pipelineDeclaration+    , pdVersion+    , pdName+    , pdRoleARN+    , pdArtifactStore+    , pdStages++    -- ** PipelineSummary+    , PipelineSummary+    , pipelineSummary+    , psCreated+    , psName+    , psVersion+    , psUpdated++    -- ** S3ArtifactLocation+    , S3ArtifactLocation+    , s3ArtifactLocation+    , salBucketName+    , salObjectKey++    -- ** StageContext+    , StageContext+    , stageContext+    , scName++    -- ** StageDeclaration+    , StageDeclaration+    , stageDeclaration+    , sdBlockers+    , sdName+    , sdActions++    -- ** StageState+    , StageState+    , stageState+    , ssInboundTransitionState+    , ssActionStates+    , ssStageName++    -- ** ThirdPartyJob+    , ThirdPartyJob+    , thirdPartyJob+    , tpjClientId+    , tpjJobId++    -- ** ThirdPartyJobData+    , ThirdPartyJobData+    , thirdPartyJobData+    , tpjdContinuationToken+    , tpjdOutputArtifacts+    , tpjdArtifactCredentials+    , tpjdPipelineContext+    , tpjdActionTypeId+    , tpjdInputArtifacts+    , tpjdActionConfiguration++    -- ** ThirdPartyJobDetails+    , ThirdPartyJobDetails+    , thirdPartyJobDetails+    , tpjdData+    , tpjdId+    , tpjdNonce++    -- ** TransitionState+    , TransitionState+    , transitionState+    , tsEnabled+    , tsDisabledReason+    , tsLastChangedAt+    , tsLastChangedBy+    ) where++import           Network.AWS.CodePipeline.AcknowledgeJob+import           Network.AWS.CodePipeline.AcknowledgeThirdPartyJob+import           Network.AWS.CodePipeline.CreateCustomActionType+import           Network.AWS.CodePipeline.CreatePipeline+import           Network.AWS.CodePipeline.DeleteCustomActionType+import           Network.AWS.CodePipeline.DeletePipeline+import           Network.AWS.CodePipeline.DisableStageTransition+import           Network.AWS.CodePipeline.EnableStageTransition+import           Network.AWS.CodePipeline.GetJobDetails+import           Network.AWS.CodePipeline.GetPipeline+import           Network.AWS.CodePipeline.GetPipelineState+import           Network.AWS.CodePipeline.GetThirdPartyJobDetails+import           Network.AWS.CodePipeline.ListActionTypes+import           Network.AWS.CodePipeline.ListPipelines+import           Network.AWS.CodePipeline.PollForJobs+import           Network.AWS.CodePipeline.PollForThirdPartyJobs+import           Network.AWS.CodePipeline.PutActionRevision+import           Network.AWS.CodePipeline.PutJobFailureResult+import           Network.AWS.CodePipeline.PutJobSuccessResult+import           Network.AWS.CodePipeline.PutThirdPartyJobFailureResult+import           Network.AWS.CodePipeline.PutThirdPartyJobSuccessResult+import           Network.AWS.CodePipeline.StartPipelineExecution+import           Network.AWS.CodePipeline.Types+import           Network.AWS.CodePipeline.UpdatePipeline+import           Network.AWS.CodePipeline.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 'CodePipeline'.+-}++{- $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/CodePipeline/AcknowledgeJob.hs view
@@ -0,0 +1,134 @@+{-# 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.CodePipeline.AcknowledgeJob+-- Copyright   : (c) 2013-2015 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)+--+-- Returns information about a specified job and whether that job has been+-- received by the job worker. Only used for custom actions.+--+-- /See:/ <http://docs.aws.amazon.com/codepipeline/latest/APIReference/API_AcknowledgeJob.html AWS API Reference> for AcknowledgeJob.+module Network.AWS.CodePipeline.AcknowledgeJob+    (+    -- * Creating a Request+      acknowledgeJob+    , AcknowledgeJob+    -- * Request Lenses+    , ajJobId+    , ajNonce++    -- * Destructuring the Response+    , acknowledgeJobResponse+    , AcknowledgeJobResponse+    -- * Response Lenses+    , ajrsStatus+    ) where++import           Network.AWS.CodePipeline.Types+import           Network.AWS.CodePipeline.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents the input of an acknowledge job action.+--+-- /See:/ 'acknowledgeJob' smart constructor.+data AcknowledgeJob = AcknowledgeJob'+    { _ajJobId :: !Text+    , _ajNonce :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'AcknowledgeJob' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ajJobId'+--+-- * 'ajNonce'+acknowledgeJob+    :: Text -- ^ 'ajJobId'+    -> Text -- ^ 'ajNonce'+    -> AcknowledgeJob+acknowledgeJob pJobId_ pNonce_ =+    AcknowledgeJob'+    { _ajJobId = pJobId_+    , _ajNonce = pNonce_+    }++-- | The unique system-generated ID of the job for which you want to confirm+-- receipt.+ajJobId :: Lens' AcknowledgeJob Text+ajJobId = lens _ajJobId (\ s a -> s{_ajJobId = a});++-- | A system-generated random number that AWS CodePipeline uses to ensure+-- that the job is being worked on by only one job worker. This number must+-- be returned in the response.+ajNonce :: Lens' AcknowledgeJob Text+ajNonce = lens _ajNonce (\ s a -> s{_ajNonce = a});++instance AWSRequest AcknowledgeJob where+        type Sv AcknowledgeJob = CodePipeline+        type Rs AcknowledgeJob = AcknowledgeJobResponse+        request = postJSON+        response+          = receiveEmpty+              (\ s h x ->+                 AcknowledgeJobResponse' <$> (pure (fromEnum s)))++instance ToHeaders AcknowledgeJob where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("CodePipeline_20150709.AcknowledgeJob" ::+                       ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON AcknowledgeJob where+        toJSON AcknowledgeJob'{..}+          = object ["jobId" .= _ajJobId, "nonce" .= _ajNonce]++instance ToPath AcknowledgeJob where+        toPath = const "/"++instance ToQuery AcknowledgeJob where+        toQuery = const mempty++-- | Represents the output of an acknowledge job action.+--+-- /See:/ 'acknowledgeJobResponse' smart constructor.+newtype AcknowledgeJobResponse = AcknowledgeJobResponse'+    { _ajrsStatus :: Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'AcknowledgeJobResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ajrsStatus'+acknowledgeJobResponse+    :: Int -- ^ 'ajrsStatus'+    -> AcknowledgeJobResponse+acknowledgeJobResponse pStatus_ =+    AcknowledgeJobResponse'+    { _ajrsStatus = pStatus_+    }++-- | The response status code.+ajrsStatus :: Lens' AcknowledgeJobResponse Int+ajrsStatus = lens _ajrsStatus (\ s a -> s{_ajrsStatus = a});
+ gen/Network/AWS/CodePipeline/AcknowledgeThirdPartyJob.hs view
@@ -0,0 +1,149 @@+{-# 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.CodePipeline.AcknowledgeThirdPartyJob+-- Copyright   : (c) 2013-2015 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)+--+-- Confirms a job worker has received the specified job. Only used for+-- partner actions.+--+-- /See:/ <http://docs.aws.amazon.com/codepipeline/latest/APIReference/API_AcknowledgeThirdPartyJob.html AWS API Reference> for AcknowledgeThirdPartyJob.+module Network.AWS.CodePipeline.AcknowledgeThirdPartyJob+    (+    -- * Creating a Request+      acknowledgeThirdPartyJob+    , AcknowledgeThirdPartyJob+    -- * Request Lenses+    , atpjJobId+    , atpjNonce+    , atpjClientToken++    -- * Destructuring the Response+    , acknowledgeThirdPartyJobResponse+    , AcknowledgeThirdPartyJobResponse+    -- * Response Lenses+    , atpjrsStatus+    ) where++import           Network.AWS.CodePipeline.Types+import           Network.AWS.CodePipeline.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents the input of an acknowledge third party job action.+--+-- /See:/ 'acknowledgeThirdPartyJob' smart constructor.+data AcknowledgeThirdPartyJob = AcknowledgeThirdPartyJob'+    { _atpjJobId       :: !Text+    , _atpjNonce       :: !Text+    , _atpjClientToken :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'AcknowledgeThirdPartyJob' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'atpjJobId'+--+-- * 'atpjNonce'+--+-- * 'atpjClientToken'+acknowledgeThirdPartyJob+    :: Text -- ^ 'atpjJobId'+    -> Text -- ^ 'atpjNonce'+    -> Text -- ^ 'atpjClientToken'+    -> AcknowledgeThirdPartyJob+acknowledgeThirdPartyJob pJobId_ pNonce_ pClientToken_ =+    AcknowledgeThirdPartyJob'+    { _atpjJobId = pJobId_+    , _atpjNonce = pNonce_+    , _atpjClientToken = pClientToken_+    }++-- | The unique system-generated ID of the job.+atpjJobId :: Lens' AcknowledgeThirdPartyJob Text+atpjJobId = lens _atpjJobId (\ s a -> s{_atpjJobId = a});++-- | A system-generated random number that AWS CodePipeline uses to ensure+-- that the job is being worked on by only one job worker. This number must+-- be returned in the response.+atpjNonce :: Lens' AcknowledgeThirdPartyJob Text+atpjNonce = lens _atpjNonce (\ s a -> s{_atpjNonce = a});++-- | The clientToken portion of the clientId and clientToken pair used to+-- verify that the calling entity is allowed access to the job and its+-- details.+atpjClientToken :: Lens' AcknowledgeThirdPartyJob Text+atpjClientToken = lens _atpjClientToken (\ s a -> s{_atpjClientToken = a});++instance AWSRequest AcknowledgeThirdPartyJob where+        type Sv AcknowledgeThirdPartyJob = CodePipeline+        type Rs AcknowledgeThirdPartyJob =+             AcknowledgeThirdPartyJobResponse+        request = postJSON+        response+          = receiveEmpty+              (\ s h x ->+                 AcknowledgeThirdPartyJobResponse' <$>+                   (pure (fromEnum s)))++instance ToHeaders AcknowledgeThirdPartyJob where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("CodePipeline_20150709.AcknowledgeThirdPartyJob" ::+                       ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON AcknowledgeThirdPartyJob where+        toJSON AcknowledgeThirdPartyJob'{..}+          = object+              ["jobId" .= _atpjJobId, "nonce" .= _atpjNonce,+               "clientToken" .= _atpjClientToken]++instance ToPath AcknowledgeThirdPartyJob where+        toPath = const "/"++instance ToQuery AcknowledgeThirdPartyJob where+        toQuery = const mempty++-- | Represents the output of an acknowledge third party job action.+--+-- /See:/ 'acknowledgeThirdPartyJobResponse' smart constructor.+newtype AcknowledgeThirdPartyJobResponse = AcknowledgeThirdPartyJobResponse'+    { _atpjrsStatus :: Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'AcknowledgeThirdPartyJobResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'atpjrsStatus'+acknowledgeThirdPartyJobResponse+    :: Int -- ^ 'atpjrsStatus'+    -> AcknowledgeThirdPartyJobResponse+acknowledgeThirdPartyJobResponse pStatus_ =+    AcknowledgeThirdPartyJobResponse'+    { _atpjrsStatus = pStatus_+    }++-- | The response status code.+atpjrsStatus :: Lens' AcknowledgeThirdPartyJobResponse Int+atpjrsStatus = lens _atpjrsStatus (\ s a -> s{_atpjrsStatus = a});
+ gen/Network/AWS/CodePipeline/CreateCustomActionType.hs view
@@ -0,0 +1,205 @@+{-# 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.CodePipeline.CreateCustomActionType+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a new custom action that can be used in all pipelines associated+-- with the AWS account. Only used for custom actions.+--+-- /See:/ <http://docs.aws.amazon.com/codepipeline/latest/APIReference/API_CreateCustomActionType.html AWS API Reference> for CreateCustomActionType.+module Network.AWS.CodePipeline.CreateCustomActionType+    (+    -- * Creating a Request+      createCustomActionType+    , CreateCustomActionType+    -- * Request Lenses+    , ccatSettings+    , ccatConfigurationProperties+    , ccatCategory+    , ccatProvider+    , ccatVersion+    , ccatInputArtifactDetails+    , ccatOutputArtifactDetails++    -- * Destructuring the Response+    , createCustomActionTypeResponse+    , CreateCustomActionTypeResponse+    -- * Response Lenses+    , ccatrsStatus+    , ccatrsActionType+    ) where++import           Network.AWS.CodePipeline.Types+import           Network.AWS.CodePipeline.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents the input of a create custom action operation.+--+-- /See:/ 'createCustomActionType' smart constructor.+data CreateCustomActionType = CreateCustomActionType'+    { _ccatSettings                :: !(Maybe ActionTypeSettings)+    , _ccatConfigurationProperties :: !(Maybe [ActionConfigurationProperty])+    , _ccatCategory                :: !ActionCategory+    , _ccatProvider                :: !Text+    , _ccatVersion                 :: !Text+    , _ccatInputArtifactDetails    :: !ArtifactDetails+    , _ccatOutputArtifactDetails   :: !ArtifactDetails+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateCustomActionType' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccatSettings'+--+-- * 'ccatConfigurationProperties'+--+-- * 'ccatCategory'+--+-- * 'ccatProvider'+--+-- * 'ccatVersion'+--+-- * 'ccatInputArtifactDetails'+--+-- * 'ccatOutputArtifactDetails'+createCustomActionType+    :: ActionCategory -- ^ 'ccatCategory'+    -> Text -- ^ 'ccatProvider'+    -> Text -- ^ 'ccatVersion'+    -> ArtifactDetails -- ^ 'ccatInputArtifactDetails'+    -> ArtifactDetails -- ^ 'ccatOutputArtifactDetails'+    -> CreateCustomActionType+createCustomActionType pCategory_ pProvider_ pVersion_ pInputArtifactDetails_ pOutputArtifactDetails_ =+    CreateCustomActionType'+    { _ccatSettings = Nothing+    , _ccatConfigurationProperties = Nothing+    , _ccatCategory = pCategory_+    , _ccatProvider = pProvider_+    , _ccatVersion = pVersion_+    , _ccatInputArtifactDetails = pInputArtifactDetails_+    , _ccatOutputArtifactDetails = pOutputArtifactDetails_+    }++-- | Undocumented member.+ccatSettings :: Lens' CreateCustomActionType (Maybe ActionTypeSettings)+ccatSettings = lens _ccatSettings (\ s a -> s{_ccatSettings = a});++-- | The configuration properties for the custom action.+ccatConfigurationProperties :: Lens' CreateCustomActionType [ActionConfigurationProperty]+ccatConfigurationProperties = lens _ccatConfigurationProperties (\ s a -> s{_ccatConfigurationProperties = a}) . _Default . _Coerce;++-- | The category of the custom action, such as a source action or a build+-- action.+ccatCategory :: Lens' CreateCustomActionType ActionCategory+ccatCategory = lens _ccatCategory (\ s a -> s{_ccatCategory = a});++-- | The provider of the service used in the custom action, such as AWS+-- CodeDeploy.+ccatProvider :: Lens' CreateCustomActionType Text+ccatProvider = lens _ccatProvider (\ s a -> s{_ccatProvider = a});++-- | The version number of the custom action.+--+-- A newly-created custom action is always assigned a version number of+-- '1'. This is required.+ccatVersion :: Lens' CreateCustomActionType Text+ccatVersion = lens _ccatVersion (\ s a -> s{_ccatVersion = a});++-- | Undocumented member.+ccatInputArtifactDetails :: Lens' CreateCustomActionType ArtifactDetails+ccatInputArtifactDetails = lens _ccatInputArtifactDetails (\ s a -> s{_ccatInputArtifactDetails = a});++-- | Undocumented member.+ccatOutputArtifactDetails :: Lens' CreateCustomActionType ArtifactDetails+ccatOutputArtifactDetails = lens _ccatOutputArtifactDetails (\ s a -> s{_ccatOutputArtifactDetails = a});++instance AWSRequest CreateCustomActionType where+        type Sv CreateCustomActionType = CodePipeline+        type Rs CreateCustomActionType =+             CreateCustomActionTypeResponse+        request = postJSON+        response+          = receiveJSON+              (\ s h x ->+                 CreateCustomActionTypeResponse' <$>+                   (pure (fromEnum s)) <*> (x .:> "actionType"))++instance ToHeaders CreateCustomActionType where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("CodePipeline_20150709.CreateCustomActionType" ::+                       ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON CreateCustomActionType where+        toJSON CreateCustomActionType'{..}+          = object+              ["settings" .= _ccatSettings,+               "configurationProperties" .=+                 _ccatConfigurationProperties,+               "category" .= _ccatCategory,+               "provider" .= _ccatProvider,+               "version" .= _ccatVersion,+               "inputArtifactDetails" .= _ccatInputArtifactDetails,+               "outputArtifactDetails" .=+                 _ccatOutputArtifactDetails]++instance ToPath CreateCustomActionType where+        toPath = const "/"++instance ToQuery CreateCustomActionType where+        toQuery = const mempty++-- | Represents the output of a create custom action operation.+--+-- /See:/ 'createCustomActionTypeResponse' smart constructor.+data CreateCustomActionTypeResponse = CreateCustomActionTypeResponse'+    { _ccatrsStatus     :: !Int+    , _ccatrsActionType :: !ActionType+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateCustomActionTypeResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccatrsStatus'+--+-- * 'ccatrsActionType'+createCustomActionTypeResponse+    :: Int -- ^ 'ccatrsStatus'+    -> ActionType -- ^ 'ccatrsActionType'+    -> CreateCustomActionTypeResponse+createCustomActionTypeResponse pStatus_ pActionType_ =+    CreateCustomActionTypeResponse'+    { _ccatrsStatus = pStatus_+    , _ccatrsActionType = pActionType_+    }++-- | The response status code.+ccatrsStatus :: Lens' CreateCustomActionTypeResponse Int+ccatrsStatus = lens _ccatrsStatus (\ s a -> s{_ccatrsStatus = a});++-- | Undocumented member.+ccatrsActionType :: Lens' CreateCustomActionTypeResponse ActionType+ccatrsActionType = lens _ccatrsActionType (\ s a -> s{_ccatrsActionType = a});
+ gen/Network/AWS/CodePipeline/CreatePipeline.hs view
@@ -0,0 +1,130 @@+{-# 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.CodePipeline.CreatePipeline+-- Copyright   : (c) 2013-2015 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 pipeline.+--+-- /See:/ <http://docs.aws.amazon.com/codepipeline/latest/APIReference/API_CreatePipeline.html AWS API Reference> for CreatePipeline.+module Network.AWS.CodePipeline.CreatePipeline+    (+    -- * Creating a Request+      createPipeline+    , CreatePipeline+    -- * Request Lenses+    , cpPipeline++    -- * Destructuring the Response+    , createPipelineResponse+    , CreatePipelineResponse+    -- * Response Lenses+    , cprsPipeline+    , cprsStatus+    ) where++import           Network.AWS.CodePipeline.Types+import           Network.AWS.CodePipeline.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents the input of a create pipeline action.+--+-- /See:/ 'createPipeline' smart constructor.+newtype CreatePipeline = CreatePipeline'+    { _cpPipeline :: PipelineDeclaration+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreatePipeline' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cpPipeline'+createPipeline+    :: PipelineDeclaration -- ^ 'cpPipeline'+    -> CreatePipeline+createPipeline pPipeline_ =+    CreatePipeline'+    { _cpPipeline = pPipeline_+    }++-- | Undocumented member.+cpPipeline :: Lens' CreatePipeline PipelineDeclaration+cpPipeline = lens _cpPipeline (\ s a -> s{_cpPipeline = a});++instance AWSRequest CreatePipeline where+        type Sv CreatePipeline = CodePipeline+        type Rs CreatePipeline = CreatePipelineResponse+        request = postJSON+        response+          = receiveJSON+              (\ s h x ->+                 CreatePipelineResponse' <$>+                   (x .?> "pipeline") <*> (pure (fromEnum s)))++instance ToHeaders CreatePipeline where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("CodePipeline_20150709.CreatePipeline" ::+                       ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON CreatePipeline where+        toJSON CreatePipeline'{..}+          = object ["pipeline" .= _cpPipeline]++instance ToPath CreatePipeline where+        toPath = const "/"++instance ToQuery CreatePipeline where+        toQuery = const mempty++-- | Represents the output of a create pipeline action.+--+-- /See:/ 'createPipelineResponse' smart constructor.+data CreatePipelineResponse = CreatePipelineResponse'+    { _cprsPipeline :: !(Maybe PipelineDeclaration)+    , _cprsStatus   :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreatePipelineResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cprsPipeline'+--+-- * 'cprsStatus'+createPipelineResponse+    :: Int -- ^ 'cprsStatus'+    -> CreatePipelineResponse+createPipelineResponse pStatus_ =+    CreatePipelineResponse'+    { _cprsPipeline = Nothing+    , _cprsStatus = pStatus_+    }++-- | Undocumented member.+cprsPipeline :: Lens' CreatePipelineResponse (Maybe PipelineDeclaration)+cprsPipeline = lens _cprsPipeline (\ s a -> s{_cprsPipeline = a});++-- | The response status code.+cprsStatus :: Lens' CreatePipelineResponse Int+cprsStatus = lens _cprsStatus (\ s a -> s{_cprsStatus = a});
+ gen/Network/AWS/CodePipeline/DeleteCustomActionType.hs view
@@ -0,0 +1,135 @@+{-# 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.CodePipeline.DeleteCustomActionType+-- Copyright   : (c) 2013-2015 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)+--+-- Marks a custom action as deleted. PollForJobs for the custom action will+-- fail after the action is marked for deletion. Only used for custom+-- actions.+--+-- You cannot recreate a custom action after it has been deleted unless you+-- increase the version number of the action.+--+-- /See:/ <http://docs.aws.amazon.com/codepipeline/latest/APIReference/API_DeleteCustomActionType.html AWS API Reference> for DeleteCustomActionType.+module Network.AWS.CodePipeline.DeleteCustomActionType+    (+    -- * Creating a Request+      deleteCustomActionType+    , DeleteCustomActionType+    -- * Request Lenses+    , dcatCategory+    , dcatProvider+    , dcatVersion++    -- * Destructuring the Response+    , deleteCustomActionTypeResponse+    , DeleteCustomActionTypeResponse+    ) where++import           Network.AWS.CodePipeline.Types+import           Network.AWS.CodePipeline.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents the input of a delete custom action operation. The custom+-- action will be marked as deleted.+--+-- /See:/ 'deleteCustomActionType' smart constructor.+data DeleteCustomActionType = DeleteCustomActionType'+    { _dcatCategory :: !ActionCategory+    , _dcatProvider :: !Text+    , _dcatVersion  :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteCustomActionType' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dcatCategory'+--+-- * 'dcatProvider'+--+-- * 'dcatVersion'+deleteCustomActionType+    :: ActionCategory -- ^ 'dcatCategory'+    -> Text -- ^ 'dcatProvider'+    -> Text -- ^ 'dcatVersion'+    -> DeleteCustomActionType+deleteCustomActionType pCategory_ pProvider_ pVersion_ =+    DeleteCustomActionType'+    { _dcatCategory = pCategory_+    , _dcatProvider = pProvider_+    , _dcatVersion = pVersion_+    }++-- | The category of the custom action that you want to delete, such as+-- source or deploy.+dcatCategory :: Lens' DeleteCustomActionType ActionCategory+dcatCategory = lens _dcatCategory (\ s a -> s{_dcatCategory = a});++-- | The provider of the service used in the custom action, such as AWS+-- CodeDeploy.+dcatProvider :: Lens' DeleteCustomActionType Text+dcatProvider = lens _dcatProvider (\ s a -> s{_dcatProvider = a});++-- | The version of the custom action to delete.+dcatVersion :: Lens' DeleteCustomActionType Text+dcatVersion = lens _dcatVersion (\ s a -> s{_dcatVersion = a});++instance AWSRequest DeleteCustomActionType where+        type Sv DeleteCustomActionType = CodePipeline+        type Rs DeleteCustomActionType =+             DeleteCustomActionTypeResponse+        request = postJSON+        response+          = receiveNull DeleteCustomActionTypeResponse'++instance ToHeaders DeleteCustomActionType where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("CodePipeline_20150709.DeleteCustomActionType" ::+                       ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON DeleteCustomActionType where+        toJSON DeleteCustomActionType'{..}+          = object+              ["category" .= _dcatCategory,+               "provider" .= _dcatProvider,+               "version" .= _dcatVersion]++instance ToPath DeleteCustomActionType where+        toPath = const "/"++instance ToQuery DeleteCustomActionType where+        toQuery = const mempty++-- | /See:/ 'deleteCustomActionTypeResponse' smart constructor.+data DeleteCustomActionTypeResponse =+    DeleteCustomActionTypeResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteCustomActionTypeResponse' with the minimum fields required to make a request.+--+deleteCustomActionTypeResponse+    :: DeleteCustomActionTypeResponse+deleteCustomActionTypeResponse = DeleteCustomActionTypeResponse'
+ gen/Network/AWS/CodePipeline/DeletePipeline.hs view
@@ -0,0 +1,102 @@+{-# 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.CodePipeline.DeletePipeline+-- Copyright   : (c) 2013-2015 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 the specified pipeline.+--+-- /See:/ <http://docs.aws.amazon.com/codepipeline/latest/APIReference/API_DeletePipeline.html AWS API Reference> for DeletePipeline.+module Network.AWS.CodePipeline.DeletePipeline+    (+    -- * Creating a Request+      deletePipeline+    , DeletePipeline+    -- * Request Lenses+    , dpName++    -- * Destructuring the Response+    , deletePipelineResponse+    , DeletePipelineResponse+    ) where++import           Network.AWS.CodePipeline.Types+import           Network.AWS.CodePipeline.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents the input of a delete pipeline action.+--+-- /See:/ 'deletePipeline' smart constructor.+newtype DeletePipeline = DeletePipeline'+    { _dpName :: Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeletePipeline' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dpName'+deletePipeline+    :: Text -- ^ 'dpName'+    -> DeletePipeline+deletePipeline pName_ =+    DeletePipeline'+    { _dpName = pName_+    }++-- | The name of the pipeline to be deleted.+dpName :: Lens' DeletePipeline Text+dpName = lens _dpName (\ s a -> s{_dpName = a});++instance AWSRequest DeletePipeline where+        type Sv DeletePipeline = CodePipeline+        type Rs DeletePipeline = DeletePipelineResponse+        request = postJSON+        response = receiveNull DeletePipelineResponse'++instance ToHeaders DeletePipeline where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("CodePipeline_20150709.DeletePipeline" ::+                       ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON DeletePipeline where+        toJSON DeletePipeline'{..}+          = object ["name" .= _dpName]++instance ToPath DeletePipeline where+        toPath = const "/"++instance ToQuery DeletePipeline where+        toQuery = const mempty++-- | /See:/ 'deletePipelineResponse' smart constructor.+data DeletePipelineResponse =+    DeletePipelineResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeletePipelineResponse' with the minimum fields required to make a request.+--+deletePipelineResponse+    :: DeletePipelineResponse+deletePipelineResponse = DeletePipelineResponse'
+ gen/Network/AWS/CodePipeline/DisableStageTransition.hs view
@@ -0,0 +1,146 @@+{-# 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.CodePipeline.DisableStageTransition+-- Copyright   : (c) 2013-2015 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)+--+-- Prevents artifacts in a pipeline from transitioning to the next stage in+-- the pipeline.+--+-- /See:/ <http://docs.aws.amazon.com/codepipeline/latest/APIReference/API_DisableStageTransition.html AWS API Reference> for DisableStageTransition.+module Network.AWS.CodePipeline.DisableStageTransition+    (+    -- * Creating a Request+      disableStageTransition+    , DisableStageTransition+    -- * Request Lenses+    , dstPipelineName+    , dstStageName+    , dstTransitionType+    , dstReason++    -- * Destructuring the Response+    , disableStageTransitionResponse+    , DisableStageTransitionResponse+    ) where++import           Network.AWS.CodePipeline.Types+import           Network.AWS.CodePipeline.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents the input of a disable stage transition input action.+--+-- /See:/ 'disableStageTransition' smart constructor.+data DisableStageTransition = DisableStageTransition'+    { _dstPipelineName   :: !Text+    , _dstStageName      :: !Text+    , _dstTransitionType :: !StageTransitionType+    , _dstReason         :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DisableStageTransition' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dstPipelineName'+--+-- * 'dstStageName'+--+-- * 'dstTransitionType'+--+-- * 'dstReason'+disableStageTransition+    :: Text -- ^ 'dstPipelineName'+    -> Text -- ^ 'dstStageName'+    -> StageTransitionType -- ^ 'dstTransitionType'+    -> Text -- ^ 'dstReason'+    -> DisableStageTransition+disableStageTransition pPipelineName_ pStageName_ pTransitionType_ pReason_ =+    DisableStageTransition'+    { _dstPipelineName = pPipelineName_+    , _dstStageName = pStageName_+    , _dstTransitionType = pTransitionType_+    , _dstReason = pReason_+    }++-- | The name of the pipeline in which you want to disable the flow of+-- artifacts from one stage to another.+dstPipelineName :: Lens' DisableStageTransition Text+dstPipelineName = lens _dstPipelineName (\ s a -> s{_dstPipelineName = a});++-- | The name of the stage where you want to disable the inbound or outbound+-- transition of artifacts.+dstStageName :: Lens' DisableStageTransition Text+dstStageName = lens _dstStageName (\ s a -> s{_dstStageName = a});++-- | Specifies whether artifacts will be prevented from transitioning into+-- the stage and being processed by the actions in that stage (inbound), or+-- prevented from transitioning from the stage after they have been+-- processed by the actions in that stage (outbound).+dstTransitionType :: Lens' DisableStageTransition StageTransitionType+dstTransitionType = lens _dstTransitionType (\ s a -> s{_dstTransitionType = a});++-- | The reason given to the user why a stage is disabled, such as waiting+-- for manual approval or manual tests. This message is displayed in the+-- pipeline console UI.+dstReason :: Lens' DisableStageTransition Text+dstReason = lens _dstReason (\ s a -> s{_dstReason = a});++instance AWSRequest DisableStageTransition where+        type Sv DisableStageTransition = CodePipeline+        type Rs DisableStageTransition =+             DisableStageTransitionResponse+        request = postJSON+        response+          = receiveNull DisableStageTransitionResponse'++instance ToHeaders DisableStageTransition where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("CodePipeline_20150709.DisableStageTransition" ::+                       ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON DisableStageTransition where+        toJSON DisableStageTransition'{..}+          = object+              ["pipelineName" .= _dstPipelineName,+               "stageName" .= _dstStageName,+               "transitionType" .= _dstTransitionType,+               "reason" .= _dstReason]++instance ToPath DisableStageTransition where+        toPath = const "/"++instance ToQuery DisableStageTransition where+        toQuery = const mempty++-- | /See:/ 'disableStageTransitionResponse' smart constructor.+data DisableStageTransitionResponse =+    DisableStageTransitionResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DisableStageTransitionResponse' with the minimum fields required to make a request.+--+disableStageTransitionResponse+    :: DisableStageTransitionResponse+disableStageTransitionResponse = DisableStageTransitionResponse'
+ gen/Network/AWS/CodePipeline/EnableStageTransition.hs view
@@ -0,0 +1,132 @@+{-# 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.CodePipeline.EnableStageTransition+-- Copyright   : (c) 2013-2015 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)+--+-- Enables artifacts in a pipeline to transition to a stage in a pipeline.+--+-- /See:/ <http://docs.aws.amazon.com/codepipeline/latest/APIReference/API_EnableStageTransition.html AWS API Reference> for EnableStageTransition.+module Network.AWS.CodePipeline.EnableStageTransition+    (+    -- * Creating a Request+      enableStageTransition+    , EnableStageTransition+    -- * Request Lenses+    , estPipelineName+    , estStageName+    , estTransitionType++    -- * Destructuring the Response+    , enableStageTransitionResponse+    , EnableStageTransitionResponse+    ) where++import           Network.AWS.CodePipeline.Types+import           Network.AWS.CodePipeline.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents the input of an enable stage transition action.+--+-- /See:/ 'enableStageTransition' smart constructor.+data EnableStageTransition = EnableStageTransition'+    { _estPipelineName   :: !Text+    , _estStageName      :: !Text+    , _estTransitionType :: !StageTransitionType+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnableStageTransition' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'estPipelineName'+--+-- * 'estStageName'+--+-- * 'estTransitionType'+enableStageTransition+    :: Text -- ^ 'estPipelineName'+    -> Text -- ^ 'estStageName'+    -> StageTransitionType -- ^ 'estTransitionType'+    -> EnableStageTransition+enableStageTransition pPipelineName_ pStageName_ pTransitionType_ =+    EnableStageTransition'+    { _estPipelineName = pPipelineName_+    , _estStageName = pStageName_+    , _estTransitionType = pTransitionType_+    }++-- | The name of the pipeline in which you want to enable the flow of+-- artifacts from one stage to another.+estPipelineName :: Lens' EnableStageTransition Text+estPipelineName = lens _estPipelineName (\ s a -> s{_estPipelineName = a});++-- | The name of the stage where you want to enable the transition of+-- artifacts, either into the stage (inbound) or from that stage to the+-- next stage (outbound).+estStageName :: Lens' EnableStageTransition Text+estStageName = lens _estStageName (\ s a -> s{_estStageName = a});++-- | Specifies whether artifacts will be allowed to enter the stage and be+-- processed by the actions in that stage (inbound) or whether+-- already-processed artifacts will be allowed to transition to the next+-- stage (outbound).+estTransitionType :: Lens' EnableStageTransition StageTransitionType+estTransitionType = lens _estTransitionType (\ s a -> s{_estTransitionType = a});++instance AWSRequest EnableStageTransition where+        type Sv EnableStageTransition = CodePipeline+        type Rs EnableStageTransition =+             EnableStageTransitionResponse+        request = postJSON+        response = receiveNull EnableStageTransitionResponse'++instance ToHeaders EnableStageTransition where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("CodePipeline_20150709.EnableStageTransition" ::+                       ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON EnableStageTransition where+        toJSON EnableStageTransition'{..}+          = object+              ["pipelineName" .= _estPipelineName,+               "stageName" .= _estStageName,+               "transitionType" .= _estTransitionType]++instance ToPath EnableStageTransition where+        toPath = const "/"++instance ToQuery EnableStageTransition where+        toQuery = const mempty++-- | /See:/ 'enableStageTransitionResponse' smart constructor.+data EnableStageTransitionResponse =+    EnableStageTransitionResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnableStageTransitionResponse' with the minimum fields required to make a request.+--+enableStageTransitionResponse+    :: EnableStageTransitionResponse+enableStageTransitionResponse = EnableStageTransitionResponse'
+ gen/Network/AWS/CodePipeline/GetJobDetails.hs view
@@ -0,0 +1,139 @@+{-# 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.CodePipeline.GetJobDetails+-- Copyright   : (c) 2013-2015 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)+--+-- Returns information about a job. Only used for custom actions.+--+-- When this API is called, AWS CodePipeline returns temporary credentials+-- for the Amazon S3 bucket used to store artifacts for the pipeline, if+-- the action requires access to that Amazon S3 bucket for input or output+-- artifacts. Additionally, this API returns any secret values defined for+-- the action.+--+-- /See:/ <http://docs.aws.amazon.com/codepipeline/latest/APIReference/API_GetJobDetails.html AWS API Reference> for GetJobDetails.+module Network.AWS.CodePipeline.GetJobDetails+    (+    -- * Creating a Request+      getJobDetails+    , GetJobDetails+    -- * Request Lenses+    , gjdJobId++    -- * Destructuring the Response+    , getJobDetailsResponse+    , GetJobDetailsResponse+    -- * Response Lenses+    , gjdrsJobDetails+    , gjdrsStatus+    ) where++import           Network.AWS.CodePipeline.Types+import           Network.AWS.CodePipeline.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents the input of a get job details action.+--+-- /See:/ 'getJobDetails' smart constructor.+newtype GetJobDetails = GetJobDetails'+    { _gjdJobId :: Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetJobDetails' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gjdJobId'+getJobDetails+    :: Text -- ^ 'gjdJobId'+    -> GetJobDetails+getJobDetails pJobId_ =+    GetJobDetails'+    { _gjdJobId = pJobId_+    }++-- | The unique system-generated ID for the job.+gjdJobId :: Lens' GetJobDetails Text+gjdJobId = lens _gjdJobId (\ s a -> s{_gjdJobId = a});++instance AWSRequest GetJobDetails where+        type Sv GetJobDetails = CodePipeline+        type Rs GetJobDetails = GetJobDetailsResponse+        request = postJSON+        response+          = receiveJSON+              (\ s h x ->+                 GetJobDetailsResponse' <$>+                   (x .?> "jobDetails") <*> (pure (fromEnum s)))++instance ToHeaders GetJobDetails where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("CodePipeline_20150709.GetJobDetails" ::+                       ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetJobDetails where+        toJSON GetJobDetails'{..}+          = object ["jobId" .= _gjdJobId]++instance ToPath GetJobDetails where+        toPath = const "/"++instance ToQuery GetJobDetails where+        toQuery = const mempty++-- | Represents the output of a get job details action.+--+-- /See:/ 'getJobDetailsResponse' smart constructor.+data GetJobDetailsResponse = GetJobDetailsResponse'+    { _gjdrsJobDetails :: !(Maybe JobDetails)+    , _gjdrsStatus     :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetJobDetailsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gjdrsJobDetails'+--+-- * 'gjdrsStatus'+getJobDetailsResponse+    :: Int -- ^ 'gjdrsStatus'+    -> GetJobDetailsResponse+getJobDetailsResponse pStatus_ =+    GetJobDetailsResponse'+    { _gjdrsJobDetails = Nothing+    , _gjdrsStatus = pStatus_+    }++-- | The details of the job.+--+-- If AWSSessionCredentials is used, a long-running job can call+-- GetJobDetails again to obtain new credentials.+gjdrsJobDetails :: Lens' GetJobDetailsResponse (Maybe JobDetails)+gjdrsJobDetails = lens _gjdrsJobDetails (\ s a -> s{_gjdrsJobDetails = a});++-- | The response status code.+gjdrsStatus :: Lens' GetJobDetailsResponse Int+gjdrsStatus = lens _gjdrsStatus (\ s a -> s{_gjdrsStatus = a});
+ gen/Network/AWS/CodePipeline/GetPipeline.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.CodePipeline.GetPipeline+-- Copyright   : (c) 2013-2015 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)+--+-- Returns the metadata, structure, stages, and actions of a pipeline. Can+-- be used to return the entire structure of a pipeline in JSON format,+-- which can then be modified and used to update the pipeline structure+-- with UpdatePipeline.+--+-- /See:/ <http://docs.aws.amazon.com/codepipeline/latest/APIReference/API_GetPipeline.html AWS API Reference> for GetPipeline.+module Network.AWS.CodePipeline.GetPipeline+    (+    -- * Creating a Request+      getPipeline+    , GetPipeline+    -- * Request Lenses+    , gpVersion+    , gpName++    -- * Destructuring the Response+    , getPipelineResponse+    , GetPipelineResponse+    -- * Response Lenses+    , gprsPipeline+    , gprsStatus+    ) where++import           Network.AWS.CodePipeline.Types+import           Network.AWS.CodePipeline.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents the input of a get pipeline action.+--+-- /See:/ 'getPipeline' smart constructor.+data GetPipeline = GetPipeline'+    { _gpVersion :: !(Maybe Nat)+    , _gpName    :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetPipeline' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpVersion'+--+-- * 'gpName'+getPipeline+    :: Text -- ^ 'gpName'+    -> GetPipeline+getPipeline pName_ =+    GetPipeline'+    { _gpVersion = Nothing+    , _gpName = pName_+    }++-- | The version number of the pipeline. If you do not specify a version,+-- defaults to the most current version.+gpVersion :: Lens' GetPipeline (Maybe Natural)+gpVersion = lens _gpVersion (\ s a -> s{_gpVersion = a}) . mapping _Nat;++-- | The name of the pipeline for which you want to get information. Pipeline+-- names must be unique under an Amazon Web Services (AWS) user account.+gpName :: Lens' GetPipeline Text+gpName = lens _gpName (\ s a -> s{_gpName = a});++instance AWSRequest GetPipeline where+        type Sv GetPipeline = CodePipeline+        type Rs GetPipeline = GetPipelineResponse+        request = postJSON+        response+          = receiveJSON+              (\ s h x ->+                 GetPipelineResponse' <$>+                   (x .?> "pipeline") <*> (pure (fromEnum s)))++instance ToHeaders GetPipeline where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("CodePipeline_20150709.GetPipeline" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetPipeline where+        toJSON GetPipeline'{..}+          = object ["version" .= _gpVersion, "name" .= _gpName]++instance ToPath GetPipeline where+        toPath = const "/"++instance ToQuery GetPipeline where+        toQuery = const mempty++-- | Represents the output of a get pipeline action.+--+-- /See:/ 'getPipelineResponse' smart constructor.+data GetPipelineResponse = GetPipelineResponse'+    { _gprsPipeline :: !(Maybe PipelineDeclaration)+    , _gprsStatus   :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetPipelineResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gprsPipeline'+--+-- * 'gprsStatus'+getPipelineResponse+    :: Int -- ^ 'gprsStatus'+    -> GetPipelineResponse+getPipelineResponse pStatus_ =+    GetPipelineResponse'+    { _gprsPipeline = Nothing+    , _gprsStatus = pStatus_+    }++-- | Undocumented member.+gprsPipeline :: Lens' GetPipelineResponse (Maybe PipelineDeclaration)+gprsPipeline = lens _gprsPipeline (\ s a -> s{_gprsPipeline = a});++-- | The response status code.+gprsStatus :: Lens' GetPipelineResponse Int+gprsStatus = lens _gprsStatus (\ s a -> s{_gprsStatus = a});
+ gen/Network/AWS/CodePipeline/GetPipelineState.hs view
@@ -0,0 +1,175 @@+{-# 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.CodePipeline.GetPipelineState+-- Copyright   : (c) 2013-2015 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)+--+-- Returns information about the state of a pipeline, including the stages,+-- actions, and details about the last run of the pipeline.+--+-- /See:/ <http://docs.aws.amazon.com/codepipeline/latest/APIReference/API_GetPipelineState.html AWS API Reference> for GetPipelineState.+module Network.AWS.CodePipeline.GetPipelineState+    (+    -- * Creating a Request+      getPipelineState+    , GetPipelineState+    -- * Request Lenses+    , gpsName++    -- * Destructuring the Response+    , getPipelineStateResponse+    , GetPipelineStateResponse+    -- * Response Lenses+    , gpsrsPipelineName+    , gpsrsPipelineVersion+    , gpsrsCreated+    , gpsrsStageStates+    , gpsrsUpdated+    , gpsrsStatus+    ) where++import           Network.AWS.CodePipeline.Types+import           Network.AWS.CodePipeline.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents the input of a get pipeline state action.+--+-- /See:/ 'getPipelineState' smart constructor.+newtype GetPipelineState = GetPipelineState'+    { _gpsName :: Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetPipelineState' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpsName'+getPipelineState+    :: Text -- ^ 'gpsName'+    -> GetPipelineState+getPipelineState pName_ =+    GetPipelineState'+    { _gpsName = pName_+    }++-- | The name of the pipeline about which you want to get information.+gpsName :: Lens' GetPipelineState Text+gpsName = lens _gpsName (\ s a -> s{_gpsName = a});++instance AWSRequest GetPipelineState where+        type Sv GetPipelineState = CodePipeline+        type Rs GetPipelineState = GetPipelineStateResponse+        request = postJSON+        response+          = receiveJSON+              (\ s h x ->+                 GetPipelineStateResponse' <$>+                   (x .?> "pipelineName") <*> (x .?> "pipelineVersion")+                     <*> (x .?> "created")+                     <*> (x .?> "stageStates" .!@ mempty)+                     <*> (x .?> "updated")+                     <*> (pure (fromEnum s)))++instance ToHeaders GetPipelineState where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("CodePipeline_20150709.GetPipelineState" ::+                       ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetPipelineState where+        toJSON GetPipelineState'{..}+          = object ["name" .= _gpsName]++instance ToPath GetPipelineState where+        toPath = const "/"++instance ToQuery GetPipelineState where+        toQuery = const mempty++-- | Represents the output of a get pipeline state action.+--+-- /See:/ 'getPipelineStateResponse' smart constructor.+data GetPipelineStateResponse = GetPipelineStateResponse'+    { _gpsrsPipelineName    :: !(Maybe Text)+    , _gpsrsPipelineVersion :: !(Maybe Nat)+    , _gpsrsCreated         :: !(Maybe POSIX)+    , _gpsrsStageStates     :: !(Maybe [StageState])+    , _gpsrsUpdated         :: !(Maybe POSIX)+    , _gpsrsStatus          :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetPipelineStateResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpsrsPipelineName'+--+-- * 'gpsrsPipelineVersion'+--+-- * 'gpsrsCreated'+--+-- * 'gpsrsStageStates'+--+-- * 'gpsrsUpdated'+--+-- * 'gpsrsStatus'+getPipelineStateResponse+    :: Int -- ^ 'gpsrsStatus'+    -> GetPipelineStateResponse+getPipelineStateResponse pStatus_ =+    GetPipelineStateResponse'+    { _gpsrsPipelineName = Nothing+    , _gpsrsPipelineVersion = Nothing+    , _gpsrsCreated = Nothing+    , _gpsrsStageStates = Nothing+    , _gpsrsUpdated = Nothing+    , _gpsrsStatus = pStatus_+    }++-- | The name of the pipeline for which you want to get the state.+gpsrsPipelineName :: Lens' GetPipelineStateResponse (Maybe Text)+gpsrsPipelineName = lens _gpsrsPipelineName (\ s a -> s{_gpsrsPipelineName = a});++-- | The version number of the pipeline.+--+-- A newly-created pipeline is always assigned a version number of '1'.+gpsrsPipelineVersion :: Lens' GetPipelineStateResponse (Maybe Natural)+gpsrsPipelineVersion = lens _gpsrsPipelineVersion (\ s a -> s{_gpsrsPipelineVersion = a}) . mapping _Nat;++-- | The date and time the pipeline was created, in timestamp format.+gpsrsCreated :: Lens' GetPipelineStateResponse (Maybe UTCTime)+gpsrsCreated = lens _gpsrsCreated (\ s a -> s{_gpsrsCreated = a}) . mapping _Time;++-- | A list of the pipeline stage output information, including stage name,+-- state, most recent run details, whether the stage is disabled, and other+-- data.+gpsrsStageStates :: Lens' GetPipelineStateResponse [StageState]+gpsrsStageStates = lens _gpsrsStageStates (\ s a -> s{_gpsrsStageStates = a}) . _Default . _Coerce;++-- | The date and time the pipeline was last updated, in timestamp format.+gpsrsUpdated :: Lens' GetPipelineStateResponse (Maybe UTCTime)+gpsrsUpdated = lens _gpsrsUpdated (\ s a -> s{_gpsrsUpdated = a}) . mapping _Time;++-- | The response status code.+gpsrsStatus :: Lens' GetPipelineStateResponse Int+gpsrsStatus = lens _gpsrsStatus (\ s a -> s{_gpsrsStatus = a});
+ gen/Network/AWS/CodePipeline/GetThirdPartyJobDetails.hs view
@@ -0,0 +1,153 @@+{-# 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.CodePipeline.GetThirdPartyJobDetails+-- Copyright   : (c) 2013-2015 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)+--+-- Requests the details of a job for a third party action. Only used for+-- partner actions.+--+-- When this API is called, AWS CodePipeline returns temporary credentials+-- for the Amazon S3 bucket used to store artifacts for the pipeline, if+-- the action requires access to that Amazon S3 bucket for input or output+-- artifacts. Additionally, this API returns any secret values defined for+-- the action.+--+-- /See:/ <http://docs.aws.amazon.com/codepipeline/latest/APIReference/API_GetThirdPartyJobDetails.html AWS API Reference> for GetThirdPartyJobDetails.+module Network.AWS.CodePipeline.GetThirdPartyJobDetails+    (+    -- * Creating a Request+      getThirdPartyJobDetails+    , GetThirdPartyJobDetails+    -- * Request Lenses+    , gtpjdJobId+    , gtpjdClientToken++    -- * Destructuring the Response+    , getThirdPartyJobDetailsResponse+    , GetThirdPartyJobDetailsResponse+    -- * Response Lenses+    , gtpjdrsJobDetails+    , gtpjdrsStatus+    ) where++import           Network.AWS.CodePipeline.Types+import           Network.AWS.CodePipeline.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents the input of a get third party job details action.+--+-- /See:/ 'getThirdPartyJobDetails' smart constructor.+data GetThirdPartyJobDetails = GetThirdPartyJobDetails'+    { _gtpjdJobId       :: !Text+    , _gtpjdClientToken :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetThirdPartyJobDetails' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gtpjdJobId'+--+-- * 'gtpjdClientToken'+getThirdPartyJobDetails+    :: Text -- ^ 'gtpjdJobId'+    -> Text -- ^ 'gtpjdClientToken'+    -> GetThirdPartyJobDetails+getThirdPartyJobDetails pJobId_ pClientToken_ =+    GetThirdPartyJobDetails'+    { _gtpjdJobId = pJobId_+    , _gtpjdClientToken = pClientToken_+    }++-- | The unique system-generated ID used for identifying the job.+gtpjdJobId :: Lens' GetThirdPartyJobDetails Text+gtpjdJobId = lens _gtpjdJobId (\ s a -> s{_gtpjdJobId = a});++-- | The clientToken portion of the clientId and clientToken pair used to+-- verify that the calling entity is allowed access to the job and its+-- details.+gtpjdClientToken :: Lens' GetThirdPartyJobDetails Text+gtpjdClientToken = lens _gtpjdClientToken (\ s a -> s{_gtpjdClientToken = a});++instance AWSRequest GetThirdPartyJobDetails where+        type Sv GetThirdPartyJobDetails = CodePipeline+        type Rs GetThirdPartyJobDetails =+             GetThirdPartyJobDetailsResponse+        request = postJSON+        response+          = receiveJSON+              (\ s h x ->+                 GetThirdPartyJobDetailsResponse' <$>+                   (x .?> "jobDetails") <*> (pure (fromEnum s)))++instance ToHeaders GetThirdPartyJobDetails where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("CodePipeline_20150709.GetThirdPartyJobDetails" ::+                       ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetThirdPartyJobDetails where+        toJSON GetThirdPartyJobDetails'{..}+          = object+              ["jobId" .= _gtpjdJobId,+               "clientToken" .= _gtpjdClientToken]++instance ToPath GetThirdPartyJobDetails where+        toPath = const "/"++instance ToQuery GetThirdPartyJobDetails where+        toQuery = const mempty++-- | Represents the output of a get third party job details action.+--+-- /See:/ 'getThirdPartyJobDetailsResponse' smart constructor.+data GetThirdPartyJobDetailsResponse = GetThirdPartyJobDetailsResponse'+    { _gtpjdrsJobDetails :: !(Maybe ThirdPartyJobDetails)+    , _gtpjdrsStatus     :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetThirdPartyJobDetailsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gtpjdrsJobDetails'+--+-- * 'gtpjdrsStatus'+getThirdPartyJobDetailsResponse+    :: Int -- ^ 'gtpjdrsStatus'+    -> GetThirdPartyJobDetailsResponse+getThirdPartyJobDetailsResponse pStatus_ =+    GetThirdPartyJobDetailsResponse'+    { _gtpjdrsJobDetails = Nothing+    , _gtpjdrsStatus = pStatus_+    }++-- | The details of the job, including any protected values defined for the+-- job.+gtpjdrsJobDetails :: Lens' GetThirdPartyJobDetailsResponse (Maybe ThirdPartyJobDetails)+gtpjdrsJobDetails = lens _gtpjdrsJobDetails (\ s a -> s{_gtpjdrsJobDetails = a});++-- | The response status code.+gtpjdrsStatus :: Lens' GetThirdPartyJobDetailsResponse Int+gtpjdrsStatus = lens _gtpjdrsStatus (\ s a -> s{_gtpjdrsStatus = a});
+ gen/Network/AWS/CodePipeline/ListActionTypes.hs view
@@ -0,0 +1,155 @@+{-# 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.CodePipeline.ListActionTypes+-- Copyright   : (c) 2013-2015 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 summary of all AWS CodePipeline action types associated with your+-- account.+--+-- /See:/ <http://docs.aws.amazon.com/codepipeline/latest/APIReference/API_ListActionTypes.html AWS API Reference> for ListActionTypes.+module Network.AWS.CodePipeline.ListActionTypes+    (+    -- * Creating a Request+      listActionTypes+    , ListActionTypes+    -- * Request Lenses+    , latActionOwnerFilter+    , latNextToken++    -- * Destructuring the Response+    , listActionTypesResponse+    , ListActionTypesResponse+    -- * Response Lenses+    , latrsNextToken+    , latrsStatus+    , latrsActionTypes+    ) where++import           Network.AWS.CodePipeline.Types+import           Network.AWS.CodePipeline.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents the input of a list action types action.+--+-- /See:/ 'listActionTypes' smart constructor.+data ListActionTypes = ListActionTypes'+    { _latActionOwnerFilter :: !(Maybe ActionOwner)+    , _latNextToken         :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListActionTypes' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'latActionOwnerFilter'+--+-- * 'latNextToken'+listActionTypes+    :: ListActionTypes+listActionTypes =+    ListActionTypes'+    { _latActionOwnerFilter = Nothing+    , _latNextToken = Nothing+    }++-- | Filters the list of action types to those created by a specified entity.+latActionOwnerFilter :: Lens' ListActionTypes (Maybe ActionOwner)+latActionOwnerFilter = lens _latActionOwnerFilter (\ s a -> s{_latActionOwnerFilter = a});++-- | An identifier that was returned from the previous list action types+-- call, which can be used to return the next set of action types in the+-- list.+latNextToken :: Lens' ListActionTypes (Maybe Text)+latNextToken = lens _latNextToken (\ s a -> s{_latNextToken = a});++instance AWSRequest ListActionTypes where+        type Sv ListActionTypes = CodePipeline+        type Rs ListActionTypes = ListActionTypesResponse+        request = postJSON+        response+          = receiveJSON+              (\ s h x ->+                 ListActionTypesResponse' <$>+                   (x .?> "nextToken") <*> (pure (fromEnum s)) <*>+                     (x .?> "actionTypes" .!@ mempty))++instance ToHeaders ListActionTypes where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("CodePipeline_20150709.ListActionTypes" ::+                       ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON ListActionTypes where+        toJSON ListActionTypes'{..}+          = object+              ["actionOwnerFilter" .= _latActionOwnerFilter,+               "nextToken" .= _latNextToken]++instance ToPath ListActionTypes where+        toPath = const "/"++instance ToQuery ListActionTypes where+        toQuery = const mempty++-- | Represents the output of a list action types action.+--+-- /See:/ 'listActionTypesResponse' smart constructor.+data ListActionTypesResponse = ListActionTypesResponse'+    { _latrsNextToken   :: !(Maybe Text)+    , _latrsStatus      :: !Int+    , _latrsActionTypes :: ![ActionType]+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListActionTypesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'latrsNextToken'+--+-- * 'latrsStatus'+--+-- * 'latrsActionTypes'+listActionTypesResponse+    :: Int -- ^ 'latrsStatus'+    -> ListActionTypesResponse+listActionTypesResponse pStatus_ =+    ListActionTypesResponse'+    { _latrsNextToken = Nothing+    , _latrsStatus = pStatus_+    , _latrsActionTypes = mempty+    }++-- | If the amount of returned information is significantly large, an+-- identifier is also returned which can be used in a subsequent list+-- action types call to return the next set of action types in the list.+latrsNextToken :: Lens' ListActionTypesResponse (Maybe Text)+latrsNextToken = lens _latrsNextToken (\ s a -> s{_latrsNextToken = a});++-- | The response status code.+latrsStatus :: Lens' ListActionTypesResponse Int+latrsStatus = lens _latrsStatus (\ s a -> s{_latrsStatus = a});++-- | Provides details of the action types.+latrsActionTypes :: Lens' ListActionTypesResponse [ActionType]+latrsActionTypes = lens _latrsActionTypes (\ s a -> s{_latrsActionTypes = a}) . _Coerce;
+ gen/Network/AWS/CodePipeline/ListPipelines.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.CodePipeline.ListPipelines+-- Copyright   : (c) 2013-2015 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 summary of all of the pipelines associated with your account.+--+-- /See:/ <http://docs.aws.amazon.com/codepipeline/latest/APIReference/API_ListPipelines.html AWS API Reference> for ListPipelines.+module Network.AWS.CodePipeline.ListPipelines+    (+    -- * Creating a Request+      listPipelines+    , ListPipelines+    -- * Request Lenses+    , lpNextToken++    -- * Destructuring the Response+    , listPipelinesResponse+    , ListPipelinesResponse+    -- * Response Lenses+    , lprsPipelines+    , lprsNextToken+    , lprsStatus+    ) where++import           Network.AWS.CodePipeline.Types+import           Network.AWS.CodePipeline.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents the input of a list pipelines action.+--+-- /See:/ 'listPipelines' smart constructor.+newtype ListPipelines = ListPipelines'+    { _lpNextToken :: Maybe Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListPipelines' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lpNextToken'+listPipelines+    :: ListPipelines+listPipelines =+    ListPipelines'+    { _lpNextToken = Nothing+    }++-- | An identifier that was returned from the previous list pipelines call,+-- which can be used to return the next set of pipelines in the list.+lpNextToken :: Lens' ListPipelines (Maybe Text)+lpNextToken = lens _lpNextToken (\ s a -> s{_lpNextToken = a});++instance AWSRequest ListPipelines where+        type Sv ListPipelines = CodePipeline+        type Rs ListPipelines = ListPipelinesResponse+        request = postJSON+        response+          = receiveJSON+              (\ s h x ->+                 ListPipelinesResponse' <$>+                   (x .?> "pipelines" .!@ mempty) <*>+                     (x .?> "nextToken")+                     <*> (pure (fromEnum s)))++instance ToHeaders ListPipelines where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("CodePipeline_20150709.ListPipelines" ::+                       ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON ListPipelines where+        toJSON ListPipelines'{..}+          = object ["nextToken" .= _lpNextToken]++instance ToPath ListPipelines where+        toPath = const "/"++instance ToQuery ListPipelines where+        toQuery = const mempty++-- | Represents the output of a list pipelines action.+--+-- /See:/ 'listPipelinesResponse' smart constructor.+data ListPipelinesResponse = ListPipelinesResponse'+    { _lprsPipelines :: !(Maybe [PipelineSummary])+    , _lprsNextToken :: !(Maybe Text)+    , _lprsStatus    :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListPipelinesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lprsPipelines'+--+-- * 'lprsNextToken'+--+-- * 'lprsStatus'+listPipelinesResponse+    :: Int -- ^ 'lprsStatus'+    -> ListPipelinesResponse+listPipelinesResponse pStatus_ =+    ListPipelinesResponse'+    { _lprsPipelines = Nothing+    , _lprsNextToken = Nothing+    , _lprsStatus = pStatus_+    }++-- | The list of pipelines.+lprsPipelines :: Lens' ListPipelinesResponse [PipelineSummary]+lprsPipelines = lens _lprsPipelines (\ s a -> s{_lprsPipelines = a}) . _Default . _Coerce;++-- | If the amount of returned information is significantly large, an+-- identifier is also returned which can be used in a subsequent list+-- pipelines call to return the next set of pipelines in the list.+lprsNextToken :: Lens' ListPipelinesResponse (Maybe Text)+lprsNextToken = lens _lprsNextToken (\ s a -> s{_lprsNextToken = a});++-- | The response status code.+lprsStatus :: Lens' ListPipelinesResponse Int+lprsStatus = lens _lprsStatus (\ s a -> s{_lprsStatus = a});
+ gen/Network/AWS/CodePipeline/PollForJobs.hs view
@@ -0,0 +1,160 @@+{-# 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.CodePipeline.PollForJobs+-- Copyright   : (c) 2013-2015 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)+--+-- Returns information about any jobs for AWS CodePipeline to act upon.+--+-- When this API is called, AWS CodePipeline returns temporary credentials+-- for the Amazon S3 bucket used to store artifacts for the pipeline, if+-- the action requires access to that Amazon S3 bucket for input or output+-- artifacts. Additionally, this API returns any secret values defined for+-- the action.+--+-- /See:/ <http://docs.aws.amazon.com/codepipeline/latest/APIReference/API_PollForJobs.html AWS API Reference> for PollForJobs.+module Network.AWS.CodePipeline.PollForJobs+    (+    -- * Creating a Request+      pollForJobs+    , PollForJobs+    -- * Request Lenses+    , pfjMaxBatchSize+    , pfjQueryParam+    , pfjActionTypeId++    -- * Destructuring the Response+    , pollForJobsResponse+    , PollForJobsResponse+    -- * Response Lenses+    , pfjrsJobs+    , pfjrsStatus+    ) where++import           Network.AWS.CodePipeline.Types+import           Network.AWS.CodePipeline.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents the input of a poll for jobs action.+--+-- /See:/ 'pollForJobs' smart constructor.+data PollForJobs = PollForJobs'+    { _pfjMaxBatchSize :: !(Maybe Nat)+    , _pfjQueryParam   :: !(Maybe (Map Text Text))+    , _pfjActionTypeId :: !ActionTypeId+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'PollForJobs' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pfjMaxBatchSize'+--+-- * 'pfjQueryParam'+--+-- * 'pfjActionTypeId'+pollForJobs+    :: ActionTypeId -- ^ 'pfjActionTypeId'+    -> PollForJobs+pollForJobs pActionTypeId_ =+    PollForJobs'+    { _pfjMaxBatchSize = Nothing+    , _pfjQueryParam = Nothing+    , _pfjActionTypeId = pActionTypeId_+    }++-- | The maximum number of jobs to return in a poll for jobs call.+pfjMaxBatchSize :: Lens' PollForJobs (Maybe Natural)+pfjMaxBatchSize = lens _pfjMaxBatchSize (\ s a -> s{_pfjMaxBatchSize = a}) . mapping _Nat;++-- | A map of property names and values. For an action type with no queryable+-- properties, this value must be null or an empty map. For an action type+-- with a queryable property, you must supply that property as a key in the+-- map. Only jobs whose action configuration matches the mapped value will+-- be returned.+pfjQueryParam :: Lens' PollForJobs (HashMap Text Text)+pfjQueryParam = lens _pfjQueryParam (\ s a -> s{_pfjQueryParam = a}) . _Default . _Map;++-- | Undocumented member.+pfjActionTypeId :: Lens' PollForJobs ActionTypeId+pfjActionTypeId = lens _pfjActionTypeId (\ s a -> s{_pfjActionTypeId = a});++instance AWSRequest PollForJobs where+        type Sv PollForJobs = CodePipeline+        type Rs PollForJobs = PollForJobsResponse+        request = postJSON+        response+          = receiveJSON+              (\ s h x ->+                 PollForJobsResponse' <$>+                   (x .?> "jobs" .!@ mempty) <*> (pure (fromEnum s)))++instance ToHeaders PollForJobs where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("CodePipeline_20150709.PollForJobs" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON PollForJobs where+        toJSON PollForJobs'{..}+          = object+              ["maxBatchSize" .= _pfjMaxBatchSize,+               "queryParam" .= _pfjQueryParam,+               "actionTypeId" .= _pfjActionTypeId]++instance ToPath PollForJobs where+        toPath = const "/"++instance ToQuery PollForJobs where+        toQuery = const mempty++-- | Represents the output of a poll for jobs action.+--+-- /See:/ 'pollForJobsResponse' smart constructor.+data PollForJobsResponse = PollForJobsResponse'+    { _pfjrsJobs   :: !(Maybe [Job])+    , _pfjrsStatus :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'PollForJobsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pfjrsJobs'+--+-- * 'pfjrsStatus'+pollForJobsResponse+    :: Int -- ^ 'pfjrsStatus'+    -> PollForJobsResponse+pollForJobsResponse pStatus_ =+    PollForJobsResponse'+    { _pfjrsJobs = Nothing+    , _pfjrsStatus = pStatus_+    }++-- | Information about the jobs to take action on.+pfjrsJobs :: Lens' PollForJobsResponse [Job]+pfjrsJobs = lens _pfjrsJobs (\ s a -> s{_pfjrsJobs = a}) . _Default . _Coerce;++-- | The response status code.+pfjrsStatus :: Lens' PollForJobsResponse Int+pfjrsStatus = lens _pfjrsStatus (\ s a -> s{_pfjrsStatus = a});
+ gen/Network/AWS/CodePipeline/PollForThirdPartyJobs.hs view
@@ -0,0 +1,148 @@+{-# 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.CodePipeline.PollForThirdPartyJobs+-- Copyright   : (c) 2013-2015 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)+--+-- Determines whether there are any third party jobs for a job worker to+-- act on. Only used for partner actions.+--+-- When this API is called, AWS CodePipeline returns temporary credentials+-- for the Amazon S3 bucket used to store artifacts for the pipeline, if+-- the action requires access to that Amazon S3 bucket for input or output+-- artifacts.+--+-- /See:/ <http://docs.aws.amazon.com/codepipeline/latest/APIReference/API_PollForThirdPartyJobs.html AWS API Reference> for PollForThirdPartyJobs.+module Network.AWS.CodePipeline.PollForThirdPartyJobs+    (+    -- * Creating a Request+      pollForThirdPartyJobs+    , PollForThirdPartyJobs+    -- * Request Lenses+    , pftpjMaxBatchSize+    , pftpjActionTypeId++    -- * Destructuring the Response+    , pollForThirdPartyJobsResponse+    , PollForThirdPartyJobsResponse+    -- * Response Lenses+    , pftpjrsJobs+    , pftpjrsStatus+    ) where++import           Network.AWS.CodePipeline.Types+import           Network.AWS.CodePipeline.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents the input of a poll for third party jobs action.+--+-- /See:/ 'pollForThirdPartyJobs' smart constructor.+data PollForThirdPartyJobs = PollForThirdPartyJobs'+    { _pftpjMaxBatchSize :: !(Maybe Nat)+    , _pftpjActionTypeId :: !ActionTypeId+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'PollForThirdPartyJobs' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pftpjMaxBatchSize'+--+-- * 'pftpjActionTypeId'+pollForThirdPartyJobs+    :: ActionTypeId -- ^ 'pftpjActionTypeId'+    -> PollForThirdPartyJobs+pollForThirdPartyJobs pActionTypeId_ =+    PollForThirdPartyJobs'+    { _pftpjMaxBatchSize = Nothing+    , _pftpjActionTypeId = pActionTypeId_+    }++-- | The maximum number of jobs to return in a poll for jobs call.+pftpjMaxBatchSize :: Lens' PollForThirdPartyJobs (Maybe Natural)+pftpjMaxBatchSize = lens _pftpjMaxBatchSize (\ s a -> s{_pftpjMaxBatchSize = a}) . mapping _Nat;++-- | Undocumented member.+pftpjActionTypeId :: Lens' PollForThirdPartyJobs ActionTypeId+pftpjActionTypeId = lens _pftpjActionTypeId (\ s a -> s{_pftpjActionTypeId = a});++instance AWSRequest PollForThirdPartyJobs where+        type Sv PollForThirdPartyJobs = CodePipeline+        type Rs PollForThirdPartyJobs =+             PollForThirdPartyJobsResponse+        request = postJSON+        response+          = receiveJSON+              (\ s h x ->+                 PollForThirdPartyJobsResponse' <$>+                   (x .?> "jobs" .!@ mempty) <*> (pure (fromEnum s)))++instance ToHeaders PollForThirdPartyJobs where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("CodePipeline_20150709.PollForThirdPartyJobs" ::+                       ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON PollForThirdPartyJobs where+        toJSON PollForThirdPartyJobs'{..}+          = object+              ["maxBatchSize" .= _pftpjMaxBatchSize,+               "actionTypeId" .= _pftpjActionTypeId]++instance ToPath PollForThirdPartyJobs where+        toPath = const "/"++instance ToQuery PollForThirdPartyJobs where+        toQuery = const mempty++-- | Represents the output of a poll for third party jobs action.+--+-- /See:/ 'pollForThirdPartyJobsResponse' smart constructor.+data PollForThirdPartyJobsResponse = PollForThirdPartyJobsResponse'+    { _pftpjrsJobs   :: !(Maybe [ThirdPartyJob])+    , _pftpjrsStatus :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'PollForThirdPartyJobsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pftpjrsJobs'+--+-- * 'pftpjrsStatus'+pollForThirdPartyJobsResponse+    :: Int -- ^ 'pftpjrsStatus'+    -> PollForThirdPartyJobsResponse+pollForThirdPartyJobsResponse pStatus_ =+    PollForThirdPartyJobsResponse'+    { _pftpjrsJobs = Nothing+    , _pftpjrsStatus = pStatus_+    }++-- | Information about the jobs to take action on.+pftpjrsJobs :: Lens' PollForThirdPartyJobsResponse [ThirdPartyJob]+pftpjrsJobs = lens _pftpjrsJobs (\ s a -> s{_pftpjrsJobs = a}) . _Default . _Coerce;++-- | The response status code.+pftpjrsStatus :: Lens' PollForThirdPartyJobsResponse Int+pftpjrsStatus = lens _pftpjrsStatus (\ s a -> s{_pftpjrsStatus = a});
+ gen/Network/AWS/CodePipeline/PutActionRevision.hs view
@@ -0,0 +1,179 @@+{-# 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.CodePipeline.PutActionRevision+-- Copyright   : (c) 2013-2015 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)+--+-- Provides information to AWS CodePipeline about new revisions to a+-- source.+--+-- /See:/ <http://docs.aws.amazon.com/codepipeline/latest/APIReference/API_PutActionRevision.html AWS API Reference> for PutActionRevision.+module Network.AWS.CodePipeline.PutActionRevision+    (+    -- * Creating a Request+      putActionRevision+    , PutActionRevision+    -- * Request Lenses+    , parPipelineName+    , parStageName+    , parActionName+    , parActionRevision++    -- * Destructuring the Response+    , putActionRevisionResponse+    , PutActionRevisionResponse+    -- * Response Lenses+    , parrsNewRevision+    , parrsPipelineExecutionId+    , parrsStatus+    ) where++import           Network.AWS.CodePipeline.Types+import           Network.AWS.CodePipeline.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents the input of a put action revision action.+--+-- /See:/ 'putActionRevision' smart constructor.+data PutActionRevision = PutActionRevision'+    { _parPipelineName   :: !Text+    , _parStageName      :: !Text+    , _parActionName     :: !Text+    , _parActionRevision :: !ActionRevision+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'PutActionRevision' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'parPipelineName'+--+-- * 'parStageName'+--+-- * 'parActionName'+--+-- * 'parActionRevision'+putActionRevision+    :: Text -- ^ 'parPipelineName'+    -> Text -- ^ 'parStageName'+    -> Text -- ^ 'parActionName'+    -> ActionRevision -- ^ 'parActionRevision'+    -> PutActionRevision+putActionRevision pPipelineName_ pStageName_ pActionName_ pActionRevision_ =+    PutActionRevision'+    { _parPipelineName = pPipelineName_+    , _parStageName = pStageName_+    , _parActionName = pActionName_+    , _parActionRevision = pActionRevision_+    }++-- | The name of the pipeline that will start processing the revision to the+-- source.+parPipelineName :: Lens' PutActionRevision Text+parPipelineName = lens _parPipelineName (\ s a -> s{_parPipelineName = a});++-- | The name of the stage that contains the action that will act upon the+-- revision.+parStageName :: Lens' PutActionRevision Text+parStageName = lens _parStageName (\ s a -> s{_parStageName = a});++-- | The name of the action that will process the revision.+parActionName :: Lens' PutActionRevision Text+parActionName = lens _parActionName (\ s a -> s{_parActionName = a});++-- | Undocumented member.+parActionRevision :: Lens' PutActionRevision ActionRevision+parActionRevision = lens _parActionRevision (\ s a -> s{_parActionRevision = a});++instance AWSRequest PutActionRevision where+        type Sv PutActionRevision = CodePipeline+        type Rs PutActionRevision = PutActionRevisionResponse+        request = postJSON+        response+          = receiveJSON+              (\ s h x ->+                 PutActionRevisionResponse' <$>+                   (x .?> "newRevision") <*>+                     (x .?> "pipelineExecutionId")+                     <*> (pure (fromEnum s)))++instance ToHeaders PutActionRevision where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("CodePipeline_20150709.PutActionRevision" ::+                       ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON PutActionRevision where+        toJSON PutActionRevision'{..}+          = object+              ["pipelineName" .= _parPipelineName,+               "stageName" .= _parStageName,+               "actionName" .= _parActionName,+               "actionRevision" .= _parActionRevision]++instance ToPath PutActionRevision where+        toPath = const "/"++instance ToQuery PutActionRevision where+        toQuery = const mempty++-- | Represents the output of a put action revision action.+--+-- /See:/ 'putActionRevisionResponse' smart constructor.+data PutActionRevisionResponse = PutActionRevisionResponse'+    { _parrsNewRevision         :: !(Maybe Bool)+    , _parrsPipelineExecutionId :: !(Maybe Text)+    , _parrsStatus              :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'PutActionRevisionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'parrsNewRevision'+--+-- * 'parrsPipelineExecutionId'+--+-- * 'parrsStatus'+putActionRevisionResponse+    :: Int -- ^ 'parrsStatus'+    -> PutActionRevisionResponse+putActionRevisionResponse pStatus_ =+    PutActionRevisionResponse'+    { _parrsNewRevision = Nothing+    , _parrsPipelineExecutionId = Nothing+    , _parrsStatus = pStatus_+    }++-- | The new revision number or ID for the revision after the action+-- completes.+parrsNewRevision :: Lens' PutActionRevisionResponse (Maybe Bool)+parrsNewRevision = lens _parrsNewRevision (\ s a -> s{_parrsNewRevision = a});++-- | The ID of the current workflow state of the pipeline.+parrsPipelineExecutionId :: Lens' PutActionRevisionResponse (Maybe Text)+parrsPipelineExecutionId = lens _parrsPipelineExecutionId (\ s a -> s{_parrsPipelineExecutionId = a});++-- | The response status code.+parrsStatus :: Lens' PutActionRevisionResponse Int+parrsStatus = lens _parrsStatus (\ s a -> s{_parrsStatus = a});
+ gen/Network/AWS/CodePipeline/PutJobFailureResult.hs view
@@ -0,0 +1,117 @@+{-# 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.CodePipeline.PutJobFailureResult+-- Copyright   : (c) 2013-2015 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)+--+-- Represents the failure of a job as returned to the pipeline by a job+-- worker. Only used for custom actions.+--+-- /See:/ <http://docs.aws.amazon.com/codepipeline/latest/APIReference/API_PutJobFailureResult.html AWS API Reference> for PutJobFailureResult.+module Network.AWS.CodePipeline.PutJobFailureResult+    (+    -- * Creating a Request+      putJobFailureResult+    , PutJobFailureResult+    -- * Request Lenses+    , pjfrJobId+    , pjfrFailureDetails++    -- * Destructuring the Response+    , putJobFailureResultResponse+    , PutJobFailureResultResponse+    ) where++import           Network.AWS.CodePipeline.Types+import           Network.AWS.CodePipeline.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents the input of a put job failure result action.+--+-- /See:/ 'putJobFailureResult' smart constructor.+data PutJobFailureResult = PutJobFailureResult'+    { _pjfrJobId          :: !Text+    , _pjfrFailureDetails :: !FailureDetails+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'PutJobFailureResult' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pjfrJobId'+--+-- * 'pjfrFailureDetails'+putJobFailureResult+    :: Text -- ^ 'pjfrJobId'+    -> FailureDetails -- ^ 'pjfrFailureDetails'+    -> PutJobFailureResult+putJobFailureResult pJobId_ pFailureDetails_ =+    PutJobFailureResult'+    { _pjfrJobId = pJobId_+    , _pjfrFailureDetails = pFailureDetails_+    }++-- | The unique system-generated ID of the job that failed. This is the same+-- ID returned from PollForJobs.+pjfrJobId :: Lens' PutJobFailureResult Text+pjfrJobId = lens _pjfrJobId (\ s a -> s{_pjfrJobId = a});++-- | The details about the failure of a job.+pjfrFailureDetails :: Lens' PutJobFailureResult FailureDetails+pjfrFailureDetails = lens _pjfrFailureDetails (\ s a -> s{_pjfrFailureDetails = a});++instance AWSRequest PutJobFailureResult where+        type Sv PutJobFailureResult = CodePipeline+        type Rs PutJobFailureResult =+             PutJobFailureResultResponse+        request = postJSON+        response = receiveNull PutJobFailureResultResponse'++instance ToHeaders PutJobFailureResult where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("CodePipeline_20150709.PutJobFailureResult" ::+                       ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON PutJobFailureResult where+        toJSON PutJobFailureResult'{..}+          = object+              ["jobId" .= _pjfrJobId,+               "failureDetails" .= _pjfrFailureDetails]++instance ToPath PutJobFailureResult where+        toPath = const "/"++instance ToQuery PutJobFailureResult where+        toQuery = const mempty++-- | /See:/ 'putJobFailureResultResponse' smart constructor.+data PutJobFailureResultResponse =+    PutJobFailureResultResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'PutJobFailureResultResponse' with the minimum fields required to make a request.+--+putJobFailureResultResponse+    :: PutJobFailureResultResponse+putJobFailureResultResponse = PutJobFailureResultResponse'
+ gen/Network/AWS/CodePipeline/PutJobSuccessResult.hs view
@@ -0,0 +1,139 @@+{-# 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.CodePipeline.PutJobSuccessResult+-- Copyright   : (c) 2013-2015 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)+--+-- Represents the success of a job as returned to the pipeline by a job+-- worker. Only used for custom actions.+--+-- /See:/ <http://docs.aws.amazon.com/codepipeline/latest/APIReference/API_PutJobSuccessResult.html AWS API Reference> for PutJobSuccessResult.+module Network.AWS.CodePipeline.PutJobSuccessResult+    (+    -- * Creating a Request+      putJobSuccessResult+    , PutJobSuccessResult+    -- * Request Lenses+    , pjsrContinuationToken+    , pjsrExecutionDetails+    , pjsrCurrentRevision+    , pjsrJobId++    -- * Destructuring the Response+    , putJobSuccessResultResponse+    , PutJobSuccessResultResponse+    ) where++import           Network.AWS.CodePipeline.Types+import           Network.AWS.CodePipeline.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents the input of a put job success result action.+--+-- /See:/ 'putJobSuccessResult' smart constructor.+data PutJobSuccessResult = PutJobSuccessResult'+    { _pjsrContinuationToken :: !(Maybe Text)+    , _pjsrExecutionDetails  :: !(Maybe ExecutionDetails)+    , _pjsrCurrentRevision   :: !(Maybe CurrentRevision)+    , _pjsrJobId             :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'PutJobSuccessResult' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pjsrContinuationToken'+--+-- * 'pjsrExecutionDetails'+--+-- * 'pjsrCurrentRevision'+--+-- * 'pjsrJobId'+putJobSuccessResult+    :: Text -- ^ 'pjsrJobId'+    -> PutJobSuccessResult+putJobSuccessResult pJobId_ =+    PutJobSuccessResult'+    { _pjsrContinuationToken = Nothing+    , _pjsrExecutionDetails = Nothing+    , _pjsrCurrentRevision = Nothing+    , _pjsrJobId = pJobId_+    }++-- | A system-generated token, such as a AWS CodeDeploy deployment ID, that+-- the successful job used to complete a job asynchronously.+pjsrContinuationToken :: Lens' PutJobSuccessResult (Maybe Text)+pjsrContinuationToken = lens _pjsrContinuationToken (\ s a -> s{_pjsrContinuationToken = a});++-- | The execution details of the successful job, such as the actions taken+-- by the job worker.+pjsrExecutionDetails :: Lens' PutJobSuccessResult (Maybe ExecutionDetails)+pjsrExecutionDetails = lens _pjsrExecutionDetails (\ s a -> s{_pjsrExecutionDetails = a});++-- | The ID of the current revision of the artifact successfully worked upon+-- by the job.+pjsrCurrentRevision :: Lens' PutJobSuccessResult (Maybe CurrentRevision)+pjsrCurrentRevision = lens _pjsrCurrentRevision (\ s a -> s{_pjsrCurrentRevision = a});++-- | The unique system-generated ID of the job that succeeded. This is the+-- same ID returned from PollForJobs.+pjsrJobId :: Lens' PutJobSuccessResult Text+pjsrJobId = lens _pjsrJobId (\ s a -> s{_pjsrJobId = a});++instance AWSRequest PutJobSuccessResult where+        type Sv PutJobSuccessResult = CodePipeline+        type Rs PutJobSuccessResult =+             PutJobSuccessResultResponse+        request = postJSON+        response = receiveNull PutJobSuccessResultResponse'++instance ToHeaders PutJobSuccessResult where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("CodePipeline_20150709.PutJobSuccessResult" ::+                       ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON PutJobSuccessResult where+        toJSON PutJobSuccessResult'{..}+          = object+              ["continuationToken" .= _pjsrContinuationToken,+               "executionDetails" .= _pjsrExecutionDetails,+               "currentRevision" .= _pjsrCurrentRevision,+               "jobId" .= _pjsrJobId]++instance ToPath PutJobSuccessResult where+        toPath = const "/"++instance ToQuery PutJobSuccessResult where+        toQuery = const mempty++-- | /See:/ 'putJobSuccessResultResponse' smart constructor.+data PutJobSuccessResultResponse =+    PutJobSuccessResultResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'PutJobSuccessResultResponse' with the minimum fields required to make a request.+--+putJobSuccessResultResponse+    :: PutJobSuccessResultResponse+putJobSuccessResultResponse = PutJobSuccessResultResponse'
+ gen/Network/AWS/CodePipeline/PutThirdPartyJobFailureResult.hs view
@@ -0,0 +1,133 @@+{-# 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.CodePipeline.PutThirdPartyJobFailureResult+-- Copyright   : (c) 2013-2015 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)+--+-- Represents the failure of a third party job as returned to the pipeline+-- by a job worker. Only used for partner actions.+--+-- /See:/ <http://docs.aws.amazon.com/codepipeline/latest/APIReference/API_PutThirdPartyJobFailureResult.html AWS API Reference> for PutThirdPartyJobFailureResult.+module Network.AWS.CodePipeline.PutThirdPartyJobFailureResult+    (+    -- * Creating a Request+      putThirdPartyJobFailureResult+    , PutThirdPartyJobFailureResult+    -- * Request Lenses+    , ptpjfrJobId+    , ptpjfrClientToken+    , ptpjfrFailureDetails++    -- * Destructuring the Response+    , putThirdPartyJobFailureResultResponse+    , PutThirdPartyJobFailureResultResponse+    ) where++import           Network.AWS.CodePipeline.Types+import           Network.AWS.CodePipeline.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents the input of a third party job failure result action.+--+-- /See:/ 'putThirdPartyJobFailureResult' smart constructor.+data PutThirdPartyJobFailureResult = PutThirdPartyJobFailureResult'+    { _ptpjfrJobId          :: !Text+    , _ptpjfrClientToken    :: !Text+    , _ptpjfrFailureDetails :: !FailureDetails+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'PutThirdPartyJobFailureResult' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ptpjfrJobId'+--+-- * 'ptpjfrClientToken'+--+-- * 'ptpjfrFailureDetails'+putThirdPartyJobFailureResult+    :: Text -- ^ 'ptpjfrJobId'+    -> Text -- ^ 'ptpjfrClientToken'+    -> FailureDetails -- ^ 'ptpjfrFailureDetails'+    -> PutThirdPartyJobFailureResult+putThirdPartyJobFailureResult pJobId_ pClientToken_ pFailureDetails_ =+    PutThirdPartyJobFailureResult'+    { _ptpjfrJobId = pJobId_+    , _ptpjfrClientToken = pClientToken_+    , _ptpjfrFailureDetails = pFailureDetails_+    }++-- | The ID of the job that failed. This is the same ID returned from+-- PollForThirdPartyJobs.+ptpjfrJobId :: Lens' PutThirdPartyJobFailureResult Text+ptpjfrJobId = lens _ptpjfrJobId (\ s a -> s{_ptpjfrJobId = a});++-- | The clientToken portion of the clientId and clientToken pair used to+-- verify that the calling entity is allowed access to the job and its+-- details.+ptpjfrClientToken :: Lens' PutThirdPartyJobFailureResult Text+ptpjfrClientToken = lens _ptpjfrClientToken (\ s a -> s{_ptpjfrClientToken = a});++-- | Undocumented member.+ptpjfrFailureDetails :: Lens' PutThirdPartyJobFailureResult FailureDetails+ptpjfrFailureDetails = lens _ptpjfrFailureDetails (\ s a -> s{_ptpjfrFailureDetails = a});++instance AWSRequest PutThirdPartyJobFailureResult+         where+        type Sv PutThirdPartyJobFailureResult = CodePipeline+        type Rs PutThirdPartyJobFailureResult =+             PutThirdPartyJobFailureResultResponse+        request = postJSON+        response+          = receiveNull PutThirdPartyJobFailureResultResponse'++instance ToHeaders PutThirdPartyJobFailureResult+         where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("CodePipeline_20150709.PutThirdPartyJobFailureResult"+                       :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON PutThirdPartyJobFailureResult where+        toJSON PutThirdPartyJobFailureResult'{..}+          = object+              ["jobId" .= _ptpjfrJobId,+               "clientToken" .= _ptpjfrClientToken,+               "failureDetails" .= _ptpjfrFailureDetails]++instance ToPath PutThirdPartyJobFailureResult where+        toPath = const "/"++instance ToQuery PutThirdPartyJobFailureResult where+        toQuery = const mempty++-- | /See:/ 'putThirdPartyJobFailureResultResponse' smart constructor.+data PutThirdPartyJobFailureResultResponse =+    PutThirdPartyJobFailureResultResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'PutThirdPartyJobFailureResultResponse' with the minimum fields required to make a request.+--+putThirdPartyJobFailureResultResponse+    :: PutThirdPartyJobFailureResultResponse+putThirdPartyJobFailureResultResponse = PutThirdPartyJobFailureResultResponse'
+ gen/Network/AWS/CodePipeline/PutThirdPartyJobSuccessResult.hs view
@@ -0,0 +1,153 @@+{-# 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.CodePipeline.PutThirdPartyJobSuccessResult+-- Copyright   : (c) 2013-2015 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)+--+-- Represents the success of a third party job as returned to the pipeline+-- by a job worker. Only used for partner actions.+--+-- /See:/ <http://docs.aws.amazon.com/codepipeline/latest/APIReference/API_PutThirdPartyJobSuccessResult.html AWS API Reference> for PutThirdPartyJobSuccessResult.+module Network.AWS.CodePipeline.PutThirdPartyJobSuccessResult+    (+    -- * Creating a Request+      putThirdPartyJobSuccessResult+    , PutThirdPartyJobSuccessResult+    -- * Request Lenses+    , ptpjsrContinuationToken+    , ptpjsrExecutionDetails+    , ptpjsrCurrentRevision+    , ptpjsrJobId+    , ptpjsrClientToken++    -- * Destructuring the Response+    , putThirdPartyJobSuccessResultResponse+    , PutThirdPartyJobSuccessResultResponse+    ) where++import           Network.AWS.CodePipeline.Types+import           Network.AWS.CodePipeline.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents the input of a put third party job success result action.+--+-- /See:/ 'putThirdPartyJobSuccessResult' smart constructor.+data PutThirdPartyJobSuccessResult = PutThirdPartyJobSuccessResult'+    { _ptpjsrContinuationToken :: !(Maybe Text)+    , _ptpjsrExecutionDetails  :: !(Maybe ExecutionDetails)+    , _ptpjsrCurrentRevision   :: !(Maybe CurrentRevision)+    , _ptpjsrJobId             :: !Text+    , _ptpjsrClientToken       :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'PutThirdPartyJobSuccessResult' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ptpjsrContinuationToken'+--+-- * 'ptpjsrExecutionDetails'+--+-- * 'ptpjsrCurrentRevision'+--+-- * 'ptpjsrJobId'+--+-- * 'ptpjsrClientToken'+putThirdPartyJobSuccessResult+    :: Text -- ^ 'ptpjsrJobId'+    -> Text -- ^ 'ptpjsrClientToken'+    -> PutThirdPartyJobSuccessResult+putThirdPartyJobSuccessResult pJobId_ pClientToken_ =+    PutThirdPartyJobSuccessResult'+    { _ptpjsrContinuationToken = Nothing+    , _ptpjsrExecutionDetails = Nothing+    , _ptpjsrCurrentRevision = Nothing+    , _ptpjsrJobId = pJobId_+    , _ptpjsrClientToken = pClientToken_+    }++-- | A system-generated token, such as a AWS CodeDeploy deployment ID, that a+-- job uses in order to continue the job asynchronously.+ptpjsrContinuationToken :: Lens' PutThirdPartyJobSuccessResult (Maybe Text)+ptpjsrContinuationToken = lens _ptpjsrContinuationToken (\ s a -> s{_ptpjsrContinuationToken = a});++-- | Undocumented member.+ptpjsrExecutionDetails :: Lens' PutThirdPartyJobSuccessResult (Maybe ExecutionDetails)+ptpjsrExecutionDetails = lens _ptpjsrExecutionDetails (\ s a -> s{_ptpjsrExecutionDetails = a});++-- | Undocumented member.+ptpjsrCurrentRevision :: Lens' PutThirdPartyJobSuccessResult (Maybe CurrentRevision)+ptpjsrCurrentRevision = lens _ptpjsrCurrentRevision (\ s a -> s{_ptpjsrCurrentRevision = a});++-- | The ID of the job that successfully completed. This is the same ID+-- returned from PollForThirdPartyJobs.+ptpjsrJobId :: Lens' PutThirdPartyJobSuccessResult Text+ptpjsrJobId = lens _ptpjsrJobId (\ s a -> s{_ptpjsrJobId = a});++-- | The clientToken portion of the clientId and clientToken pair used to+-- verify that the calling entity is allowed access to the job and its+-- details.+ptpjsrClientToken :: Lens' PutThirdPartyJobSuccessResult Text+ptpjsrClientToken = lens _ptpjsrClientToken (\ s a -> s{_ptpjsrClientToken = a});++instance AWSRequest PutThirdPartyJobSuccessResult+         where+        type Sv PutThirdPartyJobSuccessResult = CodePipeline+        type Rs PutThirdPartyJobSuccessResult =+             PutThirdPartyJobSuccessResultResponse+        request = postJSON+        response+          = receiveNull PutThirdPartyJobSuccessResultResponse'++instance ToHeaders PutThirdPartyJobSuccessResult+         where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("CodePipeline_20150709.PutThirdPartyJobSuccessResult"+                       :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON PutThirdPartyJobSuccessResult where+        toJSON PutThirdPartyJobSuccessResult'{..}+          = object+              ["continuationToken" .= _ptpjsrContinuationToken,+               "executionDetails" .= _ptpjsrExecutionDetails,+               "currentRevision" .= _ptpjsrCurrentRevision,+               "jobId" .= _ptpjsrJobId,+               "clientToken" .= _ptpjsrClientToken]++instance ToPath PutThirdPartyJobSuccessResult where+        toPath = const "/"++instance ToQuery PutThirdPartyJobSuccessResult where+        toQuery = const mempty++-- | /See:/ 'putThirdPartyJobSuccessResultResponse' smart constructor.+data PutThirdPartyJobSuccessResultResponse =+    PutThirdPartyJobSuccessResultResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'PutThirdPartyJobSuccessResultResponse' with the minimum fields required to make a request.+--+putThirdPartyJobSuccessResultResponse+    :: PutThirdPartyJobSuccessResultResponse+putThirdPartyJobSuccessResultResponse = PutThirdPartyJobSuccessResultResponse'
+ gen/Network/AWS/CodePipeline/StartPipelineExecution.hs view
@@ -0,0 +1,133 @@+{-# 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.CodePipeline.StartPipelineExecution+-- Copyright   : (c) 2013-2015 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 the specified pipeline. Specifically, it begins processing the+-- latest commit to the source location specified as part of the pipeline.+--+-- /See:/ <http://docs.aws.amazon.com/codepipeline/latest/APIReference/API_StartPipelineExecution.html AWS API Reference> for StartPipelineExecution.+module Network.AWS.CodePipeline.StartPipelineExecution+    (+    -- * Creating a Request+      startPipelineExecution+    , StartPipelineExecution+    -- * Request Lenses+    , speName++    -- * Destructuring the Response+    , startPipelineExecutionResponse+    , StartPipelineExecutionResponse+    -- * Response Lenses+    , spersPipelineExecutionId+    , spersStatus+    ) where++import           Network.AWS.CodePipeline.Types+import           Network.AWS.CodePipeline.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents the input of a start pipeline execution action.+--+-- /See:/ 'startPipelineExecution' smart constructor.+newtype StartPipelineExecution = StartPipelineExecution'+    { _speName :: Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'StartPipelineExecution' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'speName'+startPipelineExecution+    :: Text -- ^ 'speName'+    -> StartPipelineExecution+startPipelineExecution pName_ =+    StartPipelineExecution'+    { _speName = pName_+    }++-- | The name of the pipeline to start.+speName :: Lens' StartPipelineExecution Text+speName = lens _speName (\ s a -> s{_speName = a});++instance AWSRequest StartPipelineExecution where+        type Sv StartPipelineExecution = CodePipeline+        type Rs StartPipelineExecution =+             StartPipelineExecutionResponse+        request = postJSON+        response+          = receiveJSON+              (\ s h x ->+                 StartPipelineExecutionResponse' <$>+                   (x .?> "pipelineExecutionId") <*>+                     (pure (fromEnum s)))++instance ToHeaders StartPipelineExecution where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("CodePipeline_20150709.StartPipelineExecution" ::+                       ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON StartPipelineExecution where+        toJSON StartPipelineExecution'{..}+          = object ["name" .= _speName]++instance ToPath StartPipelineExecution where+        toPath = const "/"++instance ToQuery StartPipelineExecution where+        toQuery = const mempty++-- | Represents the output of a start pipeline execution action.+--+-- /See:/ 'startPipelineExecutionResponse' smart constructor.+data StartPipelineExecutionResponse = StartPipelineExecutionResponse'+    { _spersPipelineExecutionId :: !(Maybe Text)+    , _spersStatus              :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'StartPipelineExecutionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'spersPipelineExecutionId'+--+-- * 'spersStatus'+startPipelineExecutionResponse+    :: Int -- ^ 'spersStatus'+    -> StartPipelineExecutionResponse+startPipelineExecutionResponse pStatus_ =+    StartPipelineExecutionResponse'+    { _spersPipelineExecutionId = Nothing+    , _spersStatus = pStatus_+    }++-- | The unique system-generated ID of the pipeline that was started.+spersPipelineExecutionId :: Lens' StartPipelineExecutionResponse (Maybe Text)+spersPipelineExecutionId = lens _spersPipelineExecutionId (\ s a -> s{_spersPipelineExecutionId = a});++-- | The response status code.+spersStatus :: Lens' StartPipelineExecutionResponse Int+spersStatus = lens _spersStatus (\ s a -> s{_spersStatus = a});
+ gen/Network/AWS/CodePipeline/Types.hs view
@@ -0,0 +1,459 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE TypeFamilies      #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.CodePipeline.Types+-- Copyright   : (c) 2013-2015 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.CodePipeline.Types+    (+    -- * Service+      CodePipeline++    -- * Errors+    , _ValidationException+    , _InvalidClientTokenException+    , _InvalidNonceException+    , _ActionNotFoundException+    , _InvalidBlockerDeclarationException+    , _InvalidJobStateException+    , _InvalidJobException+    , _PipelineVersionNotFoundException+    , _ActionTypeNotFoundException+    , _InvalidNextTokenException+    , _InvalidStageDeclarationException+    , _InvalidActionDeclarationException+    , _StageNotFoundException+    , _JobNotFoundException+    , _InvalidStructureException+    , _PipelineNotFoundException+    , _PipelineNameInUseException+    , _LimitExceededException++    -- * ActionCategory+    , ActionCategory (..)++    -- * ActionConfigurationPropertyType+    , ActionConfigurationPropertyType (..)++    -- * ActionExecutionStatus+    , ActionExecutionStatus (..)++    -- * ActionOwner+    , ActionOwner (..)++    -- * ArtifactLocationType+    , ArtifactLocationType (..)++    -- * ArtifactStoreType+    , ArtifactStoreType (..)++    -- * BlockerType+    , BlockerType (..)++    -- * FailureType+    , FailureType (..)++    -- * JobStatus+    , JobStatus (..)++    -- * StageTransitionType+    , StageTransitionType (..)++    -- * AWSSessionCredentials+    , AWSSessionCredentials+    , awsSessionCredentials+    , ascAccessKeyId+    , ascSecretAccessKey+    , ascSessionToken++    -- * ActionConfiguration+    , ActionConfiguration+    , actionConfiguration+    , acConfiguration++    -- * ActionConfigurationProperty+    , ActionConfigurationProperty+    , actionConfigurationProperty+    , acpQueryable+    , acpType+    , acpDescription+    , acpName+    , acpRequired+    , acpKey+    , acpSecret++    -- * ActionContext+    , ActionContext+    , actionContext+    , acName++    -- * ActionDeclaration+    , ActionDeclaration+    , actionDeclaration+    , adOutputArtifacts+    , adRunOrder+    , adConfiguration+    , adInputArtifacts+    , adRoleARN+    , adName+    , adActionTypeId++    -- * ActionExecution+    , ActionExecution+    , actionExecution+    , aeSummary+    , aeStatus+    , aeLastStatusChange+    , aeExternalExecutionURL+    , aePercentComplete+    , aeErrorDetails+    , aeExternalExecutionId++    -- * ActionRevision+    , ActionRevision+    , actionRevision+    , arRevisionChangeId+    , arRevisionId+    , arCreated++    -- * ActionState+    , ActionState+    , actionState+    , asEntityURL+    , asRevisionURL+    , asActionName+    , asCurrentRevision+    , asLatestExecution++    -- * ActionType+    , ActionType+    , actionType+    , atSettings+    , atActionConfigurationProperties+    , atId+    , atInputArtifactDetails+    , atOutputArtifactDetails++    -- * ActionTypeId+    , ActionTypeId+    , actionTypeId+    , atiCategory+    , atiOwner+    , atiProvider+    , atiVersion++    -- * ActionTypeSettings+    , ActionTypeSettings+    , actionTypeSettings+    , atsThirdPartyConfigurationURL+    , atsExecutionURLTemplate+    , atsEntityURLTemplate+    , atsRevisionURLTemplate++    -- * Artifact+    , Artifact+    , artifact+    , aLocation+    , aName+    , aRevision++    -- * ArtifactDetails+    , ArtifactDetails+    , artifactDetails+    , adMinimumCount+    , adMaximumCount++    -- * ArtifactLocation+    , ArtifactLocation+    , artifactLocation+    , alS3Location+    , alType++    -- * ArtifactStore+    , ArtifactStore+    , artifactStore+    , asType+    , asLocation++    -- * BlockerDeclaration+    , BlockerDeclaration+    , blockerDeclaration+    , bdName+    , bdType++    -- * CurrentRevision+    , CurrentRevision+    , currentRevision+    , crRevision+    , crChangeIdentifier++    -- * ErrorDetails+    , ErrorDetails+    , errorDetails+    , edCode+    , edMessage++    -- * ExecutionDetails+    , ExecutionDetails+    , executionDetails+    , edSummary+    , edPercentComplete+    , edExternalExecutionId++    -- * FailureDetails+    , FailureDetails+    , failureDetails+    , fdExternalExecutionId+    , fdMessage+    , fdType++    -- * InputArtifact+    , InputArtifact+    , inputArtifact+    , iaName++    -- * Job+    , Job+    , job+    , jData+    , jAccountId+    , jId+    , jNonce++    -- * JobData+    , JobData+    , jobData+    , jdContinuationToken+    , jdOutputArtifacts+    , jdArtifactCredentials+    , jdPipelineContext+    , jdActionTypeId+    , jdInputArtifacts+    , jdActionConfiguration++    -- * JobDetails+    , JobDetails+    , jobDetails+    , jdData+    , jdAccountId+    , jdId++    -- * OutputArtifact+    , OutputArtifact+    , outputArtifact+    , oaName++    -- * PipelineContext+    , PipelineContext+    , pipelineContext+    , pcStage+    , pcPipelineName+    , pcAction++    -- * PipelineDeclaration+    , PipelineDeclaration+    , pipelineDeclaration+    , pdVersion+    , pdName+    , pdRoleARN+    , pdArtifactStore+    , pdStages++    -- * PipelineSummary+    , PipelineSummary+    , pipelineSummary+    , psCreated+    , psName+    , psVersion+    , psUpdated++    -- * S3ArtifactLocation+    , S3ArtifactLocation+    , s3ArtifactLocation+    , salBucketName+    , salObjectKey++    -- * StageContext+    , StageContext+    , stageContext+    , scName++    -- * StageDeclaration+    , StageDeclaration+    , stageDeclaration+    , sdBlockers+    , sdName+    , sdActions++    -- * StageState+    , StageState+    , stageState+    , ssInboundTransitionState+    , ssActionStates+    , ssStageName++    -- * ThirdPartyJob+    , ThirdPartyJob+    , thirdPartyJob+    , tpjClientId+    , tpjJobId++    -- * ThirdPartyJobData+    , ThirdPartyJobData+    , thirdPartyJobData+    , tpjdContinuationToken+    , tpjdOutputArtifacts+    , tpjdArtifactCredentials+    , tpjdPipelineContext+    , tpjdActionTypeId+    , tpjdInputArtifacts+    , tpjdActionConfiguration++    -- * ThirdPartyJobDetails+    , ThirdPartyJobDetails+    , thirdPartyJobDetails+    , tpjdData+    , tpjdId+    , tpjdNonce++    -- * TransitionState+    , TransitionState+    , transitionState+    , tsEnabled+    , tsDisabledReason+    , tsLastChangedAt+    , tsLastChangedBy+    ) where++import           Network.AWS.CodePipeline.Types.Product+import           Network.AWS.CodePipeline.Types.Sum+import           Network.AWS.Prelude+import           Network.AWS.Sign.V4++-- | Version @2015-07-09@ of the Amazon CodePipeline SDK.+data CodePipeline++instance AWSService CodePipeline where+    type Sg CodePipeline = V4+    service = const svc+      where+        svc =+            Service+            { _svcAbbrev = "CodePipeline"+            , _svcPrefix = "codepipeline"+            , _svcVersion = "2015-07-09"+            , _svcEndpoint = defaultEndpoint svc+            , _svcTimeout = Just 70+            , _svcStatus = statusSuccess+            , _svcError = parseJSONError+            , _svcRetry = retry+            }+        retry =+            Exponential+            { _retryBase = 5.0e-2+            , _retryGrowth = 2+            , _retryAttempts = 5+            , _retryCheck = check+            }+        check e+          | has (hasCode "ThrottlingException" . hasStatus 400) e =+              Just "throttling_exception"+          | has (hasCode "Throttling" . hasStatus 400) e = Just "throttling"+          | 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 validation was specified in an invalid format.+_ValidationException :: AsError a => Getting (First ServiceError) a ServiceError+_ValidationException = _ServiceError . hasCode "ValidationException"++-- | The client token was specified in an invalid format+_InvalidClientTokenException :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidClientTokenException =+    _ServiceError . hasCode "InvalidClientTokenException"++-- | The specified nonce was specified in an invalid format.+_InvalidNonceException :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidNonceException = _ServiceError . hasCode "InvalidNonceException"++-- | The specified action cannot be found.+_ActionNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError+_ActionNotFoundException = _ServiceError . hasCode "ActionNotFoundException"++-- | The specified gate declaration was specified in an invalid format.+_InvalidBlockerDeclarationException :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidBlockerDeclarationException =+    _ServiceError . hasCode "InvalidBlockerDeclarationException"++-- | The specified job state was specified in an invalid format.+_InvalidJobStateException :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidJobStateException = _ServiceError . hasCode "InvalidJobStateException"++-- | The specified job was specified in an invalid format or cannot be found.+_InvalidJobException :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidJobException = _ServiceError . hasCode "InvalidJobException"++-- | The specified pipeline version was specified in an invalid format or+-- cannot be found.+_PipelineVersionNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError+_PipelineVersionNotFoundException =+    _ServiceError . hasCode "PipelineVersionNotFoundException"++-- | The specified action type cannot be found.+_ActionTypeNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError+_ActionTypeNotFoundException =+    _ServiceError . hasCode "ActionTypeNotFoundException"++-- | The next token was specified in an invalid format. Make sure that the+-- next token you provided is the token returned by a previous call.+_InvalidNextTokenException :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidNextTokenException =+    _ServiceError . hasCode "InvalidNextTokenException"++-- | The specified stage declaration was specified in an invalid format.+_InvalidStageDeclarationException :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidStageDeclarationException =+    _ServiceError . hasCode "InvalidStageDeclarationException"++-- | The specified action declaration was specified in an invalid format.+_InvalidActionDeclarationException :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidActionDeclarationException =+    _ServiceError . hasCode "InvalidActionDeclarationException"++-- | The specified stage was specified in an invalid format or cannot be+-- found.+_StageNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError+_StageNotFoundException = _ServiceError . hasCode "StageNotFoundException"++-- | The specified job was specified in an invalid format or cannot be found.+_JobNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError+_JobNotFoundException = _ServiceError . hasCode "JobNotFoundException"++-- | The specified structure was specified in an invalid format.+_InvalidStructureException :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidStructureException =+    _ServiceError . hasCode "InvalidStructureException"++-- | The specified pipeline was specified in an invalid format or cannot be+-- found.+_PipelineNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError+_PipelineNotFoundException =+    _ServiceError . hasCode "PipelineNotFoundException"++-- | The specified pipeline name is already in use.+_PipelineNameInUseException :: AsError a => Getting (First ServiceError) a ServiceError+_PipelineNameInUseException =+    _ServiceError . hasCode "PipelineNameInUseException"++-- | The number of pipelines associated with the AWS account has exceeded the+-- limit allowed for the account.+_LimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError+_LimitExceededException = _ServiceError . hasCode "LimitExceededException"
+ gen/Network/AWS/CodePipeline/Types/Product.hs view
@@ -0,0 +1,2039 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.CodePipeline.Types.Product+-- Copyright   : (c) 2013-2015 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.CodePipeline.Types.Product where++import           Network.AWS.CodePipeline.Types.Sum+import           Network.AWS.Prelude++-- | Represents an AWS session credentials object. These credentials are+-- temporary credentials that are issued by AWS Secure Token Service (STS).+-- They can be used to access input and output artifacts in the Amazon S3+-- bucket used to store artifact for the pipeline in AWS CodePipeline.+--+-- /See:/ 'awsSessionCredentials' smart constructor.+data AWSSessionCredentials = AWSSessionCredentials'+    { _ascAccessKeyId     :: !Text+    , _ascSecretAccessKey :: !Text+    , _ascSessionToken    :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'AWSSessionCredentials' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ascAccessKeyId'+--+-- * 'ascSecretAccessKey'+--+-- * 'ascSessionToken'+awsSessionCredentials+    :: Text -- ^ 'ascAccessKeyId'+    -> Text -- ^ 'ascSecretAccessKey'+    -> Text -- ^ 'ascSessionToken'+    -> AWSSessionCredentials+awsSessionCredentials pAccessKeyId_ pSecretAccessKey_ pSessionToken_ =+    AWSSessionCredentials'+    { _ascAccessKeyId = pAccessKeyId_+    , _ascSecretAccessKey = pSecretAccessKey_+    , _ascSessionToken = pSessionToken_+    }++-- | The access key for the session.+ascAccessKeyId :: Lens' AWSSessionCredentials Text+ascAccessKeyId = lens _ascAccessKeyId (\ s a -> s{_ascAccessKeyId = a});++-- | The secret access key for the session.+ascSecretAccessKey :: Lens' AWSSessionCredentials Text+ascSecretAccessKey = lens _ascSecretAccessKey (\ s a -> s{_ascSecretAccessKey = a});++-- | The token for the session.+ascSessionToken :: Lens' AWSSessionCredentials Text+ascSessionToken = lens _ascSessionToken (\ s a -> s{_ascSessionToken = a});++instance FromJSON AWSSessionCredentials where+        parseJSON+          = withObject "AWSSessionCredentials"+              (\ x ->+                 AWSSessionCredentials' <$>+                   (x .: "accessKeyId") <*> (x .: "secretAccessKey") <*>+                     (x .: "sessionToken"))++-- | Represents information about an action configuration.+--+-- /See:/ 'actionConfiguration' smart constructor.+newtype ActionConfiguration = ActionConfiguration'+    { _acConfiguration :: Maybe (Map Text Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ActionConfiguration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'acConfiguration'+actionConfiguration+    :: ActionConfiguration+actionConfiguration =+    ActionConfiguration'+    { _acConfiguration = Nothing+    }++-- | The configuration data for the action.+acConfiguration :: Lens' ActionConfiguration (HashMap Text Text)+acConfiguration = lens _acConfiguration (\ s a -> s{_acConfiguration = a}) . _Default . _Map;++instance FromJSON ActionConfiguration where+        parseJSON+          = withObject "ActionConfiguration"+              (\ x ->+                 ActionConfiguration' <$>+                   (x .:? "configuration" .!= mempty))++-- | Represents information about an action configuration property.+--+-- /See:/ 'actionConfigurationProperty' smart constructor.+data ActionConfigurationProperty = ActionConfigurationProperty'+    { _acpQueryable   :: !(Maybe Bool)+    , _acpType        :: !(Maybe ActionConfigurationPropertyType)+    , _acpDescription :: !(Maybe Text)+    , _acpName        :: !Text+    , _acpRequired    :: !Bool+    , _acpKey         :: !Bool+    , _acpSecret      :: !Bool+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ActionConfigurationProperty' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'acpQueryable'+--+-- * 'acpType'+--+-- * 'acpDescription'+--+-- * 'acpName'+--+-- * 'acpRequired'+--+-- * 'acpKey'+--+-- * 'acpSecret'+actionConfigurationProperty+    :: Text -- ^ 'acpName'+    -> Bool -- ^ 'acpRequired'+    -> Bool -- ^ 'acpKey'+    -> Bool -- ^ 'acpSecret'+    -> ActionConfigurationProperty+actionConfigurationProperty pName_ pRequired_ pKey_ pSecret_ =+    ActionConfigurationProperty'+    { _acpQueryable = Nothing+    , _acpType = Nothing+    , _acpDescription = Nothing+    , _acpName = pName_+    , _acpRequired = pRequired_+    , _acpKey = pKey_+    , _acpSecret = pSecret_+    }++-- | Indicates that the proprety will be used in conjunction with+-- PollForJobs. When creating a custom action, an action can have up to one+-- queryable property. If it has one, that property must be both required+-- and not secret.+--+-- If you create a pipeline with a custom action type, and that custom+-- action contains a queryable property, the value for that configuration+-- property is subject to additional restrictions. The value must be less+-- than or equal to twenty (20) characters. The value can contain only+-- alphanumeric characters, underscores, and hyphens.+acpQueryable :: Lens' ActionConfigurationProperty (Maybe Bool)+acpQueryable = lens _acpQueryable (\ s a -> s{_acpQueryable = a});++-- | The type of the configuration property.+acpType :: Lens' ActionConfigurationProperty (Maybe ActionConfigurationPropertyType)+acpType = lens _acpType (\ s a -> s{_acpType = a});++-- | The description of the action configuration property that will be+-- displayed to users.+acpDescription :: Lens' ActionConfigurationProperty (Maybe Text)+acpDescription = lens _acpDescription (\ s a -> s{_acpDescription = a});++-- | The name of the action configuration property.+acpName :: Lens' ActionConfigurationProperty Text+acpName = lens _acpName (\ s a -> s{_acpName = a});++-- | Whether the configuration property is a required value.+acpRequired :: Lens' ActionConfigurationProperty Bool+acpRequired = lens _acpRequired (\ s a -> s{_acpRequired = a});++-- | Whether the configuration property is a key.+acpKey :: Lens' ActionConfigurationProperty Bool+acpKey = lens _acpKey (\ s a -> s{_acpKey = a});++-- | Whether the configuration property is secret. Secrets are hidden from+-- all calls except for GetJobDetails, GetThirdPartyJobDetails,+-- PollForJobs, and PollForThirdPartyJobs.+--+-- When updating a pipeline, passing * * * * * without changing any other+-- values of the action will preserve the prior value of the secret.+acpSecret :: Lens' ActionConfigurationProperty Bool+acpSecret = lens _acpSecret (\ s a -> s{_acpSecret = a});++instance FromJSON ActionConfigurationProperty where+        parseJSON+          = withObject "ActionConfigurationProperty"+              (\ x ->+                 ActionConfigurationProperty' <$>+                   (x .:? "queryable") <*> (x .:? "type") <*>+                     (x .:? "description")+                     <*> (x .: "name")+                     <*> (x .: "required")+                     <*> (x .: "key")+                     <*> (x .: "secret"))++instance ToJSON ActionConfigurationProperty where+        toJSON ActionConfigurationProperty'{..}+          = object+              ["queryable" .= _acpQueryable, "type" .= _acpType,+               "description" .= _acpDescription, "name" .= _acpName,+               "required" .= _acpRequired, "key" .= _acpKey,+               "secret" .= _acpSecret]++-- | Represents the context of an action within the stage of a pipeline to a+-- job worker.+--+-- /See:/ 'actionContext' smart constructor.+newtype ActionContext = ActionContext'+    { _acName :: Maybe Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ActionContext' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'acName'+actionContext+    :: ActionContext+actionContext =+    ActionContext'+    { _acName = Nothing+    }++-- | The name of the action within the context of a job.+acName :: Lens' ActionContext (Maybe Text)+acName = lens _acName (\ s a -> s{_acName = a});++instance FromJSON ActionContext where+        parseJSON+          = withObject "ActionContext"+              (\ x -> ActionContext' <$> (x .:? "name"))++-- | Represents information about an action declaration.+--+-- /See:/ 'actionDeclaration' smart constructor.+data ActionDeclaration = ActionDeclaration'+    { _adOutputArtifacts :: !(Maybe [OutputArtifact])+    , _adRunOrder        :: !(Maybe Nat)+    , _adConfiguration   :: !(Maybe (Map Text Text))+    , _adInputArtifacts  :: !(Maybe [InputArtifact])+    , _adRoleARN         :: !(Maybe Text)+    , _adName            :: !Text+    , _adActionTypeId    :: !ActionTypeId+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ActionDeclaration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'adOutputArtifacts'+--+-- * 'adRunOrder'+--+-- * 'adConfiguration'+--+-- * 'adInputArtifacts'+--+-- * 'adRoleARN'+--+-- * 'adName'+--+-- * 'adActionTypeId'+actionDeclaration+    :: Text -- ^ 'adName'+    -> ActionTypeId -- ^ 'adActionTypeId'+    -> ActionDeclaration+actionDeclaration pName_ pActionTypeId_ =+    ActionDeclaration'+    { _adOutputArtifacts = Nothing+    , _adRunOrder = Nothing+    , _adConfiguration = Nothing+    , _adInputArtifacts = Nothing+    , _adRoleARN = Nothing+    , _adName = pName_+    , _adActionTypeId = pActionTypeId_+    }++-- | The name or ID of the result of the action declaration, such as a test+-- or build artifact.+adOutputArtifacts :: Lens' ActionDeclaration [OutputArtifact]+adOutputArtifacts = lens _adOutputArtifacts (\ s a -> s{_adOutputArtifacts = a}) . _Default . _Coerce;++-- | The order in which actions are run.+adRunOrder :: Lens' ActionDeclaration (Maybe Natural)+adRunOrder = lens _adRunOrder (\ s a -> s{_adRunOrder = a}) . mapping _Nat;++-- | The action declaration\'s configuration.+adConfiguration :: Lens' ActionDeclaration (HashMap Text Text)+adConfiguration = lens _adConfiguration (\ s a -> s{_adConfiguration = a}) . _Default . _Map;++-- | The name or ID of the artifact consumed by the action, such as a test or+-- build artifact.+adInputArtifacts :: Lens' ActionDeclaration [InputArtifact]+adInputArtifacts = lens _adInputArtifacts (\ s a -> s{_adInputArtifacts = a}) . _Default . _Coerce;++-- | The ARN of the IAM service role that will perform the declared action.+-- This is assumed through the roleArn for the pipeline.+adRoleARN :: Lens' ActionDeclaration (Maybe Text)+adRoleARN = lens _adRoleARN (\ s a -> s{_adRoleARN = a});++-- | The action declaration\'s name.+adName :: Lens' ActionDeclaration Text+adName = lens _adName (\ s a -> s{_adName = a});++-- | The configuration information for the action type.+adActionTypeId :: Lens' ActionDeclaration ActionTypeId+adActionTypeId = lens _adActionTypeId (\ s a -> s{_adActionTypeId = a});++instance FromJSON ActionDeclaration where+        parseJSON+          = withObject "ActionDeclaration"+              (\ x ->+                 ActionDeclaration' <$>+                   (x .:? "outputArtifacts" .!= mempty) <*>+                     (x .:? "runOrder")+                     <*> (x .:? "configuration" .!= mempty)+                     <*> (x .:? "inputArtifacts" .!= mempty)+                     <*> (x .:? "roleArn")+                     <*> (x .: "name")+                     <*> (x .: "actionTypeId"))++instance ToJSON ActionDeclaration where+        toJSON ActionDeclaration'{..}+          = object+              ["outputArtifacts" .= _adOutputArtifacts,+               "runOrder" .= _adRunOrder,+               "configuration" .= _adConfiguration,+               "inputArtifacts" .= _adInputArtifacts,+               "roleArn" .= _adRoleARN, "name" .= _adName,+               "actionTypeId" .= _adActionTypeId]++-- | Represents information about how an action runs.+--+-- /See:/ 'actionExecution' smart constructor.+data ActionExecution = ActionExecution'+    { _aeSummary              :: !(Maybe Text)+    , _aeStatus               :: !(Maybe ActionExecutionStatus)+    , _aeLastStatusChange     :: !(Maybe POSIX)+    , _aeExternalExecutionURL :: !(Maybe Text)+    , _aePercentComplete      :: !(Maybe Nat)+    , _aeErrorDetails         :: !(Maybe ErrorDetails)+    , _aeExternalExecutionId  :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ActionExecution' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aeSummary'+--+-- * 'aeStatus'+--+-- * 'aeLastStatusChange'+--+-- * 'aeExternalExecutionURL'+--+-- * 'aePercentComplete'+--+-- * 'aeErrorDetails'+--+-- * 'aeExternalExecutionId'+actionExecution+    :: ActionExecution+actionExecution =+    ActionExecution'+    { _aeSummary = Nothing+    , _aeStatus = Nothing+    , _aeLastStatusChange = Nothing+    , _aeExternalExecutionURL = Nothing+    , _aePercentComplete = Nothing+    , _aeErrorDetails = Nothing+    , _aeExternalExecutionId = Nothing+    }++-- | A summary of the run of the action.+aeSummary :: Lens' ActionExecution (Maybe Text)+aeSummary = lens _aeSummary (\ s a -> s{_aeSummary = a});++-- | The status of the action, or for a completed action, the last status of+-- the action.+aeStatus :: Lens' ActionExecution (Maybe ActionExecutionStatus)+aeStatus = lens _aeStatus (\ s a -> s{_aeStatus = a});++-- | The last status change of the action.+aeLastStatusChange :: Lens' ActionExecution (Maybe UTCTime)+aeLastStatusChange = lens _aeLastStatusChange (\ s a -> s{_aeLastStatusChange = a}) . mapping _Time;++-- | The URL of a resource external to AWS that will be used when running the+-- action, for example an external repository URL.+aeExternalExecutionURL :: Lens' ActionExecution (Maybe Text)+aeExternalExecutionURL = lens _aeExternalExecutionURL (\ s a -> s{_aeExternalExecutionURL = a});++-- | A percentage of completeness of the action as it runs.+aePercentComplete :: Lens' ActionExecution (Maybe Natural)+aePercentComplete = lens _aePercentComplete (\ s a -> s{_aePercentComplete = a}) . mapping _Nat;++-- | The details of an error returned by a URL external to AWS.+aeErrorDetails :: Lens' ActionExecution (Maybe ErrorDetails)+aeErrorDetails = lens _aeErrorDetails (\ s a -> s{_aeErrorDetails = a});++-- | The external ID of the run of the action.+aeExternalExecutionId :: Lens' ActionExecution (Maybe Text)+aeExternalExecutionId = lens _aeExternalExecutionId (\ s a -> s{_aeExternalExecutionId = a});++instance FromJSON ActionExecution where+        parseJSON+          = withObject "ActionExecution"+              (\ x ->+                 ActionExecution' <$>+                   (x .:? "summary") <*> (x .:? "status") <*>+                     (x .:? "lastStatusChange")+                     <*> (x .:? "externalExecutionUrl")+                     <*> (x .:? "percentComplete")+                     <*> (x .:? "errorDetails")+                     <*> (x .:? "externalExecutionId"))++-- | Represents information about the version (or revision) of an action.+--+-- /See:/ 'actionRevision' smart constructor.+data ActionRevision = ActionRevision'+    { _arRevisionChangeId :: !(Maybe Text)+    , _arRevisionId       :: !Text+    , _arCreated          :: !POSIX+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ActionRevision' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'arRevisionChangeId'+--+-- * 'arRevisionId'+--+-- * 'arCreated'+actionRevision+    :: Text -- ^ 'arRevisionId'+    -> UTCTime -- ^ 'arCreated'+    -> ActionRevision+actionRevision pRevisionId_ pCreated_ =+    ActionRevision'+    { _arRevisionChangeId = Nothing+    , _arRevisionId = pRevisionId_+    , _arCreated = _Time # pCreated_+    }++-- | The unique identifier of the change that set the state to this revision,+-- for example a deployment ID or timestamp.+arRevisionChangeId :: Lens' ActionRevision (Maybe Text)+arRevisionChangeId = lens _arRevisionChangeId (\ s a -> s{_arRevisionChangeId = a});++-- | The system-generated unique ID that identifies the revision number of+-- the action.+arRevisionId :: Lens' ActionRevision Text+arRevisionId = lens _arRevisionId (\ s a -> s{_arRevisionId = a});++-- | The date and time when the most recent version of the action was+-- created, in timestamp format.+arCreated :: Lens' ActionRevision UTCTime+arCreated = lens _arCreated (\ s a -> s{_arCreated = a}) . _Time;++instance FromJSON ActionRevision where+        parseJSON+          = withObject "ActionRevision"+              (\ x ->+                 ActionRevision' <$>+                   (x .:? "revisionChangeId") <*> (x .: "revisionId")+                     <*> (x .: "created"))++instance ToJSON ActionRevision where+        toJSON ActionRevision'{..}+          = object+              ["revisionChangeId" .= _arRevisionChangeId,+               "revisionId" .= _arRevisionId,+               "created" .= _arCreated]++-- | Represents information about the state of an action.+--+-- /See:/ 'actionState' smart constructor.+data ActionState = ActionState'+    { _asEntityURL       :: !(Maybe Text)+    , _asRevisionURL     :: !(Maybe Text)+    , _asActionName      :: !(Maybe Text)+    , _asCurrentRevision :: !(Maybe ActionRevision)+    , _asLatestExecution :: !(Maybe ActionExecution)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ActionState' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'asEntityURL'+--+-- * 'asRevisionURL'+--+-- * 'asActionName'+--+-- * 'asCurrentRevision'+--+-- * 'asLatestExecution'+actionState+    :: ActionState+actionState =+    ActionState'+    { _asEntityURL = Nothing+    , _asRevisionURL = Nothing+    , _asActionName = Nothing+    , _asCurrentRevision = Nothing+    , _asLatestExecution = Nothing+    }++-- | A URL link for more information about the state of the action, such as a+-- deployment group details page.+asEntityURL :: Lens' ActionState (Maybe Text)+asEntityURL = lens _asEntityURL (\ s a -> s{_asEntityURL = a});++-- | A URL link for more information about the revision, such as a commit+-- details page.+asRevisionURL :: Lens' ActionState (Maybe Text)+asRevisionURL = lens _asRevisionURL (\ s a -> s{_asRevisionURL = a});++-- | The name of the action.+asActionName :: Lens' ActionState (Maybe Text)+asActionName = lens _asActionName (\ s a -> s{_asActionName = a});++-- | Undocumented member.+asCurrentRevision :: Lens' ActionState (Maybe ActionRevision)+asCurrentRevision = lens _asCurrentRevision (\ s a -> s{_asCurrentRevision = a});++-- | Undocumented member.+asLatestExecution :: Lens' ActionState (Maybe ActionExecution)+asLatestExecution = lens _asLatestExecution (\ s a -> s{_asLatestExecution = a});++instance FromJSON ActionState where+        parseJSON+          = withObject "ActionState"+              (\ x ->+                 ActionState' <$>+                   (x .:? "entityUrl") <*> (x .:? "revisionUrl") <*>+                     (x .:? "actionName")+                     <*> (x .:? "currentRevision")+                     <*> (x .:? "latestExecution"))++-- | Returns information about the details of an action type.+--+-- /See:/ 'actionType' smart constructor.+data ActionType = ActionType'+    { _atSettings                      :: !(Maybe ActionTypeSettings)+    , _atActionConfigurationProperties :: !(Maybe [ActionConfigurationProperty])+    , _atId                            :: !ActionTypeId+    , _atInputArtifactDetails          :: !ArtifactDetails+    , _atOutputArtifactDetails         :: !ArtifactDetails+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ActionType' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'atSettings'+--+-- * 'atActionConfigurationProperties'+--+-- * 'atId'+--+-- * 'atInputArtifactDetails'+--+-- * 'atOutputArtifactDetails'+actionType+    :: ActionTypeId -- ^ 'atId'+    -> ArtifactDetails -- ^ 'atInputArtifactDetails'+    -> ArtifactDetails -- ^ 'atOutputArtifactDetails'+    -> ActionType+actionType pId_ pInputArtifactDetails_ pOutputArtifactDetails_ =+    ActionType'+    { _atSettings = Nothing+    , _atActionConfigurationProperties = Nothing+    , _atId = pId_+    , _atInputArtifactDetails = pInputArtifactDetails_+    , _atOutputArtifactDetails = pOutputArtifactDetails_+    }++-- | The settings for the action type.+atSettings :: Lens' ActionType (Maybe ActionTypeSettings)+atSettings = lens _atSettings (\ s a -> s{_atSettings = a});++-- | The configuration properties for the action type.+atActionConfigurationProperties :: Lens' ActionType [ActionConfigurationProperty]+atActionConfigurationProperties = lens _atActionConfigurationProperties (\ s a -> s{_atActionConfigurationProperties = a}) . _Default . _Coerce;++-- | Undocumented member.+atId :: Lens' ActionType ActionTypeId+atId = lens _atId (\ s a -> s{_atId = a});++-- | The details of the input artifact for the action, such as its commit ID.+atInputArtifactDetails :: Lens' ActionType ArtifactDetails+atInputArtifactDetails = lens _atInputArtifactDetails (\ s a -> s{_atInputArtifactDetails = a});++-- | The details of the output artifact of the action, such as its commit ID.+atOutputArtifactDetails :: Lens' ActionType ArtifactDetails+atOutputArtifactDetails = lens _atOutputArtifactDetails (\ s a -> s{_atOutputArtifactDetails = a});++instance FromJSON ActionType where+        parseJSON+          = withObject "ActionType"+              (\ x ->+                 ActionType' <$>+                   (x .:? "settings") <*>+                     (x .:? "actionConfigurationProperties" .!= mempty)+                     <*> (x .: "id")+                     <*> (x .: "inputArtifactDetails")+                     <*> (x .: "outputArtifactDetails"))++-- | Represents information about an action type.+--+-- /See:/ 'actionTypeId' smart constructor.+data ActionTypeId = ActionTypeId'+    { _atiCategory :: !ActionCategory+    , _atiOwner    :: !ActionOwner+    , _atiProvider :: !Text+    , _atiVersion  :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ActionTypeId' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'atiCategory'+--+-- * 'atiOwner'+--+-- * 'atiProvider'+--+-- * 'atiVersion'+actionTypeId+    :: ActionCategory -- ^ 'atiCategory'+    -> ActionOwner -- ^ 'atiOwner'+    -> Text -- ^ 'atiProvider'+    -> Text -- ^ 'atiVersion'+    -> ActionTypeId+actionTypeId pCategory_ pOwner_ pProvider_ pVersion_ =+    ActionTypeId'+    { _atiCategory = pCategory_+    , _atiOwner = pOwner_+    , _atiProvider = pProvider_+    , _atiVersion = pVersion_+    }++-- | A category defines what kind of action can be taken in the stage, and+-- constrains the provider type for the action. Valid categories are+-- limited to one of the values below.+atiCategory :: Lens' ActionTypeId ActionCategory+atiCategory = lens _atiCategory (\ s a -> s{_atiCategory = a});++-- | The creator of the action being called.+atiOwner :: Lens' ActionTypeId ActionOwner+atiOwner = lens _atiOwner (\ s a -> s{_atiOwner = a});++-- | The provider of the service being called by the action. Valid providers+-- are determined by the action category. For example, an action in the+-- Deploy category type might have a provider of AWS CodeDeploy, which+-- would be specified as CodeDeploy.+atiProvider :: Lens' ActionTypeId Text+atiProvider = lens _atiProvider (\ s a -> s{_atiProvider = a});++-- | A string that identifies the action type.+atiVersion :: Lens' ActionTypeId Text+atiVersion = lens _atiVersion (\ s a -> s{_atiVersion = a});++instance FromJSON ActionTypeId where+        parseJSON+          = withObject "ActionTypeId"+              (\ x ->+                 ActionTypeId' <$>+                   (x .: "category") <*> (x .: "owner") <*>+                     (x .: "provider")+                     <*> (x .: "version"))++instance ToJSON ActionTypeId where+        toJSON ActionTypeId'{..}+          = object+              ["category" .= _atiCategory, "owner" .= _atiOwner,+               "provider" .= _atiProvider, "version" .= _atiVersion]++-- | Returns information about the settings for an action type.+--+-- /See:/ 'actionTypeSettings' smart constructor.+data ActionTypeSettings = ActionTypeSettings'+    { _atsThirdPartyConfigurationURL :: !(Maybe Text)+    , _atsExecutionURLTemplate       :: !(Maybe Text)+    , _atsEntityURLTemplate          :: !(Maybe Text)+    , _atsRevisionURLTemplate        :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ActionTypeSettings' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'atsThirdPartyConfigurationURL'+--+-- * 'atsExecutionURLTemplate'+--+-- * 'atsEntityURLTemplate'+--+-- * 'atsRevisionURLTemplate'+actionTypeSettings+    :: ActionTypeSettings+actionTypeSettings =+    ActionTypeSettings'+    { _atsThirdPartyConfigurationURL = Nothing+    , _atsExecutionURLTemplate = Nothing+    , _atsEntityURLTemplate = Nothing+    , _atsRevisionURLTemplate = Nothing+    }++-- | The URL of a sign-up page where users can sign up for an external+-- service and perform initial configuration of the action provided by that+-- service.+atsThirdPartyConfigurationURL :: Lens' ActionTypeSettings (Maybe Text)+atsThirdPartyConfigurationURL = lens _atsThirdPartyConfigurationURL (\ s a -> s{_atsThirdPartyConfigurationURL = a});++-- | The URL returned to the AWS CodePipeline console that contains a link to+-- the top-level landing page for the external system, such as console page+-- for AWS CodeDeploy. This link is shown on the pipeline view page in the+-- AWS CodePipeline console and provides a link to the execution entity of+-- the external action.+atsExecutionURLTemplate :: Lens' ActionTypeSettings (Maybe Text)+atsExecutionURLTemplate = lens _atsExecutionURLTemplate (\ s a -> s{_atsExecutionURLTemplate = a});++-- | The URL returned to the AWS CodePipeline console that provides a deep+-- link to the resources of the external system, such as the configuration+-- page for an AWS CodeDeploy deployment group. This link is provided as+-- part of the action display within the pipeline.+atsEntityURLTemplate :: Lens' ActionTypeSettings (Maybe Text)+atsEntityURLTemplate = lens _atsEntityURLTemplate (\ s a -> s{_atsEntityURLTemplate = a});++-- | The URL returned to the AWS CodePipeline console that contains a link to+-- the page where customers can update or change the configuration of the+-- external action.+atsRevisionURLTemplate :: Lens' ActionTypeSettings (Maybe Text)+atsRevisionURLTemplate = lens _atsRevisionURLTemplate (\ s a -> s{_atsRevisionURLTemplate = a});++instance FromJSON ActionTypeSettings where+        parseJSON+          = withObject "ActionTypeSettings"+              (\ x ->+                 ActionTypeSettings' <$>+                   (x .:? "thirdPartyConfigurationUrl") <*>+                     (x .:? "executionUrlTemplate")+                     <*> (x .:? "entityUrlTemplate")+                     <*> (x .:? "revisionUrlTemplate"))++instance ToJSON ActionTypeSettings where+        toJSON ActionTypeSettings'{..}+          = object+              ["thirdPartyConfigurationUrl" .=+                 _atsThirdPartyConfigurationURL,+               "executionUrlTemplate" .= _atsExecutionURLTemplate,+               "entityUrlTemplate" .= _atsEntityURLTemplate,+               "revisionUrlTemplate" .= _atsRevisionURLTemplate]++-- | Represents information about an artifact that will be worked upon by+-- actions in the pipeline.+--+-- /See:/ 'artifact' smart constructor.+data Artifact = Artifact'+    { _aLocation :: !(Maybe ArtifactLocation)+    , _aName     :: !(Maybe Text)+    , _aRevision :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Artifact' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aLocation'+--+-- * 'aName'+--+-- * 'aRevision'+artifact+    :: Artifact+artifact =+    Artifact'+    { _aLocation = Nothing+    , _aName = Nothing+    , _aRevision = Nothing+    }++-- | The location of an artifact.+aLocation :: Lens' Artifact (Maybe ArtifactLocation)+aLocation = lens _aLocation (\ s a -> s{_aLocation = a});++-- | The artifact\'s name.+aName :: Lens' Artifact (Maybe Text)+aName = lens _aName (\ s a -> s{_aName = a});++-- | The artifact\'s revision ID. Depending on the type of object, this could+-- be a commit ID (GitHub) or a revision ID (Amazon S3).+aRevision :: Lens' Artifact (Maybe Text)+aRevision = lens _aRevision (\ s a -> s{_aRevision = a});++instance FromJSON Artifact where+        parseJSON+          = withObject "Artifact"+              (\ x ->+                 Artifact' <$>+                   (x .:? "location") <*> (x .:? "name") <*>+                     (x .:? "revision"))++-- | Returns information about the details of an artifact.+--+-- /See:/ 'artifactDetails' smart constructor.+data ArtifactDetails = ArtifactDetails'+    { _adMinimumCount :: !Nat+    , _adMaximumCount :: !Nat+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ArtifactDetails' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'adMinimumCount'+--+-- * 'adMaximumCount'+artifactDetails+    :: Natural -- ^ 'adMinimumCount'+    -> Natural -- ^ 'adMaximumCount'+    -> ArtifactDetails+artifactDetails pMinimumCount_ pMaximumCount_ =+    ArtifactDetails'+    { _adMinimumCount = _Nat # pMinimumCount_+    , _adMaximumCount = _Nat # pMaximumCount_+    }++-- | The minimum number of artifacts allowed for the action type.+adMinimumCount :: Lens' ArtifactDetails Natural+adMinimumCount = lens _adMinimumCount (\ s a -> s{_adMinimumCount = a}) . _Nat;++-- | The maximum number of artifacts allowed for the action type.+adMaximumCount :: Lens' ArtifactDetails Natural+adMaximumCount = lens _adMaximumCount (\ s a -> s{_adMaximumCount = a}) . _Nat;++instance FromJSON ArtifactDetails where+        parseJSON+          = withObject "ArtifactDetails"+              (\ x ->+                 ArtifactDetails' <$>+                   (x .: "minimumCount") <*> (x .: "maximumCount"))++instance ToJSON ArtifactDetails where+        toJSON ArtifactDetails'{..}+          = object+              ["minimumCount" .= _adMinimumCount,+               "maximumCount" .= _adMaximumCount]++-- | Represents information about the location of an artifact.+--+-- /See:/ 'artifactLocation' smart constructor.+data ArtifactLocation = ArtifactLocation'+    { _alS3Location :: !(Maybe S3ArtifactLocation)+    , _alType       :: !(Maybe ArtifactLocationType)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ArtifactLocation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'alS3Location'+--+-- * 'alType'+artifactLocation+    :: ArtifactLocation+artifactLocation =+    ArtifactLocation'+    { _alS3Location = Nothing+    , _alType = Nothing+    }++-- | The Amazon S3 bucket that contains the artifact.+alS3Location :: Lens' ArtifactLocation (Maybe S3ArtifactLocation)+alS3Location = lens _alS3Location (\ s a -> s{_alS3Location = a});++-- | The type of artifact in the location.+alType :: Lens' ArtifactLocation (Maybe ArtifactLocationType)+alType = lens _alType (\ s a -> s{_alType = a});++instance FromJSON ArtifactLocation where+        parseJSON+          = withObject "ArtifactLocation"+              (\ x ->+                 ArtifactLocation' <$>+                   (x .:? "s3Location") <*> (x .:? "type"))++-- | The Amazon S3 location where artifacts are stored for the pipeline. If+-- this Amazon S3 bucket is created manually, it must meet the requirements+-- for AWS CodePipeline. For more information, see the Concepts.+--+-- /See:/ 'artifactStore' smart constructor.+data ArtifactStore = ArtifactStore'+    { _asType     :: !ArtifactStoreType+    , _asLocation :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ArtifactStore' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'asType'+--+-- * 'asLocation'+artifactStore+    :: ArtifactStoreType -- ^ 'asType'+    -> Text -- ^ 'asLocation'+    -> ArtifactStore+artifactStore pType_ pLocation_ =+    ArtifactStore'+    { _asType = pType_+    , _asLocation = pLocation_+    }++-- | The type of the artifact store, such as S3.+asType :: Lens' ArtifactStore ArtifactStoreType+asType = lens _asType (\ s a -> s{_asType = a});++-- | The location for storing the artifacts for a pipeline, such as an S3+-- bucket or folder.+asLocation :: Lens' ArtifactStore Text+asLocation = lens _asLocation (\ s a -> s{_asLocation = a});++instance FromJSON ArtifactStore where+        parseJSON+          = withObject "ArtifactStore"+              (\ x ->+                 ArtifactStore' <$>+                   (x .: "type") <*> (x .: "location"))++instance ToJSON ArtifactStore where+        toJSON ArtifactStore'{..}+          = object+              ["type" .= _asType, "location" .= _asLocation]++-- | Represents information about a gate declaration.+--+-- /See:/ 'blockerDeclaration' smart constructor.+data BlockerDeclaration = BlockerDeclaration'+    { _bdName :: !Text+    , _bdType :: !BlockerType+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'BlockerDeclaration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bdName'+--+-- * 'bdType'+blockerDeclaration+    :: Text -- ^ 'bdName'+    -> BlockerType -- ^ 'bdType'+    -> BlockerDeclaration+blockerDeclaration pName_ pType_ =+    BlockerDeclaration'+    { _bdName = pName_+    , _bdType = pType_+    }++-- | The name of the gate declaration.+bdName :: Lens' BlockerDeclaration Text+bdName = lens _bdName (\ s a -> s{_bdName = a});++-- | The type of the gate declaration.+bdType :: Lens' BlockerDeclaration BlockerType+bdType = lens _bdType (\ s a -> s{_bdType = a});++instance FromJSON BlockerDeclaration where+        parseJSON+          = withObject "BlockerDeclaration"+              (\ x ->+                 BlockerDeclaration' <$>+                   (x .: "name") <*> (x .: "type"))++instance ToJSON BlockerDeclaration where+        toJSON BlockerDeclaration'{..}+          = object ["name" .= _bdName, "type" .= _bdType]++-- | Represents information about a current revision.+--+-- /See:/ 'currentRevision' smart constructor.+data CurrentRevision = CurrentRevision'+    { _crRevision         :: !Text+    , _crChangeIdentifier :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CurrentRevision' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'crRevision'+--+-- * 'crChangeIdentifier'+currentRevision+    :: Text -- ^ 'crRevision'+    -> Text -- ^ 'crChangeIdentifier'+    -> CurrentRevision+currentRevision pRevision_ pChangeIdentifier_ =+    CurrentRevision'+    { _crRevision = pRevision_+    , _crChangeIdentifier = pChangeIdentifier_+    }++-- | The revision ID of the current version of an artifact.+crRevision :: Lens' CurrentRevision Text+crRevision = lens _crRevision (\ s a -> s{_crRevision = a});++-- | The change identifier for the current revision.+crChangeIdentifier :: Lens' CurrentRevision Text+crChangeIdentifier = lens _crChangeIdentifier (\ s a -> s{_crChangeIdentifier = a});++instance ToJSON CurrentRevision where+        toJSON CurrentRevision'{..}+          = object+              ["revision" .= _crRevision,+               "changeIdentifier" .= _crChangeIdentifier]++-- | Represents information about an error in AWS CodePipeline.+--+-- /See:/ 'errorDetails' smart constructor.+data ErrorDetails = ErrorDetails'+    { _edCode    :: !(Maybe Text)+    , _edMessage :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ErrorDetails' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'edCode'+--+-- * 'edMessage'+errorDetails+    :: ErrorDetails+errorDetails =+    ErrorDetails'+    { _edCode = Nothing+    , _edMessage = Nothing+    }++-- | The system ID or error number code of the error.+edCode :: Lens' ErrorDetails (Maybe Text)+edCode = lens _edCode (\ s a -> s{_edCode = a});++-- | The text of the error message.+edMessage :: Lens' ErrorDetails (Maybe Text)+edMessage = lens _edMessage (\ s a -> s{_edMessage = a});++instance FromJSON ErrorDetails where+        parseJSON+          = withObject "ErrorDetails"+              (\ x ->+                 ErrorDetails' <$>+                   (x .:? "code") <*> (x .:? "message"))++-- | The details of the actions taken and results produced on an artifact as+-- it passes through stages in the pipeline.+--+-- /See:/ 'executionDetails' smart constructor.+data ExecutionDetails = ExecutionDetails'+    { _edSummary             :: !(Maybe Text)+    , _edPercentComplete     :: !(Maybe Nat)+    , _edExternalExecutionId :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ExecutionDetails' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'edSummary'+--+-- * 'edPercentComplete'+--+-- * 'edExternalExecutionId'+executionDetails+    :: ExecutionDetails+executionDetails =+    ExecutionDetails'+    { _edSummary = Nothing+    , _edPercentComplete = Nothing+    , _edExternalExecutionId = Nothing+    }++-- | The summary of the current status of the actions.+edSummary :: Lens' ExecutionDetails (Maybe Text)+edSummary = lens _edSummary (\ s a -> s{_edSummary = a});++-- | The percentage of work completed on the action, represented on a scale+-- of zero to one hundred percent.+edPercentComplete :: Lens' ExecutionDetails (Maybe Natural)+edPercentComplete = lens _edPercentComplete (\ s a -> s{_edPercentComplete = a}) . mapping _Nat;++-- | The system-generated unique ID of this action used to identify this job+-- worker in any external systems, such as AWS CodeDeploy.+edExternalExecutionId :: Lens' ExecutionDetails (Maybe Text)+edExternalExecutionId = lens _edExternalExecutionId (\ s a -> s{_edExternalExecutionId = a});++instance ToJSON ExecutionDetails where+        toJSON ExecutionDetails'{..}+          = object+              ["summary" .= _edSummary,+               "percentComplete" .= _edPercentComplete,+               "externalExecutionId" .= _edExternalExecutionId]++-- | Represents information about failure details.+--+-- /See:/ 'failureDetails' smart constructor.+data FailureDetails = FailureDetails'+    { _fdExternalExecutionId :: !(Maybe Text)+    , _fdMessage             :: !(Maybe Text)+    , _fdType                :: !FailureType+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'FailureDetails' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fdExternalExecutionId'+--+-- * 'fdMessage'+--+-- * 'fdType'+failureDetails+    :: FailureType -- ^ 'fdType'+    -> FailureDetails+failureDetails pType_ =+    FailureDetails'+    { _fdExternalExecutionId = Nothing+    , _fdMessage = Nothing+    , _fdType = pType_+    }++-- | The external ID of the run of the action that failed.+fdExternalExecutionId :: Lens' FailureDetails (Maybe Text)+fdExternalExecutionId = lens _fdExternalExecutionId (\ s a -> s{_fdExternalExecutionId = a});++-- | The message about the failure.+fdMessage :: Lens' FailureDetails (Maybe Text)+fdMessage = lens _fdMessage (\ s a -> s{_fdMessage = a});++-- | The type of the failure.+fdType :: Lens' FailureDetails FailureType+fdType = lens _fdType (\ s a -> s{_fdType = a});++instance ToJSON FailureDetails where+        toJSON FailureDetails'{..}+          = object+              ["externalExecutionId" .= _fdExternalExecutionId,+               "message" .= _fdMessage, "type" .= _fdType]++-- | Represents information about an artifact to be worked on, such as a test+-- or build artifact.+--+-- /See:/ 'inputArtifact' smart constructor.+newtype InputArtifact = InputArtifact'+    { _iaName :: Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'InputArtifact' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iaName'+inputArtifact+    :: Text -- ^ 'iaName'+    -> InputArtifact+inputArtifact pName_ =+    InputArtifact'+    { _iaName = pName_+    }++-- | The name of the artifact to be worked on, for example, \"My App\".+--+-- The input artifact of an action must exactly match the output artifact+-- declared in a preceding action, but the input artifact does not have to+-- be the next action in strict sequence from the action that provided the+-- output artifact. Actions in parallel can declare different output+-- artifacts, which are in turn consumed by different following actions.+iaName :: Lens' InputArtifact Text+iaName = lens _iaName (\ s a -> s{_iaName = a});++instance FromJSON InputArtifact where+        parseJSON+          = withObject "InputArtifact"+              (\ x -> InputArtifact' <$> (x .: "name"))++instance ToJSON InputArtifact where+        toJSON InputArtifact'{..}+          = object ["name" .= _iaName]++-- | Represents information about a job.+--+-- /See:/ 'job' smart constructor.+data Job = Job'+    { _jData      :: !(Maybe JobData)+    , _jAccountId :: !(Maybe Text)+    , _jId        :: !(Maybe Text)+    , _jNonce     :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Job' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'jData'+--+-- * 'jAccountId'+--+-- * 'jId'+--+-- * 'jNonce'+job+    :: Job+job =+    Job'+    { _jData = Nothing+    , _jAccountId = Nothing+    , _jId = Nothing+    , _jNonce = Nothing+    }++-- | Additional data about a job.+jData :: Lens' Job (Maybe JobData)+jData = lens _jData (\ s a -> s{_jData = a});++-- | The ID of the AWS account to use when performing the job.+jAccountId :: Lens' Job (Maybe Text)+jAccountId = lens _jAccountId (\ s a -> s{_jAccountId = a});++-- | The unique system-generated ID of the job.+jId :: Lens' Job (Maybe Text)+jId = lens _jId (\ s a -> s{_jId = a});++-- | A system-generated random number that AWS CodePipeline uses to ensure+-- that the job is being worked on by only one job worker. This number must+-- be returned in the response.+jNonce :: Lens' Job (Maybe Text)+jNonce = lens _jNonce (\ s a -> s{_jNonce = a});++instance FromJSON Job where+        parseJSON+          = withObject "Job"+              (\ x ->+                 Job' <$>+                   (x .:? "data") <*> (x .:? "accountId") <*>+                     (x .:? "id")+                     <*> (x .:? "nonce"))++-- | Represents additional information about a job required for a job worker+-- to complete the job.+--+-- /See:/ 'jobData' smart constructor.+data JobData = JobData'+    { _jdContinuationToken   :: !(Maybe Text)+    , _jdOutputArtifacts     :: !(Maybe [Artifact])+    , _jdArtifactCredentials :: !(Maybe (Sensitive AWSSessionCredentials))+    , _jdPipelineContext     :: !(Maybe PipelineContext)+    , _jdActionTypeId        :: !(Maybe ActionTypeId)+    , _jdInputArtifacts      :: !(Maybe [Artifact])+    , _jdActionConfiguration :: !(Maybe ActionConfiguration)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'JobData' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'jdContinuationToken'+--+-- * 'jdOutputArtifacts'+--+-- * 'jdArtifactCredentials'+--+-- * 'jdPipelineContext'+--+-- * 'jdActionTypeId'+--+-- * 'jdInputArtifacts'+--+-- * 'jdActionConfiguration'+jobData+    :: JobData+jobData =+    JobData'+    { _jdContinuationToken = Nothing+    , _jdOutputArtifacts = Nothing+    , _jdArtifactCredentials = Nothing+    , _jdPipelineContext = Nothing+    , _jdActionTypeId = Nothing+    , _jdInputArtifacts = Nothing+    , _jdActionConfiguration = Nothing+    }++-- | A system-generated token, such as a AWS CodeDeploy deployment ID, that a+-- job requires in order to continue the job asynchronously.+jdContinuationToken :: Lens' JobData (Maybe Text)+jdContinuationToken = lens _jdContinuationToken (\ s a -> s{_jdContinuationToken = a});++-- | The output of the job.+jdOutputArtifacts :: Lens' JobData [Artifact]+jdOutputArtifacts = lens _jdOutputArtifacts (\ s a -> s{_jdOutputArtifacts = a}) . _Default . _Coerce;++-- | Undocumented member.+jdArtifactCredentials :: Lens' JobData (Maybe AWSSessionCredentials)+jdArtifactCredentials = lens _jdArtifactCredentials (\ s a -> s{_jdArtifactCredentials = a}) . mapping _Sensitive;++-- | Undocumented member.+jdPipelineContext :: Lens' JobData (Maybe PipelineContext)+jdPipelineContext = lens _jdPipelineContext (\ s a -> s{_jdPipelineContext = a});++-- | Undocumented member.+jdActionTypeId :: Lens' JobData (Maybe ActionTypeId)+jdActionTypeId = lens _jdActionTypeId (\ s a -> s{_jdActionTypeId = a});++-- | The artifact supplied to the job.+jdInputArtifacts :: Lens' JobData [Artifact]+jdInputArtifacts = lens _jdInputArtifacts (\ s a -> s{_jdInputArtifacts = a}) . _Default . _Coerce;++-- | Undocumented member.+jdActionConfiguration :: Lens' JobData (Maybe ActionConfiguration)+jdActionConfiguration = lens _jdActionConfiguration (\ s a -> s{_jdActionConfiguration = a});++instance FromJSON JobData where+        parseJSON+          = withObject "JobData"+              (\ x ->+                 JobData' <$>+                   (x .:? "continuationToken") <*>+                     (x .:? "outputArtifacts" .!= mempty)+                     <*> (x .:? "artifactCredentials")+                     <*> (x .:? "pipelineContext")+                     <*> (x .:? "actionTypeId")+                     <*> (x .:? "inputArtifacts" .!= mempty)+                     <*> (x .:? "actionConfiguration"))++-- | Represents information about the details of a job.+--+-- /See:/ 'jobDetails' smart constructor.+data JobDetails = JobDetails'+    { _jdData      :: !(Maybe JobData)+    , _jdAccountId :: !(Maybe Text)+    , _jdId        :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'JobDetails' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'jdData'+--+-- * 'jdAccountId'+--+-- * 'jdId'+jobDetails+    :: JobDetails+jobDetails =+    JobDetails'+    { _jdData = Nothing+    , _jdAccountId = Nothing+    , _jdId = Nothing+    }++-- | Undocumented member.+jdData :: Lens' JobDetails (Maybe JobData)+jdData = lens _jdData (\ s a -> s{_jdData = a});++-- | The AWS account ID associated with the job.+jdAccountId :: Lens' JobDetails (Maybe Text)+jdAccountId = lens _jdAccountId (\ s a -> s{_jdAccountId = a});++-- | The unique system-generated ID of the job.+jdId :: Lens' JobDetails (Maybe Text)+jdId = lens _jdId (\ s a -> s{_jdId = a});++instance FromJSON JobDetails where+        parseJSON+          = withObject "JobDetails"+              (\ x ->+                 JobDetails' <$>+                   (x .:? "data") <*> (x .:? "accountId") <*>+                     (x .:? "id"))++-- | Represents information about the output of an action.+--+-- /See:/ 'outputArtifact' smart constructor.+newtype OutputArtifact = OutputArtifact'+    { _oaName :: Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'OutputArtifact' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'oaName'+outputArtifact+    :: Text -- ^ 'oaName'+    -> OutputArtifact+outputArtifact pName_ =+    OutputArtifact'+    { _oaName = pName_+    }++-- | The name of the output of an artifact, such as \"My App\".+--+-- The input artifact of an action must exactly match the output artifact+-- declared in a preceding action, but the input artifact does not have to+-- be the next action in strict sequence from the action that provided the+-- output artifact. Actions in parallel can declare different output+-- artifacts, which are in turn consumed by different following actions.+--+-- Output artifact names must be unique within a pipeline.+oaName :: Lens' OutputArtifact Text+oaName = lens _oaName (\ s a -> s{_oaName = a});++instance FromJSON OutputArtifact where+        parseJSON+          = withObject "OutputArtifact"+              (\ x -> OutputArtifact' <$> (x .: "name"))++instance ToJSON OutputArtifact where+        toJSON OutputArtifact'{..}+          = object ["name" .= _oaName]++-- | Represents information about a pipeline to a job worker.+--+-- /See:/ 'pipelineContext' smart constructor.+data PipelineContext = PipelineContext'+    { _pcStage        :: !(Maybe StageContext)+    , _pcPipelineName :: !(Maybe Text)+    , _pcAction       :: !(Maybe ActionContext)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'PipelineContext' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pcStage'+--+-- * 'pcPipelineName'+--+-- * 'pcAction'+pipelineContext+    :: PipelineContext+pipelineContext =+    PipelineContext'+    { _pcStage = Nothing+    , _pcPipelineName = Nothing+    , _pcAction = Nothing+    }++-- | The stage of the pipeline.+pcStage :: Lens' PipelineContext (Maybe StageContext)+pcStage = lens _pcStage (\ s a -> s{_pcStage = a});++-- | The name of the pipeline. This is a user-specified value. Pipeline names+-- must be unique across all pipeline names under an Amazon Web Services+-- account.+pcPipelineName :: Lens' PipelineContext (Maybe Text)+pcPipelineName = lens _pcPipelineName (\ s a -> s{_pcPipelineName = a});++-- | Undocumented member.+pcAction :: Lens' PipelineContext (Maybe ActionContext)+pcAction = lens _pcAction (\ s a -> s{_pcAction = a});++instance FromJSON PipelineContext where+        parseJSON+          = withObject "PipelineContext"+              (\ x ->+                 PipelineContext' <$>+                   (x .:? "stage") <*> (x .:? "pipelineName") <*>+                     (x .:? "action"))++-- | Represents the structure of actions and stages to be performed in the+-- pipeline.+--+-- /See:/ 'pipelineDeclaration' smart constructor.+data PipelineDeclaration = PipelineDeclaration'+    { _pdVersion       :: !(Maybe Nat)+    , _pdName          :: !Text+    , _pdRoleARN       :: !Text+    , _pdArtifactStore :: !ArtifactStore+    , _pdStages        :: ![StageDeclaration]+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'PipelineDeclaration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pdVersion'+--+-- * 'pdName'+--+-- * 'pdRoleARN'+--+-- * 'pdArtifactStore'+--+-- * 'pdStages'+pipelineDeclaration+    :: Text -- ^ 'pdName'+    -> Text -- ^ 'pdRoleARN'+    -> ArtifactStore -- ^ 'pdArtifactStore'+    -> PipelineDeclaration+pipelineDeclaration pName_ pRoleARN_ pArtifactStore_ =+    PipelineDeclaration'+    { _pdVersion = Nothing+    , _pdName = pName_+    , _pdRoleARN = pRoleARN_+    , _pdArtifactStore = pArtifactStore_+    , _pdStages = mempty+    }++-- | The version number of the pipeline. A new pipeline always has a version+-- number of 1. This number is automatically incremented when a pipeline is+-- updated.+pdVersion :: Lens' PipelineDeclaration (Maybe Natural)+pdVersion = lens _pdVersion (\ s a -> s{_pdVersion = a}) . mapping _Nat;++-- | The name of the action to be performed.+pdName :: Lens' PipelineDeclaration Text+pdName = lens _pdName (\ s a -> s{_pdName = a});++-- | The Amazon Resource Name (ARN) for AWS CodePipeline to use to either+-- perform actions with no actionRoleArn, or to use to assume roles for+-- actions with an actionRoleArn.+pdRoleARN :: Lens' PipelineDeclaration Text+pdRoleARN = lens _pdRoleARN (\ s a -> s{_pdRoleARN = a});++-- | Undocumented member.+pdArtifactStore :: Lens' PipelineDeclaration ArtifactStore+pdArtifactStore = lens _pdArtifactStore (\ s a -> s{_pdArtifactStore = a});++-- | The stage in which to perform the action.+pdStages :: Lens' PipelineDeclaration [StageDeclaration]+pdStages = lens _pdStages (\ s a -> s{_pdStages = a}) . _Coerce;++instance FromJSON PipelineDeclaration where+        parseJSON+          = withObject "PipelineDeclaration"+              (\ x ->+                 PipelineDeclaration' <$>+                   (x .:? "version") <*> (x .: "name") <*>+                     (x .: "roleArn")+                     <*> (x .: "artifactStore")+                     <*> (x .:? "stages" .!= mempty))++instance ToJSON PipelineDeclaration where+        toJSON PipelineDeclaration'{..}+          = object+              ["version" .= _pdVersion, "name" .= _pdName,+               "roleArn" .= _pdRoleARN,+               "artifactStore" .= _pdArtifactStore,+               "stages" .= _pdStages]++-- | Returns a summary of a pipeline.+--+-- /See:/ 'pipelineSummary' smart constructor.+data PipelineSummary = PipelineSummary'+    { _psCreated :: !(Maybe POSIX)+    , _psName    :: !(Maybe Text)+    , _psVersion :: !(Maybe Nat)+    , _psUpdated :: !(Maybe POSIX)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'PipelineSummary' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'psCreated'+--+-- * 'psName'+--+-- * 'psVersion'+--+-- * 'psUpdated'+pipelineSummary+    :: PipelineSummary+pipelineSummary =+    PipelineSummary'+    { _psCreated = Nothing+    , _psName = Nothing+    , _psVersion = Nothing+    , _psUpdated = Nothing+    }++-- | The date and time the pipeline was created, in timestamp format.+psCreated :: Lens' PipelineSummary (Maybe UTCTime)+psCreated = lens _psCreated (\ s a -> s{_psCreated = a}) . mapping _Time;++-- | The name of the pipeline.+psName :: Lens' PipelineSummary (Maybe Text)+psName = lens _psName (\ s a -> s{_psName = a});++-- | The version number of the pipeline.+psVersion :: Lens' PipelineSummary (Maybe Natural)+psVersion = lens _psVersion (\ s a -> s{_psVersion = a}) . mapping _Nat;++-- | The date and time of the last update to the pipeline, in timestamp+-- format.+psUpdated :: Lens' PipelineSummary (Maybe UTCTime)+psUpdated = lens _psUpdated (\ s a -> s{_psUpdated = a}) . mapping _Time;++instance FromJSON PipelineSummary where+        parseJSON+          = withObject "PipelineSummary"+              (\ x ->+                 PipelineSummary' <$>+                   (x .:? "created") <*> (x .:? "name") <*>+                     (x .:? "version")+                     <*> (x .:? "updated"))++-- | The location of the Amazon S3 bucket that contains a revision.+--+-- /See:/ 's3ArtifactLocation' smart constructor.+data S3ArtifactLocation = S3ArtifactLocation'+    { _salBucketName :: !Text+    , _salObjectKey  :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'S3ArtifactLocation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'salBucketName'+--+-- * 'salObjectKey'+s3ArtifactLocation+    :: Text -- ^ 'salBucketName'+    -> Text -- ^ 'salObjectKey'+    -> S3ArtifactLocation+s3ArtifactLocation pBucketName_ pObjectKey_ =+    S3ArtifactLocation'+    { _salBucketName = pBucketName_+    , _salObjectKey = pObjectKey_+    }++-- | The name of the Amazon S3 bucket.+salBucketName :: Lens' S3ArtifactLocation Text+salBucketName = lens _salBucketName (\ s a -> s{_salBucketName = a});++-- | The key of the object in the Amazon S3 bucket, which uniquely identifies+-- the object in the bucket.+salObjectKey :: Lens' S3ArtifactLocation Text+salObjectKey = lens _salObjectKey (\ s a -> s{_salObjectKey = a});++instance FromJSON S3ArtifactLocation where+        parseJSON+          = withObject "S3ArtifactLocation"+              (\ x ->+                 S3ArtifactLocation' <$>+                   (x .: "bucketName") <*> (x .: "objectKey"))++-- | Represents information about a stage to a job worker.+--+-- /See:/ 'stageContext' smart constructor.+newtype StageContext = StageContext'+    { _scName :: Maybe Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'StageContext' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'scName'+stageContext+    :: StageContext+stageContext =+    StageContext'+    { _scName = Nothing+    }++-- | The name of the stage.+scName :: Lens' StageContext (Maybe Text)+scName = lens _scName (\ s a -> s{_scName = a});++instance FromJSON StageContext where+        parseJSON+          = withObject "StageContext"+              (\ x -> StageContext' <$> (x .:? "name"))++-- | Represents information about a stage and its definition.+--+-- /See:/ 'stageDeclaration' smart constructor.+data StageDeclaration = StageDeclaration'+    { _sdBlockers :: !(Maybe [BlockerDeclaration])+    , _sdName     :: !Text+    , _sdActions  :: ![ActionDeclaration]+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'StageDeclaration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sdBlockers'+--+-- * 'sdName'+--+-- * 'sdActions'+stageDeclaration+    :: Text -- ^ 'sdName'+    -> StageDeclaration+stageDeclaration pName_ =+    StageDeclaration'+    { _sdBlockers = Nothing+    , _sdName = pName_+    , _sdActions = mempty+    }++-- | The gates included in a stage.+sdBlockers :: Lens' StageDeclaration [BlockerDeclaration]+sdBlockers = lens _sdBlockers (\ s a -> s{_sdBlockers = a}) . _Default . _Coerce;++-- | The name of the stage.+sdName :: Lens' StageDeclaration Text+sdName = lens _sdName (\ s a -> s{_sdName = a});++-- | The actions included in a stage.+sdActions :: Lens' StageDeclaration [ActionDeclaration]+sdActions = lens _sdActions (\ s a -> s{_sdActions = a}) . _Coerce;++instance FromJSON StageDeclaration where+        parseJSON+          = withObject "StageDeclaration"+              (\ x ->+                 StageDeclaration' <$>+                   (x .:? "blockers" .!= mempty) <*> (x .: "name") <*>+                     (x .:? "actions" .!= mempty))++instance ToJSON StageDeclaration where+        toJSON StageDeclaration'{..}+          = object+              ["blockers" .= _sdBlockers, "name" .= _sdName,+               "actions" .= _sdActions]++-- | Represents information about the state of the stage.+--+-- /See:/ 'stageState' smart constructor.+data StageState = StageState'+    { _ssInboundTransitionState :: !(Maybe TransitionState)+    , _ssActionStates           :: !(Maybe [ActionState])+    , _ssStageName              :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'StageState' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ssInboundTransitionState'+--+-- * 'ssActionStates'+--+-- * 'ssStageName'+stageState+    :: StageState+stageState =+    StageState'+    { _ssInboundTransitionState = Nothing+    , _ssActionStates = Nothing+    , _ssStageName = Nothing+    }++-- | The state of the inbound transition, which is either enabled or+-- disabled.+ssInboundTransitionState :: Lens' StageState (Maybe TransitionState)+ssInboundTransitionState = lens _ssInboundTransitionState (\ s a -> s{_ssInboundTransitionState = a});++-- | The state of the stage.+ssActionStates :: Lens' StageState [ActionState]+ssActionStates = lens _ssActionStates (\ s a -> s{_ssActionStates = a}) . _Default . _Coerce;++-- | The name of the stage.+ssStageName :: Lens' StageState (Maybe Text)+ssStageName = lens _ssStageName (\ s a -> s{_ssStageName = a});++instance FromJSON StageState where+        parseJSON+          = withObject "StageState"+              (\ x ->+                 StageState' <$>+                   (x .:? "inboundTransitionState") <*>+                     (x .:? "actionStates" .!= mempty)+                     <*> (x .:? "stageName"))++-- | A response to a PollForThirdPartyJobs request returned by AWS+-- CodePipeline when there is a job to be worked upon by a partner action.+--+-- /See:/ 'thirdPartyJob' smart constructor.+data ThirdPartyJob = ThirdPartyJob'+    { _tpjClientId :: !(Maybe Text)+    , _tpjJobId    :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ThirdPartyJob' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tpjClientId'+--+-- * 'tpjJobId'+thirdPartyJob+    :: ThirdPartyJob+thirdPartyJob =+    ThirdPartyJob'+    { _tpjClientId = Nothing+    , _tpjJobId = Nothing+    }++-- | The clientToken portion of the clientId and clientToken pair used to+-- verify that the calling entity is allowed access to the job and its+-- details.+tpjClientId :: Lens' ThirdPartyJob (Maybe Text)+tpjClientId = lens _tpjClientId (\ s a -> s{_tpjClientId = a});++-- | The identifier used to identify the job in AWS CodePipeline.+tpjJobId :: Lens' ThirdPartyJob (Maybe Text)+tpjJobId = lens _tpjJobId (\ s a -> s{_tpjJobId = a});++instance FromJSON ThirdPartyJob where+        parseJSON+          = withObject "ThirdPartyJob"+              (\ x ->+                 ThirdPartyJob' <$>+                   (x .:? "clientId") <*> (x .:? "jobId"))++-- | Represents information about the job data for a partner action.+--+-- /See:/ 'thirdPartyJobData' smart constructor.+data ThirdPartyJobData = ThirdPartyJobData'+    { _tpjdContinuationToken   :: !(Maybe Text)+    , _tpjdOutputArtifacts     :: !(Maybe [Artifact])+    , _tpjdArtifactCredentials :: !(Maybe (Sensitive AWSSessionCredentials))+    , _tpjdPipelineContext     :: !(Maybe PipelineContext)+    , _tpjdActionTypeId        :: !(Maybe ActionTypeId)+    , _tpjdInputArtifacts      :: !(Maybe [Artifact])+    , _tpjdActionConfiguration :: !(Maybe ActionConfiguration)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ThirdPartyJobData' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tpjdContinuationToken'+--+-- * 'tpjdOutputArtifacts'+--+-- * 'tpjdArtifactCredentials'+--+-- * 'tpjdPipelineContext'+--+-- * 'tpjdActionTypeId'+--+-- * 'tpjdInputArtifacts'+--+-- * 'tpjdActionConfiguration'+thirdPartyJobData+    :: ThirdPartyJobData+thirdPartyJobData =+    ThirdPartyJobData'+    { _tpjdContinuationToken = Nothing+    , _tpjdOutputArtifacts = Nothing+    , _tpjdArtifactCredentials = Nothing+    , _tpjdPipelineContext = Nothing+    , _tpjdActionTypeId = Nothing+    , _tpjdInputArtifacts = Nothing+    , _tpjdActionConfiguration = Nothing+    }++-- | A system-generated token, such as a AWS CodeDeploy deployment ID, that a+-- job requires in order to continue the job asynchronously.+tpjdContinuationToken :: Lens' ThirdPartyJobData (Maybe Text)+tpjdContinuationToken = lens _tpjdContinuationToken (\ s a -> s{_tpjdContinuationToken = a});++-- | The name of the artifact that will be the result of the action, if any.+-- This name might be system-generated, such as \"MyBuiltApp\", or might be+-- defined by the user when the action is created.+tpjdOutputArtifacts :: Lens' ThirdPartyJobData [Artifact]+tpjdOutputArtifacts = lens _tpjdOutputArtifacts (\ s a -> s{_tpjdOutputArtifacts = a}) . _Default . _Coerce;++-- | Undocumented member.+tpjdArtifactCredentials :: Lens' ThirdPartyJobData (Maybe AWSSessionCredentials)+tpjdArtifactCredentials = lens _tpjdArtifactCredentials (\ s a -> s{_tpjdArtifactCredentials = a}) . mapping _Sensitive;++-- | Undocumented member.+tpjdPipelineContext :: Lens' ThirdPartyJobData (Maybe PipelineContext)+tpjdPipelineContext = lens _tpjdPipelineContext (\ s a -> s{_tpjdPipelineContext = a});++-- | Undocumented member.+tpjdActionTypeId :: Lens' ThirdPartyJobData (Maybe ActionTypeId)+tpjdActionTypeId = lens _tpjdActionTypeId (\ s a -> s{_tpjdActionTypeId = a});++-- | The name of the artifact that will be worked upon by the action, if any.+-- This name might be system-generated, such as \"MyApp\", or might be+-- defined by the user when the action is created. The input artifact name+-- must match the name of an output artifact generated by an action in an+-- earlier action or stage of the pipeline.+tpjdInputArtifacts :: Lens' ThirdPartyJobData [Artifact]+tpjdInputArtifacts = lens _tpjdInputArtifacts (\ s a -> s{_tpjdInputArtifacts = a}) . _Default . _Coerce;++-- | Undocumented member.+tpjdActionConfiguration :: Lens' ThirdPartyJobData (Maybe ActionConfiguration)+tpjdActionConfiguration = lens _tpjdActionConfiguration (\ s a -> s{_tpjdActionConfiguration = a});++instance FromJSON ThirdPartyJobData where+        parseJSON+          = withObject "ThirdPartyJobData"+              (\ x ->+                 ThirdPartyJobData' <$>+                   (x .:? "continuationToken") <*>+                     (x .:? "outputArtifacts" .!= mempty)+                     <*> (x .:? "artifactCredentials")+                     <*> (x .:? "pipelineContext")+                     <*> (x .:? "actionTypeId")+                     <*> (x .:? "inputArtifacts" .!= mempty)+                     <*> (x .:? "actionConfiguration"))++-- | The details of a job sent in response to a GetThirdPartyJobDetails+-- request.+--+-- /See:/ 'thirdPartyJobDetails' smart constructor.+data ThirdPartyJobDetails = ThirdPartyJobDetails'+    { _tpjdData  :: !(Maybe ThirdPartyJobData)+    , _tpjdId    :: !(Maybe Text)+    , _tpjdNonce :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ThirdPartyJobDetails' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tpjdData'+--+-- * 'tpjdId'+--+-- * 'tpjdNonce'+thirdPartyJobDetails+    :: ThirdPartyJobDetails+thirdPartyJobDetails =+    ThirdPartyJobDetails'+    { _tpjdData = Nothing+    , _tpjdId = Nothing+    , _tpjdNonce = Nothing+    }++-- | The data to be returned by the third party job worker.+tpjdData :: Lens' ThirdPartyJobDetails (Maybe ThirdPartyJobData)+tpjdData = lens _tpjdData (\ s a -> s{_tpjdData = a});++-- | The identifier used to identify the job details in AWS CodePipeline.+tpjdId :: Lens' ThirdPartyJobDetails (Maybe Text)+tpjdId = lens _tpjdId (\ s a -> s{_tpjdId = a});++-- | A system-generated random number that AWS CodePipeline uses to ensure+-- that the job is being worked on by only one job worker. This number must+-- be returned in the response.+tpjdNonce :: Lens' ThirdPartyJobDetails (Maybe Text)+tpjdNonce = lens _tpjdNonce (\ s a -> s{_tpjdNonce = a});++instance FromJSON ThirdPartyJobDetails where+        parseJSON+          = withObject "ThirdPartyJobDetails"+              (\ x ->+                 ThirdPartyJobDetails' <$>+                   (x .:? "data") <*> (x .:? "id") <*> (x .:? "nonce"))++-- | Represents information about the state of transitions between one stage+-- and another stage.+--+-- /See:/ 'transitionState' smart constructor.+data TransitionState = TransitionState'+    { _tsEnabled        :: !(Maybe Bool)+    , _tsDisabledReason :: !(Maybe Text)+    , _tsLastChangedAt  :: !(Maybe POSIX)+    , _tsLastChangedBy  :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'TransitionState' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tsEnabled'+--+-- * 'tsDisabledReason'+--+-- * 'tsLastChangedAt'+--+-- * 'tsLastChangedBy'+transitionState+    :: TransitionState+transitionState =+    TransitionState'+    { _tsEnabled = Nothing+    , _tsDisabledReason = Nothing+    , _tsLastChangedAt = Nothing+    , _tsLastChangedBy = Nothing+    }++-- | Whether the transition between stages is enabled (true) or disabled+-- (false).+tsEnabled :: Lens' TransitionState (Maybe Bool)+tsEnabled = lens _tsEnabled (\ s a -> s{_tsEnabled = a});++-- | The user-specified reason why the transition between two stages of a+-- pipeline was disabled.+tsDisabledReason :: Lens' TransitionState (Maybe Text)+tsDisabledReason = lens _tsDisabledReason (\ s a -> s{_tsDisabledReason = a});++-- | The timestamp when the transition state was last changed.+tsLastChangedAt :: Lens' TransitionState (Maybe UTCTime)+tsLastChangedAt = lens _tsLastChangedAt (\ s a -> s{_tsLastChangedAt = a}) . mapping _Time;++-- | The ID of the user who last changed the transition state.+tsLastChangedBy :: Lens' TransitionState (Maybe Text)+tsLastChangedBy = lens _tsLastChangedBy (\ s a -> s{_tsLastChangedBy = a});++instance FromJSON TransitionState where+        parseJSON+          = withObject "TransitionState"+              (\ x ->+                 TransitionState' <$>+                   (x .:? "enabled") <*> (x .:? "disabledReason") <*>+                     (x .:? "lastChangedAt")+                     <*> (x .:? "lastChangedBy"))
+ gen/Network/AWS/CodePipeline/Types/Sum.hs view
@@ -0,0 +1,321 @@+{-# 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.CodePipeline.Types.Sum+-- Copyright   : (c) 2013-2015 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.CodePipeline.Types.Sum where++import           Network.AWS.Prelude++data ActionCategory+    = Build+    | Deploy+    | Invoke+    | Source+    | Test+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText ActionCategory where+    parser = takeLowerText >>= \case+        "build" -> pure Build+        "deploy" -> pure Deploy+        "invoke" -> pure Invoke+        "source" -> pure Source+        "test" -> pure Test+        e -> fromTextError $ "Failure parsing ActionCategory from value: '" <> e+           <> "'. Accepted values: build, deploy, invoke, source, test"++instance ToText ActionCategory where+    toText = \case+        Build -> "build"+        Deploy -> "deploy"+        Invoke -> "invoke"+        Source -> "source"+        Test -> "test"++instance Hashable     ActionCategory+instance ToByteString ActionCategory+instance ToQuery      ActionCategory+instance ToHeader     ActionCategory++instance ToJSON ActionCategory where+    toJSON = toJSONText++instance FromJSON ActionCategory where+    parseJSON = parseJSONText "ActionCategory"++data ActionConfigurationPropertyType+    = Boolean+    | Number+    | String+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText ActionConfigurationPropertyType where+    parser = takeLowerText >>= \case+        "boolean" -> pure Boolean+        "number" -> pure Number+        "string" -> pure String+        e -> fromTextError $ "Failure parsing ActionConfigurationPropertyType from value: '" <> e+           <> "'. Accepted values: boolean, number, string"++instance ToText ActionConfigurationPropertyType where+    toText = \case+        Boolean -> "boolean"+        Number -> "number"+        String -> "string"++instance Hashable     ActionConfigurationPropertyType+instance ToByteString ActionConfigurationPropertyType+instance ToQuery      ActionConfigurationPropertyType+instance ToHeader     ActionConfigurationPropertyType++instance ToJSON ActionConfigurationPropertyType where+    toJSON = toJSONText++instance FromJSON ActionConfigurationPropertyType where+    parseJSON = parseJSONText "ActionConfigurationPropertyType"++data ActionExecutionStatus+    = Failed+    | InProgress+    | Succeeded+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText ActionExecutionStatus where+    parser = takeLowerText >>= \case+        "failed" -> pure Failed+        "inprogress" -> pure InProgress+        "succeeded" -> pure Succeeded+        e -> fromTextError $ "Failure parsing ActionExecutionStatus from value: '" <> e+           <> "'. Accepted values: failed, inprogress, succeeded"++instance ToText ActionExecutionStatus where+    toText = \case+        Failed -> "failed"+        InProgress -> "inprogress"+        Succeeded -> "succeeded"++instance Hashable     ActionExecutionStatus+instance ToByteString ActionExecutionStatus+instance ToQuery      ActionExecutionStatus+instance ToHeader     ActionExecutionStatus++instance FromJSON ActionExecutionStatus where+    parseJSON = parseJSONText "ActionExecutionStatus"++data ActionOwner+    = AWS+    | Custom+    | ThirdParty+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText ActionOwner where+    parser = takeLowerText >>= \case+        "aws" -> pure AWS+        "custom" -> pure Custom+        "thirdparty" -> pure ThirdParty+        e -> fromTextError $ "Failure parsing ActionOwner from value: '" <> e+           <> "'. Accepted values: aws, custom, thirdparty"++instance ToText ActionOwner where+    toText = \case+        AWS -> "aws"+        Custom -> "custom"+        ThirdParty -> "thirdparty"++instance Hashable     ActionOwner+instance ToByteString ActionOwner+instance ToQuery      ActionOwner+instance ToHeader     ActionOwner++instance ToJSON ActionOwner where+    toJSON = toJSONText++instance FromJSON ActionOwner where+    parseJSON = parseJSONText "ActionOwner"++data ArtifactLocationType =+    ALTS3+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText ArtifactLocationType where+    parser = takeLowerText >>= \case+        "s3" -> pure ALTS3+        e -> fromTextError $ "Failure parsing ArtifactLocationType from value: '" <> e+           <> "'. Accepted values: s3"++instance ToText ArtifactLocationType where+    toText = \case+        ALTS3 -> "s3"++instance Hashable     ArtifactLocationType+instance ToByteString ArtifactLocationType+instance ToQuery      ArtifactLocationType+instance ToHeader     ArtifactLocationType++instance FromJSON ArtifactLocationType where+    parseJSON = parseJSONText "ArtifactLocationType"++data ArtifactStoreType =+    S3+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText ArtifactStoreType where+    parser = takeLowerText >>= \case+        "s3" -> pure S3+        e -> fromTextError $ "Failure parsing ArtifactStoreType from value: '" <> e+           <> "'. Accepted values: s3"++instance ToText ArtifactStoreType where+    toText = \case+        S3 -> "s3"++instance Hashable     ArtifactStoreType+instance ToByteString ArtifactStoreType+instance ToQuery      ArtifactStoreType+instance ToHeader     ArtifactStoreType++instance ToJSON ArtifactStoreType where+    toJSON = toJSONText++instance FromJSON ArtifactStoreType where+    parseJSON = parseJSONText "ArtifactStoreType"++data BlockerType =+    Schedule+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText BlockerType where+    parser = takeLowerText >>= \case+        "schedule" -> pure Schedule+        e -> fromTextError $ "Failure parsing BlockerType from value: '" <> e+           <> "'. Accepted values: schedule"++instance ToText BlockerType where+    toText = \case+        Schedule -> "schedule"++instance Hashable     BlockerType+instance ToByteString BlockerType+instance ToQuery      BlockerType+instance ToHeader     BlockerType++instance ToJSON BlockerType where+    toJSON = toJSONText++instance FromJSON BlockerType where+    parseJSON = parseJSONText "BlockerType"++data FailureType+    = ConfigurationError+    | JobFailed+    | PermissionError+    | RevisionOutOfSync+    | RevisionUnavailable+    | SystemUnavailable+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText FailureType where+    parser = takeLowerText >>= \case+        "configurationerror" -> pure ConfigurationError+        "jobfailed" -> pure JobFailed+        "permissionerror" -> pure PermissionError+        "revisionoutofsync" -> pure RevisionOutOfSync+        "revisionunavailable" -> pure RevisionUnavailable+        "systemunavailable" -> pure SystemUnavailable+        e -> fromTextError $ "Failure parsing FailureType from value: '" <> e+           <> "'. Accepted values: configurationerror, jobfailed, permissionerror, revisionoutofsync, revisionunavailable, systemunavailable"++instance ToText FailureType where+    toText = \case+        ConfigurationError -> "configurationerror"+        JobFailed -> "jobfailed"+        PermissionError -> "permissionerror"+        RevisionOutOfSync -> "revisionoutofsync"+        RevisionUnavailable -> "revisionunavailable"+        SystemUnavailable -> "systemunavailable"++instance Hashable     FailureType+instance ToByteString FailureType+instance ToQuery      FailureType+instance ToHeader     FailureType++instance ToJSON FailureType where+    toJSON = toJSONText++data JobStatus+    = JSCreated+    | JSDispatched+    | JSFailed+    | JSInProgress+    | JSQueued+    | JSSucceeded+    | JSTimedOut+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText JobStatus where+    parser = takeLowerText >>= \case+        "created" -> pure JSCreated+        "dispatched" -> pure JSDispatched+        "failed" -> pure JSFailed+        "inprogress" -> pure JSInProgress+        "queued" -> pure JSQueued+        "succeeded" -> pure JSSucceeded+        "timedout" -> pure JSTimedOut+        e -> fromTextError $ "Failure parsing JobStatus from value: '" <> e+           <> "'. Accepted values: created, dispatched, failed, inprogress, queued, succeeded, timedout"++instance ToText JobStatus where+    toText = \case+        JSCreated -> "created"+        JSDispatched -> "dispatched"+        JSFailed -> "failed"+        JSInProgress -> "inprogress"+        JSQueued -> "queued"+        JSSucceeded -> "succeeded"+        JSTimedOut -> "timedout"++instance Hashable     JobStatus+instance ToByteString JobStatus+instance ToQuery      JobStatus+instance ToHeader     JobStatus++instance FromJSON JobStatus where+    parseJSON = parseJSONText "JobStatus"++data StageTransitionType+    = Inbound+    | Outbound+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText StageTransitionType where+    parser = takeLowerText >>= \case+        "inbound" -> pure Inbound+        "outbound" -> pure Outbound+        e -> fromTextError $ "Failure parsing StageTransitionType from value: '" <> e+           <> "'. Accepted values: inbound, outbound"++instance ToText StageTransitionType where+    toText = \case+        Inbound -> "inbound"+        Outbound -> "outbound"++instance Hashable     StageTransitionType+instance ToByteString StageTransitionType+instance ToQuery      StageTransitionType+instance ToHeader     StageTransitionType++instance ToJSON StageTransitionType where+    toJSON = toJSONText
+ gen/Network/AWS/CodePipeline/UpdatePipeline.hs view
@@ -0,0 +1,133 @@+{-# 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.CodePipeline.UpdatePipeline+-- Copyright   : (c) 2013-2015 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)+--+-- Updates a specified pipeline with edits or changes to its structure. Use+-- a JSON file with the pipeline structure in conjunction with+-- UpdatePipeline to provide the full structure of the pipeline. Updating+-- the pipeline increases the version number of the pipeline by 1.+--+-- /See:/ <http://docs.aws.amazon.com/codepipeline/latest/APIReference/API_UpdatePipeline.html AWS API Reference> for UpdatePipeline.+module Network.AWS.CodePipeline.UpdatePipeline+    (+    -- * Creating a Request+      updatePipeline+    , UpdatePipeline+    -- * Request Lenses+    , upPipeline++    -- * Destructuring the Response+    , updatePipelineResponse+    , UpdatePipelineResponse+    -- * Response Lenses+    , uprsPipeline+    , uprsStatus+    ) where++import           Network.AWS.CodePipeline.Types+import           Network.AWS.CodePipeline.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents the input of an update pipeline action.+--+-- /See:/ 'updatePipeline' smart constructor.+newtype UpdatePipeline = UpdatePipeline'+    { _upPipeline :: PipelineDeclaration+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdatePipeline' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'upPipeline'+updatePipeline+    :: PipelineDeclaration -- ^ 'upPipeline'+    -> UpdatePipeline+updatePipeline pPipeline_ =+    UpdatePipeline'+    { _upPipeline = pPipeline_+    }++-- | The name of the pipeline to be updated.+upPipeline :: Lens' UpdatePipeline PipelineDeclaration+upPipeline = lens _upPipeline (\ s a -> s{_upPipeline = a});++instance AWSRequest UpdatePipeline where+        type Sv UpdatePipeline = CodePipeline+        type Rs UpdatePipeline = UpdatePipelineResponse+        request = postJSON+        response+          = receiveJSON+              (\ s h x ->+                 UpdatePipelineResponse' <$>+                   (x .?> "pipeline") <*> (pure (fromEnum s)))++instance ToHeaders UpdatePipeline where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("CodePipeline_20150709.UpdatePipeline" ::+                       ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON UpdatePipeline where+        toJSON UpdatePipeline'{..}+          = object ["pipeline" .= _upPipeline]++instance ToPath UpdatePipeline where+        toPath = const "/"++instance ToQuery UpdatePipeline where+        toQuery = const mempty++-- | Represents the output of an update pipeline action.+--+-- /See:/ 'updatePipelineResponse' smart constructor.+data UpdatePipelineResponse = UpdatePipelineResponse'+    { _uprsPipeline :: !(Maybe PipelineDeclaration)+    , _uprsStatus   :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdatePipelineResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uprsPipeline'+--+-- * 'uprsStatus'+updatePipelineResponse+    :: Int -- ^ 'uprsStatus'+    -> UpdatePipelineResponse+updatePipelineResponse pStatus_ =+    UpdatePipelineResponse'+    { _uprsPipeline = Nothing+    , _uprsStatus = pStatus_+    }++-- | The structure of the updated pipeline.+uprsPipeline :: Lens' UpdatePipelineResponse (Maybe PipelineDeclaration)+uprsPipeline = lens _uprsPipeline (\ s a -> s{_uprsPipeline = a});++-- | The response status code.+uprsStatus :: Lens' UpdatePipelineResponse Int+uprsStatus = lens _uprsStatus (\ s a -> s{_uprsStatus = a});
+ gen/Network/AWS/CodePipeline/Waiters.hs view
@@ -0,0 +1,20 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE TypeFamilies      #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.CodePipeline.Waiters+-- Copyright   : (c) 2013-2015 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.CodePipeline.Waiters where++import           Network.AWS.CodePipeline.Types+import           Network.AWS.Prelude+import           Network.AWS.Waiter
+ test/Main.hs view
@@ -0,0 +1,21 @@+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Main+-- Copyright   : (c) 2013-2015 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.CodePipeline+import Test.AWS.CodePipeline.Internal++main :: IO ()+main = defaultMain $ testGroup "CodePipeline"+    [ testGroup "tests"    tests+    , testGroup "fixtures" fixtures+    ]
+ test/Test/AWS/CodePipeline.hs view
@@ -0,0 +1,26 @@+{-# LANGUAGE OverloadedStrings #-}++-- Module      : Test.AWS.CodePipeline+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : This Source Code Form is subject to the terms of+--               the Mozilla Public License, v. 2.0.+--               A copy of the MPL can be found in the LICENSE file or+--               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : experimental+-- Portability : non-portable (GHC extensions)++module Test.AWS.CodePipeline+    ( tests+    , fixtures+    ) where++import           Network.AWS.CodePipeline+import           Test.AWS.Gen.CodePipeline+import           Test.Tasty++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/AWS/CodePipeline/Internal.hs view
@@ -0,0 +1,16 @@+{-# LANGUAGE OverloadedStrings #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module      : Test.AWS.CodePipeline.Internal+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : This Source Code Form is subject to the terms of+--               the Mozilla Public License, v. 2.0.+--               A copy of the MPL can be found in the LICENSE file or+--               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : experimental+-- Portability : non-portable (GHC extensions)++module Test.AWS.CodePipeline.Internal where++import           Test.AWS.Prelude
+ test/Test/AWS/Gen/CodePipeline.hs view
@@ -0,0 +1,430 @@+{-# 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.CodePipeline+-- Copyright   : (c) 2013-2015 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.CodePipeline where++import Data.Proxy+import Test.AWS.Fixture+import Test.AWS.Prelude+import Test.Tasty+import Network.AWS.CodePipeline+import Test.AWS.CodePipeline.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"+--         [ testGetPipeline $+--             getPipeline+--+--         , testPutJobFailureResult $+--             putJobFailureResult+--+--         , testAcknowledgeThirdPartyJob $+--             acknowledgeThirdPartyJob+--+--         , testPutThirdPartyJobFailureResult $+--             putThirdPartyJobFailureResult+--+--         , testPollForThirdPartyJobs $+--             pollForThirdPartyJobs+--+--         , testPollForJobs $+--             pollForJobs+--+--         , testStartPipelineExecution $+--             startPipelineExecution+--+--         , testUpdatePipeline $+--             updatePipeline+--+--         , testDeletePipeline $+--             deletePipeline+--+--         , testGetPipelineState $+--             getPipelineState+--+--         , testGetJobDetails $+--             getJobDetails+--+--         , testListPipelines $+--             listPipelines+--+--         , testDeleteCustomActionType $+--             deleteCustomActionType+--+--         , testPutActionRevision $+--             putActionRevision+--+--         , testPutJobSuccessResult $+--             putJobSuccessResult+--+--         , testListActionTypes $+--             listActionTypes+--+--         , testDisableStageTransition $+--             disableStageTransition+--+--         , testAcknowledgeJob $+--             acknowledgeJob+--+--         , testEnableStageTransition $+--             enableStageTransition+--+--         , testGetThirdPartyJobDetails $+--             getThirdPartyJobDetails+--+--         , testCreatePipeline $+--             createPipeline+--+--         , testCreateCustomActionType $+--             createCustomActionType+--+--         , testPutThirdPartyJobSuccessResult $+--             putThirdPartyJobSuccessResult+--+--           ]++--     , testGroup "response"+--         [ testGetPipelineResponse $+--             getPipelineResponse+--+--         , testPutJobFailureResultResponse $+--             putJobFailureResultResponse+--+--         , testAcknowledgeThirdPartyJobResponse $+--             acknowledgeThirdPartyJobResponse+--+--         , testPutThirdPartyJobFailureResultResponse $+--             putThirdPartyJobFailureResultResponse+--+--         , testPollForThirdPartyJobsResponse $+--             pollForThirdPartyJobsResponse+--+--         , testPollForJobsResponse $+--             pollForJobsResponse+--+--         , testStartPipelineExecutionResponse $+--             startPipelineExecutionResponse+--+--         , testUpdatePipelineResponse $+--             updatePipelineResponse+--+--         , testDeletePipelineResponse $+--             deletePipelineResponse+--+--         , testGetPipelineStateResponse $+--             getPipelineStateResponse+--+--         , testGetJobDetailsResponse $+--             getJobDetailsResponse+--+--         , testListPipelinesResponse $+--             listPipelinesResponse+--+--         , testDeleteCustomActionTypeResponse $+--             deleteCustomActionTypeResponse+--+--         , testPutActionRevisionResponse $+--             putActionRevisionResponse+--+--         , testPutJobSuccessResultResponse $+--             putJobSuccessResultResponse+--+--         , testListActionTypesResponse $+--             listActionTypesResponse+--+--         , testDisableStageTransitionResponse $+--             disableStageTransitionResponse+--+--         , testAcknowledgeJobResponse $+--             acknowledgeJobResponse+--+--         , testEnableStageTransitionResponse $+--             enableStageTransitionResponse+--+--         , testGetThirdPartyJobDetailsResponse $+--             getThirdPartyJobDetailsResponse+--+--         , testCreatePipelineResponse $+--             createPipelineResponse+--+--         , testCreateCustomActionTypeResponse $+--             createCustomActionTypeResponse+--+--         , testPutThirdPartyJobSuccessResultResponse $+--             putThirdPartyJobSuccessResultResponse+--+--           ]+--     ]++-- Requests++testGetPipeline :: GetPipeline -> TestTree+testGetPipeline = req+    "GetPipeline"+    "fixture/GetPipeline"++testPutJobFailureResult :: PutJobFailureResult -> TestTree+testPutJobFailureResult = req+    "PutJobFailureResult"+    "fixture/PutJobFailureResult"++testAcknowledgeThirdPartyJob :: AcknowledgeThirdPartyJob -> TestTree+testAcknowledgeThirdPartyJob = req+    "AcknowledgeThirdPartyJob"+    "fixture/AcknowledgeThirdPartyJob"++testPutThirdPartyJobFailureResult :: PutThirdPartyJobFailureResult -> TestTree+testPutThirdPartyJobFailureResult = req+    "PutThirdPartyJobFailureResult"+    "fixture/PutThirdPartyJobFailureResult"++testPollForThirdPartyJobs :: PollForThirdPartyJobs -> TestTree+testPollForThirdPartyJobs = req+    "PollForThirdPartyJobs"+    "fixture/PollForThirdPartyJobs"++testPollForJobs :: PollForJobs -> TestTree+testPollForJobs = req+    "PollForJobs"+    "fixture/PollForJobs"++testStartPipelineExecution :: StartPipelineExecution -> TestTree+testStartPipelineExecution = req+    "StartPipelineExecution"+    "fixture/StartPipelineExecution"++testUpdatePipeline :: UpdatePipeline -> TestTree+testUpdatePipeline = req+    "UpdatePipeline"+    "fixture/UpdatePipeline"++testDeletePipeline :: DeletePipeline -> TestTree+testDeletePipeline = req+    "DeletePipeline"+    "fixture/DeletePipeline"++testGetPipelineState :: GetPipelineState -> TestTree+testGetPipelineState = req+    "GetPipelineState"+    "fixture/GetPipelineState"++testGetJobDetails :: GetJobDetails -> TestTree+testGetJobDetails = req+    "GetJobDetails"+    "fixture/GetJobDetails"++testListPipelines :: ListPipelines -> TestTree+testListPipelines = req+    "ListPipelines"+    "fixture/ListPipelines"++testDeleteCustomActionType :: DeleteCustomActionType -> TestTree+testDeleteCustomActionType = req+    "DeleteCustomActionType"+    "fixture/DeleteCustomActionType"++testPutActionRevision :: PutActionRevision -> TestTree+testPutActionRevision = req+    "PutActionRevision"+    "fixture/PutActionRevision"++testPutJobSuccessResult :: PutJobSuccessResult -> TestTree+testPutJobSuccessResult = req+    "PutJobSuccessResult"+    "fixture/PutJobSuccessResult"++testListActionTypes :: ListActionTypes -> TestTree+testListActionTypes = req+    "ListActionTypes"+    "fixture/ListActionTypes"++testDisableStageTransition :: DisableStageTransition -> TestTree+testDisableStageTransition = req+    "DisableStageTransition"+    "fixture/DisableStageTransition"++testAcknowledgeJob :: AcknowledgeJob -> TestTree+testAcknowledgeJob = req+    "AcknowledgeJob"+    "fixture/AcknowledgeJob"++testEnableStageTransition :: EnableStageTransition -> TestTree+testEnableStageTransition = req+    "EnableStageTransition"+    "fixture/EnableStageTransition"++testGetThirdPartyJobDetails :: GetThirdPartyJobDetails -> TestTree+testGetThirdPartyJobDetails = req+    "GetThirdPartyJobDetails"+    "fixture/GetThirdPartyJobDetails"++testCreatePipeline :: CreatePipeline -> TestTree+testCreatePipeline = req+    "CreatePipeline"+    "fixture/CreatePipeline"++testCreateCustomActionType :: CreateCustomActionType -> TestTree+testCreateCustomActionType = req+    "CreateCustomActionType"+    "fixture/CreateCustomActionType"++testPutThirdPartyJobSuccessResult :: PutThirdPartyJobSuccessResult -> TestTree+testPutThirdPartyJobSuccessResult = req+    "PutThirdPartyJobSuccessResult"+    "fixture/PutThirdPartyJobSuccessResult"++-- Responses++testGetPipelineResponse :: GetPipelineResponse -> TestTree+testGetPipelineResponse = res+    "GetPipelineResponse"+    "fixture/GetPipelineResponse"+    (Proxy :: Proxy GetPipeline)++testPutJobFailureResultResponse :: PutJobFailureResultResponse -> TestTree+testPutJobFailureResultResponse = res+    "PutJobFailureResultResponse"+    "fixture/PutJobFailureResultResponse"+    (Proxy :: Proxy PutJobFailureResult)++testAcknowledgeThirdPartyJobResponse :: AcknowledgeThirdPartyJobResponse -> TestTree+testAcknowledgeThirdPartyJobResponse = res+    "AcknowledgeThirdPartyJobResponse"+    "fixture/AcknowledgeThirdPartyJobResponse"+    (Proxy :: Proxy AcknowledgeThirdPartyJob)++testPutThirdPartyJobFailureResultResponse :: PutThirdPartyJobFailureResultResponse -> TestTree+testPutThirdPartyJobFailureResultResponse = res+    "PutThirdPartyJobFailureResultResponse"+    "fixture/PutThirdPartyJobFailureResultResponse"+    (Proxy :: Proxy PutThirdPartyJobFailureResult)++testPollForThirdPartyJobsResponse :: PollForThirdPartyJobsResponse -> TestTree+testPollForThirdPartyJobsResponse = res+    "PollForThirdPartyJobsResponse"+    "fixture/PollForThirdPartyJobsResponse"+    (Proxy :: Proxy PollForThirdPartyJobs)++testPollForJobsResponse :: PollForJobsResponse -> TestTree+testPollForJobsResponse = res+    "PollForJobsResponse"+    "fixture/PollForJobsResponse"+    (Proxy :: Proxy PollForJobs)++testStartPipelineExecutionResponse :: StartPipelineExecutionResponse -> TestTree+testStartPipelineExecutionResponse = res+    "StartPipelineExecutionResponse"+    "fixture/StartPipelineExecutionResponse"+    (Proxy :: Proxy StartPipelineExecution)++testUpdatePipelineResponse :: UpdatePipelineResponse -> TestTree+testUpdatePipelineResponse = res+    "UpdatePipelineResponse"+    "fixture/UpdatePipelineResponse"+    (Proxy :: Proxy UpdatePipeline)++testDeletePipelineResponse :: DeletePipelineResponse -> TestTree+testDeletePipelineResponse = res+    "DeletePipelineResponse"+    "fixture/DeletePipelineResponse"+    (Proxy :: Proxy DeletePipeline)++testGetPipelineStateResponse :: GetPipelineStateResponse -> TestTree+testGetPipelineStateResponse = res+    "GetPipelineStateResponse"+    "fixture/GetPipelineStateResponse"+    (Proxy :: Proxy GetPipelineState)++testGetJobDetailsResponse :: GetJobDetailsResponse -> TestTree+testGetJobDetailsResponse = res+    "GetJobDetailsResponse"+    "fixture/GetJobDetailsResponse"+    (Proxy :: Proxy GetJobDetails)++testListPipelinesResponse :: ListPipelinesResponse -> TestTree+testListPipelinesResponse = res+    "ListPipelinesResponse"+    "fixture/ListPipelinesResponse"+    (Proxy :: Proxy ListPipelines)++testDeleteCustomActionTypeResponse :: DeleteCustomActionTypeResponse -> TestTree+testDeleteCustomActionTypeResponse = res+    "DeleteCustomActionTypeResponse"+    "fixture/DeleteCustomActionTypeResponse"+    (Proxy :: Proxy DeleteCustomActionType)++testPutActionRevisionResponse :: PutActionRevisionResponse -> TestTree+testPutActionRevisionResponse = res+    "PutActionRevisionResponse"+    "fixture/PutActionRevisionResponse"+    (Proxy :: Proxy PutActionRevision)++testPutJobSuccessResultResponse :: PutJobSuccessResultResponse -> TestTree+testPutJobSuccessResultResponse = res+    "PutJobSuccessResultResponse"+    "fixture/PutJobSuccessResultResponse"+    (Proxy :: Proxy PutJobSuccessResult)++testListActionTypesResponse :: ListActionTypesResponse -> TestTree+testListActionTypesResponse = res+    "ListActionTypesResponse"+    "fixture/ListActionTypesResponse"+    (Proxy :: Proxy ListActionTypes)++testDisableStageTransitionResponse :: DisableStageTransitionResponse -> TestTree+testDisableStageTransitionResponse = res+    "DisableStageTransitionResponse"+    "fixture/DisableStageTransitionResponse"+    (Proxy :: Proxy DisableStageTransition)++testAcknowledgeJobResponse :: AcknowledgeJobResponse -> TestTree+testAcknowledgeJobResponse = res+    "AcknowledgeJobResponse"+    "fixture/AcknowledgeJobResponse"+    (Proxy :: Proxy AcknowledgeJob)++testEnableStageTransitionResponse :: EnableStageTransitionResponse -> TestTree+testEnableStageTransitionResponse = res+    "EnableStageTransitionResponse"+    "fixture/EnableStageTransitionResponse"+    (Proxy :: Proxy EnableStageTransition)++testGetThirdPartyJobDetailsResponse :: GetThirdPartyJobDetailsResponse -> TestTree+testGetThirdPartyJobDetailsResponse = res+    "GetThirdPartyJobDetailsResponse"+    "fixture/GetThirdPartyJobDetailsResponse"+    (Proxy :: Proxy GetThirdPartyJobDetails)++testCreatePipelineResponse :: CreatePipelineResponse -> TestTree+testCreatePipelineResponse = res+    "CreatePipelineResponse"+    "fixture/CreatePipelineResponse"+    (Proxy :: Proxy CreatePipeline)++testCreateCustomActionTypeResponse :: CreateCustomActionTypeResponse -> TestTree+testCreateCustomActionTypeResponse = res+    "CreateCustomActionTypeResponse"+    "fixture/CreateCustomActionTypeResponse"+    (Proxy :: Proxy CreateCustomActionType)++testPutThirdPartyJobSuccessResultResponse :: PutThirdPartyJobSuccessResultResponse -> TestTree+testPutThirdPartyJobSuccessResultResponse = res+    "PutThirdPartyJobSuccessResultResponse"+    "fixture/PutThirdPartyJobSuccessResultResponse"+    (Proxy :: Proxy PutThirdPartyJobSuccessResult)