{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE TypeFamilies #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-} -- Derived from AWS service descriptions, licensed under Apache 2.0. -- | -- Module : Network.AWS.EC2.Waiters -- Copyright : (c) 2013-2015 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- module Network.AWS.EC2.Waiters where import Network.AWS.EC2.DescribeBundleTasks import Network.AWS.EC2.DescribeConversionTasks import Network.AWS.EC2.DescribeConversionTasks import Network.AWS.EC2.DescribeConversionTasks import Network.AWS.EC2.DescribeCustomerGateways import Network.AWS.EC2.DescribeExportTasks import Network.AWS.EC2.DescribeExportTasks import Network.AWS.EC2.DescribeImages import Network.AWS.EC2.DescribeInstances import Network.AWS.EC2.DescribeInstances import Network.AWS.EC2.DescribeInstances import Network.AWS.EC2.DescribeInstances import Network.AWS.EC2.DescribeInstanceStatus import Network.AWS.EC2.DescribeInstanceStatus import Network.AWS.EC2.DescribeSnapshots import Network.AWS.EC2.DescribeSpotInstanceRequests import Network.AWS.EC2.DescribeSubnets import Network.AWS.EC2.DescribeVolumes import Network.AWS.EC2.DescribeVolumes import Network.AWS.EC2.DescribeVolumes import Network.AWS.EC2.DescribeVPCs import Network.AWS.EC2.DescribeVPNConnections import Network.AWS.EC2.DescribeVPNConnections import Network.AWS.EC2.GetPasswordData import Network.AWS.EC2.Types import Network.AWS.Prelude import Network.AWS.Waiter -- | Polls 'Network.AWS.EC2.DescribeInstances' every 15 seconds until a -- successful state is reached. An error is returned after 40 failed checks. instanceTerminated :: Wait DescribeInstances instanceTerminated = Wait { _waitName = "InstanceTerminated" , _waitAttempts = 40 , _waitDelay = 15 , _waitAcceptors = [ matchAll "terminated" AcceptSuccess (folding (concatOf dirsReservations) . folding (concatOf rInstances) . insState . isName . to toTextCI) , matchAny "pending" AcceptFailure (folding (concatOf dirsReservations) . folding (concatOf rInstances) . insState . isName . to toTextCI) , matchAny "stopping" AcceptFailure (folding (concatOf dirsReservations) . folding (concatOf rInstances) . insState . isName . to toTextCI)] } -- | Polls 'Network.AWS.EC2.DescribeVolumes' every 15 seconds until a -- successful state is reached. An error is returned after 40 failed checks. volumeInUse :: Wait DescribeVolumes volumeInUse = Wait { _waitName = "VolumeInUse" , _waitAttempts = 40 , _waitDelay = 15 , _waitAcceptors = [ matchAll "in-use" AcceptSuccess (folding (concatOf dvvrsVolumes) . vState . to toTextCI) , matchAny "deleted" AcceptFailure (folding (concatOf dvvrsVolumes) . vState . to toTextCI)] } -- | Polls 'Network.AWS.EC2.DescribeSubnets' every 15 seconds until a -- successful state is reached. An error is returned after 40 failed checks. subnetAvailable :: Wait DescribeSubnets subnetAvailable = Wait { _waitName = "SubnetAvailable" , _waitAttempts = 40 , _waitDelay = 15 , _waitAcceptors = [ matchAll "available" AcceptSuccess (folding (concatOf dsrsSubnets) . subState . to toTextCI)] } -- | Polls 'Network.AWS.EC2.DescribeInstanceStatus' every 15 seconds until a -- successful state is reached. An error is returned after 40 failed checks. systemStatusOK :: Wait DescribeInstanceStatus systemStatusOK = Wait { _waitName = "SystemStatusOk" , _waitAttempts = 40 , _waitDelay = 15 , _waitAcceptors = [ matchAll "ok" AcceptSuccess (folding (concatOf disrsInstanceStatuses) . isSystemStatus . _Just . issStatus . to toTextCI)] } -- | Polls 'Network.AWS.EC2.DescribeCustomerGateways' every 15 seconds until a -- successful state is reached. An error is returned after 40 failed checks. customerGatewayAvailable :: Wait DescribeCustomerGateways customerGatewayAvailable = Wait { _waitName = "CustomerGatewayAvailable" , _waitAttempts = 40 , _waitDelay = 15 , _waitAcceptors = [ matchAll "available" AcceptSuccess (folding (concatOf dcgrsCustomerGateways) . cgState . to toTextCI) , matchAny "deleted" AcceptFailure (folding (concatOf dcgrsCustomerGateways) . cgState . to toTextCI) , matchAny "deleting" AcceptFailure (folding (concatOf dcgrsCustomerGateways) . cgState . to toTextCI)] } -- | Polls 'Network.AWS.EC2.DescribeConversionTasks' every 15 seconds until a -- successful state is reached. An error is returned after 40 failed checks. conversionTaskCompleted :: Wait DescribeConversionTasks conversionTaskCompleted = Wait { _waitName = "ConversionTaskCompleted" , _waitAttempts = 40 , _waitDelay = 15 , _waitAcceptors = [ matchAll "completed" AcceptSuccess (folding (concatOf dctrsConversionTasks) . ctState . to toTextCI) , matchAny "cancelled" AcceptFailure (folding (concatOf dctrsConversionTasks) . ctState . to toTextCI) , matchAny "cancelling" AcceptFailure (folding (concatOf dctrsConversionTasks) . ctState . to toTextCI)] } -- | Polls 'Network.AWS.EC2.DescribeConversionTasks' every 15 seconds until a -- successful state is reached. An error is returned after 40 failed checks. conversionTaskDeleted :: Wait DescribeConversionTasks conversionTaskDeleted = Wait { _waitName = "ConversionTaskDeleted" , _waitAttempts = 40 , _waitDelay = 15 , _waitAcceptors = [ matchAll "deleted" AcceptSuccess (folding (concatOf dctrsConversionTasks) . ctState . to toTextCI)] } -- | Polls 'Network.AWS.EC2.DescribeInstances' every 15 seconds until a -- successful state is reached. An error is returned after 40 failed checks. instanceStopped :: Wait DescribeInstances instanceStopped = Wait { _waitName = "InstanceStopped" , _waitAttempts = 40 , _waitDelay = 15 , _waitAcceptors = [ matchAll "stopped" AcceptSuccess (folding (concatOf dirsReservations) . folding (concatOf rInstances) . insState . isName . to toTextCI) , matchAny "pending" AcceptFailure (folding (concatOf dirsReservations) . folding (concatOf rInstances) . insState . isName . to toTextCI) , matchAny "terminated" AcceptFailure (folding (concatOf dirsReservations) . folding (concatOf rInstances) . insState . isName . to toTextCI)] } -- | Polls 'Network.AWS.EC2.GetPasswordData' every 15 seconds until a -- successful state is reached. An error is returned after 40 failed checks. passwordDataAvailable :: Wait GetPasswordData passwordDataAvailable = Wait { _waitName = "PasswordDataAvailable" , _waitAttempts = 40 , _waitDelay = 15 , _waitAcceptors = [ matchAll True AcceptSuccess (nonEmpty gpdrsPasswordData)] } -- | Polls 'Network.AWS.EC2.DescribeInstances' every 15 seconds until a -- successful state is reached. An error is returned after 40 failed checks. instanceRunning :: Wait DescribeInstances instanceRunning = Wait { _waitName = "InstanceRunning" , _waitAttempts = 40 , _waitDelay = 15 , _waitAcceptors = [ matchAll "running" AcceptSuccess (folding (concatOf dirsReservations) . folding (concatOf rInstances) . insState . isName . to toTextCI) , matchAny "shutting-down" AcceptFailure (folding (concatOf dirsReservations) . folding (concatOf rInstances) . insState . isName . to toTextCI) , matchAny "terminated" AcceptFailure (folding (concatOf dirsReservations) . folding (concatOf rInstances) . insState . isName . to toTextCI) , matchAny "stopping" AcceptFailure (folding (concatOf dirsReservations) . folding (concatOf rInstances) . insState . isName . to toTextCI)] } -- | Polls 'Network.AWS.EC2.DescribeSpotInstanceRequests' every 15 seconds until a -- successful state is reached. An error is returned after 40 failed checks. spotInstanceRequestFulfilled :: Wait DescribeSpotInstanceRequests spotInstanceRequestFulfilled = Wait { _waitName = "SpotInstanceRequestFulfilled" , _waitAttempts = 40 , _waitDelay = 15 , _waitAcceptors = [ matchAll "fulfilled" AcceptSuccess (folding (concatOf dsirrsSpotInstanceRequests) . sirStatus . _Just . sisCode . _Just . to toTextCI) , matchAny "schedule-expired" AcceptFailure (folding (concatOf dsirrsSpotInstanceRequests) . sirStatus . _Just . sisCode . _Just . to toTextCI) , matchAny "canceled-before-fulfillment" AcceptFailure (folding (concatOf dsirrsSpotInstanceRequests) . sirStatus . _Just . sisCode . _Just . to toTextCI) , matchAny "bad-parameters" AcceptFailure (folding (concatOf dsirrsSpotInstanceRequests) . sirStatus . _Just . sisCode . _Just . to toTextCI) , matchAny "system-error" AcceptFailure (folding (concatOf dsirrsSpotInstanceRequests) . sirStatus . _Just . sisCode . _Just . to toTextCI)] } -- | Polls 'Network.AWS.EC2.DescribeExportTasks' every 15 seconds until a -- successful state is reached. An error is returned after 40 failed checks. exportTaskCompleted :: Wait DescribeExportTasks exportTaskCompleted = Wait { _waitName = "ExportTaskCompleted" , _waitAttempts = 40 , _waitDelay = 15 , _waitAcceptors = [ matchAll "completed" AcceptSuccess (folding (concatOf detrsExportTasks) . etState . to toTextCI)] } -- | Polls 'Network.AWS.EC2.DescribeVPCs' every 15 seconds until a -- successful state is reached. An error is returned after 40 failed checks. vpcAvailable :: Wait DescribeVPCs vpcAvailable = Wait { _waitName = "VpcAvailable" , _waitAttempts = 40 , _waitDelay = 15 , _waitAcceptors = [ matchAll "available" AcceptSuccess (folding (concatOf dvrsVPCs) . vpcState . to toTextCI)] } -- | Polls 'Network.AWS.EC2.DescribeVPNConnections' every 15 seconds until a -- successful state is reached. An error is returned after 40 failed checks. vpnConnectionAvailable :: Wait DescribeVPNConnections vpnConnectionAvailable = Wait { _waitName = "VpnConnectionAvailable" , _waitAttempts = 40 , _waitDelay = 15 , _waitAcceptors = [ matchAll "available" AcceptSuccess (folding (concatOf dvcrsVPNConnections) . vcState . to toTextCI) , matchAny "deleting" AcceptFailure (folding (concatOf dvcrsVPNConnections) . vcState . to toTextCI) , matchAny "deleted" AcceptFailure (folding (concatOf dvcrsVPNConnections) . vcState . to toTextCI)] } -- | Polls 'Network.AWS.EC2.DescribeExportTasks' every 15 seconds until a -- successful state is reached. An error is returned after 40 failed checks. exportTaskCancelled :: Wait DescribeExportTasks exportTaskCancelled = Wait { _waitName = "ExportTaskCancelled" , _waitAttempts = 40 , _waitDelay = 15 , _waitAcceptors = [ matchAll "cancelled" AcceptSuccess (folding (concatOf detrsExportTasks) . etState . to toTextCI)] } -- | Polls 'Network.AWS.EC2.DescribeVolumes' every 15 seconds until a -- successful state is reached. An error is returned after 40 failed checks. volumeDeleted :: Wait DescribeVolumes volumeDeleted = Wait { _waitName = "VolumeDeleted" , _waitAttempts = 40 , _waitDelay = 15 , _waitAcceptors = [ matchAll "deleted" AcceptSuccess (folding (concatOf dvvrsVolumes) . vState . to toTextCI) , matchError "InvalidVolumeNotFound" AcceptSuccess] } -- | Polls 'Network.AWS.EC2.DescribeBundleTasks' every 15 seconds until a -- successful state is reached. An error is returned after 40 failed checks. bundleTaskComplete :: Wait DescribeBundleTasks bundleTaskComplete = Wait { _waitName = "BundleTaskComplete" , _waitAttempts = 40 , _waitDelay = 15 , _waitAcceptors = [ matchAll "complete" AcceptSuccess (folding (concatOf dbtrsBundleTasks) . btState . to toTextCI) , matchAny "failed" AcceptFailure (folding (concatOf dbtrsBundleTasks) . btState . to toTextCI)] } -- | Polls 'Network.AWS.EC2.DescribeVPNConnections' every 15 seconds until a -- successful state is reached. An error is returned after 40 failed checks. vpnConnectionDeleted :: Wait DescribeVPNConnections vpnConnectionDeleted = Wait { _waitName = "VpnConnectionDeleted" , _waitAttempts = 40 , _waitDelay = 15 , _waitAcceptors = [ matchAll "deleted" AcceptSuccess (folding (concatOf dvcrsVPNConnections) . vcState . to toTextCI) , matchAny "pending" AcceptFailure (folding (concatOf dvcrsVPNConnections) . vcState . to toTextCI)] } -- | Polls 'Network.AWS.EC2.DescribeImages' every 15 seconds until a -- successful state is reached. An error is returned after 40 failed checks. imageAvailable :: Wait DescribeImages imageAvailable = Wait { _waitName = "ImageAvailable" , _waitAttempts = 40 , _waitDelay = 15 , _waitAcceptors = [ matchAll "available" AcceptSuccess (folding (concatOf desrsImages) . iState . to toTextCI) , matchAny "deregistered" AcceptFailure (folding (concatOf desrsImages) . iState . to toTextCI)] } -- | Polls 'Network.AWS.EC2.DescribeConversionTasks' every 15 seconds until a -- successful state is reached. An error is returned after 40 failed checks. conversionTaskCancelled :: Wait DescribeConversionTasks conversionTaskCancelled = Wait { _waitName = "ConversionTaskCancelled" , _waitAttempts = 40 , _waitDelay = 15 , _waitAcceptors = [ matchAll "cancelled" AcceptSuccess (folding (concatOf dctrsConversionTasks) . ctState . to toTextCI)] } -- | Polls 'Network.AWS.EC2.DescribeInstances' every 5 seconds until a -- successful state is reached. An error is returned after 40 failed checks. instanceExists :: Wait DescribeInstances instanceExists = Wait { _waitName = "InstanceExists" , _waitAttempts = 40 , _waitDelay = 5 , _waitAcceptors = [ matchStatus 200 AcceptSuccess , matchError "InvalidInstanceIDNotFound" AcceptRetry] } -- | Polls 'Network.AWS.EC2.DescribeVolumes' every 15 seconds until a -- successful state is reached. An error is returned after 40 failed checks. volumeAvailable :: Wait DescribeVolumes volumeAvailable = Wait { _waitName = "VolumeAvailable" , _waitAttempts = 40 , _waitDelay = 15 , _waitAcceptors = [ matchAll "available" AcceptSuccess (folding (concatOf dvvrsVolumes) . vState . to toTextCI) , matchAny "deleted" AcceptFailure (folding (concatOf dvvrsVolumes) . vState . to toTextCI)] } -- | Polls 'Network.AWS.EC2.DescribeSnapshots' every 15 seconds until a -- successful state is reached. An error is returned after 40 failed checks. snapshotCompleted :: Wait DescribeSnapshots snapshotCompleted = Wait { _waitName = "SnapshotCompleted" , _waitAttempts = 40 , _waitDelay = 15 , _waitAcceptors = [ matchAll "completed" AcceptSuccess (folding (concatOf dssrsSnapshots) . sState . to toTextCI)] } -- | Polls 'Network.AWS.EC2.DescribeInstanceStatus' every 15 seconds until a -- successful state is reached. An error is returned after 40 failed checks. instanceStatusOK :: Wait DescribeInstanceStatus instanceStatusOK = Wait { _waitName = "InstanceStatusOk" , _waitAttempts = 40 , _waitDelay = 15 , _waitAcceptors = [ matchAll "ok" AcceptSuccess (folding (concatOf disrsInstanceStatuses) . isInstanceStatus . _Just . issStatus . to toTextCI)] }