{-# LANGUAGE DisambiguateRecordFields #-}
{-# 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.SageMaker.Waiters
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
module Amazonka.SageMaker.Waiters where

import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
import Amazonka.SageMaker.DescribeEndpoint
import Amazonka.SageMaker.DescribeImage
import Amazonka.SageMaker.DescribeImageVersion
import Amazonka.SageMaker.DescribeNotebookInstance
import Amazonka.SageMaker.DescribeProcessingJob
import Amazonka.SageMaker.DescribeTrainingJob
import Amazonka.SageMaker.DescribeTransformJob
import Amazonka.SageMaker.Lens
import Amazonka.SageMaker.Types

-- | Polls 'Amazonka.SageMaker.DescribeEndpoint' every 30 seconds until a successful state is reached. An error is returned after 60 failed checks.
newEndpointDeleted :: Core.Wait DescribeEndpoint
newEndpointDeleted :: Wait DescribeEndpoint
newEndpointDeleted =
  Core.Wait
    { $sel:name:Wait :: ByteString
Core.name = ByteString
"EndpointDeleted",
      $sel:attempts:Wait :: Int
Core.attempts = Int
60,
      $sel:delay:Wait :: Seconds
Core.delay = Seconds
30,
      $sel:acceptors:Wait :: [Acceptor DescribeEndpoint]
Core.acceptors =
        [ forall a. ErrorCode -> Accept -> Acceptor a
Core.matchError
            ErrorCode
"ValidationException"
            Accept
Core.AcceptSuccess,
          forall b a.
Eq b =>
b -> Accept -> Fold (AWSResponse a) b -> Acceptor a
Core.matchAll
            CI Text
"Failed"
            Accept
Core.AcceptFailure
            ( Lens' DescribeEndpointResponse EndpointStatus
describeEndpointResponse_endpointStatus
                forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (p :: * -> * -> *) (f :: * -> *) s a.
(Profunctor p, Contravariant f) =>
(s -> a) -> Optic' p f s a
Lens.to forall a. ToText a => a -> CI Text
Data.toTextCI
            )
        ]
    }

-- | Polls 'Amazonka.SageMaker.DescribeEndpoint' every 30 seconds until a successful state is reached. An error is returned after 120 failed checks.
newEndpointInService :: Core.Wait DescribeEndpoint
newEndpointInService :: Wait DescribeEndpoint
newEndpointInService =
  Core.Wait
    { $sel:name:Wait :: ByteString
Core.name = ByteString
"EndpointInService",
      $sel:attempts:Wait :: Int
Core.attempts = Int
120,
      $sel:delay:Wait :: Seconds
Core.delay = Seconds
30,
      $sel:acceptors:Wait :: [Acceptor DescribeEndpoint]
Core.acceptors =
        [ forall b a.
Eq b =>
b -> Accept -> Fold (AWSResponse a) b -> Acceptor a
Core.matchAll
            CI Text
"InService"
            Accept
Core.AcceptSuccess
            ( Lens' DescribeEndpointResponse EndpointStatus
describeEndpointResponse_endpointStatus
                forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (p :: * -> * -> *) (f :: * -> *) s a.
(Profunctor p, Contravariant f) =>
(s -> a) -> Optic' p f s a
Lens.to forall a. ToText a => a -> CI Text
Data.toTextCI
            ),
          forall b a.
Eq b =>
b -> Accept -> Fold (AWSResponse a) b -> Acceptor a
Core.matchAll
            CI Text
"Failed"
            Accept
Core.AcceptFailure
            ( Lens' DescribeEndpointResponse EndpointStatus
describeEndpointResponse_endpointStatus
                forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (p :: * -> * -> *) (f :: * -> *) s a.
(Profunctor p, Contravariant f) =>
(s -> a) -> Optic' p f s a
Lens.to forall a. ToText a => a -> CI Text
Data.toTextCI
            ),
          forall a. ErrorCode -> Accept -> Acceptor a
Core.matchError
            ErrorCode
"ValidationException"
            Accept
Core.AcceptFailure
        ]
    }

-- | Polls 'Amazonka.SageMaker.DescribeImage' every 60 seconds until a successful state is reached. An error is returned after 60 failed checks.
newImageCreated :: Core.Wait DescribeImage
newImageCreated :: Wait DescribeImage
newImageCreated =
  Core.Wait
    { $sel:name:Wait :: ByteString
Core.name = ByteString
"ImageCreated",
      $sel:attempts:Wait :: Int
Core.attempts = Int
60,
      $sel:delay:Wait :: Seconds
Core.delay = Seconds
60,
      $sel:acceptors:Wait :: [Acceptor DescribeImage]
Core.acceptors =
        [ forall b a.
Eq b =>
b -> Accept -> Fold (AWSResponse a) b -> Acceptor a
Core.matchAll
            CI Text
"CREATED"
            Accept
Core.AcceptSuccess
            ( Lens' DescribeImageResponse (Maybe ImageStatus)
describeImageResponse_imageStatus
                forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
                forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (p :: * -> * -> *) (f :: * -> *) s a.
(Profunctor p, Contravariant f) =>
(s -> a) -> Optic' p f s a
Lens.to forall a. ToText a => a -> CI Text
Data.toTextCI
            ),
          forall b a.
Eq b =>
b -> Accept -> Fold (AWSResponse a) b -> Acceptor a
Core.matchAll
            CI Text
"CREATE_FAILED"
            Accept
Core.AcceptFailure
            ( Lens' DescribeImageResponse (Maybe ImageStatus)
describeImageResponse_imageStatus
                forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
                forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (p :: * -> * -> *) (f :: * -> *) s a.
(Profunctor p, Contravariant f) =>
(s -> a) -> Optic' p f s a
Lens.to forall a. ToText a => a -> CI Text
Data.toTextCI
            ),
          forall a. ErrorCode -> Accept -> Acceptor a
Core.matchError
            ErrorCode
"ValidationException"
            Accept
Core.AcceptFailure
        ]
    }

-- | Polls 'Amazonka.SageMaker.DescribeImage' every 60 seconds until a successful state is reached. An error is returned after 60 failed checks.
newImageDeleted :: Core.Wait DescribeImage
newImageDeleted :: Wait DescribeImage
newImageDeleted =
  Core.Wait
    { $sel:name:Wait :: ByteString
Core.name = ByteString
"ImageDeleted",
      $sel:attempts:Wait :: Int
Core.attempts = Int
60,
      $sel:delay:Wait :: Seconds
Core.delay = Seconds
60,
      $sel:acceptors:Wait :: [Acceptor DescribeImage]
Core.acceptors =
        [ forall a. ErrorCode -> Accept -> Acceptor a
Core.matchError
            ErrorCode
"ResourceNotFoundException"
            Accept
Core.AcceptSuccess,
          forall b a.
Eq b =>
b -> Accept -> Fold (AWSResponse a) b -> Acceptor a
Core.matchAll
            CI Text
"DELETE_FAILED"
            Accept
Core.AcceptFailure
            ( Lens' DescribeImageResponse (Maybe ImageStatus)
describeImageResponse_imageStatus
                forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
                forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (p :: * -> * -> *) (f :: * -> *) s a.
(Profunctor p, Contravariant f) =>
(s -> a) -> Optic' p f s a
Lens.to forall a. ToText a => a -> CI Text
Data.toTextCI
            ),
          forall a. ErrorCode -> Accept -> Acceptor a
Core.matchError
            ErrorCode
"ValidationException"
            Accept
Core.AcceptFailure
        ]
    }

-- | Polls 'Amazonka.SageMaker.DescribeImage' every 60 seconds until a successful state is reached. An error is returned after 60 failed checks.
newImageUpdated :: Core.Wait DescribeImage
newImageUpdated :: Wait DescribeImage
newImageUpdated =
  Core.Wait
    { $sel:name:Wait :: ByteString
Core.name = ByteString
"ImageUpdated",
      $sel:attempts:Wait :: Int
Core.attempts = Int
60,
      $sel:delay:Wait :: Seconds
Core.delay = Seconds
60,
      $sel:acceptors:Wait :: [Acceptor DescribeImage]
Core.acceptors =
        [ forall b a.
Eq b =>
b -> Accept -> Fold (AWSResponse a) b -> Acceptor a
Core.matchAll
            CI Text
"CREATED"
            Accept
Core.AcceptSuccess
            ( Lens' DescribeImageResponse (Maybe ImageStatus)
describeImageResponse_imageStatus
                forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
                forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (p :: * -> * -> *) (f :: * -> *) s a.
(Profunctor p, Contravariant f) =>
(s -> a) -> Optic' p f s a
Lens.to forall a. ToText a => a -> CI Text
Data.toTextCI
            ),
          forall b a.
Eq b =>
b -> Accept -> Fold (AWSResponse a) b -> Acceptor a
Core.matchAll
            CI Text
"UPDATE_FAILED"
            Accept
Core.AcceptFailure
            ( Lens' DescribeImageResponse (Maybe ImageStatus)
describeImageResponse_imageStatus
                forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
                forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (p :: * -> * -> *) (f :: * -> *) s a.
(Profunctor p, Contravariant f) =>
(s -> a) -> Optic' p f s a
Lens.to forall a. ToText a => a -> CI Text
Data.toTextCI
            ),
          forall a. ErrorCode -> Accept -> Acceptor a
Core.matchError
            ErrorCode
"ValidationException"
            Accept
Core.AcceptFailure
        ]
    }

-- | Polls 'Amazonka.SageMaker.DescribeImageVersion' every 60 seconds until a successful state is reached. An error is returned after 60 failed checks.
newImageVersionCreated :: Core.Wait DescribeImageVersion
newImageVersionCreated :: Wait DescribeImageVersion
newImageVersionCreated =
  Core.Wait
    { $sel:name:Wait :: ByteString
Core.name = ByteString
"ImageVersionCreated",
      $sel:attempts:Wait :: Int
Core.attempts = Int
60,
      $sel:delay:Wait :: Seconds
Core.delay = Seconds
60,
      $sel:acceptors:Wait :: [Acceptor DescribeImageVersion]
Core.acceptors =
        [ forall b a.
Eq b =>
b -> Accept -> Fold (AWSResponse a) b -> Acceptor a
Core.matchAll
            CI Text
"CREATED"
            Accept
Core.AcceptSuccess
            ( Lens' DescribeImageVersionResponse (Maybe ImageVersionStatus)
describeImageVersionResponse_imageVersionStatus
                forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
                forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (p :: * -> * -> *) (f :: * -> *) s a.
(Profunctor p, Contravariant f) =>
(s -> a) -> Optic' p f s a
Lens.to forall a. ToText a => a -> CI Text
Data.toTextCI
            ),
          forall b a.
Eq b =>
b -> Accept -> Fold (AWSResponse a) b -> Acceptor a
Core.matchAll
            CI Text
"CREATE_FAILED"
            Accept
Core.AcceptFailure
            ( Lens' DescribeImageVersionResponse (Maybe ImageVersionStatus)
describeImageVersionResponse_imageVersionStatus
                forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
                forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (p :: * -> * -> *) (f :: * -> *) s a.
(Profunctor p, Contravariant f) =>
(s -> a) -> Optic' p f s a
Lens.to forall a. ToText a => a -> CI Text
Data.toTextCI
            ),
          forall a. ErrorCode -> Accept -> Acceptor a
Core.matchError
            ErrorCode
"ValidationException"
            Accept
Core.AcceptFailure
        ]
    }

-- | Polls 'Amazonka.SageMaker.DescribeImageVersion' every 60 seconds until a successful state is reached. An error is returned after 60 failed checks.
newImageVersionDeleted :: Core.Wait DescribeImageVersion
newImageVersionDeleted :: Wait DescribeImageVersion
newImageVersionDeleted =
  Core.Wait
    { $sel:name:Wait :: ByteString
Core.name = ByteString
"ImageVersionDeleted",
      $sel:attempts:Wait :: Int
Core.attempts = Int
60,
      $sel:delay:Wait :: Seconds
Core.delay = Seconds
60,
      $sel:acceptors:Wait :: [Acceptor DescribeImageVersion]
Core.acceptors =
        [ forall a. ErrorCode -> Accept -> Acceptor a
Core.matchError
            ErrorCode
"ResourceNotFoundException"
            Accept
Core.AcceptSuccess,
          forall b a.
Eq b =>
b -> Accept -> Fold (AWSResponse a) b -> Acceptor a
Core.matchAll
            CI Text
"DELETE_FAILED"
            Accept
Core.AcceptFailure
            ( Lens' DescribeImageVersionResponse (Maybe ImageVersionStatus)
describeImageVersionResponse_imageVersionStatus
                forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
                forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (p :: * -> * -> *) (f :: * -> *) s a.
(Profunctor p, Contravariant f) =>
(s -> a) -> Optic' p f s a
Lens.to forall a. ToText a => a -> CI Text
Data.toTextCI
            ),
          forall a. ErrorCode -> Accept -> Acceptor a
Core.matchError
            ErrorCode
"ValidationException"
            Accept
Core.AcceptFailure
        ]
    }

-- | Polls 'Amazonka.SageMaker.DescribeNotebookInstance' every 30 seconds until a successful state is reached. An error is returned after 60 failed checks.
newNotebookInstanceDeleted :: Core.Wait DescribeNotebookInstance
newNotebookInstanceDeleted :: Wait DescribeNotebookInstance
newNotebookInstanceDeleted =
  Core.Wait
    { $sel:name:Wait :: ByteString
Core.name = ByteString
"NotebookInstanceDeleted",
      $sel:attempts:Wait :: Int
Core.attempts = Int
60,
      $sel:delay:Wait :: Seconds
Core.delay = Seconds
30,
      $sel:acceptors:Wait :: [Acceptor DescribeNotebookInstance]
Core.acceptors =
        [ forall a. ErrorCode -> Accept -> Acceptor a
Core.matchError
            ErrorCode
"ValidationException"
            Accept
Core.AcceptSuccess,
          forall b a.
Eq b =>
b -> Accept -> Fold (AWSResponse a) b -> Acceptor a
Core.matchAll
            CI Text
"Failed"
            Accept
Core.AcceptFailure
            ( Lens'
  DescribeNotebookInstanceResponse (Maybe NotebookInstanceStatus)
describeNotebookInstanceResponse_notebookInstanceStatus
                forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
                forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (p :: * -> * -> *) (f :: * -> *) s a.
(Profunctor p, Contravariant f) =>
(s -> a) -> Optic' p f s a
Lens.to forall a. ToText a => a -> CI Text
Data.toTextCI
            )
        ]
    }

-- | Polls 'Amazonka.SageMaker.DescribeNotebookInstance' every 30 seconds until a successful state is reached. An error is returned after 60 failed checks.
newNotebookInstanceInService :: Core.Wait DescribeNotebookInstance
newNotebookInstanceInService :: Wait DescribeNotebookInstance
newNotebookInstanceInService =
  Core.Wait
    { $sel:name:Wait :: ByteString
Core.name = ByteString
"NotebookInstanceInService",
      $sel:attempts:Wait :: Int
Core.attempts = Int
60,
      $sel:delay:Wait :: Seconds
Core.delay = Seconds
30,
      $sel:acceptors:Wait :: [Acceptor DescribeNotebookInstance]
Core.acceptors =
        [ forall b a.
Eq b =>
b -> Accept -> Fold (AWSResponse a) b -> Acceptor a
Core.matchAll
            CI Text
"InService"
            Accept
Core.AcceptSuccess
            ( Lens'
  DescribeNotebookInstanceResponse (Maybe NotebookInstanceStatus)
describeNotebookInstanceResponse_notebookInstanceStatus
                forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
                forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (p :: * -> * -> *) (f :: * -> *) s a.
(Profunctor p, Contravariant f) =>
(s -> a) -> Optic' p f s a
Lens.to forall a. ToText a => a -> CI Text
Data.toTextCI
            ),
          forall b a.
Eq b =>
b -> Accept -> Fold (AWSResponse a) b -> Acceptor a
Core.matchAll
            CI Text
"Failed"
            Accept
Core.AcceptFailure
            ( Lens'
  DescribeNotebookInstanceResponse (Maybe NotebookInstanceStatus)
describeNotebookInstanceResponse_notebookInstanceStatus
                forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
                forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (p :: * -> * -> *) (f :: * -> *) s a.
(Profunctor p, Contravariant f) =>
(s -> a) -> Optic' p f s a
Lens.to forall a. ToText a => a -> CI Text
Data.toTextCI
            )
        ]
    }

-- | Polls 'Amazonka.SageMaker.DescribeNotebookInstance' every 30 seconds until a successful state is reached. An error is returned after 60 failed checks.
newNotebookInstanceStopped :: Core.Wait DescribeNotebookInstance
newNotebookInstanceStopped :: Wait DescribeNotebookInstance
newNotebookInstanceStopped =
  Core.Wait
    { $sel:name:Wait :: ByteString
Core.name = ByteString
"NotebookInstanceStopped",
      $sel:attempts:Wait :: Int
Core.attempts = Int
60,
      $sel:delay:Wait :: Seconds
Core.delay = Seconds
30,
      $sel:acceptors:Wait :: [Acceptor DescribeNotebookInstance]
Core.acceptors =
        [ forall b a.
Eq b =>
b -> Accept -> Fold (AWSResponse a) b -> Acceptor a
Core.matchAll
            CI Text
"Stopped"
            Accept
Core.AcceptSuccess
            ( Lens'
  DescribeNotebookInstanceResponse (Maybe NotebookInstanceStatus)
describeNotebookInstanceResponse_notebookInstanceStatus
                forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
                forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (p :: * -> * -> *) (f :: * -> *) s a.
(Profunctor p, Contravariant f) =>
(s -> a) -> Optic' p f s a
Lens.to forall a. ToText a => a -> CI Text
Data.toTextCI
            ),
          forall b a.
Eq b =>
b -> Accept -> Fold (AWSResponse a) b -> Acceptor a
Core.matchAll
            CI Text
"Failed"
            Accept
Core.AcceptFailure
            ( Lens'
  DescribeNotebookInstanceResponse (Maybe NotebookInstanceStatus)
describeNotebookInstanceResponse_notebookInstanceStatus
                forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
                forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (p :: * -> * -> *) (f :: * -> *) s a.
(Profunctor p, Contravariant f) =>
(s -> a) -> Optic' p f s a
Lens.to forall a. ToText a => a -> CI Text
Data.toTextCI
            )
        ]
    }

-- | Polls 'Amazonka.SageMaker.DescribeProcessingJob' every 60 seconds until a successful state is reached. An error is returned after 60 failed checks.
newProcessingJobCompletedOrStopped :: Core.Wait DescribeProcessingJob
newProcessingJobCompletedOrStopped :: Wait DescribeProcessingJob
newProcessingJobCompletedOrStopped =
  Core.Wait
    { $sel:name:Wait :: ByteString
Core.name =
        ByteString
"ProcessingJobCompletedOrStopped",
      $sel:attempts:Wait :: Int
Core.attempts = Int
60,
      $sel:delay:Wait :: Seconds
Core.delay = Seconds
60,
      $sel:acceptors:Wait :: [Acceptor DescribeProcessingJob]
Core.acceptors =
        [ forall b a.
Eq b =>
b -> Accept -> Fold (AWSResponse a) b -> Acceptor a
Core.matchAll
            CI Text
"Completed"
            Accept
Core.AcceptSuccess
            ( Lens' DescribeProcessingJobResponse ProcessingJobStatus
describeProcessingJobResponse_processingJobStatus
                forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (p :: * -> * -> *) (f :: * -> *) s a.
(Profunctor p, Contravariant f) =>
(s -> a) -> Optic' p f s a
Lens.to forall a. ToText a => a -> CI Text
Data.toTextCI
            ),
          forall b a.
Eq b =>
b -> Accept -> Fold (AWSResponse a) b -> Acceptor a
Core.matchAll
            CI Text
"Stopped"
            Accept
Core.AcceptSuccess
            ( Lens' DescribeProcessingJobResponse ProcessingJobStatus
describeProcessingJobResponse_processingJobStatus
                forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (p :: * -> * -> *) (f :: * -> *) s a.
(Profunctor p, Contravariant f) =>
(s -> a) -> Optic' p f s a
Lens.to forall a. ToText a => a -> CI Text
Data.toTextCI
            ),
          forall b a.
Eq b =>
b -> Accept -> Fold (AWSResponse a) b -> Acceptor a
Core.matchAll
            CI Text
"Failed"
            Accept
Core.AcceptFailure
            ( Lens' DescribeProcessingJobResponse ProcessingJobStatus
describeProcessingJobResponse_processingJobStatus
                forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (p :: * -> * -> *) (f :: * -> *) s a.
(Profunctor p, Contravariant f) =>
(s -> a) -> Optic' p f s a
Lens.to forall a. ToText a => a -> CI Text
Data.toTextCI
            ),
          forall a. ErrorCode -> Accept -> Acceptor a
Core.matchError
            ErrorCode
"ValidationException"
            Accept
Core.AcceptFailure
        ]
    }

-- | Polls 'Amazonka.SageMaker.DescribeTrainingJob' every 120 seconds until a successful state is reached. An error is returned after 180 failed checks.
newTrainingJobCompletedOrStopped :: Core.Wait DescribeTrainingJob
newTrainingJobCompletedOrStopped :: Wait DescribeTrainingJob
newTrainingJobCompletedOrStopped =
  Core.Wait
    { $sel:name:Wait :: ByteString
Core.name =
        ByteString
"TrainingJobCompletedOrStopped",
      $sel:attempts:Wait :: Int
Core.attempts = Int
180,
      $sel:delay:Wait :: Seconds
Core.delay = Seconds
120,
      $sel:acceptors:Wait :: [Acceptor DescribeTrainingJob]
Core.acceptors =
        [ forall b a.
Eq b =>
b -> Accept -> Fold (AWSResponse a) b -> Acceptor a
Core.matchAll
            CI Text
"Completed"
            Accept
Core.AcceptSuccess
            ( Lens' DescribeTrainingJobResponse TrainingJobStatus
describeTrainingJobResponse_trainingJobStatus
                forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (p :: * -> * -> *) (f :: * -> *) s a.
(Profunctor p, Contravariant f) =>
(s -> a) -> Optic' p f s a
Lens.to forall a. ToText a => a -> CI Text
Data.toTextCI
            ),
          forall b a.
Eq b =>
b -> Accept -> Fold (AWSResponse a) b -> Acceptor a
Core.matchAll
            CI Text
"Stopped"
            Accept
Core.AcceptSuccess
            ( Lens' DescribeTrainingJobResponse TrainingJobStatus
describeTrainingJobResponse_trainingJobStatus
                forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (p :: * -> * -> *) (f :: * -> *) s a.
(Profunctor p, Contravariant f) =>
(s -> a) -> Optic' p f s a
Lens.to forall a. ToText a => a -> CI Text
Data.toTextCI
            ),
          forall b a.
Eq b =>
b -> Accept -> Fold (AWSResponse a) b -> Acceptor a
Core.matchAll
            CI Text
"Failed"
            Accept
Core.AcceptFailure
            ( Lens' DescribeTrainingJobResponse TrainingJobStatus
describeTrainingJobResponse_trainingJobStatus
                forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (p :: * -> * -> *) (f :: * -> *) s a.
(Profunctor p, Contravariant f) =>
(s -> a) -> Optic' p f s a
Lens.to forall a. ToText a => a -> CI Text
Data.toTextCI
            ),
          forall a. ErrorCode -> Accept -> Acceptor a
Core.matchError
            ErrorCode
"ValidationException"
            Accept
Core.AcceptFailure
        ]
    }

-- | Polls 'Amazonka.SageMaker.DescribeTransformJob' every 60 seconds until a successful state is reached. An error is returned after 60 failed checks.
newTransformJobCompletedOrStopped :: Core.Wait DescribeTransformJob
newTransformJobCompletedOrStopped :: Wait DescribeTransformJob
newTransformJobCompletedOrStopped =
  Core.Wait
    { $sel:name:Wait :: ByteString
Core.name =
        ByteString
"TransformJobCompletedOrStopped",
      $sel:attempts:Wait :: Int
Core.attempts = Int
60,
      $sel:delay:Wait :: Seconds
Core.delay = Seconds
60,
      $sel:acceptors:Wait :: [Acceptor DescribeTransformJob]
Core.acceptors =
        [ forall b a.
Eq b =>
b -> Accept -> Fold (AWSResponse a) b -> Acceptor a
Core.matchAll
            CI Text
"Completed"
            Accept
Core.AcceptSuccess
            ( Lens' DescribeTransformJobResponse TransformJobStatus
describeTransformJobResponse_transformJobStatus
                forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (p :: * -> * -> *) (f :: * -> *) s a.
(Profunctor p, Contravariant f) =>
(s -> a) -> Optic' p f s a
Lens.to forall a. ToText a => a -> CI Text
Data.toTextCI
            ),
          forall b a.
Eq b =>
b -> Accept -> Fold (AWSResponse a) b -> Acceptor a
Core.matchAll
            CI Text
"Stopped"
            Accept
Core.AcceptSuccess
            ( Lens' DescribeTransformJobResponse TransformJobStatus
describeTransformJobResponse_transformJobStatus
                forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (p :: * -> * -> *) (f :: * -> *) s a.
(Profunctor p, Contravariant f) =>
(s -> a) -> Optic' p f s a
Lens.to forall a. ToText a => a -> CI Text
Data.toTextCI
            ),
          forall b a.
Eq b =>
b -> Accept -> Fold (AWSResponse a) b -> Acceptor a
Core.matchAll
            CI Text
"Failed"
            Accept
Core.AcceptFailure
            ( Lens' DescribeTransformJobResponse TransformJobStatus
describeTransformJobResponse_transformJobStatus
                forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (p :: * -> * -> *) (f :: * -> *) s a.
(Profunctor p, Contravariant f) =>
(s -> a) -> Optic' p f s a
Lens.to forall a. ToText a => a -> CI Text
Data.toTextCI
            ),
          forall a. ErrorCode -> Accept -> Acceptor a
Core.matchError
            ErrorCode
"ValidationException"
            Accept
Core.AcceptFailure
        ]
    }