amazonka-ecs (empty) → 0.3.0
raw patch · 26 files changed
+4334/−0 lines, 26 filesdep +amazonka-coredep +basesetup-changed
Dependencies added: amazonka-core, base
Files
- LICENSE +373/−0
- README.md +40/−0
- Setup.hs +2/−0
- amazonka-ecs.cabal +73/−0
- gen/Network/AWS/ECS.hs +69/−0
- gen/Network/AWS/ECS/CreateCluster.hs +113/−0
- gen/Network/AWS/ECS/DeleteCluster.hs +110/−0
- gen/Network/AWS/ECS/DeregisterContainerInstance.hs +139/−0
- gen/Network/AWS/ECS/DeregisterTaskDefinition.hs +112/−0
- gen/Network/AWS/ECS/DescribeClusters.hs +124/−0
- gen/Network/AWS/ECS/DescribeContainerInstances.hs +134/−0
- gen/Network/AWS/ECS/DescribeTaskDefinition.hs +111/−0
- gen/Network/AWS/ECS/DescribeTasks.hs +129/−0
- gen/Network/AWS/ECS/DiscoverPollEndpoint.hs +117/−0
- gen/Network/AWS/ECS/ListClusters.hs +140/−0
- gen/Network/AWS/ECS/ListContainerInstances.hs +156/−0
- gen/Network/AWS/ECS/ListTaskDefinitions.hs +154/−0
- gen/Network/AWS/ECS/ListTasks.hs +178/−0
- gen/Network/AWS/ECS/RegisterContainerInstance.hs +146/−0
- gen/Network/AWS/ECS/RegisterTaskDefinition.hs +123/−0
- gen/Network/AWS/ECS/RunTask.hs +154/−0
- gen/Network/AWS/ECS/StartTask.hs +157/−0
- gen/Network/AWS/ECS/StopTask.hs +120/−0
- gen/Network/AWS/ECS/SubmitContainerStateChange.hs +176/−0
- gen/Network/AWS/ECS/SubmitTaskStateChange.hs +143/−0
- gen/Network/AWS/ECS/Types.hs +1041/−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,40 @@+# Amazon EC2 Container Service SDK++> _Warning:_ This is an experimental preview release which is still under heavy development and not intended for public consumption, _caveat emptor_!++* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)++## Description++Amazon EC2 Container Service is a highly scalable, high performance container+management service that supports Docker containers and allows you to easily+run distributed applications on a managed cluster of Amazon EC2 instances.+Amazon EC2 Container Service lets you launch and stop container-enabled+applications with simple API calls, allows you to query the state of your+cluster from a centralized service, and gives you access to many familiar+Amazon EC2 features like security groups, EBS volumes and IAM roles. You can+use EC2 Container Service to schedule the placement of containers across your+cluster based on your resource needs, isolation policies, and availability+requirements. Amazon EC2 Container Service eliminates the need for you to+operate your own cluster management and configuration management systems or+worry about scaling your management infrastructure.++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-ecs)+and the [AWS API Reference](http://docs.aws.amazon.com/AmazonECS/latest/APIReference/Welcome.html).+++## 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-ecs` 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-ecs.cabal view
@@ -0,0 +1,73 @@+name: amazonka-ecs+version: 0.3.0+synopsis: Amazon EC2 Container Service 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-2014 Brendan Hay+category: Network, AWS, Cloud, Distributed Computing+build-type: Simple+extra-source-files: README.md+cabal-version: >= 1.10++description:+ Amazon EC2 Container Service is a highly scalable, high performance container+ management service that supports Docker containers and allows you to easily+ run distributed applications on a managed cluster of Amazon EC2 instances.+ Amazon EC2 Container Service lets you launch and stop container-enabled+ applications with simple API calls, allows you to query the state of your+ cluster from a centralized service, and gives you access to many familiar+ Amazon EC2 features like security groups, EBS volumes and IAM roles. You can+ use EC2 Container Service to schedule the placement of containers across your+ cluster based on your resource needs, isolation policies, and availability+ requirements. Amazon EC2 Container Service eliminates the need for you to+ operate your own cluster management and configuration management systems or+ worry about scaling your management infrastructure.++ .+ /See:/ <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/Welcome.html AWS API Reference>+ .+ /Warning:/ This is an experimental preview release which is still under+ heavy development and not intended for public consumption, caveat emptor!++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.ECS+ , Network.AWS.ECS.CreateCluster+ , Network.AWS.ECS.DeleteCluster+ , Network.AWS.ECS.DeregisterContainerInstance+ , Network.AWS.ECS.DeregisterTaskDefinition+ , Network.AWS.ECS.DescribeClusters+ , Network.AWS.ECS.DescribeContainerInstances+ , Network.AWS.ECS.DescribeTaskDefinition+ , Network.AWS.ECS.DescribeTasks+ , Network.AWS.ECS.DiscoverPollEndpoint+ , Network.AWS.ECS.ListClusters+ , Network.AWS.ECS.ListContainerInstances+ , Network.AWS.ECS.ListTaskDefinitions+ , Network.AWS.ECS.ListTasks+ , Network.AWS.ECS.RegisterContainerInstance+ , Network.AWS.ECS.RegisterTaskDefinition+ , Network.AWS.ECS.RunTask+ , Network.AWS.ECS.StartTask+ , Network.AWS.ECS.StopTask+ , Network.AWS.ECS.SubmitContainerStateChange+ , Network.AWS.ECS.SubmitTaskStateChange+ , Network.AWS.ECS.Types++ other-modules:++ build-depends:+ amazonka-core == 0.3.0.*+ , base >= 4.7 && < 5
+ gen/Network/AWS/ECS.hs view
@@ -0,0 +1,69 @@+-- Module : Network.AWS.ECS+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- 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)+--+-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | Amazon EC2 Container Service is a highly scalable, high performance container+-- management service that supports Docker containers and allows you to easily+-- run distributed applications on a managed cluster of Amazon EC2 instances.+-- Amazon EC2 Container Service lets you launch and stop container-enabled+-- applications with simple API calls, allows you to query the state of your+-- cluster from a centralized service, and gives you access to many familiar+-- Amazon EC2 features like security groups, EBS volumes and IAM roles. You can+-- use EC2 Container Service to schedule the placement of containers across your+-- cluster based on your resource needs, isolation policies, and availability+-- requirements. Amazon EC2 Container Service eliminates the need for you to+-- operate your own cluster management and configuration management systems or+-- worry about scaling your management infrastructure.+module Network.AWS.ECS+ ( module Network.AWS.ECS.CreateCluster+ , module Network.AWS.ECS.DeleteCluster+ , module Network.AWS.ECS.DeregisterContainerInstance+ , module Network.AWS.ECS.DeregisterTaskDefinition+ , module Network.AWS.ECS.DescribeClusters+ , module Network.AWS.ECS.DescribeContainerInstances+ , module Network.AWS.ECS.DescribeTaskDefinition+ , module Network.AWS.ECS.DescribeTasks+ , module Network.AWS.ECS.DiscoverPollEndpoint+ , module Network.AWS.ECS.ListClusters+ , module Network.AWS.ECS.ListContainerInstances+ , module Network.AWS.ECS.ListTaskDefinitions+ , module Network.AWS.ECS.ListTasks+ , module Network.AWS.ECS.RegisterContainerInstance+ , module Network.AWS.ECS.RegisterTaskDefinition+ , module Network.AWS.ECS.RunTask+ , module Network.AWS.ECS.StartTask+ , module Network.AWS.ECS.StopTask+ , module Network.AWS.ECS.SubmitContainerStateChange+ , module Network.AWS.ECS.SubmitTaskStateChange+ , module Network.AWS.ECS.Types+ ) where++import Network.AWS.ECS.CreateCluster+import Network.AWS.ECS.DeleteCluster+import Network.AWS.ECS.DeregisterContainerInstance+import Network.AWS.ECS.DeregisterTaskDefinition+import Network.AWS.ECS.DescribeClusters+import Network.AWS.ECS.DescribeContainerInstances+import Network.AWS.ECS.DescribeTaskDefinition+import Network.AWS.ECS.DescribeTasks+import Network.AWS.ECS.DiscoverPollEndpoint+import Network.AWS.ECS.ListClusters+import Network.AWS.ECS.ListContainerInstances+import Network.AWS.ECS.ListTaskDefinitions+import Network.AWS.ECS.ListTasks+import Network.AWS.ECS.RegisterContainerInstance+import Network.AWS.ECS.RegisterTaskDefinition+import Network.AWS.ECS.RunTask+import Network.AWS.ECS.StartTask+import Network.AWS.ECS.StopTask+import Network.AWS.ECS.SubmitContainerStateChange+import Network.AWS.ECS.SubmitTaskStateChange+import Network.AWS.ECS.Types
+ gen/Network/AWS/ECS/CreateCluster.hs view
@@ -0,0 +1,113 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.ECS.CreateCluster+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- 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)+--+-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | Creates a new Amazon ECS cluster. By default, your account will receive a 'default' cluster when you launch your first container instance. However, you can+-- create your own cluster with a unique name with the 'CreateCluster' action.+--+-- During the preview, each account is limited to two clusters.+--+--+--+-- <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_CreateCluster.html>+module Network.AWS.ECS.CreateCluster+ (+ -- * Request+ CreateCluster+ -- ** Request constructor+ , createCluster+ -- ** Request lenses+ , ccClusterName++ -- * Response+ , CreateClusterResponse+ -- ** Response constructor+ , createClusterResponse+ -- ** Response lenses+ , ccrCluster+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.ECS.Types+import qualified GHC.Exts++newtype CreateCluster = CreateCluster+ { _ccClusterName :: Maybe Text+ } deriving (Eq, Ord, Read, Show, Monoid)++-- | 'CreateCluster' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ccClusterName' @::@ 'Maybe' 'Text'+--+createCluster :: CreateCluster+createCluster = CreateCluster+ { _ccClusterName = Nothing+ }++-- | The name of your cluster. If you do not specify a name for your cluster, you+-- will create a cluster named 'default'.+ccClusterName :: Lens' CreateCluster (Maybe Text)+ccClusterName = lens _ccClusterName (\s a -> s { _ccClusterName = a })++newtype CreateClusterResponse = CreateClusterResponse+ { _ccrCluster :: Maybe Cluster+ } deriving (Eq, Read, Show)++-- | 'CreateClusterResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ccrCluster' @::@ 'Maybe' 'Cluster'+--+createClusterResponse :: CreateClusterResponse+createClusterResponse = CreateClusterResponse+ { _ccrCluster = Nothing+ }++-- | The full description of your new cluster.+ccrCluster :: Lens' CreateClusterResponse (Maybe Cluster)+ccrCluster = lens _ccrCluster (\s a -> s { _ccrCluster = a })++instance ToPath CreateCluster where+ toPath = const "/"++instance ToQuery CreateCluster where+ toQuery CreateCluster{..} = mconcat+ [ "clusterName" =? _ccClusterName+ ]++instance ToHeaders CreateCluster++instance AWSRequest CreateCluster where+ type Sv CreateCluster = ECS+ type Rs CreateCluster = CreateClusterResponse++ request = post "CreateCluster"+ response = xmlResponse++instance FromXML CreateClusterResponse where+ parseXML = withElement "CreateClusterResult" $ \x -> CreateClusterResponse+ <$> x .@? "cluster"
+ gen/Network/AWS/ECS/DeleteCluster.hs view
@@ -0,0 +1,110 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.ECS.DeleteCluster+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- 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)+--+-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | Deletes the specified cluster. You must deregister all container instances+-- from this cluster before you may delete it. You can list the container+-- instances in a cluster with 'ListContainerInstances' and deregister them with 'DeregisterContainerInstance'.+--+-- <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DeleteCluster.html>+module Network.AWS.ECS.DeleteCluster+ (+ -- * Request+ DeleteCluster+ -- ** Request constructor+ , deleteCluster+ -- ** Request lenses+ , dcCluster++ -- * Response+ , DeleteClusterResponse+ -- ** Response constructor+ , deleteClusterResponse+ -- ** Response lenses+ , dcrCluster+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.ECS.Types+import qualified GHC.Exts++newtype DeleteCluster = DeleteCluster+ { _dcCluster :: Text+ } deriving (Eq, Ord, Read, Show, Monoid, IsString)++-- | 'DeleteCluster' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dcCluster' @::@ 'Text'+--+deleteCluster :: Text -- ^ 'dcCluster'+ -> DeleteCluster+deleteCluster p1 = DeleteCluster+ { _dcCluster = p1+ }++-- | The cluster you want to delete.+dcCluster :: Lens' DeleteCluster Text+dcCluster = lens _dcCluster (\s a -> s { _dcCluster = a })++newtype DeleteClusterResponse = DeleteClusterResponse+ { _dcrCluster :: Maybe Cluster+ } deriving (Eq, Read, Show)++-- | 'DeleteClusterResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dcrCluster' @::@ 'Maybe' 'Cluster'+--+deleteClusterResponse :: DeleteClusterResponse+deleteClusterResponse = DeleteClusterResponse+ { _dcrCluster = Nothing+ }++-- | The full description of the deleted cluster.+dcrCluster :: Lens' DeleteClusterResponse (Maybe Cluster)+dcrCluster = lens _dcrCluster (\s a -> s { _dcrCluster = a })++instance ToPath DeleteCluster where+ toPath = const "/"++instance ToQuery DeleteCluster where+ toQuery DeleteCluster{..} = mconcat+ [ "cluster" =? _dcCluster+ ]++instance ToHeaders DeleteCluster++instance AWSRequest DeleteCluster where+ type Sv DeleteCluster = ECS+ type Rs DeleteCluster = DeleteClusterResponse++ request = post "DeleteCluster"+ response = xmlResponse++instance FromXML DeleteClusterResponse where+ parseXML = withElement "DeleteClusterResult" $ \x -> DeleteClusterResponse+ <$> x .@? "cluster"
+ gen/Network/AWS/ECS/DeregisterContainerInstance.hs view
@@ -0,0 +1,139 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.ECS.DeregisterContainerInstance+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- 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)+--+-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | Deregisters an Amazon ECS container instance from the specified cluster. This+-- instance will no longer be available to run tasks.+--+-- <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DeregisterContainerInstance.html>+module Network.AWS.ECS.DeregisterContainerInstance+ (+ -- * Request+ DeregisterContainerInstance+ -- ** Request constructor+ , deregisterContainerInstance+ -- ** Request lenses+ , dci1Cluster+ , dci1ContainerInstance+ , dci1Force++ -- * Response+ , DeregisterContainerInstanceResponse+ -- ** Response constructor+ , deregisterContainerInstanceResponse+ -- ** Response lenses+ , dcirContainerInstance+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.ECS.Types+import qualified GHC.Exts++data DeregisterContainerInstance = DeregisterContainerInstance+ { _dci1Cluster :: Maybe Text+ , _dci1ContainerInstance :: Text+ , _dci1Force :: Maybe Bool+ } deriving (Eq, Ord, Read, Show)++-- | 'DeregisterContainerInstance' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dci1Cluster' @::@ 'Maybe' 'Text'+--+-- * 'dci1ContainerInstance' @::@ 'Text'+--+-- * 'dci1Force' @::@ 'Maybe' 'Bool'+--+deregisterContainerInstance :: Text -- ^ 'dci1ContainerInstance'+ -> DeregisterContainerInstance+deregisterContainerInstance p1 = DeregisterContainerInstance+ { _dci1ContainerInstance = p1+ , _dci1Cluster = Nothing+ , _dci1Force = Nothing+ }++-- | The short name or full Amazon Resource Name (ARN) of the cluster that hosts+-- the container instance you want to deregister. If you do not specify a+-- cluster, the default cluster is assumed.+dci1Cluster :: Lens' DeregisterContainerInstance (Maybe Text)+dci1Cluster = lens _dci1Cluster (\s a -> s { _dci1Cluster = a })++-- | The container instance UUID or full Amazon Resource Name (ARN) of the+-- container instance you want to deregister. The ARN contains the 'arn:aws:ecs'+-- namespace, followed by the region of the container instance, the AWS account+-- ID of the container instance owner, the 'container-instance' namespace, and+-- then the container instance UUID. For example, arn:aws:ecs:/region/:/aws_account_id/:container-instance//container_instance_UUID/.+dci1ContainerInstance :: Lens' DeregisterContainerInstance Text+dci1ContainerInstance =+ lens _dci1ContainerInstance (\s a -> s { _dci1ContainerInstance = a })++-- | Force the deregistration of the container instance. You can use the 'force'+-- parameter if you have several tasks running on a container instance and you+-- don't want to run 'StopTask' for each task before deregistering the container+-- instance.+dci1Force :: Lens' DeregisterContainerInstance (Maybe Bool)+dci1Force = lens _dci1Force (\s a -> s { _dci1Force = a })++newtype DeregisterContainerInstanceResponse = DeregisterContainerInstanceResponse+ { _dcirContainerInstance :: Maybe ContainerInstance+ } deriving (Eq, Read, Show)++-- | 'DeregisterContainerInstanceResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dcirContainerInstance' @::@ 'Maybe' 'ContainerInstance'+--+deregisterContainerInstanceResponse :: DeregisterContainerInstanceResponse+deregisterContainerInstanceResponse = DeregisterContainerInstanceResponse+ { _dcirContainerInstance = Nothing+ }++dcirContainerInstance :: Lens' DeregisterContainerInstanceResponse (Maybe ContainerInstance)+dcirContainerInstance =+ lens _dcirContainerInstance (\s a -> s { _dcirContainerInstance = a })++instance ToPath DeregisterContainerInstance where+ toPath = const "/"++instance ToQuery DeregisterContainerInstance where+ toQuery DeregisterContainerInstance{..} = mconcat+ [ "cluster" =? _dci1Cluster+ , "containerInstance" =? _dci1ContainerInstance+ , "force" =? _dci1Force+ ]++instance ToHeaders DeregisterContainerInstance++instance AWSRequest DeregisterContainerInstance where+ type Sv DeregisterContainerInstance = ECS+ type Rs DeregisterContainerInstance = DeregisterContainerInstanceResponse++ request = post "DeregisterContainerInstance"+ response = xmlResponse++instance FromXML DeregisterContainerInstanceResponse where+ parseXML = withElement "DeregisterContainerInstanceResult" $ \x -> DeregisterContainerInstanceResponse+ <$> x .@? "containerInstance"
+ gen/Network/AWS/ECS/DeregisterTaskDefinition.hs view
@@ -0,0 +1,112 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.ECS.DeregisterTaskDefinition+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- 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)+--+-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | Deregisters the specified task definition. You will no longer be able to run+-- tasks from this definition after deregistration.+--+-- <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DeregisterTaskDefinition.html>+module Network.AWS.ECS.DeregisterTaskDefinition+ (+ -- * Request+ DeregisterTaskDefinition+ -- ** Request constructor+ , deregisterTaskDefinition+ -- ** Request lenses+ , dtd1TaskDefinition++ -- * Response+ , DeregisterTaskDefinitionResponse+ -- ** Response constructor+ , deregisterTaskDefinitionResponse+ -- ** Response lenses+ , dtdrTaskDefinition+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.ECS.Types+import qualified GHC.Exts++newtype DeregisterTaskDefinition = DeregisterTaskDefinition+ { _dtd1TaskDefinition :: Text+ } deriving (Eq, Ord, Read, Show, Monoid, IsString)++-- | 'DeregisterTaskDefinition' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dtd1TaskDefinition' @::@ 'Text'+--+deregisterTaskDefinition :: Text -- ^ 'dtd1TaskDefinition'+ -> DeregisterTaskDefinition+deregisterTaskDefinition p1 = DeregisterTaskDefinition+ { _dtd1TaskDefinition = p1+ }++-- | The 'family' and 'revision' ('family:revision') or full Amazon Resource Name (ARN)+-- of the task definition that you want to deregister.+dtd1TaskDefinition :: Lens' DeregisterTaskDefinition Text+dtd1TaskDefinition =+ lens _dtd1TaskDefinition (\s a -> s { _dtd1TaskDefinition = a })++newtype DeregisterTaskDefinitionResponse = DeregisterTaskDefinitionResponse+ { _dtdrTaskDefinition :: Maybe TaskDefinition+ } deriving (Eq, Read, Show)++-- | 'DeregisterTaskDefinitionResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dtdrTaskDefinition' @::@ 'Maybe' 'TaskDefinition'+--+deregisterTaskDefinitionResponse :: DeregisterTaskDefinitionResponse+deregisterTaskDefinitionResponse = DeregisterTaskDefinitionResponse+ { _dtdrTaskDefinition = Nothing+ }++-- | The full description of the deregistered task.+dtdrTaskDefinition :: Lens' DeregisterTaskDefinitionResponse (Maybe TaskDefinition)+dtdrTaskDefinition =+ lens _dtdrTaskDefinition (\s a -> s { _dtdrTaskDefinition = a })++instance ToPath DeregisterTaskDefinition where+ toPath = const "/"++instance ToQuery DeregisterTaskDefinition where+ toQuery DeregisterTaskDefinition{..} = mconcat+ [ "taskDefinition" =? _dtd1TaskDefinition+ ]++instance ToHeaders DeregisterTaskDefinition++instance AWSRequest DeregisterTaskDefinition where+ type Sv DeregisterTaskDefinition = ECS+ type Rs DeregisterTaskDefinition = DeregisterTaskDefinitionResponse++ request = post "DeregisterTaskDefinition"+ response = xmlResponse++instance FromXML DeregisterTaskDefinitionResponse where+ parseXML = withElement "DeregisterTaskDefinitionResult" $ \x -> DeregisterTaskDefinitionResponse+ <$> x .@? "taskDefinition"
+ gen/Network/AWS/ECS/DescribeClusters.hs view
@@ -0,0 +1,124 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.ECS.DescribeClusters+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- 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)+--+-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | Describes one or more of your clusters.+--+-- <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeClusters.html>+module Network.AWS.ECS.DescribeClusters+ (+ -- * Request+ DescribeClusters+ -- ** Request constructor+ , describeClusters+ -- ** Request lenses+ , dcClusters++ -- * Response+ , DescribeClustersResponse+ -- ** Response constructor+ , describeClustersResponse+ -- ** Response lenses+ , dcrClusters+ , dcrFailures+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.ECS.Types+import qualified GHC.Exts++newtype DescribeClusters = DescribeClusters+ { _dcClusters :: List "member" Text+ } deriving (Eq, Ord, Read, Show, Monoid, Semigroup)++instance GHC.Exts.IsList DescribeClusters where+ type Item DescribeClusters = Text++ fromList = DescribeClusters . GHC.Exts.fromList+ toList = GHC.Exts.toList . _dcClusters++-- | 'DescribeClusters' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dcClusters' @::@ ['Text']+--+describeClusters :: DescribeClusters+describeClusters = DescribeClusters+ { _dcClusters = mempty+ }++-- | A space-separated list of cluster names or full cluster Amazon Resource Name+-- (ARN) entries. If you do not specify a cluster, the default cluster is+-- assumed.+dcClusters :: Lens' DescribeClusters [Text]+dcClusters = lens _dcClusters (\s a -> s { _dcClusters = a }) . _List++data DescribeClustersResponse = DescribeClustersResponse+ { _dcrClusters :: List "member" Cluster+ , _dcrFailures :: List "member" Failure+ } deriving (Eq, Read, Show)++-- | 'DescribeClustersResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dcrClusters' @::@ ['Cluster']+--+-- * 'dcrFailures' @::@ ['Failure']+--+describeClustersResponse :: DescribeClustersResponse+describeClustersResponse = DescribeClustersResponse+ { _dcrClusters = mempty+ , _dcrFailures = mempty+ }++-- | The list of clusters.+dcrClusters :: Lens' DescribeClustersResponse [Cluster]+dcrClusters = lens _dcrClusters (\s a -> s { _dcrClusters = a }) . _List++dcrFailures :: Lens' DescribeClustersResponse [Failure]+dcrFailures = lens _dcrFailures (\s a -> s { _dcrFailures = a }) . _List++instance ToPath DescribeClusters where+ toPath = const "/"++instance ToQuery DescribeClusters where+ toQuery DescribeClusters{..} = mconcat+ [ "clusters" =? _dcClusters+ ]++instance ToHeaders DescribeClusters++instance AWSRequest DescribeClusters where+ type Sv DescribeClusters = ECS+ type Rs DescribeClusters = DescribeClustersResponse++ request = post "DescribeClusters"+ response = xmlResponse++instance FromXML DescribeClustersResponse where+ parseXML = withElement "DescribeClustersResult" $ \x -> DescribeClustersResponse+ <$> x .@? "clusters" .!@ mempty+ <*> x .@? "failures" .!@ mempty
+ gen/Network/AWS/ECS/DescribeContainerInstances.hs view
@@ -0,0 +1,134 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.ECS.DescribeContainerInstances+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- 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)+--+-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | Describes Amazon EC2 Container Service container instances. Returns metadata+-- about registered and remaining resources on each container instance requested.+--+-- <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeContainerInstances.html>+module Network.AWS.ECS.DescribeContainerInstances+ (+ -- * Request+ DescribeContainerInstances+ -- ** Request constructor+ , describeContainerInstances+ -- ** Request lenses+ , dciCluster+ , dciContainerInstances++ -- * Response+ , DescribeContainerInstancesResponse+ -- ** Response constructor+ , describeContainerInstancesResponse+ -- ** Response lenses+ , dcirContainerInstances+ , dcirFailures+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.ECS.Types+import qualified GHC.Exts++data DescribeContainerInstances = DescribeContainerInstances+ { _dciCluster :: Maybe Text+ , _dciContainerInstances :: List "member" Text+ } deriving (Eq, Ord, Read, Show)++-- | 'DescribeContainerInstances' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dciCluster' @::@ 'Maybe' 'Text'+--+-- * 'dciContainerInstances' @::@ ['Text']+--+describeContainerInstances :: DescribeContainerInstances+describeContainerInstances = DescribeContainerInstances+ { _dciCluster = Nothing+ , _dciContainerInstances = mempty+ }++-- | The short name or full Amazon Resource Name (ARN) of the cluster that hosts+-- the container instances you want to describe. If you do not specify a+-- cluster, the default cluster is assumed.+dciCluster :: Lens' DescribeContainerInstances (Maybe Text)+dciCluster = lens _dciCluster (\s a -> s { _dciCluster = a })++-- | A space-separated list of container instance UUIDs or full Amazon Resource+-- Name (ARN) entries.+dciContainerInstances :: Lens' DescribeContainerInstances [Text]+dciContainerInstances =+ lens _dciContainerInstances (\s a -> s { _dciContainerInstances = a })+ . _List++data DescribeContainerInstancesResponse = DescribeContainerInstancesResponse+ { _dcirContainerInstances :: List "member" ContainerInstance+ , _dcirFailures :: List "member" Failure+ } deriving (Eq, Read, Show)++-- | 'DescribeContainerInstancesResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dcirContainerInstances' @::@ ['ContainerInstance']+--+-- * 'dcirFailures' @::@ ['Failure']+--+describeContainerInstancesResponse :: DescribeContainerInstancesResponse+describeContainerInstancesResponse = DescribeContainerInstancesResponse+ { _dcirContainerInstances = mempty+ , _dcirFailures = mempty+ }++-- | The list of container instances.+dcirContainerInstances :: Lens' DescribeContainerInstancesResponse [ContainerInstance]+dcirContainerInstances =+ lens _dcirContainerInstances (\s a -> s { _dcirContainerInstances = a })+ . _List++dcirFailures :: Lens' DescribeContainerInstancesResponse [Failure]+dcirFailures = lens _dcirFailures (\s a -> s { _dcirFailures = a }) . _List++instance ToPath DescribeContainerInstances where+ toPath = const "/"++instance ToQuery DescribeContainerInstances where+ toQuery DescribeContainerInstances{..} = mconcat+ [ "cluster" =? _dciCluster+ , "containerInstances" =? _dciContainerInstances+ ]++instance ToHeaders DescribeContainerInstances++instance AWSRequest DescribeContainerInstances where+ type Sv DescribeContainerInstances = ECS+ type Rs DescribeContainerInstances = DescribeContainerInstancesResponse++ request = post "DescribeContainerInstances"+ response = xmlResponse++instance FromXML DescribeContainerInstancesResponse where+ parseXML = withElement "DescribeContainerInstancesResult" $ \x -> DescribeContainerInstancesResponse+ <$> x .@? "containerInstances" .!@ mempty+ <*> x .@? "failures" .!@ mempty
+ gen/Network/AWS/ECS/DescribeTaskDefinition.hs view
@@ -0,0 +1,111 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.ECS.DescribeTaskDefinition+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- 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)+--+-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | Describes a task definition.+--+-- <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeTaskDefinition.html>+module Network.AWS.ECS.DescribeTaskDefinition+ (+ -- * Request+ DescribeTaskDefinition+ -- ** Request constructor+ , describeTaskDefinition+ -- ** Request lenses+ , dtdTaskDefinition++ -- * Response+ , DescribeTaskDefinitionResponse+ -- ** Response constructor+ , describeTaskDefinitionResponse+ -- ** Response lenses+ , dtdr1TaskDefinition+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.ECS.Types+import qualified GHC.Exts++newtype DescribeTaskDefinition = DescribeTaskDefinition+ { _dtdTaskDefinition :: Text+ } deriving (Eq, Ord, Read, Show, Monoid, IsString)++-- | 'DescribeTaskDefinition' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dtdTaskDefinition' @::@ 'Text'+--+describeTaskDefinition :: Text -- ^ 'dtdTaskDefinition'+ -> DescribeTaskDefinition+describeTaskDefinition p1 = DescribeTaskDefinition+ { _dtdTaskDefinition = p1+ }++-- | The 'family' and 'revision' ('family:revision') or full Amazon Resource Name (ARN)+-- of the task definition that you want to describe.+dtdTaskDefinition :: Lens' DescribeTaskDefinition Text+dtdTaskDefinition =+ lens _dtdTaskDefinition (\s a -> s { _dtdTaskDefinition = a })++newtype DescribeTaskDefinitionResponse = DescribeTaskDefinitionResponse+ { _dtdr1TaskDefinition :: Maybe TaskDefinition+ } deriving (Eq, Read, Show)++-- | 'DescribeTaskDefinitionResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dtdr1TaskDefinition' @::@ 'Maybe' 'TaskDefinition'+--+describeTaskDefinitionResponse :: DescribeTaskDefinitionResponse+describeTaskDefinitionResponse = DescribeTaskDefinitionResponse+ { _dtdr1TaskDefinition = Nothing+ }++-- | The full task definition description.+dtdr1TaskDefinition :: Lens' DescribeTaskDefinitionResponse (Maybe TaskDefinition)+dtdr1TaskDefinition =+ lens _dtdr1TaskDefinition (\s a -> s { _dtdr1TaskDefinition = a })++instance ToPath DescribeTaskDefinition where+ toPath = const "/"++instance ToQuery DescribeTaskDefinition where+ toQuery DescribeTaskDefinition{..} = mconcat+ [ "taskDefinition" =? _dtdTaskDefinition+ ]++instance ToHeaders DescribeTaskDefinition++instance AWSRequest DescribeTaskDefinition where+ type Sv DescribeTaskDefinition = ECS+ type Rs DescribeTaskDefinition = DescribeTaskDefinitionResponse++ request = post "DescribeTaskDefinition"+ response = xmlResponse++instance FromXML DescribeTaskDefinitionResponse where+ parseXML = withElement "DescribeTaskDefinitionResult" $ \x -> DescribeTaskDefinitionResponse+ <$> x .@? "taskDefinition"
+ gen/Network/AWS/ECS/DescribeTasks.hs view
@@ -0,0 +1,129 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.ECS.DescribeTasks+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- 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)+--+-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | Describes a specified task or tasks.+--+-- <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeTasks.html>+module Network.AWS.ECS.DescribeTasks+ (+ -- * Request+ DescribeTasks+ -- ** Request constructor+ , describeTasks+ -- ** Request lenses+ , dtCluster+ , dtTasks++ -- * Response+ , DescribeTasksResponse+ -- ** Response constructor+ , describeTasksResponse+ -- ** Response lenses+ , dtrFailures+ , dtrTasks+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.ECS.Types+import qualified GHC.Exts++data DescribeTasks = DescribeTasks+ { _dtCluster :: Maybe Text+ , _dtTasks :: List "member" Text+ } deriving (Eq, Ord, Read, Show)++-- | 'DescribeTasks' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dtCluster' @::@ 'Maybe' 'Text'+--+-- * 'dtTasks' @::@ ['Text']+--+describeTasks :: DescribeTasks+describeTasks = DescribeTasks+ { _dtCluster = Nothing+ , _dtTasks = mempty+ }++-- | The short name or full Amazon Resource Name (ARN) of the cluster that hosts+-- the task you want to describe. If you do not specify a cluster, the default+-- cluster is assumed.+dtCluster :: Lens' DescribeTasks (Maybe Text)+dtCluster = lens _dtCluster (\s a -> s { _dtCluster = a })++-- | A space-separated list of task UUIDs or full Amazon Resource Name (ARN)+-- entries.+dtTasks :: Lens' DescribeTasks [Text]+dtTasks = lens _dtTasks (\s a -> s { _dtTasks = a }) . _List++data DescribeTasksResponse = DescribeTasksResponse+ { _dtrFailures :: List "member" Failure+ , _dtrTasks :: List "member" Task+ } deriving (Eq, Read, Show)++-- | 'DescribeTasksResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dtrFailures' @::@ ['Failure']+--+-- * 'dtrTasks' @::@ ['Task']+--+describeTasksResponse :: DescribeTasksResponse+describeTasksResponse = DescribeTasksResponse+ { _dtrTasks = mempty+ , _dtrFailures = mempty+ }++dtrFailures :: Lens' DescribeTasksResponse [Failure]+dtrFailures = lens _dtrFailures (\s a -> s { _dtrFailures = a }) . _List++-- | The list of tasks.+dtrTasks :: Lens' DescribeTasksResponse [Task]+dtrTasks = lens _dtrTasks (\s a -> s { _dtrTasks = a }) . _List++instance ToPath DescribeTasks where+ toPath = const "/"++instance ToQuery DescribeTasks where+ toQuery DescribeTasks{..} = mconcat+ [ "cluster" =? _dtCluster+ , "tasks" =? _dtTasks+ ]++instance ToHeaders DescribeTasks++instance AWSRequest DescribeTasks where+ type Sv DescribeTasks = ECS+ type Rs DescribeTasks = DescribeTasksResponse++ request = post "DescribeTasks"+ response = xmlResponse++instance FromXML DescribeTasksResponse where+ parseXML = withElement "DescribeTasksResult" $ \x -> DescribeTasksResponse+ <$> x .@? "failures" .!@ mempty+ <*> x .@? "tasks" .!@ mempty
+ gen/Network/AWS/ECS/DiscoverPollEndpoint.hs view
@@ -0,0 +1,117 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.ECS.DiscoverPollEndpoint+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- 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)+--+-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | This action is only used by the Amazon EC2 Container Service agent, and it is+-- not intended for use outside of the agent.+--+-- Returns an endpoint for the Amazon EC2 Container Service agent to poll for+-- updates.+--+-- <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DiscoverPollEndpoint.html>+module Network.AWS.ECS.DiscoverPollEndpoint+ (+ -- * Request+ DiscoverPollEndpoint+ -- ** Request constructor+ , discoverPollEndpoint+ -- ** Request lenses+ , dpeContainerInstance++ -- * Response+ , DiscoverPollEndpointResponse+ -- ** Response constructor+ , discoverPollEndpointResponse+ -- ** Response lenses+ , dperEndpoint+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.ECS.Types+import qualified GHC.Exts++newtype DiscoverPollEndpoint = DiscoverPollEndpoint+ { _dpeContainerInstance :: Maybe Text+ } deriving (Eq, Ord, Read, Show, Monoid)++-- | 'DiscoverPollEndpoint' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dpeContainerInstance' @::@ 'Maybe' 'Text'+--+discoverPollEndpoint :: DiscoverPollEndpoint+discoverPollEndpoint = DiscoverPollEndpoint+ { _dpeContainerInstance = Nothing+ }++-- | The container instance UUID or full Amazon Resource Name (ARN) of the+-- container instance. The ARN contains the 'arn:aws:ecs' namespace, followed by+-- the region of the container instance, the AWS account ID of the container+-- instance owner, the 'container-instance' namespace, and then the container+-- instance UUID. For example, arn:aws:ecs:/region/:/aws_account_id/:container-instance/+-- /container_instance_UUID/.+dpeContainerInstance :: Lens' DiscoverPollEndpoint (Maybe Text)+dpeContainerInstance =+ lens _dpeContainerInstance (\s a -> s { _dpeContainerInstance = a })++newtype DiscoverPollEndpointResponse = DiscoverPollEndpointResponse+ { _dperEndpoint :: Maybe Text+ } deriving (Eq, Ord, Read, Show, Monoid)++-- | 'DiscoverPollEndpointResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dperEndpoint' @::@ 'Maybe' 'Text'+--+discoverPollEndpointResponse :: DiscoverPollEndpointResponse+discoverPollEndpointResponse = DiscoverPollEndpointResponse+ { _dperEndpoint = Nothing+ }++-- | The endpoint for the Amazon ECS agent to poll.+dperEndpoint :: Lens' DiscoverPollEndpointResponse (Maybe Text)+dperEndpoint = lens _dperEndpoint (\s a -> s { _dperEndpoint = a })++instance ToPath DiscoverPollEndpoint where+ toPath = const "/"++instance ToQuery DiscoverPollEndpoint where+ toQuery DiscoverPollEndpoint{..} = mconcat+ [ "containerInstance" =? _dpeContainerInstance+ ]++instance ToHeaders DiscoverPollEndpoint++instance AWSRequest DiscoverPollEndpoint where+ type Sv DiscoverPollEndpoint = ECS+ type Rs DiscoverPollEndpoint = DiscoverPollEndpointResponse++ request = post "DiscoverPollEndpoint"+ response = xmlResponse++instance FromXML DiscoverPollEndpointResponse where+ parseXML = withElement "DiscoverPollEndpointResult" $ \x -> DiscoverPollEndpointResponse+ <$> x .@? "endpoint"
+ gen/Network/AWS/ECS/ListClusters.hs view
@@ -0,0 +1,140 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.ECS.ListClusters+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- 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)+--+-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | Returns a list of existing clusters.+--+-- <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ListClusters.html>+module Network.AWS.ECS.ListClusters+ (+ -- * Request+ ListClusters+ -- ** Request constructor+ , listClusters+ -- ** Request lenses+ , lcMaxResults+ , lcNextToken++ -- * Response+ , ListClustersResponse+ -- ** Response constructor+ , listClustersResponse+ -- ** Response lenses+ , lcrClusterArns+ , lcrNextToken+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.ECS.Types+import qualified GHC.Exts++data ListClusters = ListClusters+ { _lcMaxResults :: Maybe Int+ , _lcNextToken :: Maybe Text+ } deriving (Eq, Ord, Read, Show)++-- | 'ListClusters' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'lcMaxResults' @::@ 'Maybe' 'Int'+--+-- * 'lcNextToken' @::@ 'Maybe' 'Text'+--+listClusters :: ListClusters+listClusters = ListClusters+ { _lcNextToken = Nothing+ , _lcMaxResults = Nothing+ }++-- | The maximum number of cluster results returned by 'ListClusters' in paginated+-- output. When this parameter is used, 'ListClusters' only returns 'maxResults'+-- results in a single page along with a 'nextToken' response element. The+-- remaining results of the initial request can be seen by sending another 'ListClusters' request with the returned 'nextToken' value. This value can be between 1 and+-- 100. If this parameter is not used, then 'ListClusters' returns up to 100+-- results and a 'nextToken' value if applicable.+lcMaxResults :: Lens' ListClusters (Maybe Int)+lcMaxResults = lens _lcMaxResults (\s a -> s { _lcMaxResults = a })++-- | The 'nextToken' value returned from a previous paginated 'ListClusters' request+-- where 'maxResults' was used and the results exceeded the value of that+-- parameter. Pagination continues from the end of the previous results that+-- returned the 'nextToken' value. This value is 'null' when there are no more+-- results to return.+lcNextToken :: Lens' ListClusters (Maybe Text)+lcNextToken = lens _lcNextToken (\s a -> s { _lcNextToken = a })++data ListClustersResponse = ListClustersResponse+ { _lcrClusterArns :: List "member" Text+ , _lcrNextToken :: Maybe Text+ } deriving (Eq, Ord, Read, Show)++-- | 'ListClustersResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'lcrClusterArns' @::@ ['Text']+--+-- * 'lcrNextToken' @::@ 'Maybe' 'Text'+--+listClustersResponse :: ListClustersResponse+listClustersResponse = ListClustersResponse+ { _lcrClusterArns = mempty+ , _lcrNextToken = Nothing+ }++-- | The list of full Amazon Resource Name (ARN) entries for each cluster+-- associated with your account.+lcrClusterArns :: Lens' ListClustersResponse [Text]+lcrClusterArns = lens _lcrClusterArns (\s a -> s { _lcrClusterArns = a }) . _List++-- | The 'nextToken' value to include in a future 'ListClusters' request. When the+-- results of a 'ListClusters' request exceed 'maxResults', this value can be used+-- to retrieve the next page of results. This value is 'null' when there are no+-- more results to return.+lcrNextToken :: Lens' ListClustersResponse (Maybe Text)+lcrNextToken = lens _lcrNextToken (\s a -> s { _lcrNextToken = a })++instance ToPath ListClusters where+ toPath = const "/"++instance ToQuery ListClusters where+ toQuery ListClusters{..} = mconcat+ [ "maxResults" =? _lcMaxResults+ , "nextToken" =? _lcNextToken+ ]++instance ToHeaders ListClusters++instance AWSRequest ListClusters where+ type Sv ListClusters = ECS+ type Rs ListClusters = ListClustersResponse++ request = post "ListClusters"+ response = xmlResponse++instance FromXML ListClustersResponse where+ parseXML = withElement "ListClustersResult" $ \x -> ListClustersResponse+ <$> x .@? "clusterArns" .!@ mempty+ <*> x .@? "nextToken"
+ gen/Network/AWS/ECS/ListContainerInstances.hs view
@@ -0,0 +1,156 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.ECS.ListContainerInstances+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- 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)+--+-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | Returns a list of container instances in a specified cluster.+--+-- <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ListContainerInstances.html>+module Network.AWS.ECS.ListContainerInstances+ (+ -- * Request+ ListContainerInstances+ -- ** Request constructor+ , listContainerInstances+ -- ** Request lenses+ , lciCluster+ , lciMaxResults+ , lciNextToken++ -- * Response+ , ListContainerInstancesResponse+ -- ** Response constructor+ , listContainerInstancesResponse+ -- ** Response lenses+ , lcirContainerInstanceArns+ , lcirNextToken+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.ECS.Types+import qualified GHC.Exts++data ListContainerInstances = ListContainerInstances+ { _lciCluster :: Maybe Text+ , _lciMaxResults :: Maybe Int+ , _lciNextToken :: Maybe Text+ } deriving (Eq, Ord, Read, Show)++-- | 'ListContainerInstances' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'lciCluster' @::@ 'Maybe' 'Text'+--+-- * 'lciMaxResults' @::@ 'Maybe' 'Int'+--+-- * 'lciNextToken' @::@ 'Maybe' 'Text'+--+listContainerInstances :: ListContainerInstances+listContainerInstances = ListContainerInstances+ { _lciCluster = Nothing+ , _lciNextToken = Nothing+ , _lciMaxResults = Nothing+ }++-- | The short name or full Amazon Resource Name (ARN) of the cluster that hosts+-- the container instances you want to list. If you do not specify a cluster,+-- the default cluster is assumed..+lciCluster :: Lens' ListContainerInstances (Maybe Text)+lciCluster = lens _lciCluster (\s a -> s { _lciCluster = a })++-- | The maximum number of container instance results returned by 'ListContainerInstances' in paginated output. When this parameter is used, 'ListContainerInstances'+-- only returns 'maxResults' results in a single page along with a 'nextToken'+-- response element. The remaining results of the initial request can be seen by+-- sending another 'ListContainerInstances' request with the returned 'nextToken'+-- value. This value can be between 1 and 100. If this parameter is not used,+-- then 'ListContainerInstances' returns up to 100 results and a 'nextToken' value+-- if applicable.+lciMaxResults :: Lens' ListContainerInstances (Maybe Int)+lciMaxResults = lens _lciMaxResults (\s a -> s { _lciMaxResults = a })++-- | The 'nextToken' value returned from a previous paginated 'ListContainerInstances'+-- request where 'maxResults' was used and the results exceeded the value of that+-- parameter. Pagination continues from the end of the previous results that+-- returned the 'nextToken' value. This value is 'null' when there are no more+-- results to return.+lciNextToken :: Lens' ListContainerInstances (Maybe Text)+lciNextToken = lens _lciNextToken (\s a -> s { _lciNextToken = a })++data ListContainerInstancesResponse = ListContainerInstancesResponse+ { _lcirContainerInstanceArns :: List "member" Text+ , _lcirNextToken :: Maybe Text+ } deriving (Eq, Ord, Read, Show)++-- | 'ListContainerInstancesResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'lcirContainerInstanceArns' @::@ ['Text']+--+-- * 'lcirNextToken' @::@ 'Maybe' 'Text'+--+listContainerInstancesResponse :: ListContainerInstancesResponse+listContainerInstancesResponse = ListContainerInstancesResponse+ { _lcirContainerInstanceArns = mempty+ , _lcirNextToken = Nothing+ }++-- | The list of container instance full Amazon Resource Name (ARN) entries for+-- each container instance associated with the specified cluster.+lcirContainerInstanceArns :: Lens' ListContainerInstancesResponse [Text]+lcirContainerInstanceArns =+ lens _lcirContainerInstanceArns+ (\s a -> s { _lcirContainerInstanceArns = a })+ . _List++-- | The 'nextToken' value to include in a future 'ListContainerInstances' request.+-- When the results of a 'ListContainerInstances' request exceed 'maxResults', this+-- value can be used to retrieve the next page of results. This value is 'null'+-- when there are no more results to return.+lcirNextToken :: Lens' ListContainerInstancesResponse (Maybe Text)+lcirNextToken = lens _lcirNextToken (\s a -> s { _lcirNextToken = a })++instance ToPath ListContainerInstances where+ toPath = const "/"++instance ToQuery ListContainerInstances where+ toQuery ListContainerInstances{..} = mconcat+ [ "cluster" =? _lciCluster+ , "maxResults" =? _lciMaxResults+ , "nextToken" =? _lciNextToken+ ]++instance ToHeaders ListContainerInstances++instance AWSRequest ListContainerInstances where+ type Sv ListContainerInstances = ECS+ type Rs ListContainerInstances = ListContainerInstancesResponse++ request = post "ListContainerInstances"+ response = xmlResponse++instance FromXML ListContainerInstancesResponse where+ parseXML = withElement "ListContainerInstancesResult" $ \x -> ListContainerInstancesResponse+ <$> x .@? "containerInstanceArns" .!@ mempty+ <*> x .@? "nextToken"
+ gen/Network/AWS/ECS/ListTaskDefinitions.hs view
@@ -0,0 +1,154 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.ECS.ListTaskDefinitions+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- 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)+--+-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | Returns a list of task definitions that are registered to your account. You+-- can filter the results by family name with the 'familyPrefix' parameter.+--+-- <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ListTaskDefinitions.html>+module Network.AWS.ECS.ListTaskDefinitions+ (+ -- * Request+ ListTaskDefinitions+ -- ** Request constructor+ , listTaskDefinitions+ -- ** Request lenses+ , ltdFamilyPrefix+ , ltdMaxResults+ , ltdNextToken++ -- * Response+ , ListTaskDefinitionsResponse+ -- ** Response constructor+ , listTaskDefinitionsResponse+ -- ** Response lenses+ , ltdrNextToken+ , ltdrTaskDefinitionArns+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.ECS.Types+import qualified GHC.Exts++data ListTaskDefinitions = ListTaskDefinitions+ { _ltdFamilyPrefix :: Maybe Text+ , _ltdMaxResults :: Maybe Int+ , _ltdNextToken :: Maybe Text+ } deriving (Eq, Ord, Read, Show)++-- | 'ListTaskDefinitions' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ltdFamilyPrefix' @::@ 'Maybe' 'Text'+--+-- * 'ltdMaxResults' @::@ 'Maybe' 'Int'+--+-- * 'ltdNextToken' @::@ 'Maybe' 'Text'+--+listTaskDefinitions :: ListTaskDefinitions+listTaskDefinitions = ListTaskDefinitions+ { _ltdFamilyPrefix = Nothing+ , _ltdNextToken = Nothing+ , _ltdMaxResults = Nothing+ }++-- | The name of the family that you want to filter the 'ListTaskDefinitions'+-- results with. Specifying a 'familyPrefix' will limit the listed task+-- definitions to definitions that belong to that family.+ltdFamilyPrefix :: Lens' ListTaskDefinitions (Maybe Text)+ltdFamilyPrefix = lens _ltdFamilyPrefix (\s a -> s { _ltdFamilyPrefix = a })++-- | The maximum number of task definition results returned by 'ListTaskDefinitions'+-- in paginated output. When this parameter is used, 'ListTaskDefinitions' only+-- returns 'maxResults' results in a single page along with a 'nextToken' response+-- element. The remaining results of the initial request can be seen by sending+-- another 'ListTaskDefinitions' request with the returned 'nextToken' value. This+-- value can be between 1 and 100. If this parameter is not used, then 'ListTaskDefinitions' returns up to 100 results and a 'nextToken' value if applicable.+ltdMaxResults :: Lens' ListTaskDefinitions (Maybe Int)+ltdMaxResults = lens _ltdMaxResults (\s a -> s { _ltdMaxResults = a })++-- | The 'nextToken' value returned from a previous paginated 'ListTaskDefinitions'+-- request where 'maxResults' was used and the results exceeded the value of that+-- parameter. Pagination continues from the end of the previous results that+-- returned the 'nextToken' value. This value is 'null' when there are no more+-- results to return.+ltdNextToken :: Lens' ListTaskDefinitions (Maybe Text)+ltdNextToken = lens _ltdNextToken (\s a -> s { _ltdNextToken = a })++data ListTaskDefinitionsResponse = ListTaskDefinitionsResponse+ { _ltdrNextToken :: Maybe Text+ , _ltdrTaskDefinitionArns :: List "member" Text+ } deriving (Eq, Ord, Read, Show)++-- | 'ListTaskDefinitionsResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ltdrNextToken' @::@ 'Maybe' 'Text'+--+-- * 'ltdrTaskDefinitionArns' @::@ ['Text']+--+listTaskDefinitionsResponse :: ListTaskDefinitionsResponse+listTaskDefinitionsResponse = ListTaskDefinitionsResponse+ { _ltdrTaskDefinitionArns = mempty+ , _ltdrNextToken = Nothing+ }++-- | The 'nextToken' value to include in a future 'ListTaskDefinitions' request. When+-- the results of a 'ListTaskDefinitions' request exceed 'maxResults', this value+-- can be used to retrieve the next page of results. This value is 'null' when+-- there are no more results to return.+ltdrNextToken :: Lens' ListTaskDefinitionsResponse (Maybe Text)+ltdrNextToken = lens _ltdrNextToken (\s a -> s { _ltdrNextToken = a })++-- | The list of task definition Amazon Resource Name (ARN) entries for the 'ListTaskDefintions' request.+ltdrTaskDefinitionArns :: Lens' ListTaskDefinitionsResponse [Text]+ltdrTaskDefinitionArns =+ lens _ltdrTaskDefinitionArns (\s a -> s { _ltdrTaskDefinitionArns = a })+ . _List++instance ToPath ListTaskDefinitions where+ toPath = const "/"++instance ToQuery ListTaskDefinitions where+ toQuery ListTaskDefinitions{..} = mconcat+ [ "familyPrefix" =? _ltdFamilyPrefix+ , "maxResults" =? _ltdMaxResults+ , "nextToken" =? _ltdNextToken+ ]++instance ToHeaders ListTaskDefinitions++instance AWSRequest ListTaskDefinitions where+ type Sv ListTaskDefinitions = ECS+ type Rs ListTaskDefinitions = ListTaskDefinitionsResponse++ request = post "ListTaskDefinitions"+ response = xmlResponse++instance FromXML ListTaskDefinitionsResponse where+ parseXML = withElement "ListTaskDefinitionsResult" $ \x -> ListTaskDefinitionsResponse+ <$> x .@? "nextToken"+ <*> x .@? "taskDefinitionArns" .!@ mempty
+ gen/Network/AWS/ECS/ListTasks.hs view
@@ -0,0 +1,178 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.ECS.ListTasks+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- 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)+--+-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | Returns a list of tasks for a specified cluster. You can filter the results+-- by family name or by a particular container instance with the 'family' and 'containerInstance' parameters.+--+-- <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ListTasks.html>+module Network.AWS.ECS.ListTasks+ (+ -- * Request+ ListTasks+ -- ** Request constructor+ , listTasks+ -- ** Request lenses+ , ltCluster+ , ltContainerInstance+ , ltFamily+ , ltMaxResults+ , ltNextToken++ -- * Response+ , ListTasksResponse+ -- ** Response constructor+ , listTasksResponse+ -- ** Response lenses+ , ltrNextToken+ , ltrTaskArns+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.ECS.Types+import qualified GHC.Exts++data ListTasks = ListTasks+ { _ltCluster :: Maybe Text+ , _ltContainerInstance :: Maybe Text+ , _ltFamily :: Maybe Text+ , _ltMaxResults :: Maybe Int+ , _ltNextToken :: Maybe Text+ } deriving (Eq, Ord, Read, Show)++-- | 'ListTasks' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ltCluster' @::@ 'Maybe' 'Text'+--+-- * 'ltContainerInstance' @::@ 'Maybe' 'Text'+--+-- * 'ltFamily' @::@ 'Maybe' 'Text'+--+-- * 'ltMaxResults' @::@ 'Maybe' 'Int'+--+-- * 'ltNextToken' @::@ 'Maybe' 'Text'+--+listTasks :: ListTasks+listTasks = ListTasks+ { _ltCluster = Nothing+ , _ltContainerInstance = Nothing+ , _ltFamily = Nothing+ , _ltNextToken = Nothing+ , _ltMaxResults = Nothing+ }++-- | The short name or full Amazon Resource Name (ARN) of the cluster that hosts+-- the tasks you want to list. If you do not specify a cluster, the default+-- cluster is assumed..+ltCluster :: Lens' ListTasks (Maybe Text)+ltCluster = lens _ltCluster (\s a -> s { _ltCluster = a })++-- | The container instance UUID or full Amazon Resource Name (ARN) of the+-- container instance that you want to filter the 'ListTasks' results with.+-- Specifying a 'containerInstance' will limit the results to tasks that belong to+-- that container instance.+ltContainerInstance :: Lens' ListTasks (Maybe Text)+ltContainerInstance =+ lens _ltContainerInstance (\s a -> s { _ltContainerInstance = a })++-- | The name of the family that you want to filter the 'ListTasks' results with.+-- Specifying a 'family' will limit the results to tasks that belong to that+-- family.+ltFamily :: Lens' ListTasks (Maybe Text)+ltFamily = lens _ltFamily (\s a -> s { _ltFamily = a })++-- | The maximum number of task results returned by 'ListTasks' in paginated output.+-- When this parameter is used, 'ListTasks' only returns 'maxResults' results in a+-- single page along with a 'nextToken' response element. The remaining results of+-- the initial request can be seen by sending another 'ListTasks' request with the+-- returned 'nextToken' value. This value can be between 1 and 100. If this+-- parameter is not used, then 'ListTasks' returns up to 100 results and a 'nextToken' value if applicable.+ltMaxResults :: Lens' ListTasks (Maybe Int)+ltMaxResults = lens _ltMaxResults (\s a -> s { _ltMaxResults = a })++-- | The 'nextToken' value returned from a previous paginated 'ListTasks' request+-- where 'maxResults' was used and the results exceeded the value of that+-- parameter. Pagination continues from the end of the previous results that+-- returned the 'nextToken' value. This value is 'null' when there are no more+-- results to return.+ltNextToken :: Lens' ListTasks (Maybe Text)+ltNextToken = lens _ltNextToken (\s a -> s { _ltNextToken = a })++data ListTasksResponse = ListTasksResponse+ { _ltrNextToken :: Maybe Text+ , _ltrTaskArns :: List "member" Text+ } deriving (Eq, Ord, Read, Show)++-- | 'ListTasksResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ltrNextToken' @::@ 'Maybe' 'Text'+--+-- * 'ltrTaskArns' @::@ ['Text']+--+listTasksResponse :: ListTasksResponse+listTasksResponse = ListTasksResponse+ { _ltrTaskArns = mempty+ , _ltrNextToken = Nothing+ }++-- | The 'nextToken' value to include in a future 'ListTasks' request. When the+-- results of a 'ListTasks' request exceed 'maxResults', this value can be used to+-- retrieve the next page of results. This value is 'null' when there are no more+-- results to return.+ltrNextToken :: Lens' ListTasksResponse (Maybe Text)+ltrNextToken = lens _ltrNextToken (\s a -> s { _ltrNextToken = a })++-- | The list of task Amazon Resource Name (ARN) entries for the 'ListTasks' request.+ltrTaskArns :: Lens' ListTasksResponse [Text]+ltrTaskArns = lens _ltrTaskArns (\s a -> s { _ltrTaskArns = a }) . _List++instance ToPath ListTasks where+ toPath = const "/"++instance ToQuery ListTasks where+ toQuery ListTasks{..} = mconcat+ [ "cluster" =? _ltCluster+ , "containerInstance" =? _ltContainerInstance+ , "family" =? _ltFamily+ , "maxResults" =? _ltMaxResults+ , "nextToken" =? _ltNextToken+ ]++instance ToHeaders ListTasks++instance AWSRequest ListTasks where+ type Sv ListTasks = ECS+ type Rs ListTasks = ListTasksResponse++ request = post "ListTasks"+ response = xmlResponse++instance FromXML ListTasksResponse where+ parseXML = withElement "ListTasksResult" $ \x -> ListTasksResponse+ <$> x .@? "nextToken"+ <*> x .@? "taskArns" .!@ mempty
+ gen/Network/AWS/ECS/RegisterContainerInstance.hs view
@@ -0,0 +1,146 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.ECS.RegisterContainerInstance+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- 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)+--+-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | This action is only used by the Amazon EC2 Container Service agent, and it is+-- not intended for use outside of the agent.+--+-- Registers an Amazon EC2 instance into the specified cluster. This instance+-- will become available to place containers on.+--+-- <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RegisterContainerInstance.html>+module Network.AWS.ECS.RegisterContainerInstance+ (+ -- * Request+ RegisterContainerInstance+ -- ** Request constructor+ , registerContainerInstance+ -- ** Request lenses+ , rciCluster+ , rciInstanceIdentityDocument+ , rciInstanceIdentityDocumentSignature+ , rciTotalResources++ -- * Response+ , RegisterContainerInstanceResponse+ -- ** Response constructor+ , registerContainerInstanceResponse+ -- ** Response lenses+ , rcirContainerInstance+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.ECS.Types+import qualified GHC.Exts++data RegisterContainerInstance = RegisterContainerInstance+ { _rciCluster :: Maybe Text+ , _rciInstanceIdentityDocument :: Maybe Text+ , _rciInstanceIdentityDocumentSignature :: Maybe Text+ , _rciTotalResources :: List "member" Resource+ } deriving (Eq, Read, Show)++-- | 'RegisterContainerInstance' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'rciCluster' @::@ 'Maybe' 'Text'+--+-- * 'rciInstanceIdentityDocument' @::@ 'Maybe' 'Text'+--+-- * 'rciInstanceIdentityDocumentSignature' @::@ 'Maybe' 'Text'+--+-- * 'rciTotalResources' @::@ ['Resource']+--+registerContainerInstance :: RegisterContainerInstance+registerContainerInstance = RegisterContainerInstance+ { _rciCluster = Nothing+ , _rciInstanceIdentityDocument = Nothing+ , _rciInstanceIdentityDocumentSignature = Nothing+ , _rciTotalResources = mempty+ }++-- | The short name or full Amazon Resource Name (ARN) of the cluster that you+-- want to register your container instance with. If you do not specify a+-- cluster, the default cluster is assumed..+rciCluster :: Lens' RegisterContainerInstance (Maybe Text)+rciCluster = lens _rciCluster (\s a -> s { _rciCluster = a })++rciInstanceIdentityDocument :: Lens' RegisterContainerInstance (Maybe Text)+rciInstanceIdentityDocument =+ lens _rciInstanceIdentityDocument+ (\s a -> s { _rciInstanceIdentityDocument = a })++rciInstanceIdentityDocumentSignature :: Lens' RegisterContainerInstance (Maybe Text)+rciInstanceIdentityDocumentSignature =+ lens _rciInstanceIdentityDocumentSignature+ (\s a -> s { _rciInstanceIdentityDocumentSignature = a })++rciTotalResources :: Lens' RegisterContainerInstance [Resource]+rciTotalResources =+ lens _rciTotalResources (\s a -> s { _rciTotalResources = a })+ . _List++newtype RegisterContainerInstanceResponse = RegisterContainerInstanceResponse+ { _rcirContainerInstance :: Maybe ContainerInstance+ } deriving (Eq, Read, Show)++-- | 'RegisterContainerInstanceResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'rcirContainerInstance' @::@ 'Maybe' 'ContainerInstance'+--+registerContainerInstanceResponse :: RegisterContainerInstanceResponse+registerContainerInstanceResponse = RegisterContainerInstanceResponse+ { _rcirContainerInstance = Nothing+ }++rcirContainerInstance :: Lens' RegisterContainerInstanceResponse (Maybe ContainerInstance)+rcirContainerInstance =+ lens _rcirContainerInstance (\s a -> s { _rcirContainerInstance = a })++instance ToPath RegisterContainerInstance where+ toPath = const "/"++instance ToQuery RegisterContainerInstance where+ toQuery RegisterContainerInstance{..} = mconcat+ [ "cluster" =? _rciCluster+ , "instanceIdentityDocument" =? _rciInstanceIdentityDocument+ , "instanceIdentityDocumentSignature" =? _rciInstanceIdentityDocumentSignature+ , "totalResources" =? _rciTotalResources+ ]++instance ToHeaders RegisterContainerInstance++instance AWSRequest RegisterContainerInstance where+ type Sv RegisterContainerInstance = ECS+ type Rs RegisterContainerInstance = RegisterContainerInstanceResponse++ request = post "RegisterContainerInstance"+ response = xmlResponse++instance FromXML RegisterContainerInstanceResponse where+ parseXML = withElement "RegisterContainerInstanceResult" $ \x -> RegisterContainerInstanceResponse+ <$> x .@? "containerInstance"
+ gen/Network/AWS/ECS/RegisterTaskDefinition.hs view
@@ -0,0 +1,123 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.ECS.RegisterTaskDefinition+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- 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)+--+-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | Registers a new task definition from the supplied 'family' and 'containerDefinitions'.+--+-- <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RegisterTaskDefinition.html>+module Network.AWS.ECS.RegisterTaskDefinition+ (+ -- * Request+ RegisterTaskDefinition+ -- ** Request constructor+ , registerTaskDefinition+ -- ** Request lenses+ , rtdContainerDefinitions+ , rtdFamily++ -- * Response+ , RegisterTaskDefinitionResponse+ -- ** Response constructor+ , registerTaskDefinitionResponse+ -- ** Response lenses+ , rtdrTaskDefinition+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.ECS.Types+import qualified GHC.Exts++data RegisterTaskDefinition = RegisterTaskDefinition+ { _rtdContainerDefinitions :: List "member" ContainerDefinition+ , _rtdFamily :: Text+ } deriving (Eq, Read, Show)++-- | 'RegisterTaskDefinition' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'rtdContainerDefinitions' @::@ ['ContainerDefinition']+--+-- * 'rtdFamily' @::@ 'Text'+--+registerTaskDefinition :: Text -- ^ 'rtdFamily'+ -> RegisterTaskDefinition+registerTaskDefinition p1 = RegisterTaskDefinition+ { _rtdFamily = p1+ , _rtdContainerDefinitions = mempty+ }++-- | A list of container definitions in JSON format that describe the different+-- containers that make up your task.+rtdContainerDefinitions :: Lens' RegisterTaskDefinition [ContainerDefinition]+rtdContainerDefinitions =+ lens _rtdContainerDefinitions (\s a -> s { _rtdContainerDefinitions = a })+ . _List++-- | You can specify a 'family' for a task definition, which allows you to track+-- multiple versions of the same task definition. You can think of the 'family' as+-- a name for your task definition.+rtdFamily :: Lens' RegisterTaskDefinition Text+rtdFamily = lens _rtdFamily (\s a -> s { _rtdFamily = a })++newtype RegisterTaskDefinitionResponse = RegisterTaskDefinitionResponse+ { _rtdrTaskDefinition :: Maybe TaskDefinition+ } deriving (Eq, Read, Show)++-- | 'RegisterTaskDefinitionResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'rtdrTaskDefinition' @::@ 'Maybe' 'TaskDefinition'+--+registerTaskDefinitionResponse :: RegisterTaskDefinitionResponse+registerTaskDefinitionResponse = RegisterTaskDefinitionResponse+ { _rtdrTaskDefinition = Nothing+ }++rtdrTaskDefinition :: Lens' RegisterTaskDefinitionResponse (Maybe TaskDefinition)+rtdrTaskDefinition =+ lens _rtdrTaskDefinition (\s a -> s { _rtdrTaskDefinition = a })++instance ToPath RegisterTaskDefinition where+ toPath = const "/"++instance ToQuery RegisterTaskDefinition where+ toQuery RegisterTaskDefinition{..} = mconcat+ [ "containerDefinitions" =? _rtdContainerDefinitions+ , "family" =? _rtdFamily+ ]++instance ToHeaders RegisterTaskDefinition++instance AWSRequest RegisterTaskDefinition where+ type Sv RegisterTaskDefinition = ECS+ type Rs RegisterTaskDefinition = RegisterTaskDefinitionResponse++ request = post "RegisterTaskDefinition"+ response = xmlResponse++instance FromXML RegisterTaskDefinitionResponse where+ parseXML = withElement "RegisterTaskDefinitionResult" $ \x -> RegisterTaskDefinitionResponse+ <$> x .@? "taskDefinition"
+ gen/Network/AWS/ECS/RunTask.hs view
@@ -0,0 +1,154 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.ECS.RunTask+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- 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)+--+-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | Start a task using random placement and the default Amazon ECS scheduler. If+-- you want to use your own scheduler or place a task on a specific container+-- instance, use 'StartTask' instead.+--+-- <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html>+module Network.AWS.ECS.RunTask+ (+ -- * Request+ RunTask+ -- ** Request constructor+ , runTask+ -- ** Request lenses+ , rtCluster+ , rtCount+ , rtOverrides+ , rtTaskDefinition++ -- * Response+ , RunTaskResponse+ -- ** Response constructor+ , runTaskResponse+ -- ** Response lenses+ , rtrFailures+ , rtrTasks+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.ECS.Types+import qualified GHC.Exts++data RunTask = RunTask+ { _rtCluster :: Maybe Text+ , _rtCount :: Maybe Int+ , _rtOverrides :: Maybe TaskOverride+ , _rtTaskDefinition :: Text+ } deriving (Eq, Read, Show)++-- | 'RunTask' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'rtCluster' @::@ 'Maybe' 'Text'+--+-- * 'rtCount' @::@ 'Maybe' 'Int'+--+-- * 'rtOverrides' @::@ 'Maybe' 'TaskOverride'+--+-- * 'rtTaskDefinition' @::@ 'Text'+--+runTask :: Text -- ^ 'rtTaskDefinition'+ -> RunTask+runTask p1 = RunTask+ { _rtTaskDefinition = p1+ , _rtCluster = Nothing+ , _rtOverrides = Nothing+ , _rtCount = Nothing+ }++-- | The short name or full Amazon Resource Name (ARN) of the cluster that you+-- want to run your task on. If you do not specify a cluster, the default+-- cluster is assumed..+rtCluster :: Lens' RunTask (Maybe Text)+rtCluster = lens _rtCluster (\s a -> s { _rtCluster = a })++-- | The number of instances of the specified task that you would like to place on+-- your cluster.+rtCount :: Lens' RunTask (Maybe Int)+rtCount = lens _rtCount (\s a -> s { _rtCount = a })++rtOverrides :: Lens' RunTask (Maybe TaskOverride)+rtOverrides = lens _rtOverrides (\s a -> s { _rtOverrides = a })++-- | The 'family' and 'revision' ('family:revision') or full Amazon Resource Name (ARN)+-- of the task definition that you want to run.+rtTaskDefinition :: Lens' RunTask Text+rtTaskDefinition = lens _rtTaskDefinition (\s a -> s { _rtTaskDefinition = a })++data RunTaskResponse = RunTaskResponse+ { _rtrFailures :: List "member" Failure+ , _rtrTasks :: List "member" Task+ } deriving (Eq, Read, Show)++-- | 'RunTaskResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'rtrFailures' @::@ ['Failure']+--+-- * 'rtrTasks' @::@ ['Task']+--+runTaskResponse :: RunTaskResponse+runTaskResponse = RunTaskResponse+ { _rtrTasks = mempty+ , _rtrFailures = mempty+ }++-- | Any failed tasks from your 'RunTask' action are listed here.+rtrFailures :: Lens' RunTaskResponse [Failure]+rtrFailures = lens _rtrFailures (\s a -> s { _rtrFailures = a }) . _List++-- | A full description of the tasks that were run. Each task that was+-- successfully placed on your cluster will be described here.+rtrTasks :: Lens' RunTaskResponse [Task]+rtrTasks = lens _rtrTasks (\s a -> s { _rtrTasks = a }) . _List++instance ToPath RunTask where+ toPath = const "/"++instance ToQuery RunTask where+ toQuery RunTask{..} = mconcat+ [ "cluster" =? _rtCluster+ , "count" =? _rtCount+ , "overrides" =? _rtOverrides+ , "taskDefinition" =? _rtTaskDefinition+ ]++instance ToHeaders RunTask++instance AWSRequest RunTask where+ type Sv RunTask = ECS+ type Rs RunTask = RunTaskResponse++ request = post "RunTask"+ response = xmlResponse++instance FromXML RunTaskResponse where+ parseXML = withElement "RunTaskResult" $ \x -> RunTaskResponse+ <$> x .@? "failures" .!@ mempty+ <*> x .@? "tasks" .!@ mempty
+ gen/Network/AWS/ECS/StartTask.hs view
@@ -0,0 +1,157 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.ECS.StartTask+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- 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)+--+-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | Starts a new task from the specified task definition on the specified+-- container instance or instances. If you want to use the default Amazon ECS+-- scheduler to place your task, use 'RunTask' instead.+--+-- <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_StartTask.html>+module Network.AWS.ECS.StartTask+ (+ -- * Request+ StartTask+ -- ** Request constructor+ , startTask+ -- ** Request lenses+ , st1Cluster+ , st1ContainerInstances+ , st1Overrides+ , st1TaskDefinition++ -- * Response+ , StartTaskResponse+ -- ** Response constructor+ , startTaskResponse+ -- ** Response lenses+ , strFailures+ , strTasks+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.ECS.Types+import qualified GHC.Exts++data StartTask = StartTask+ { _st1Cluster :: Maybe Text+ , _st1ContainerInstances :: List "member" Text+ , _st1Overrides :: Maybe TaskOverride+ , _st1TaskDefinition :: Text+ } deriving (Eq, Read, Show)++-- | 'StartTask' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'st1Cluster' @::@ 'Maybe' 'Text'+--+-- * 'st1ContainerInstances' @::@ ['Text']+--+-- * 'st1Overrides' @::@ 'Maybe' 'TaskOverride'+--+-- * 'st1TaskDefinition' @::@ 'Text'+--+startTask :: Text -- ^ 'st1TaskDefinition'+ -> StartTask+startTask p1 = StartTask+ { _st1TaskDefinition = p1+ , _st1Cluster = Nothing+ , _st1Overrides = Nothing+ , _st1ContainerInstances = mempty+ }++-- | The short name or full Amazon Resource Name (ARN) of the cluster that you+-- want to start your task on. If you do not specify a cluster, the default+-- cluster is assumed..+st1Cluster :: Lens' StartTask (Maybe Text)+st1Cluster = lens _st1Cluster (\s a -> s { _st1Cluster = a })++-- | The container instance UUIDs or full Amazon Resource Name (ARN) entries for+-- the container instances on which you would like to place your task.+st1ContainerInstances :: Lens' StartTask [Text]+st1ContainerInstances =+ lens _st1ContainerInstances (\s a -> s { _st1ContainerInstances = a })+ . _List++st1Overrides :: Lens' StartTask (Maybe TaskOverride)+st1Overrides = lens _st1Overrides (\s a -> s { _st1Overrides = a })++-- | The 'family' and 'revision' ('family:revision') or full Amazon Resource Name (ARN)+-- of the task definition that you want to start.+st1TaskDefinition :: Lens' StartTask Text+st1TaskDefinition =+ lens _st1TaskDefinition (\s a -> s { _st1TaskDefinition = a })++data StartTaskResponse = StartTaskResponse+ { _strFailures :: List "member" Failure+ , _strTasks :: List "member" Task+ } deriving (Eq, Read, Show)++-- | 'StartTaskResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'strFailures' @::@ ['Failure']+--+-- * 'strTasks' @::@ ['Task']+--+startTaskResponse :: StartTaskResponse+startTaskResponse = StartTaskResponse+ { _strTasks = mempty+ , _strFailures = mempty+ }++-- | Any failed tasks from your 'StartTask' action are listed here.+strFailures :: Lens' StartTaskResponse [Failure]+strFailures = lens _strFailures (\s a -> s { _strFailures = a }) . _List++-- | A full description of the tasks that were started. Each task that was+-- successfully placed on your container instances will be described here.+strTasks :: Lens' StartTaskResponse [Task]+strTasks = lens _strTasks (\s a -> s { _strTasks = a }) . _List++instance ToPath StartTask where+ toPath = const "/"++instance ToQuery StartTask where+ toQuery StartTask{..} = mconcat+ [ "cluster" =? _st1Cluster+ , "containerInstances" =? _st1ContainerInstances+ , "overrides" =? _st1Overrides+ , "taskDefinition" =? _st1TaskDefinition+ ]++instance ToHeaders StartTask++instance AWSRequest StartTask where+ type Sv StartTask = ECS+ type Rs StartTask = StartTaskResponse++ request = post "StartTask"+ response = xmlResponse++instance FromXML StartTaskResponse where+ parseXML = withElement "StartTaskResult" $ \x -> StartTaskResponse+ <$> x .@? "failures" .!@ mempty+ <*> x .@? "tasks" .!@ mempty
+ gen/Network/AWS/ECS/StopTask.hs view
@@ -0,0 +1,120 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.ECS.StopTask+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- 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)+--+-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | Stops a running task.+--+-- <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_StopTask.html>+module Network.AWS.ECS.StopTask+ (+ -- * Request+ StopTask+ -- ** Request constructor+ , stopTask+ -- ** Request lenses+ , stCluster+ , stTask++ -- * Response+ , StopTaskResponse+ -- ** Response constructor+ , stopTaskResponse+ -- ** Response lenses+ , strTask+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.ECS.Types+import qualified GHC.Exts++data StopTask = StopTask+ { _stCluster :: Maybe Text+ , _stTask :: Text+ } deriving (Eq, Ord, Read, Show)++-- | 'StopTask' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'stCluster' @::@ 'Maybe' 'Text'+--+-- * 'stTask' @::@ 'Text'+--+stopTask :: Text -- ^ 'stTask'+ -> StopTask+stopTask p1 = StopTask+ { _stTask = p1+ , _stCluster = Nothing+ }++-- | The short name or full Amazon Resource Name (ARN) of the cluster that hosts+-- the task you want to stop. If you do not specify a cluster, the default+-- cluster is assumed..+stCluster :: Lens' StopTask (Maybe Text)+stCluster = lens _stCluster (\s a -> s { _stCluster = a })++-- | The task UUIDs or full Amazon Resource Name (ARN) entry of the task you would+-- like to stop.+stTask :: Lens' StopTask Text+stTask = lens _stTask (\s a -> s { _stTask = a })++newtype StopTaskResponse = StopTaskResponse+ { _strTask :: Maybe Task+ } deriving (Eq, Read, Show)++-- | 'StopTaskResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'strTask' @::@ 'Maybe' 'Task'+--+stopTaskResponse :: StopTaskResponse+stopTaskResponse = StopTaskResponse+ { _strTask = Nothing+ }++strTask :: Lens' StopTaskResponse (Maybe Task)+strTask = lens _strTask (\s a -> s { _strTask = a })++instance ToPath StopTask where+ toPath = const "/"++instance ToQuery StopTask where+ toQuery StopTask{..} = mconcat+ [ "cluster" =? _stCluster+ , "task" =? _stTask+ ]++instance ToHeaders StopTask++instance AWSRequest StopTask where+ type Sv StopTask = ECS+ type Rs StopTask = StopTaskResponse++ request = post "StopTask"+ response = xmlResponse++instance FromXML StopTaskResponse where+ parseXML = withElement "StopTaskResult" $ \x -> StopTaskResponse+ <$> x .@? "task"
+ gen/Network/AWS/ECS/SubmitContainerStateChange.hs view
@@ -0,0 +1,176 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.ECS.SubmitContainerStateChange+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- 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)+--+-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | This action is only used by the Amazon EC2 Container Service agent, and it is+-- not intended for use outside of the agent.+--+-- Sent to acknowledge that a container changed states.+--+-- <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_SubmitContainerStateChange.html>+module Network.AWS.ECS.SubmitContainerStateChange+ (+ -- * Request+ SubmitContainerStateChange+ -- ** Request constructor+ , submitContainerStateChange+ -- ** Request lenses+ , scscCluster+ , scscContainerName+ , scscExitCode+ , scscNetworkBindings+ , scscReason+ , scscStatus+ , scscTask++ -- * Response+ , SubmitContainerStateChangeResponse+ -- ** Response constructor+ , submitContainerStateChangeResponse+ -- ** Response lenses+ , scscrAcknowledgment+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.ECS.Types+import qualified GHC.Exts++data SubmitContainerStateChange = SubmitContainerStateChange+ { _scscCluster :: Maybe Text+ , _scscContainerName :: Maybe Text+ , _scscExitCode :: Maybe Int+ , _scscNetworkBindings :: List "member" NetworkBinding+ , _scscReason :: Maybe Text+ , _scscStatus :: Maybe Text+ , _scscTask :: Maybe Text+ } deriving (Eq, Read, Show)++-- | 'SubmitContainerStateChange' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'scscCluster' @::@ 'Maybe' 'Text'+--+-- * 'scscContainerName' @::@ 'Maybe' 'Text'+--+-- * 'scscExitCode' @::@ 'Maybe' 'Int'+--+-- * 'scscNetworkBindings' @::@ ['NetworkBinding']+--+-- * 'scscReason' @::@ 'Maybe' 'Text'+--+-- * 'scscStatus' @::@ 'Maybe' 'Text'+--+-- * 'scscTask' @::@ 'Maybe' 'Text'+--+submitContainerStateChange :: SubmitContainerStateChange+submitContainerStateChange = SubmitContainerStateChange+ { _scscCluster = Nothing+ , _scscTask = Nothing+ , _scscContainerName = Nothing+ , _scscStatus = Nothing+ , _scscExitCode = Nothing+ , _scscReason = Nothing+ , _scscNetworkBindings = mempty+ }++-- | The short name or full Amazon Resource Name (ARN) of the cluster that hosts+-- the container.+scscCluster :: Lens' SubmitContainerStateChange (Maybe Text)+scscCluster = lens _scscCluster (\s a -> s { _scscCluster = a })++-- | The name of the container.+scscContainerName :: Lens' SubmitContainerStateChange (Maybe Text)+scscContainerName =+ lens _scscContainerName (\s a -> s { _scscContainerName = a })++-- | The exit code returned for the state change request.+scscExitCode :: Lens' SubmitContainerStateChange (Maybe Int)+scscExitCode = lens _scscExitCode (\s a -> s { _scscExitCode = a })++-- | The network bindings of the container.+scscNetworkBindings :: Lens' SubmitContainerStateChange [NetworkBinding]+scscNetworkBindings =+ lens _scscNetworkBindings (\s a -> s { _scscNetworkBindings = a })+ . _List++-- | The reason for the state change request.+scscReason :: Lens' SubmitContainerStateChange (Maybe Text)+scscReason = lens _scscReason (\s a -> s { _scscReason = a })++-- | The status of the state change request.+scscStatus :: Lens' SubmitContainerStateChange (Maybe Text)+scscStatus = lens _scscStatus (\s a -> s { _scscStatus = a })++-- | The task UUID or full Amazon Resource Name (ARN) of the task that hosts the+-- container.+scscTask :: Lens' SubmitContainerStateChange (Maybe Text)+scscTask = lens _scscTask (\s a -> s { _scscTask = a })++newtype SubmitContainerStateChangeResponse = SubmitContainerStateChangeResponse+ { _scscrAcknowledgment :: Maybe Text+ } deriving (Eq, Ord, Read, Show, Monoid)++-- | 'SubmitContainerStateChangeResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'scscrAcknowledgment' @::@ 'Maybe' 'Text'+--+submitContainerStateChangeResponse :: SubmitContainerStateChangeResponse+submitContainerStateChangeResponse = SubmitContainerStateChangeResponse+ { _scscrAcknowledgment = Nothing+ }++-- | Acknowledgement of the state change.+scscrAcknowledgment :: Lens' SubmitContainerStateChangeResponse (Maybe Text)+scscrAcknowledgment =+ lens _scscrAcknowledgment (\s a -> s { _scscrAcknowledgment = a })++instance ToPath SubmitContainerStateChange where+ toPath = const "/"++instance ToQuery SubmitContainerStateChange where+ toQuery SubmitContainerStateChange{..} = mconcat+ [ "cluster" =? _scscCluster+ , "containerName" =? _scscContainerName+ , "exitCode" =? _scscExitCode+ , "networkBindings" =? _scscNetworkBindings+ , "reason" =? _scscReason+ , "status" =? _scscStatus+ , "task" =? _scscTask+ ]++instance ToHeaders SubmitContainerStateChange++instance AWSRequest SubmitContainerStateChange where+ type Sv SubmitContainerStateChange = ECS+ type Rs SubmitContainerStateChange = SubmitContainerStateChangeResponse++ request = post "SubmitContainerStateChange"+ response = xmlResponse++instance FromXML SubmitContainerStateChangeResponse where+ parseXML = withElement "SubmitContainerStateChangeResult" $ \x -> SubmitContainerStateChangeResponse+ <$> x .@? "acknowledgment"
+ gen/Network/AWS/ECS/SubmitTaskStateChange.hs view
@@ -0,0 +1,143 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.ECS.SubmitTaskStateChange+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- 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)+--+-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | This action is only used by the Amazon EC2 Container Service agent, and it is+-- not intended for use outside of the agent.+--+-- Sent to acknowledge that a task changed states.+--+-- <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_SubmitTaskStateChange.html>+module Network.AWS.ECS.SubmitTaskStateChange+ (+ -- * Request+ SubmitTaskStateChange+ -- ** Request constructor+ , submitTaskStateChange+ -- ** Request lenses+ , stscCluster+ , stscReason+ , stscStatus+ , stscTask++ -- * Response+ , SubmitTaskStateChangeResponse+ -- ** Response constructor+ , submitTaskStateChangeResponse+ -- ** Response lenses+ , stscrAcknowledgment+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.ECS.Types+import qualified GHC.Exts++data SubmitTaskStateChange = SubmitTaskStateChange+ { _stscCluster :: Maybe Text+ , _stscReason :: Maybe Text+ , _stscStatus :: Maybe Text+ , _stscTask :: Maybe Text+ } deriving (Eq, Ord, Read, Show)++-- | 'SubmitTaskStateChange' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'stscCluster' @::@ 'Maybe' 'Text'+--+-- * 'stscReason' @::@ 'Maybe' 'Text'+--+-- * 'stscStatus' @::@ 'Maybe' 'Text'+--+-- * 'stscTask' @::@ 'Maybe' 'Text'+--+submitTaskStateChange :: SubmitTaskStateChange+submitTaskStateChange = SubmitTaskStateChange+ { _stscCluster = Nothing+ , _stscTask = Nothing+ , _stscStatus = Nothing+ , _stscReason = Nothing+ }++-- | The short name or full Amazon Resource Name (ARN) of the cluster that hosts+-- the task.+stscCluster :: Lens' SubmitTaskStateChange (Maybe Text)+stscCluster = lens _stscCluster (\s a -> s { _stscCluster = a })++-- | The reason for the state change request.+stscReason :: Lens' SubmitTaskStateChange (Maybe Text)+stscReason = lens _stscReason (\s a -> s { _stscReason = a })++-- | The status of the state change request.+stscStatus :: Lens' SubmitTaskStateChange (Maybe Text)+stscStatus = lens _stscStatus (\s a -> s { _stscStatus = a })++-- | The task UUID or full Amazon Resource Name (ARN) of the task in the state+-- change request.+stscTask :: Lens' SubmitTaskStateChange (Maybe Text)+stscTask = lens _stscTask (\s a -> s { _stscTask = a })++newtype SubmitTaskStateChangeResponse = SubmitTaskStateChangeResponse+ { _stscrAcknowledgment :: Maybe Text+ } deriving (Eq, Ord, Read, Show, Monoid)++-- | 'SubmitTaskStateChangeResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'stscrAcknowledgment' @::@ 'Maybe' 'Text'+--+submitTaskStateChangeResponse :: SubmitTaskStateChangeResponse+submitTaskStateChangeResponse = SubmitTaskStateChangeResponse+ { _stscrAcknowledgment = Nothing+ }++-- | Acknowledgement of the state change.+stscrAcknowledgment :: Lens' SubmitTaskStateChangeResponse (Maybe Text)+stscrAcknowledgment =+ lens _stscrAcknowledgment (\s a -> s { _stscrAcknowledgment = a })++instance ToPath SubmitTaskStateChange where+ toPath = const "/"++instance ToQuery SubmitTaskStateChange where+ toQuery SubmitTaskStateChange{..} = mconcat+ [ "cluster" =? _stscCluster+ , "reason" =? _stscReason+ , "status" =? _stscStatus+ , "task" =? _stscTask+ ]++instance ToHeaders SubmitTaskStateChange++instance AWSRequest SubmitTaskStateChange where+ type Sv SubmitTaskStateChange = ECS+ type Rs SubmitTaskStateChange = SubmitTaskStateChangeResponse++ request = post "SubmitTaskStateChange"+ response = xmlResponse++instance FromXML SubmitTaskStateChangeResponse where+ parseXML = withElement "SubmitTaskStateChangeResult" $ \x -> SubmitTaskStateChangeResponse+ <$> x .@? "acknowledgment"
+ gen/Network/AWS/ECS/Types.hs view
@@ -0,0 +1,1041 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE ViewPatterns #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.ECS.Types+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- 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)+--+-- Derived from AWS service descriptions, licensed under Apache 2.0.++module Network.AWS.ECS.Types+ (+ -- * Service+ ECS+ -- ** Error+ , RESTError+ -- ** XML+ , ns++ -- * NetworkBinding+ , NetworkBinding+ , networkBinding+ , nbBindIP+ , nbContainerPort+ , nbHostPort++ -- * Cluster+ , Cluster+ , cluster+ , cClusterArn+ , cClusterName+ , cStatus++ -- * ContainerOverride+ , ContainerOverride+ , containerOverride+ , coCommand+ , coName++ -- * KeyValuePair+ , KeyValuePair+ , keyValuePair+ , kvpName+ , kvpValue++ -- * TaskOverride+ , TaskOverride+ , taskOverride+ , toContainerOverrides++ -- * Container+ , Container+ , container+ , cContainerArn+ , cExitCode+ , cLastStatus+ , cName+ , cNetworkBindings+ , cReason+ , cTaskArn++ -- * ContainerDefinition+ , ContainerDefinition+ , containerDefinition+ , cdCommand+ , cdCpu+ , cdEntryPoint+ , cdEnvironment+ , cdEssential+ , cdImage+ , cdLinks+ , cdMemory+ , cdName+ , cdPortMappings++ -- * Resource+ , Resource+ , resource+ , rDoubleValue+ , rIntegerValue+ , rLongValue+ , rName+ , rStringSetValue+ , rType++ -- * Task+ , Task+ , task+ , tClusterArn+ , tContainerInstanceArn+ , tContainers+ , tDesiredStatus+ , tLastStatus+ , tOverrides+ , tTaskArn+ , tTaskDefinitionArn++ -- * PortMapping+ , PortMapping+ , portMapping+ , pmContainerPort+ , pmHostPort++ -- * TaskDefinition+ , TaskDefinition+ , taskDefinition+ , tdContainerDefinitions+ , tdFamily+ , tdRevision+ , tdTaskDefinitionArn++ -- * Failure+ , Failure+ , failure+ , fArn+ , fReason++ -- * ContainerInstance+ , ContainerInstance+ , containerInstance+ , ciAgentConnected+ , ciContainerInstanceArn+ , ciEc2InstanceId+ , ciRegisteredResources+ , ciRemainingResources+ , ciStatus+ ) where++import Network.AWS.Prelude+import Network.AWS.Signing+import qualified GHC.Exts++-- | Version @2014-11-13@ of the Amazon EC2 Container Service service.+data ECS++instance AWSService ECS where+ type Sg ECS = V4+ type Er ECS = RESTError++ service = service'+ where+ service' :: Service ECS+ service' = Service+ { _svcAbbrev = "ECS"+ , _svcPrefix = "ecs"+ , _svcVersion = "2014-11-13"+ , _svcTargetPrefix = Nothing+ , _svcJSONVersion = Nothing+ , _svcHandle = handle+ , _svcRetry = retry+ }++ handle :: Status+ -> Maybe (LazyByteString -> ServiceError RESTError)+ handle = restError statusSuccess service'++ retry :: Retry ECS+ retry = Exponential+ { _retryBase = 0.05+ , _retryGrowth = 2+ , _retryAttempts = 5+ , _retryCheck = check+ }++ check :: Status+ -> RESTError+ -> Bool+ check (statusCode -> s) (awsErrorCode -> e)+ | s == 500 = True -- General Server Error+ | s == 509 = True -- Limit Exceeded+ | s == 503 = True -- Service Unavailable+ | otherwise = False++ns :: Text+ns = "http://ecs.amazonaws.com/doc/2014-11-13/"+{-# INLINE ns #-}++data NetworkBinding = NetworkBinding+ { _nbBindIP :: Maybe Text+ , _nbContainerPort :: Maybe Int+ , _nbHostPort :: Maybe Int+ } deriving (Eq, Ord, Read, Show)++-- | 'NetworkBinding' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'nbBindIP' @::@ 'Maybe' 'Text'+--+-- * 'nbContainerPort' @::@ 'Maybe' 'Int'+--+-- * 'nbHostPort' @::@ 'Maybe' 'Int'+--+networkBinding :: NetworkBinding+networkBinding = NetworkBinding+ { _nbBindIP = Nothing+ , _nbContainerPort = Nothing+ , _nbHostPort = Nothing+ }++-- | The IP address that the container is bound to on the container instance.+nbBindIP :: Lens' NetworkBinding (Maybe Text)+nbBindIP = lens _nbBindIP (\s a -> s { _nbBindIP = a })++-- | The port number on the container that should be used with the network binding.+nbContainerPort :: Lens' NetworkBinding (Maybe Int)+nbContainerPort = lens _nbContainerPort (\s a -> s { _nbContainerPort = a })++-- | The port number on the host that should be used with the network binding.+nbHostPort :: Lens' NetworkBinding (Maybe Int)+nbHostPort = lens _nbHostPort (\s a -> s { _nbHostPort = a })++instance FromXML NetworkBinding where+ parseXML x = NetworkBinding+ <$> x .@? "bindIP"+ <*> x .@? "containerPort"+ <*> x .@? "hostPort"++instance ToQuery NetworkBinding where+ toQuery NetworkBinding{..} = mconcat+ [ "bindIP" =? _nbBindIP+ , "containerPort" =? _nbContainerPort+ , "hostPort" =? _nbHostPort+ ]++data Cluster = Cluster+ { _cClusterArn :: Maybe Text+ , _cClusterName :: Maybe Text+ , _cStatus :: Maybe Text+ } deriving (Eq, Ord, Read, Show)++-- | 'Cluster' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'cClusterArn' @::@ 'Maybe' 'Text'+--+-- * 'cClusterName' @::@ 'Maybe' 'Text'+--+-- * 'cStatus' @::@ 'Maybe' 'Text'+--+cluster :: Cluster+cluster = Cluster+ { _cClusterArn = Nothing+ , _cClusterName = Nothing+ , _cStatus = Nothing+ }++-- | The Amazon Resource Name (ARN) that identifies the cluster. The ARN contains+-- the 'arn:aws:ecs' namespace, followed by the region of the cluster, the AWS+-- account ID of the cluster owner, the 'cluster' namespace, and then the cluster+-- name. For example, arn:aws:ecs:/region/:/012345678910/:cluster//test/.+cClusterArn :: Lens' Cluster (Maybe Text)+cClusterArn = lens _cClusterArn (\s a -> s { _cClusterArn = a })++-- | A user-generated string that you can use to identify your cluster.+cClusterName :: Lens' Cluster (Maybe Text)+cClusterName = lens _cClusterName (\s a -> s { _cClusterName = a })++-- | The status of the cluster. The valid values are 'ACTIVE' or 'INACTIVE'. 'ACTIVE'+-- indicates that you can register container instances with the cluster and the+-- associated instances can accept tasks.+cStatus :: Lens' Cluster (Maybe Text)+cStatus = lens _cStatus (\s a -> s { _cStatus = a })++instance FromXML Cluster where+ parseXML x = Cluster+ <$> x .@? "clusterArn"+ <*> x .@? "clusterName"+ <*> x .@? "status"++instance ToQuery Cluster where+ toQuery Cluster{..} = mconcat+ [ "clusterArn" =? _cClusterArn+ , "clusterName" =? _cClusterName+ , "status" =? _cStatus+ ]++data ContainerOverride = ContainerOverride+ { _coCommand :: List "member" Text+ , _coName :: Maybe Text+ } deriving (Eq, Ord, Read, Show)++-- | 'ContainerOverride' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'coCommand' @::@ ['Text']+--+-- * 'coName' @::@ 'Maybe' 'Text'+--+containerOverride :: ContainerOverride+containerOverride = ContainerOverride+ { _coName = Nothing+ , _coCommand = mempty+ }++-- | The command to send to the container that receives the override.+coCommand :: Lens' ContainerOverride [Text]+coCommand = lens _coCommand (\s a -> s { _coCommand = a }) . _List++-- | The name of the container that receives the override.+coName :: Lens' ContainerOverride (Maybe Text)+coName = lens _coName (\s a -> s { _coName = a })++instance FromXML ContainerOverride where+ parseXML x = ContainerOverride+ <$> x .@? "command" .!@ mempty+ <*> x .@? "name"++instance ToQuery ContainerOverride where+ toQuery ContainerOverride{..} = mconcat+ [ "command" =? _coCommand+ , "name" =? _coName+ ]++data KeyValuePair = KeyValuePair+ { _kvpName :: Maybe Text+ , _kvpValue :: Maybe Text+ } deriving (Eq, Ord, Read, Show)++-- | 'KeyValuePair' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'kvpName' @::@ 'Maybe' 'Text'+--+-- * 'kvpValue' @::@ 'Maybe' 'Text'+--+keyValuePair :: KeyValuePair+keyValuePair = KeyValuePair+ { _kvpName = Nothing+ , _kvpValue = Nothing+ }++-- | The name of the key value pair.+kvpName :: Lens' KeyValuePair (Maybe Text)+kvpName = lens _kvpName (\s a -> s { _kvpName = a })++-- | The value of the key value pair.+kvpValue :: Lens' KeyValuePair (Maybe Text)+kvpValue = lens _kvpValue (\s a -> s { _kvpValue = a })++instance FromXML KeyValuePair where+ parseXML x = KeyValuePair+ <$> x .@? "name"+ <*> x .@? "value"++instance ToQuery KeyValuePair where+ toQuery KeyValuePair{..} = mconcat+ [ "name" =? _kvpName+ , "value" =? _kvpValue+ ]++newtype TaskOverride = TaskOverride+ { _toContainerOverrides :: List "member" ContainerOverride+ } deriving (Eq, Read, Show, Monoid, Semigroup)++instance GHC.Exts.IsList TaskOverride where+ type Item TaskOverride = ContainerOverride++ fromList = TaskOverride . GHC.Exts.fromList+ toList = GHC.Exts.toList . _toContainerOverrides++-- | 'TaskOverride' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'toContainerOverrides' @::@ ['ContainerOverride']+--+taskOverride :: TaskOverride+taskOverride = TaskOverride+ { _toContainerOverrides = mempty+ }++-- | One or more container overrides to send when running a task.+toContainerOverrides :: Lens' TaskOverride [ContainerOverride]+toContainerOverrides =+ lens _toContainerOverrides (\s a -> s { _toContainerOverrides = a })+ . _List++instance FromXML TaskOverride where+ parseXML x = TaskOverride+ <$> x .@? "containerOverrides" .!@ mempty++instance ToQuery TaskOverride where+ toQuery TaskOverride{..} = mconcat+ [ "containerOverrides" =? _toContainerOverrides+ ]++data Container = Container+ { _cContainerArn :: Maybe Text+ , _cExitCode :: Maybe Int+ , _cLastStatus :: Maybe Text+ , _cName :: Maybe Text+ , _cNetworkBindings :: List "member" NetworkBinding+ , _cReason :: Maybe Text+ , _cTaskArn :: Maybe Text+ } deriving (Eq, Read, Show)++-- | 'Container' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'cContainerArn' @::@ 'Maybe' 'Text'+--+-- * 'cExitCode' @::@ 'Maybe' 'Int'+--+-- * 'cLastStatus' @::@ 'Maybe' 'Text'+--+-- * 'cName' @::@ 'Maybe' 'Text'+--+-- * 'cNetworkBindings' @::@ ['NetworkBinding']+--+-- * 'cReason' @::@ 'Maybe' 'Text'+--+-- * 'cTaskArn' @::@ 'Maybe' 'Text'+--+container :: Container+container = Container+ { _cContainerArn = Nothing+ , _cTaskArn = Nothing+ , _cName = Nothing+ , _cLastStatus = Nothing+ , _cExitCode = Nothing+ , _cReason = Nothing+ , _cNetworkBindings = mempty+ }++-- | The Amazon Resource Name (ARN) of the container.+cContainerArn :: Lens' Container (Maybe Text)+cContainerArn = lens _cContainerArn (\s a -> s { _cContainerArn = a })++-- | The exit code returned from the container.+cExitCode :: Lens' Container (Maybe Int)+cExitCode = lens _cExitCode (\s a -> s { _cExitCode = a })++-- | The last known status of the container.+cLastStatus :: Lens' Container (Maybe Text)+cLastStatus = lens _cLastStatus (\s a -> s { _cLastStatus = a })++-- | The name of the container.+cName :: Lens' Container (Maybe Text)+cName = lens _cName (\s a -> s { _cName = a })++cNetworkBindings :: Lens' Container [NetworkBinding]+cNetworkBindings = lens _cNetworkBindings (\s a -> s { _cNetworkBindings = a }) . _List++-- | A short (255 max characters) human-readable string to provide additional+-- detail about a running or stopped container.+cReason :: Lens' Container (Maybe Text)+cReason = lens _cReason (\s a -> s { _cReason = a })++-- | The Amazon Resource Name (ARN) of the task.+cTaskArn :: Lens' Container (Maybe Text)+cTaskArn = lens _cTaskArn (\s a -> s { _cTaskArn = a })++instance FromXML Container where+ parseXML x = Container+ <$> x .@? "containerArn"+ <*> x .@? "exitCode"+ <*> x .@? "lastStatus"+ <*> x .@? "name"+ <*> x .@? "networkBindings" .!@ mempty+ <*> x .@? "reason"+ <*> x .@? "taskArn"++instance ToQuery Container where+ toQuery Container{..} = mconcat+ [ "containerArn" =? _cContainerArn+ , "exitCode" =? _cExitCode+ , "lastStatus" =? _cLastStatus+ , "name" =? _cName+ , "networkBindings" =? _cNetworkBindings+ , "reason" =? _cReason+ , "taskArn" =? _cTaskArn+ ]++data ContainerDefinition = ContainerDefinition+ { _cdCommand :: List "member" Text+ , _cdCpu :: Maybe Int+ , _cdEntryPoint :: List "member" Text+ , _cdEnvironment :: List "member" KeyValuePair+ , _cdEssential :: Maybe Bool+ , _cdImage :: Maybe Text+ , _cdLinks :: List "member" Text+ , _cdMemory :: Maybe Int+ , _cdName :: Maybe Text+ , _cdPortMappings :: List "member" PortMapping+ } deriving (Eq, Read, Show)++-- | 'ContainerDefinition' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'cdCommand' @::@ ['Text']+--+-- * 'cdCpu' @::@ 'Maybe' 'Int'+--+-- * 'cdEntryPoint' @::@ ['Text']+--+-- * 'cdEnvironment' @::@ ['KeyValuePair']+--+-- * 'cdEssential' @::@ 'Maybe' 'Bool'+--+-- * 'cdImage' @::@ 'Maybe' 'Text'+--+-- * 'cdLinks' @::@ ['Text']+--+-- * 'cdMemory' @::@ 'Maybe' 'Int'+--+-- * 'cdName' @::@ 'Maybe' 'Text'+--+-- * 'cdPortMappings' @::@ ['PortMapping']+--+containerDefinition :: ContainerDefinition+containerDefinition = ContainerDefinition+ { _cdName = Nothing+ , _cdImage = Nothing+ , _cdCpu = Nothing+ , _cdMemory = Nothing+ , _cdLinks = mempty+ , _cdPortMappings = mempty+ , _cdEssential = Nothing+ , _cdEntryPoint = mempty+ , _cdCommand = mempty+ , _cdEnvironment = mempty+ }++-- | The 'CMD' that is passed to the container. For more information on the Docker 'CMD' parameter, see <https://docs.docker.com/reference/builder/#cmd https://docs.docker.com/reference/builder/#cmd>.+cdCommand :: Lens' ContainerDefinition [Text]+cdCommand = lens _cdCommand (\s a -> s { _cdCommand = a }) . _List++-- | The number of 'cpu' units reserved for the container. A container instance has+-- 1,024 'cpu' units for every CPU core.+cdCpu :: Lens' ContainerDefinition (Maybe Int)+cdCpu = lens _cdCpu (\s a -> s { _cdCpu = a })++-- | The 'ENTRYPOINT' that is passed to the container. For more information on the+-- Docker 'ENTRYPOINT' parameter, see <https://docs.docker.com/reference/builder/#entrypoint https://docs.docker.com/reference/builder/#entrypoint>.+cdEntryPoint :: Lens' ContainerDefinition [Text]+cdEntryPoint = lens _cdEntryPoint (\s a -> s { _cdEntryPoint = a }) . _List++-- | The environment variables to pass to a container.+cdEnvironment :: Lens' ContainerDefinition [KeyValuePair]+cdEnvironment = lens _cdEnvironment (\s a -> s { _cdEnvironment = a }) . _List++-- | If the 'essential' parameter of a container is marked as 'true', the failure of+-- that container will stop the task. If the 'essential' parameter of a container+-- is marked as 'false', then its failure will not affect the rest of the+-- containers in a task.+cdEssential :: Lens' ContainerDefinition (Maybe Bool)+cdEssential = lens _cdEssential (\s a -> s { _cdEssential = a })++-- | The image used to start a container. This string is passed directly to the+-- Docker daemon. Images in the Docker Hub registry are available by default.+-- Other repositories are specified with '/repository-url///image/:/tag/.+cdImage :: Lens' ContainerDefinition (Maybe Text)+cdImage = lens _cdImage (\s a -> s { _cdImage = a })++-- | The 'link' parameter allows containers to communicate with each other without+-- the need for port mappings, using the 'name' parameter. For more information on+-- linking Docker containers, see <https://docs.docker.com/userguide/dockerlinks/ https://docs.docker.com/userguide/dockerlinks/>.+cdLinks :: Lens' ContainerDefinition [Text]+cdLinks = lens _cdLinks (\s a -> s { _cdLinks = a }) . _List++-- | The number of MiB of memory reserved for the container. Docker will allocate+-- a minimum of 4 MiB of memory to a container.+cdMemory :: Lens' ContainerDefinition (Maybe Int)+cdMemory = lens _cdMemory (\s a -> s { _cdMemory = a })++-- | The name of a container. If you are linking multiple containers together in a+-- task definition, the 'name' of one container can be entered in the 'links' of+-- another container to connect the containers.+cdName :: Lens' ContainerDefinition (Maybe Text)+cdName = lens _cdName (\s a -> s { _cdName = a })++-- | The list of port mappings for the container.+cdPortMappings :: Lens' ContainerDefinition [PortMapping]+cdPortMappings = lens _cdPortMappings (\s a -> s { _cdPortMappings = a }) . _List++instance FromXML ContainerDefinition where+ parseXML x = ContainerDefinition+ <$> x .@? "command" .!@ mempty+ <*> x .@? "cpu"+ <*> x .@? "entryPoint" .!@ mempty+ <*> x .@? "environment" .!@ mempty+ <*> x .@? "essential"+ <*> x .@? "image"+ <*> x .@? "links" .!@ mempty+ <*> x .@? "memory"+ <*> x .@? "name"+ <*> x .@? "portMappings" .!@ mempty++instance ToQuery ContainerDefinition where+ toQuery ContainerDefinition{..} = mconcat+ [ "command" =? _cdCommand+ , "cpu" =? _cdCpu+ , "entryPoint" =? _cdEntryPoint+ , "environment" =? _cdEnvironment+ , "essential" =? _cdEssential+ , "image" =? _cdImage+ , "links" =? _cdLinks+ , "memory" =? _cdMemory+ , "name" =? _cdName+ , "portMappings" =? _cdPortMappings+ ]++data Resource = Resource+ { _rDoubleValue :: Maybe Double+ , _rIntegerValue :: Maybe Int+ , _rLongValue :: Maybe Integer+ , _rName :: Maybe Text+ , _rStringSetValue :: List "member" Text+ , _rType :: Maybe Text+ } deriving (Eq, Ord, Read, Show)++-- | 'Resource' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'rDoubleValue' @::@ 'Maybe' 'Double'+--+-- * 'rIntegerValue' @::@ 'Maybe' 'Int'+--+-- * 'rLongValue' @::@ 'Maybe' 'Integer'+--+-- * 'rName' @::@ 'Maybe' 'Text'+--+-- * 'rStringSetValue' @::@ ['Text']+--+-- * 'rType' @::@ 'Maybe' 'Text'+--+resource :: Resource+resource = Resource+ { _rName = Nothing+ , _rType = Nothing+ , _rDoubleValue = Nothing+ , _rLongValue = Nothing+ , _rIntegerValue = Nothing+ , _rStringSetValue = mempty+ }++-- | When the 'doubleValue' type is set, the value of the resource must be a double+-- precision floating-point type.+rDoubleValue :: Lens' Resource (Maybe Double)+rDoubleValue = lens _rDoubleValue (\s a -> s { _rDoubleValue = a })++-- | When the 'integerValue' type is set, the value of the resource must be an+-- integer.+rIntegerValue :: Lens' Resource (Maybe Int)+rIntegerValue = lens _rIntegerValue (\s a -> s { _rIntegerValue = a })++-- | When the 'longValue' type is set, the value of the resource must be an extended+-- precision floating-point type.+rLongValue :: Lens' Resource (Maybe Integer)+rLongValue = lens _rLongValue (\s a -> s { _rLongValue = a })++-- | The name of the resource, such as 'CPU', 'MEMORY', 'PORTS', or a user-defined+-- resource.+rName :: Lens' Resource (Maybe Text)+rName = lens _rName (\s a -> s { _rName = a })++-- | When the 'stringSetValue' type is set, the value of the resource must be a+-- string type.+rStringSetValue :: Lens' Resource [Text]+rStringSetValue = lens _rStringSetValue (\s a -> s { _rStringSetValue = a }) . _List++-- | The type of the resource, such as 'INTEGER', 'DOUBLE', 'LONG', or 'STRINGSET'.+rType :: Lens' Resource (Maybe Text)+rType = lens _rType (\s a -> s { _rType = a })++instance FromXML Resource where+ parseXML x = Resource+ <$> x .@? "doubleValue"+ <*> x .@? "integerValue"+ <*> x .@? "longValue"+ <*> x .@? "name"+ <*> x .@? "stringSetValue" .!@ mempty+ <*> x .@? "type"++instance ToQuery Resource where+ toQuery Resource{..} = mconcat+ [ "doubleValue" =? _rDoubleValue+ , "integerValue" =? _rIntegerValue+ , "longValue" =? _rLongValue+ , "name" =? _rName+ , "stringSetValue" =? _rStringSetValue+ , "type" =? _rType+ ]++data Task = Task+ { _tClusterArn :: Maybe Text+ , _tContainerInstanceArn :: Maybe Text+ , _tContainers :: List "member" Container+ , _tDesiredStatus :: Maybe Text+ , _tLastStatus :: Maybe Text+ , _tOverrides :: Maybe TaskOverride+ , _tTaskArn :: Maybe Text+ , _tTaskDefinitionArn :: Maybe Text+ } deriving (Eq, Read, Show)++-- | 'Task' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'tClusterArn' @::@ 'Maybe' 'Text'+--+-- * 'tContainerInstanceArn' @::@ 'Maybe' 'Text'+--+-- * 'tContainers' @::@ ['Container']+--+-- * 'tDesiredStatus' @::@ 'Maybe' 'Text'+--+-- * 'tLastStatus' @::@ 'Maybe' 'Text'+--+-- * 'tOverrides' @::@ 'Maybe' 'TaskOverride'+--+-- * 'tTaskArn' @::@ 'Maybe' 'Text'+--+-- * 'tTaskDefinitionArn' @::@ 'Maybe' 'Text'+--+task :: Task+task = Task+ { _tTaskArn = Nothing+ , _tClusterArn = Nothing+ , _tTaskDefinitionArn = Nothing+ , _tContainerInstanceArn = Nothing+ , _tOverrides = Nothing+ , _tLastStatus = Nothing+ , _tDesiredStatus = Nothing+ , _tContainers = mempty+ }++-- | The Amazon Resource Name (ARN) of the of the cluster that hosts the task.+tClusterArn :: Lens' Task (Maybe Text)+tClusterArn = lens _tClusterArn (\s a -> s { _tClusterArn = a })++-- | The Amazon Resource Name (ARN) of the container instances that host the task.+tContainerInstanceArn :: Lens' Task (Maybe Text)+tContainerInstanceArn =+ lens _tContainerInstanceArn (\s a -> s { _tContainerInstanceArn = a })++-- | The containers associated with the task.+tContainers :: Lens' Task [Container]+tContainers = lens _tContainers (\s a -> s { _tContainers = a }) . _List++-- | The desired status of the task.+tDesiredStatus :: Lens' Task (Maybe Text)+tDesiredStatus = lens _tDesiredStatus (\s a -> s { _tDesiredStatus = a })++-- | The last known status of the task.+tLastStatus :: Lens' Task (Maybe Text)+tLastStatus = lens _tLastStatus (\s a -> s { _tLastStatus = a })++-- | One or more container overrides.+tOverrides :: Lens' Task (Maybe TaskOverride)+tOverrides = lens _tOverrides (\s a -> s { _tOverrides = a })++-- | The Amazon Resource Name (ARN) of the task.+tTaskArn :: Lens' Task (Maybe Text)+tTaskArn = lens _tTaskArn (\s a -> s { _tTaskArn = a })++-- | The Amazon Resource Name (ARN) of the of the task definition that creates the+-- task.+tTaskDefinitionArn :: Lens' Task (Maybe Text)+tTaskDefinitionArn =+ lens _tTaskDefinitionArn (\s a -> s { _tTaskDefinitionArn = a })++instance FromXML Task where+ parseXML x = Task+ <$> x .@? "clusterArn"+ <*> x .@? "containerInstanceArn"+ <*> x .@? "containers" .!@ mempty+ <*> x .@? "desiredStatus"+ <*> x .@? "lastStatus"+ <*> x .@? "overrides"+ <*> x .@? "taskArn"+ <*> x .@? "taskDefinitionArn"++instance ToQuery Task where+ toQuery Task{..} = mconcat+ [ "clusterArn" =? _tClusterArn+ , "containerInstanceArn" =? _tContainerInstanceArn+ , "containers" =? _tContainers+ , "desiredStatus" =? _tDesiredStatus+ , "lastStatus" =? _tLastStatus+ , "overrides" =? _tOverrides+ , "taskArn" =? _tTaskArn+ , "taskDefinitionArn" =? _tTaskDefinitionArn+ ]++data PortMapping = PortMapping+ { _pmContainerPort :: Maybe Int+ , _pmHostPort :: Maybe Int+ } deriving (Eq, Ord, Read, Show)++-- | 'PortMapping' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'pmContainerPort' @::@ 'Maybe' 'Int'+--+-- * 'pmHostPort' @::@ 'Maybe' 'Int'+--+portMapping :: PortMapping+portMapping = PortMapping+ { _pmContainerPort = Nothing+ , _pmHostPort = Nothing+ }++-- | The port number on the container that should be used with the port mapping.+pmContainerPort :: Lens' PortMapping (Maybe Int)+pmContainerPort = lens _pmContainerPort (\s a -> s { _pmContainerPort = a })++-- | The port number on the host that should be used with the port mapping.+pmHostPort :: Lens' PortMapping (Maybe Int)+pmHostPort = lens _pmHostPort (\s a -> s { _pmHostPort = a })++instance FromXML PortMapping where+ parseXML x = PortMapping+ <$> x .@? "containerPort"+ <*> x .@? "hostPort"++instance ToQuery PortMapping where+ toQuery PortMapping{..} = mconcat+ [ "containerPort" =? _pmContainerPort+ , "hostPort" =? _pmHostPort+ ]++data TaskDefinition = TaskDefinition+ { _tdContainerDefinitions :: List "member" ContainerDefinition+ , _tdFamily :: Maybe Text+ , _tdRevision :: Maybe Int+ , _tdTaskDefinitionArn :: Maybe Text+ } deriving (Eq, Read, Show)++-- | 'TaskDefinition' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'tdContainerDefinitions' @::@ ['ContainerDefinition']+--+-- * 'tdFamily' @::@ 'Maybe' 'Text'+--+-- * 'tdRevision' @::@ 'Maybe' 'Int'+--+-- * 'tdTaskDefinitionArn' @::@ 'Maybe' 'Text'+--+taskDefinition :: TaskDefinition+taskDefinition = TaskDefinition+ { _tdTaskDefinitionArn = Nothing+ , _tdContainerDefinitions = mempty+ , _tdFamily = Nothing+ , _tdRevision = Nothing+ }++-- | A list of container definitions in JSON format that describe the different+-- containers that make up your task.+tdContainerDefinitions :: Lens' TaskDefinition [ContainerDefinition]+tdContainerDefinitions =+ lens _tdContainerDefinitions (\s a -> s { _tdContainerDefinitions = a })+ . _List++-- | The family of your task definition. You can think of the 'family' as the name+-- of your task definition.+tdFamily :: Lens' TaskDefinition (Maybe Text)+tdFamily = lens _tdFamily (\s a -> s { _tdFamily = a })++-- | The revision of the task in a particular family. You can think of the+-- revision as a version number of a task definition in a family. When you+-- register a task definition for the first time, the revision is '1', and each+-- time you register a task definition in the same family, the revision value+-- increases by one.+tdRevision :: Lens' TaskDefinition (Maybe Int)+tdRevision = lens _tdRevision (\s a -> s { _tdRevision = a })++-- | The full Amazon Resource Name (ARN) of the of the task definition.+tdTaskDefinitionArn :: Lens' TaskDefinition (Maybe Text)+tdTaskDefinitionArn =+ lens _tdTaskDefinitionArn (\s a -> s { _tdTaskDefinitionArn = a })++instance FromXML TaskDefinition where+ parseXML x = TaskDefinition+ <$> x .@? "containerDefinitions" .!@ mempty+ <*> x .@? "family"+ <*> x .@? "revision"+ <*> x .@? "taskDefinitionArn"++instance ToQuery TaskDefinition where+ toQuery TaskDefinition{..} = mconcat+ [ "containerDefinitions" =? _tdContainerDefinitions+ , "family" =? _tdFamily+ , "revision" =? _tdRevision+ , "taskDefinitionArn" =? _tdTaskDefinitionArn+ ]++data Failure = Failure+ { _fArn :: Maybe Text+ , _fReason :: Maybe Text+ } deriving (Eq, Ord, Read, Show)++-- | 'Failure' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'fArn' @::@ 'Maybe' 'Text'+--+-- * 'fReason' @::@ 'Maybe' 'Text'+--+failure :: Failure+failure = Failure+ { _fArn = Nothing+ , _fReason = Nothing+ }++-- | The Amazon Resource Name (ARN) of the failed resource.+fArn :: Lens' Failure (Maybe Text)+fArn = lens _fArn (\s a -> s { _fArn = a })++-- | The reason for the failure.+fReason :: Lens' Failure (Maybe Text)+fReason = lens _fReason (\s a -> s { _fReason = a })++instance FromXML Failure where+ parseXML x = Failure+ <$> x .@? "arn"+ <*> x .@? "reason"++instance ToQuery Failure where+ toQuery Failure{..} = mconcat+ [ "arn" =? _fArn+ , "reason" =? _fReason+ ]++data ContainerInstance = ContainerInstance+ { _ciAgentConnected :: Maybe Bool+ , _ciContainerInstanceArn :: Maybe Text+ , _ciEc2InstanceId :: Maybe Text+ , _ciRegisteredResources :: List "member" Resource+ , _ciRemainingResources :: List "member" Resource+ , _ciStatus :: Maybe Text+ } deriving (Eq, Read, Show)++-- | 'ContainerInstance' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ciAgentConnected' @::@ 'Maybe' 'Bool'+--+-- * 'ciContainerInstanceArn' @::@ 'Maybe' 'Text'+--+-- * 'ciEc2InstanceId' @::@ 'Maybe' 'Text'+--+-- * 'ciRegisteredResources' @::@ ['Resource']+--+-- * 'ciRemainingResources' @::@ ['Resource']+--+-- * 'ciStatus' @::@ 'Maybe' 'Text'+--+containerInstance :: ContainerInstance+containerInstance = ContainerInstance+ { _ciContainerInstanceArn = Nothing+ , _ciEc2InstanceId = Nothing+ , _ciRemainingResources = mempty+ , _ciRegisteredResources = mempty+ , _ciStatus = Nothing+ , _ciAgentConnected = Nothing+ }++-- | This parameter returns 'true' if the agent is actually connected to Amazon ECS.+-- Registered instances with an agent that may be unhealthy or stopped will+-- return 'false', and instances without a connected agent cannot accept placement+-- request.+ciAgentConnected :: Lens' ContainerInstance (Maybe Bool)+ciAgentConnected = lens _ciAgentConnected (\s a -> s { _ciAgentConnected = a })++-- | The Amazon Resource Name (ARN) of the container instance. The ARN contains+-- the 'arn:aws:ecs' namespace, followed by the region of the container instance,+-- the AWS account ID of the container instance owner, the 'container-instance'+-- namespace, and then the container instance UUID. For example, arn:aws:ecs:/region/:/aws_account_id/:container-instance//container_instance_UUID/.+ciContainerInstanceArn :: Lens' ContainerInstance (Maybe Text)+ciContainerInstanceArn =+ lens _ciContainerInstanceArn (\s a -> s { _ciContainerInstanceArn = a })++-- | The Amazon EC2 instance ID of the container instance.+ciEc2InstanceId :: Lens' ContainerInstance (Maybe Text)+ciEc2InstanceId = lens _ciEc2InstanceId (\s a -> s { _ciEc2InstanceId = a })++-- | The registered resources on the container instance that are in use by current+-- tasks.+ciRegisteredResources :: Lens' ContainerInstance [Resource]+ciRegisteredResources =+ lens _ciRegisteredResources (\s a -> s { _ciRegisteredResources = a })+ . _List++-- | The remaining resources of the container instance that are available for new+-- tasks.+ciRemainingResources :: Lens' ContainerInstance [Resource]+ciRemainingResources =+ lens _ciRemainingResources (\s a -> s { _ciRemainingResources = a })+ . _List++-- | The status of the container instance. The valid values are 'ACTIVE' or 'INACTIVE'.+-- 'ACTIVE' indicates that the container instance can accept tasks.+ciStatus :: Lens' ContainerInstance (Maybe Text)+ciStatus = lens _ciStatus (\s a -> s { _ciStatus = a })++instance FromXML ContainerInstance where+ parseXML x = ContainerInstance+ <$> x .@? "agentConnected"+ <*> x .@? "containerInstanceArn"+ <*> x .@? "ec2InstanceId"+ <*> x .@? "registeredResources" .!@ mempty+ <*> x .@? "remainingResources" .!@ mempty+ <*> x .@? "status"++instance ToQuery ContainerInstance where+ toQuery ContainerInstance{..} = mconcat+ [ "agentConnected" =? _ciAgentConnected+ , "containerInstanceArn" =? _ciContainerInstanceArn+ , "ec2InstanceId" =? _ciEc2InstanceId+ , "registeredResources" =? _ciRegisteredResources+ , "remainingResources" =? _ciRemainingResources+ , "status" =? _ciStatus+ ]