{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}

-- Derived from AWS service descriptions, licensed under Apache 2.0.

-- |
-- Module      : Amazonka.Route53RecoveryControlConfig.Waiters
-- Copyright   : (c) 2013-2021 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
module Amazonka.Route53RecoveryControlConfig.Waiters where

import qualified Amazonka.Core as Core
import qualified Amazonka.Lens as Lens
import qualified Amazonka.Prelude as Prelude
import Amazonka.Route53RecoveryControlConfig.DescribeCluster
import Amazonka.Route53RecoveryControlConfig.DescribeControlPanel
import Amazonka.Route53RecoveryControlConfig.DescribeRoutingControl
import Amazonka.Route53RecoveryControlConfig.Lens
import Amazonka.Route53RecoveryControlConfig.Types

-- | Polls 'Amazonka.Route53RecoveryControlConfig.DescribeCluster' every 5 seconds until a successful state is reached. An error is returned after 26 failed checks.
newClusterCreated :: Core.Wait DescribeCluster
newClusterCreated :: Wait DescribeCluster
newClusterCreated =
  Wait :: forall a. ByteString -> Int -> Seconds -> [Acceptor a] -> Wait a
Core.Wait
    { $sel:_waitName:Wait :: ByteString
Core._waitName = ByteString
"ClusterCreated",
      $sel:_waitAttempts:Wait :: Int
Core._waitAttempts = Int
26,
      $sel:_waitDelay:Wait :: Seconds
Core._waitDelay = Seconds
5,
      $sel:_waitAcceptors:Wait :: [Acceptor DescribeCluster]
Core._waitAcceptors =
        [ CI Text
-> Accept
-> Fold (AWSResponse DescribeCluster) (CI Text)
-> Acceptor DescribeCluster
forall b a.
Eq b =>
b -> Accept -> Fold (AWSResponse a) b -> Acceptor a
Core.matchAll
            CI Text
"DEPLOYED"
            Accept
Core.AcceptSuccess
            ( (Maybe Cluster -> f (Maybe Cluster))
-> DescribeClusterResponse -> f DescribeClusterResponse
Lens' DescribeClusterResponse (Maybe Cluster)
describeClusterResponse_cluster ((Maybe Cluster -> f (Maybe Cluster))
 -> DescribeClusterResponse -> f DescribeClusterResponse)
-> ((CI Text -> f (CI Text)) -> Maybe Cluster -> f (Maybe Cluster))
-> (CI Text -> f (CI Text))
-> DescribeClusterResponse
-> f DescribeClusterResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. (Cluster -> f Cluster) -> Maybe Cluster -> f (Maybe Cluster)
forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
                ((Cluster -> f Cluster) -> Maybe Cluster -> f (Maybe Cluster))
-> ((CI Text -> f (CI Text)) -> Cluster -> f Cluster)
-> (CI Text -> f (CI Text))
-> Maybe Cluster
-> f (Maybe Cluster)
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. (Maybe Status -> f (Maybe Status)) -> Cluster -> f Cluster
Lens' Cluster (Maybe Status)
cluster_status
                ((Maybe Status -> f (Maybe Status)) -> Cluster -> f Cluster)
-> ((CI Text -> f (CI Text)) -> Maybe Status -> f (Maybe Status))
-> (CI Text -> f (CI Text))
-> Cluster
-> f Cluster
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. (Status -> f Status) -> Maybe Status -> f (Maybe Status)
forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
                ((Status -> f Status) -> Maybe Status -> f (Maybe Status))
-> ((CI Text -> f (CI Text)) -> Status -> f Status)
-> (CI Text -> f (CI Text))
-> Maybe Status
-> f (Maybe Status)
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. (Status -> CI Text)
-> (CI Text -> f (CI Text)) -> Status -> f Status
forall (p :: * -> * -> *) (f :: * -> *) s a.
(Profunctor p, Contravariant f) =>
(s -> a) -> Optic' p f s a
Lens.to Status -> CI Text
forall a. ToText a => a -> CI Text
Core.toTextCI
            ),
          CI Text
-> Accept
-> Fold (AWSResponse DescribeCluster) (CI Text)
-> Acceptor DescribeCluster
forall b a.
Eq b =>
b -> Accept -> Fold (AWSResponse a) b -> Acceptor a
Core.matchAll
            CI Text
"PENDING"
            Accept
Core.AcceptRetry
            ( (Maybe Cluster -> f (Maybe Cluster))
-> DescribeClusterResponse -> f DescribeClusterResponse
Lens' DescribeClusterResponse (Maybe Cluster)
describeClusterResponse_cluster ((Maybe Cluster -> f (Maybe Cluster))
 -> DescribeClusterResponse -> f DescribeClusterResponse)
-> ((CI Text -> f (CI Text)) -> Maybe Cluster -> f (Maybe Cluster))
-> (CI Text -> f (CI Text))
-> DescribeClusterResponse
-> f DescribeClusterResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. (Cluster -> f Cluster) -> Maybe Cluster -> f (Maybe Cluster)
forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
                ((Cluster -> f Cluster) -> Maybe Cluster -> f (Maybe Cluster))
-> ((CI Text -> f (CI Text)) -> Cluster -> f Cluster)
-> (CI Text -> f (CI Text))
-> Maybe Cluster
-> f (Maybe Cluster)
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. (Maybe Status -> f (Maybe Status)) -> Cluster -> f Cluster
Lens' Cluster (Maybe Status)
cluster_status
                ((Maybe Status -> f (Maybe Status)) -> Cluster -> f Cluster)
-> ((CI Text -> f (CI Text)) -> Maybe Status -> f (Maybe Status))
-> (CI Text -> f (CI Text))
-> Cluster
-> f Cluster
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. (Status -> f Status) -> Maybe Status -> f (Maybe Status)
forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
                ((Status -> f Status) -> Maybe Status -> f (Maybe Status))
-> ((CI Text -> f (CI Text)) -> Status -> f Status)
-> (CI Text -> f (CI Text))
-> Maybe Status
-> f (Maybe Status)
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. (Status -> CI Text)
-> (CI Text -> f (CI Text)) -> Status -> f Status
forall (p :: * -> * -> *) (f :: * -> *) s a.
(Profunctor p, Contravariant f) =>
(s -> a) -> Optic' p f s a
Lens.to Status -> CI Text
forall a. ToText a => a -> CI Text
Core.toTextCI
            ),
          Int -> Accept -> Acceptor DescribeCluster
forall a. Int -> Accept -> Acceptor a
Core.matchStatus Int
500 Accept
Core.AcceptRetry
        ]
    }

-- | Polls 'Amazonka.Route53RecoveryControlConfig.DescribeRoutingControl' every 5 seconds until a successful state is reached. An error is returned after 26 failed checks.
newRoutingControlCreated :: Core.Wait DescribeRoutingControl
newRoutingControlCreated :: Wait DescribeRoutingControl
newRoutingControlCreated =
  Wait :: forall a. ByteString -> Int -> Seconds -> [Acceptor a] -> Wait a
Core.Wait
    { $sel:_waitName:Wait :: ByteString
Core._waitName = ByteString
"RoutingControlCreated",
      $sel:_waitAttempts:Wait :: Int
Core._waitAttempts = Int
26,
      $sel:_waitDelay:Wait :: Seconds
Core._waitDelay = Seconds
5,
      $sel:_waitAcceptors:Wait :: [Acceptor DescribeRoutingControl]
Core._waitAcceptors =
        [ CI Text
-> Accept
-> Fold (AWSResponse DescribeRoutingControl) (CI Text)
-> Acceptor DescribeRoutingControl
forall b a.
Eq b =>
b -> Accept -> Fold (AWSResponse a) b -> Acceptor a
Core.matchAll
            CI Text
"DEPLOYED"
            Accept
Core.AcceptSuccess
            ( (Maybe RoutingControl -> f (Maybe RoutingControl))
-> DescribeRoutingControlResponse
-> f DescribeRoutingControlResponse
Lens' DescribeRoutingControlResponse (Maybe RoutingControl)
describeRoutingControlResponse_routingControl
                ((Maybe RoutingControl -> f (Maybe RoutingControl))
 -> DescribeRoutingControlResponse
 -> f DescribeRoutingControlResponse)
-> ((CI Text -> f (CI Text))
    -> Maybe RoutingControl -> f (Maybe RoutingControl))
-> (CI Text -> f (CI Text))
-> DescribeRoutingControlResponse
-> f DescribeRoutingControlResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. (RoutingControl -> f RoutingControl)
-> Maybe RoutingControl -> f (Maybe RoutingControl)
forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
                ((RoutingControl -> f RoutingControl)
 -> Maybe RoutingControl -> f (Maybe RoutingControl))
-> ((CI Text -> f (CI Text)) -> RoutingControl -> f RoutingControl)
-> (CI Text -> f (CI Text))
-> Maybe RoutingControl
-> f (Maybe RoutingControl)
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. (Maybe Status -> f (Maybe Status))
-> RoutingControl -> f RoutingControl
Lens' RoutingControl (Maybe Status)
routingControl_status
                ((Maybe Status -> f (Maybe Status))
 -> RoutingControl -> f RoutingControl)
-> ((CI Text -> f (CI Text)) -> Maybe Status -> f (Maybe Status))
-> (CI Text -> f (CI Text))
-> RoutingControl
-> f RoutingControl
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. (Status -> f Status) -> Maybe Status -> f (Maybe Status)
forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
                ((Status -> f Status) -> Maybe Status -> f (Maybe Status))
-> ((CI Text -> f (CI Text)) -> Status -> f Status)
-> (CI Text -> f (CI Text))
-> Maybe Status
-> f (Maybe Status)
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. (Status -> CI Text)
-> (CI Text -> f (CI Text)) -> Status -> f Status
forall (p :: * -> * -> *) (f :: * -> *) s a.
(Profunctor p, Contravariant f) =>
(s -> a) -> Optic' p f s a
Lens.to Status -> CI Text
forall a. ToText a => a -> CI Text
Core.toTextCI
            ),
          CI Text
-> Accept
-> Fold (AWSResponse DescribeRoutingControl) (CI Text)
-> Acceptor DescribeRoutingControl
forall b a.
Eq b =>
b -> Accept -> Fold (AWSResponse a) b -> Acceptor a
Core.matchAll
            CI Text
"PENDING"
            Accept
Core.AcceptRetry
            ( (Maybe RoutingControl -> f (Maybe RoutingControl))
-> DescribeRoutingControlResponse
-> f DescribeRoutingControlResponse
Lens' DescribeRoutingControlResponse (Maybe RoutingControl)
describeRoutingControlResponse_routingControl
                ((Maybe RoutingControl -> f (Maybe RoutingControl))
 -> DescribeRoutingControlResponse
 -> f DescribeRoutingControlResponse)
-> ((CI Text -> f (CI Text))
    -> Maybe RoutingControl -> f (Maybe RoutingControl))
-> (CI Text -> f (CI Text))
-> DescribeRoutingControlResponse
-> f DescribeRoutingControlResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. (RoutingControl -> f RoutingControl)
-> Maybe RoutingControl -> f (Maybe RoutingControl)
forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
                ((RoutingControl -> f RoutingControl)
 -> Maybe RoutingControl -> f (Maybe RoutingControl))
-> ((CI Text -> f (CI Text)) -> RoutingControl -> f RoutingControl)
-> (CI Text -> f (CI Text))
-> Maybe RoutingControl
-> f (Maybe RoutingControl)
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. (Maybe Status -> f (Maybe Status))
-> RoutingControl -> f RoutingControl
Lens' RoutingControl (Maybe Status)
routingControl_status
                ((Maybe Status -> f (Maybe Status))
 -> RoutingControl -> f RoutingControl)
-> ((CI Text -> f (CI Text)) -> Maybe Status -> f (Maybe Status))
-> (CI Text -> f (CI Text))
-> RoutingControl
-> f RoutingControl
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. (Status -> f Status) -> Maybe Status -> f (Maybe Status)
forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
                ((Status -> f Status) -> Maybe Status -> f (Maybe Status))
-> ((CI Text -> f (CI Text)) -> Status -> f Status)
-> (CI Text -> f (CI Text))
-> Maybe Status
-> f (Maybe Status)
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. (Status -> CI Text)
-> (CI Text -> f (CI Text)) -> Status -> f Status
forall (p :: * -> * -> *) (f :: * -> *) s a.
(Profunctor p, Contravariant f) =>
(s -> a) -> Optic' p f s a
Lens.to Status -> CI Text
forall a. ToText a => a -> CI Text
Core.toTextCI
            ),
          Int -> Accept -> Acceptor DescribeRoutingControl
forall a. Int -> Accept -> Acceptor a
Core.matchStatus Int
500 Accept
Core.AcceptRetry
        ]
    }

-- | Polls 'Amazonka.Route53RecoveryControlConfig.DescribeRoutingControl' every 5 seconds until a successful state is reached. An error is returned after 26 failed checks.
newRoutingControlDeleted :: Core.Wait DescribeRoutingControl
newRoutingControlDeleted :: Wait DescribeRoutingControl
newRoutingControlDeleted =
  Wait :: forall a. ByteString -> Int -> Seconds -> [Acceptor a] -> Wait a
Core.Wait
    { $sel:_waitName:Wait :: ByteString
Core._waitName = ByteString
"RoutingControlDeleted",
      $sel:_waitAttempts:Wait :: Int
Core._waitAttempts = Int
26,
      $sel:_waitDelay:Wait :: Seconds
Core._waitDelay = Seconds
5,
      $sel:_waitAcceptors:Wait :: [Acceptor DescribeRoutingControl]
Core._waitAcceptors =
        [ Int -> Accept -> Acceptor DescribeRoutingControl
forall a. Int -> Accept -> Acceptor a
Core.matchStatus Int
404 Accept
Core.AcceptSuccess,
          CI Text
-> Accept
-> Fold (AWSResponse DescribeRoutingControl) (CI Text)
-> Acceptor DescribeRoutingControl
forall b a.
Eq b =>
b -> Accept -> Fold (AWSResponse a) b -> Acceptor a
Core.matchAll
            CI Text
"PENDING_DELETION"
            Accept
Core.AcceptRetry
            ( (Maybe RoutingControl -> f (Maybe RoutingControl))
-> DescribeRoutingControlResponse
-> f DescribeRoutingControlResponse
Lens' DescribeRoutingControlResponse (Maybe RoutingControl)
describeRoutingControlResponse_routingControl
                ((Maybe RoutingControl -> f (Maybe RoutingControl))
 -> DescribeRoutingControlResponse
 -> f DescribeRoutingControlResponse)
-> ((CI Text -> f (CI Text))
    -> Maybe RoutingControl -> f (Maybe RoutingControl))
-> (CI Text -> f (CI Text))
-> DescribeRoutingControlResponse
-> f DescribeRoutingControlResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. (RoutingControl -> f RoutingControl)
-> Maybe RoutingControl -> f (Maybe RoutingControl)
forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
                ((RoutingControl -> f RoutingControl)
 -> Maybe RoutingControl -> f (Maybe RoutingControl))
-> ((CI Text -> f (CI Text)) -> RoutingControl -> f RoutingControl)
-> (CI Text -> f (CI Text))
-> Maybe RoutingControl
-> f (Maybe RoutingControl)
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. (Maybe Status -> f (Maybe Status))
-> RoutingControl -> f RoutingControl
Lens' RoutingControl (Maybe Status)
routingControl_status
                ((Maybe Status -> f (Maybe Status))
 -> RoutingControl -> f RoutingControl)
-> ((CI Text -> f (CI Text)) -> Maybe Status -> f (Maybe Status))
-> (CI Text -> f (CI Text))
-> RoutingControl
-> f RoutingControl
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. (Status -> f Status) -> Maybe Status -> f (Maybe Status)
forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
                ((Status -> f Status) -> Maybe Status -> f (Maybe Status))
-> ((CI Text -> f (CI Text)) -> Status -> f Status)
-> (CI Text -> f (CI Text))
-> Maybe Status
-> f (Maybe Status)
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. (Status -> CI Text)
-> (CI Text -> f (CI Text)) -> Status -> f Status
forall (p :: * -> * -> *) (f :: * -> *) s a.
(Profunctor p, Contravariant f) =>
(s -> a) -> Optic' p f s a
Lens.to Status -> CI Text
forall a. ToText a => a -> CI Text
Core.toTextCI
            ),
          Int -> Accept -> Acceptor DescribeRoutingControl
forall a. Int -> Accept -> Acceptor a
Core.matchStatus Int
500 Accept
Core.AcceptRetry
        ]
    }

-- | Polls 'Amazonka.Route53RecoveryControlConfig.DescribeControlPanel' every 5 seconds until a successful state is reached. An error is returned after 26 failed checks.
newControlPanelCreated :: Core.Wait DescribeControlPanel
newControlPanelCreated :: Wait DescribeControlPanel
newControlPanelCreated =
  Wait :: forall a. ByteString -> Int -> Seconds -> [Acceptor a] -> Wait a
Core.Wait
    { $sel:_waitName:Wait :: ByteString
Core._waitName = ByteString
"ControlPanelCreated",
      $sel:_waitAttempts:Wait :: Int
Core._waitAttempts = Int
26,
      $sel:_waitDelay:Wait :: Seconds
Core._waitDelay = Seconds
5,
      $sel:_waitAcceptors:Wait :: [Acceptor DescribeControlPanel]
Core._waitAcceptors =
        [ CI Text
-> Accept
-> Fold (AWSResponse DescribeControlPanel) (CI Text)
-> Acceptor DescribeControlPanel
forall b a.
Eq b =>
b -> Accept -> Fold (AWSResponse a) b -> Acceptor a
Core.matchAll
            CI Text
"DEPLOYED"
            Accept
Core.AcceptSuccess
            ( (Maybe ControlPanel -> f (Maybe ControlPanel))
-> DescribeControlPanelResponse -> f DescribeControlPanelResponse
Lens' DescribeControlPanelResponse (Maybe ControlPanel)
describeControlPanelResponse_controlPanel
                ((Maybe ControlPanel -> f (Maybe ControlPanel))
 -> DescribeControlPanelResponse -> f DescribeControlPanelResponse)
-> ((CI Text -> f (CI Text))
    -> Maybe ControlPanel -> f (Maybe ControlPanel))
-> (CI Text -> f (CI Text))
-> DescribeControlPanelResponse
-> f DescribeControlPanelResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. (ControlPanel -> f ControlPanel)
-> Maybe ControlPanel -> f (Maybe ControlPanel)
forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
                ((ControlPanel -> f ControlPanel)
 -> Maybe ControlPanel -> f (Maybe ControlPanel))
-> ((CI Text -> f (CI Text)) -> ControlPanel -> f ControlPanel)
-> (CI Text -> f (CI Text))
-> Maybe ControlPanel
-> f (Maybe ControlPanel)
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. (Maybe Status -> f (Maybe Status))
-> ControlPanel -> f ControlPanel
Lens' ControlPanel (Maybe Status)
controlPanel_status
                ((Maybe Status -> f (Maybe Status))
 -> ControlPanel -> f ControlPanel)
-> ((CI Text -> f (CI Text)) -> Maybe Status -> f (Maybe Status))
-> (CI Text -> f (CI Text))
-> ControlPanel
-> f ControlPanel
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. (Status -> f Status) -> Maybe Status -> f (Maybe Status)
forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
                ((Status -> f Status) -> Maybe Status -> f (Maybe Status))
-> ((CI Text -> f (CI Text)) -> Status -> f Status)
-> (CI Text -> f (CI Text))
-> Maybe Status
-> f (Maybe Status)
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. (Status -> CI Text)
-> (CI Text -> f (CI Text)) -> Status -> f Status
forall (p :: * -> * -> *) (f :: * -> *) s a.
(Profunctor p, Contravariant f) =>
(s -> a) -> Optic' p f s a
Lens.to Status -> CI Text
forall a. ToText a => a -> CI Text
Core.toTextCI
            ),
          CI Text
-> Accept
-> Fold (AWSResponse DescribeControlPanel) (CI Text)
-> Acceptor DescribeControlPanel
forall b a.
Eq b =>
b -> Accept -> Fold (AWSResponse a) b -> Acceptor a
Core.matchAll
            CI Text
"PENDING"
            Accept
Core.AcceptRetry
            ( (Maybe ControlPanel -> f (Maybe ControlPanel))
-> DescribeControlPanelResponse -> f DescribeControlPanelResponse
Lens' DescribeControlPanelResponse (Maybe ControlPanel)
describeControlPanelResponse_controlPanel
                ((Maybe ControlPanel -> f (Maybe ControlPanel))
 -> DescribeControlPanelResponse -> f DescribeControlPanelResponse)
-> ((CI Text -> f (CI Text))
    -> Maybe ControlPanel -> f (Maybe ControlPanel))
-> (CI Text -> f (CI Text))
-> DescribeControlPanelResponse
-> f DescribeControlPanelResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. (ControlPanel -> f ControlPanel)
-> Maybe ControlPanel -> f (Maybe ControlPanel)
forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
                ((ControlPanel -> f ControlPanel)
 -> Maybe ControlPanel -> f (Maybe ControlPanel))
-> ((CI Text -> f (CI Text)) -> ControlPanel -> f ControlPanel)
-> (CI Text -> f (CI Text))
-> Maybe ControlPanel
-> f (Maybe ControlPanel)
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. (Maybe Status -> f (Maybe Status))
-> ControlPanel -> f ControlPanel
Lens' ControlPanel (Maybe Status)
controlPanel_status
                ((Maybe Status -> f (Maybe Status))
 -> ControlPanel -> f ControlPanel)
-> ((CI Text -> f (CI Text)) -> Maybe Status -> f (Maybe Status))
-> (CI Text -> f (CI Text))
-> ControlPanel
-> f ControlPanel
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. (Status -> f Status) -> Maybe Status -> f (Maybe Status)
forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
                ((Status -> f Status) -> Maybe Status -> f (Maybe Status))
-> ((CI Text -> f (CI Text)) -> Status -> f Status)
-> (CI Text -> f (CI Text))
-> Maybe Status
-> f (Maybe Status)
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. (Status -> CI Text)
-> (CI Text -> f (CI Text)) -> Status -> f Status
forall (p :: * -> * -> *) (f :: * -> *) s a.
(Profunctor p, Contravariant f) =>
(s -> a) -> Optic' p f s a
Lens.to Status -> CI Text
forall a. ToText a => a -> CI Text
Core.toTextCI
            ),
          Int -> Accept -> Acceptor DescribeControlPanel
forall a. Int -> Accept -> Acceptor a
Core.matchStatus Int
500 Accept
Core.AcceptRetry
        ]
    }

-- | Polls 'Amazonka.Route53RecoveryControlConfig.DescribeControlPanel' every 5 seconds until a successful state is reached. An error is returned after 26 failed checks.
newControlPanelDeleted :: Core.Wait DescribeControlPanel
newControlPanelDeleted :: Wait DescribeControlPanel
newControlPanelDeleted =
  Wait :: forall a. ByteString -> Int -> Seconds -> [Acceptor a] -> Wait a
Core.Wait
    { $sel:_waitName:Wait :: ByteString
Core._waitName = ByteString
"ControlPanelDeleted",
      $sel:_waitAttempts:Wait :: Int
Core._waitAttempts = Int
26,
      $sel:_waitDelay:Wait :: Seconds
Core._waitDelay = Seconds
5,
      $sel:_waitAcceptors:Wait :: [Acceptor DescribeControlPanel]
Core._waitAcceptors =
        [ Int -> Accept -> Acceptor DescribeControlPanel
forall a. Int -> Accept -> Acceptor a
Core.matchStatus Int
404 Accept
Core.AcceptSuccess,
          CI Text
-> Accept
-> Fold (AWSResponse DescribeControlPanel) (CI Text)
-> Acceptor DescribeControlPanel
forall b a.
Eq b =>
b -> Accept -> Fold (AWSResponse a) b -> Acceptor a
Core.matchAll
            CI Text
"PENDING_DELETION"
            Accept
Core.AcceptRetry
            ( (Maybe ControlPanel -> f (Maybe ControlPanel))
-> DescribeControlPanelResponse -> f DescribeControlPanelResponse
Lens' DescribeControlPanelResponse (Maybe ControlPanel)
describeControlPanelResponse_controlPanel
                ((Maybe ControlPanel -> f (Maybe ControlPanel))
 -> DescribeControlPanelResponse -> f DescribeControlPanelResponse)
-> ((CI Text -> f (CI Text))
    -> Maybe ControlPanel -> f (Maybe ControlPanel))
-> (CI Text -> f (CI Text))
-> DescribeControlPanelResponse
-> f DescribeControlPanelResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. (ControlPanel -> f ControlPanel)
-> Maybe ControlPanel -> f (Maybe ControlPanel)
forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
                ((ControlPanel -> f ControlPanel)
 -> Maybe ControlPanel -> f (Maybe ControlPanel))
-> ((CI Text -> f (CI Text)) -> ControlPanel -> f ControlPanel)
-> (CI Text -> f (CI Text))
-> Maybe ControlPanel
-> f (Maybe ControlPanel)
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. (Maybe Status -> f (Maybe Status))
-> ControlPanel -> f ControlPanel
Lens' ControlPanel (Maybe Status)
controlPanel_status
                ((Maybe Status -> f (Maybe Status))
 -> ControlPanel -> f ControlPanel)
-> ((CI Text -> f (CI Text)) -> Maybe Status -> f (Maybe Status))
-> (CI Text -> f (CI Text))
-> ControlPanel
-> f ControlPanel
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. (Status -> f Status) -> Maybe Status -> f (Maybe Status)
forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
                ((Status -> f Status) -> Maybe Status -> f (Maybe Status))
-> ((CI Text -> f (CI Text)) -> Status -> f Status)
-> (CI Text -> f (CI Text))
-> Maybe Status
-> f (Maybe Status)
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. (Status -> CI Text)
-> (CI Text -> f (CI Text)) -> Status -> f Status
forall (p :: * -> * -> *) (f :: * -> *) s a.
(Profunctor p, Contravariant f) =>
(s -> a) -> Optic' p f s a
Lens.to Status -> CI Text
forall a. ToText a => a -> CI Text
Core.toTextCI
            ),
          Int -> Accept -> Acceptor DescribeControlPanel
forall a. Int -> Accept -> Acceptor a
Core.matchStatus Int
500 Accept
Core.AcceptRetry
        ]
    }

-- | Polls 'Amazonka.Route53RecoveryControlConfig.DescribeCluster' every 5 seconds until a successful state is reached. An error is returned after 26 failed checks.
newClusterDeleted :: Core.Wait DescribeCluster
newClusterDeleted :: Wait DescribeCluster
newClusterDeleted =
  Wait :: forall a. ByteString -> Int -> Seconds -> [Acceptor a] -> Wait a
Core.Wait
    { $sel:_waitName:Wait :: ByteString
Core._waitName = ByteString
"ClusterDeleted",
      $sel:_waitAttempts:Wait :: Int
Core._waitAttempts = Int
26,
      $sel:_waitDelay:Wait :: Seconds
Core._waitDelay = Seconds
5,
      $sel:_waitAcceptors:Wait :: [Acceptor DescribeCluster]
Core._waitAcceptors =
        [ Int -> Accept -> Acceptor DescribeCluster
forall a. Int -> Accept -> Acceptor a
Core.matchStatus Int
404 Accept
Core.AcceptSuccess,
          CI Text
-> Accept
-> Fold (AWSResponse DescribeCluster) (CI Text)
-> Acceptor DescribeCluster
forall b a.
Eq b =>
b -> Accept -> Fold (AWSResponse a) b -> Acceptor a
Core.matchAll
            CI Text
"PENDING_DELETION"
            Accept
Core.AcceptRetry
            ( (Maybe Cluster -> f (Maybe Cluster))
-> DescribeClusterResponse -> f DescribeClusterResponse
Lens' DescribeClusterResponse (Maybe Cluster)
describeClusterResponse_cluster ((Maybe Cluster -> f (Maybe Cluster))
 -> DescribeClusterResponse -> f DescribeClusterResponse)
-> ((CI Text -> f (CI Text)) -> Maybe Cluster -> f (Maybe Cluster))
-> (CI Text -> f (CI Text))
-> DescribeClusterResponse
-> f DescribeClusterResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. (Cluster -> f Cluster) -> Maybe Cluster -> f (Maybe Cluster)
forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
                ((Cluster -> f Cluster) -> Maybe Cluster -> f (Maybe Cluster))
-> ((CI Text -> f (CI Text)) -> Cluster -> f Cluster)
-> (CI Text -> f (CI Text))
-> Maybe Cluster
-> f (Maybe Cluster)
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. (Maybe Status -> f (Maybe Status)) -> Cluster -> f Cluster
Lens' Cluster (Maybe Status)
cluster_status
                ((Maybe Status -> f (Maybe Status)) -> Cluster -> f Cluster)
-> ((CI Text -> f (CI Text)) -> Maybe Status -> f (Maybe Status))
-> (CI Text -> f (CI Text))
-> Cluster
-> f Cluster
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. (Status -> f Status) -> Maybe Status -> f (Maybe Status)
forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
                ((Status -> f Status) -> Maybe Status -> f (Maybe Status))
-> ((CI Text -> f (CI Text)) -> Status -> f Status)
-> (CI Text -> f (CI Text))
-> Maybe Status
-> f (Maybe Status)
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. (Status -> CI Text)
-> (CI Text -> f (CI Text)) -> Status -> f Status
forall (p :: * -> * -> *) (f :: * -> *) s a.
(Profunctor p, Contravariant f) =>
(s -> a) -> Optic' p f s a
Lens.to Status -> CI Text
forall a. ToText a => a -> CI Text
Core.toTextCI
            ),
          Int -> Accept -> Acceptor DescribeCluster
forall a. Int -> Accept -> Acceptor a
Core.matchStatus Int
500 Accept
Core.AcceptRetry
        ]
    }