{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE TypeFamilies #-} -- Module : Network.AWS.EC2.Waiters -- Copyright : (c) 2013-2014 Brendan Hay -- License : This Source Code Form is subject to the terms of -- the Mozilla Public License, v. 2.0. -- A copy of the MPL can be found in the LICENSE file or -- you can obtain it at http://mozilla.org/MPL/2.0/. -- Maintainer : Brendan Hay -- Stability : experimental -- Portability : non-portable (GHC extensions) -- -- Derived from AWS service descriptions, licensed under Apache 2.0. module Network.AWS.EC2.Waiters where import Network.AWS.EC2.DescribeBundleTasks import Network.AWS.EC2.DescribeConversionTasks import Network.AWS.EC2.DescribeCustomerGateways import Network.AWS.EC2.DescribeExportTasks import Network.AWS.EC2.DescribeInstances import Network.AWS.EC2.DescribeSnapshots import Network.AWS.EC2.DescribeSubnets import Network.AWS.EC2.DescribeVolumes import Network.AWS.EC2.DescribeVpcs import Network.AWS.EC2.DescribeVpnConnections import Network.AWS.EC2.Types import Network.AWS.Waiters bundleTaskComplete :: Wait DescribeBundleTasks bundleTaskComplete = Wait { _waitName = "BundleTaskComplete" , _waitAttempts = 40 , _waitDelay = 15 , _waitAcceptors = [ matchAll BTSComplete AcceptSuccess (folding (concatOf dbtrBundleTasks) . btState) , matchAny BTSFailed AcceptFailure (folding (concatOf dbtrBundleTasks) . btState) ] } conversionTaskCancelled :: Wait DescribeConversionTasks conversionTaskCancelled = Wait { _waitName = "ConversionTaskCancelled" , _waitAttempts = 40 , _waitDelay = 15 , _waitAcceptors = [ matchAll CTSCancelled AcceptSuccess (folding (concatOf dctrConversionTasks) . ctState) ] } conversionTaskCompleted :: Wait DescribeConversionTasks conversionTaskCompleted = Wait { _waitName = "ConversionTaskCompleted" , _waitAttempts = 40 , _waitDelay = 15 , _waitAcceptors = [ matchAll CTSCompleted AcceptSuccess (folding (concatOf dctrConversionTasks) . ctState) , matchAny CTSCancelled AcceptFailure (folding (concatOf dctrConversionTasks) . ctState) , matchAny CTSCancelling AcceptFailure (folding (concatOf dctrConversionTasks) . ctState) ] } customerGatewayAvailable :: Wait DescribeCustomerGateways customerGatewayAvailable = Wait { _waitName = "CustomerGatewayAvailable" , _waitAttempts = 40 , _waitDelay = 15 , _waitAcceptors = [ matchAll "available" AcceptSuccess (folding (concatOf dcgrCustomerGateways) . cgState) , matchAny "deleted" AcceptFailure (folding (concatOf dcgrCustomerGateways) . cgState) , matchAny "deleting" AcceptFailure (folding (concatOf dcgrCustomerGateways) . cgState) ] } exportTaskCancelled :: Wait DescribeExportTasks exportTaskCancelled = Wait { _waitName = "ExportTaskCancelled" , _waitAttempts = 40 , _waitDelay = 15 , _waitAcceptors = [ matchAll ETSCancelled AcceptSuccess (folding (concatOf detrExportTasks) . etState) ] } exportTaskCompleted :: Wait DescribeExportTasks exportTaskCompleted = Wait { _waitName = "ExportTaskCompleted" , _waitAttempts = 40 , _waitDelay = 15 , _waitAcceptors = [ matchAll ETSCompleted AcceptSuccess (folding (concatOf detrExportTasks) . etState) ] } instanceRunning :: Wait DescribeInstances instanceRunning = Wait { _waitName = "InstanceRunning" , _waitAttempts = 40 , _waitDelay = 15 , _waitAcceptors = [ matchAll ISNRunning AcceptSuccess (folding (concatOf dirReservations) . folding (concatOf rInstances) . i1State . isName) , matchAny ISNShuttingDown AcceptFailure (folding (concatOf dirReservations) . folding (concatOf rInstances) . i1State . isName) , matchAny ISNTerminated AcceptFailure (folding (concatOf dirReservations) . folding (concatOf rInstances) . i1State . isName) , matchAny ISNStopping AcceptFailure (folding (concatOf dirReservations) . folding (concatOf rInstances) . i1State . isName) ] } instanceStopped :: Wait DescribeInstances instanceStopped = Wait { _waitName = "InstanceStopped" , _waitAttempts = 40 , _waitDelay = 15 , _waitAcceptors = [ matchAll ISNStopped AcceptSuccess (folding (concatOf dirReservations) . folding (concatOf rInstances) . i1State . isName) , matchAny ISNPending AcceptFailure (folding (concatOf dirReservations) . folding (concatOf rInstances) . i1State . isName) , matchAny ISNTerminated AcceptFailure (folding (concatOf dirReservations) . folding (concatOf rInstances) . i1State . isName) ] } instanceTerminated :: Wait DescribeInstances instanceTerminated = Wait { _waitName = "InstanceTerminated" , _waitAttempts = 40 , _waitDelay = 15 , _waitAcceptors = [ matchAll ISNTerminated AcceptSuccess (folding (concatOf dirReservations) . folding (concatOf rInstances) . i1State . isName) , matchAny ISNPending AcceptFailure (folding (concatOf dirReservations) . folding (concatOf rInstances) . i1State . isName) , matchAny ISNStopping AcceptFailure (folding (concatOf dirReservations) . folding (concatOf rInstances) . i1State . isName) ] } snapshotCompleted :: Wait DescribeSnapshots snapshotCompleted = Wait { _waitName = "SnapshotCompleted" , _waitAttempts = 40 , _waitDelay = 15 , _waitAcceptors = [ matchAll Completed AcceptSuccess (folding (concatOf dsrSnapshots) . sState) ] } subnetAvailable :: Wait DescribeSubnets subnetAvailable = Wait { _waitName = "SubnetAvailable" , _waitAttempts = 40 , _waitDelay = 15 , _waitAcceptors = [ matchAll SSAvailable AcceptSuccess (folding (concatOf dsrSubnets) . s1State) ] } volumeAvailable :: Wait DescribeVolumes volumeAvailable = Wait { _waitName = "VolumeAvailable" , _waitAttempts = 40 , _waitDelay = 15 , _waitAcceptors = [ matchAll VSAvailable AcceptSuccess (folding (concatOf dvrVolumes) . vState) , matchAny VSDeleted AcceptFailure (folding (concatOf dvrVolumes) . vState) ] } volumeDeleted :: Wait DescribeVolumes volumeDeleted = Wait { _waitName = "VolumeDeleted" , _waitAttempts = 40 , _waitDelay = 15 , _waitAcceptors = [ matchAll VSDeleted AcceptSuccess (folding (concatOf dvrVolumes) . vState) ] } volumeInUse :: Wait DescribeVolumes volumeInUse = Wait { _waitName = "VolumeInUse" , _waitAttempts = 40 , _waitDelay = 15 , _waitAcceptors = [ matchAll VSInUse AcceptSuccess (folding (concatOf dvrVolumes) . vState) , matchAny VSDeleted AcceptFailure (folding (concatOf dvrVolumes) . vState) ] } vpcAvailable :: Wait DescribeVpcs vpcAvailable = Wait { _waitName = "VpcAvailable" , _waitAttempts = 40 , _waitDelay = 15 , _waitAcceptors = [ matchAll VpcStateAvailable AcceptSuccess (folding (concatOf dvrVpcs) . vpcState) ] } vpnConnectionAvailable :: Wait DescribeVpnConnections vpnConnectionAvailable = Wait { _waitName = "VpnConnectionAvailable" , _waitAttempts = 40 , _waitDelay = 15 , _waitAcceptors = [ matchAll VpnStateAvailable AcceptSuccess (folding (concatOf dvcrVpnConnections) . vcState) , matchAny VpnStateDeleting AcceptFailure (folding (concatOf dvcrVpnConnections) . vcState) , matchAny VpnStateDeleted AcceptFailure (folding (concatOf dvcrVpnConnections) . vcState) ] } vpnConnectionDeleted :: Wait DescribeVpnConnections vpnConnectionDeleted = Wait { _waitName = "VpnConnectionDeleted" , _waitAttempts = 40 , _waitDelay = 15 , _waitAcceptors = [ matchAll VpnStateDeleted AcceptSuccess (folding (concatOf dvcrVpnConnections) . vcState) , matchAny VpnStatePending AcceptFailure (folding (concatOf dvcrVpnConnections) . vcState) ] }