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 +373/−0
- README.md +132/−0
- Setup.hs +2/−0
- amazonka-codepipeline.cabal +194/−0
- gen/Network/AWS/CodePipeline.hs +596/−0
- gen/Network/AWS/CodePipeline/AcknowledgeJob.hs +134/−0
- gen/Network/AWS/CodePipeline/AcknowledgeThirdPartyJob.hs +149/−0
- gen/Network/AWS/CodePipeline/CreateCustomActionType.hs +205/−0
- gen/Network/AWS/CodePipeline/CreatePipeline.hs +130/−0
- gen/Network/AWS/CodePipeline/DeleteCustomActionType.hs +135/−0
- gen/Network/AWS/CodePipeline/DeletePipeline.hs +102/−0
- gen/Network/AWS/CodePipeline/DisableStageTransition.hs +146/−0
- gen/Network/AWS/CodePipeline/EnableStageTransition.hs +132/−0
- gen/Network/AWS/CodePipeline/GetJobDetails.hs +139/−0
- gen/Network/AWS/CodePipeline/GetPipeline.hs +143/−0
- gen/Network/AWS/CodePipeline/GetPipelineState.hs +175/−0
- gen/Network/AWS/CodePipeline/GetThirdPartyJobDetails.hs +153/−0
- gen/Network/AWS/CodePipeline/ListActionTypes.hs +155/−0
- gen/Network/AWS/CodePipeline/ListPipelines.hs +143/−0
- gen/Network/AWS/CodePipeline/PollForJobs.hs +160/−0
- gen/Network/AWS/CodePipeline/PollForThirdPartyJobs.hs +148/−0
- gen/Network/AWS/CodePipeline/PutActionRevision.hs +179/−0
- gen/Network/AWS/CodePipeline/PutJobFailureResult.hs +117/−0
- gen/Network/AWS/CodePipeline/PutJobSuccessResult.hs +139/−0
- gen/Network/AWS/CodePipeline/PutThirdPartyJobFailureResult.hs +133/−0
- gen/Network/AWS/CodePipeline/PutThirdPartyJobSuccessResult.hs +153/−0
- gen/Network/AWS/CodePipeline/StartPipelineExecution.hs +133/−0
- gen/Network/AWS/CodePipeline/Types.hs +459/−0
- gen/Network/AWS/CodePipeline/Types/Product.hs +2039/−0
- gen/Network/AWS/CodePipeline/Types/Sum.hs +321/−0
- gen/Network/AWS/CodePipeline/UpdatePipeline.hs +133/−0
- gen/Network/AWS/CodePipeline/Waiters.hs +20/−0
- test/Main.hs +21/−0
- test/Test/AWS/CodePipeline.hs +26/−0
- test/Test/AWS/CodePipeline/Internal.hs +16/−0
- test/Test/AWS/Gen/CodePipeline.hs +430/−0
+ 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)