packages feed

amazonka-eks-2.0: gen/Amazonka/EKS/Waiters.hs

{-# 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.EKS.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.EKS.Waiters where

import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.EKS.DescribeAddon
import Amazonka.EKS.DescribeCluster
import Amazonka.EKS.DescribeFargateProfile
import Amazonka.EKS.DescribeNodegroup
import Amazonka.EKS.Lens
import Amazonka.EKS.Types
import qualified Amazonka.Prelude as Prelude

-- | Polls 'Amazonka.EKS.DescribeAddon' every 10 seconds until a successful state is reached. An error is returned after 60 failed checks.
newAddonActive :: Core.Wait DescribeAddon
newAddonActive =
  Core.Wait
    { Core.name = "AddonActive",
      Core.attempts = 60,
      Core.delay = 10,
      Core.acceptors =
        [ Core.matchAll
            "CREATE_FAILED"
            Core.AcceptFailure
            ( describeAddonResponse_addon
                Prelude.. Lens._Just
                Prelude.. addon_status
                Prelude.. Lens._Just
                Prelude.. Lens.to Data.toTextCI
            ),
          Core.matchAll
            "DEGRADED"
            Core.AcceptFailure
            ( describeAddonResponse_addon
                Prelude.. Lens._Just
                Prelude.. addon_status
                Prelude.. Lens._Just
                Prelude.. Lens.to Data.toTextCI
            ),
          Core.matchAll
            "ACTIVE"
            Core.AcceptSuccess
            ( describeAddonResponse_addon
                Prelude.. Lens._Just
                Prelude.. addon_status
                Prelude.. Lens._Just
                Prelude.. Lens.to Data.toTextCI
            )
        ]
    }

-- | Polls 'Amazonka.EKS.DescribeAddon' every 10 seconds until a successful state is reached. An error is returned after 60 failed checks.
newAddonDeleted :: Core.Wait DescribeAddon
newAddonDeleted =
  Core.Wait
    { Core.name = "AddonDeleted",
      Core.attempts = 60,
      Core.delay = 10,
      Core.acceptors =
        [ Core.matchAll
            "DELETE_FAILED"
            Core.AcceptFailure
            ( describeAddonResponse_addon
                Prelude.. Lens._Just
                Prelude.. addon_status
                Prelude.. Lens._Just
                Prelude.. Lens.to Data.toTextCI
            ),
          Core.matchError
            "ResourceNotFoundException"
            Core.AcceptSuccess
        ]
    }

-- | Polls 'Amazonka.EKS.DescribeCluster' every 30 seconds until a successful state is reached. An error is returned after 40 failed checks.
newClusterActive :: Core.Wait DescribeCluster
newClusterActive =
  Core.Wait
    { Core.name = "ClusterActive",
      Core.attempts = 40,
      Core.delay = 30,
      Core.acceptors =
        [ Core.matchAll
            "DELETING"
            Core.AcceptFailure
            ( describeClusterResponse_cluster
                Prelude.. Lens._Just
                Prelude.. cluster_status
                Prelude.. Lens._Just
                Prelude.. Lens.to Data.toTextCI
            ),
          Core.matchAll
            "FAILED"
            Core.AcceptFailure
            ( describeClusterResponse_cluster
                Prelude.. Lens._Just
                Prelude.. cluster_status
                Prelude.. Lens._Just
                Prelude.. Lens.to Data.toTextCI
            ),
          Core.matchAll
            "ACTIVE"
            Core.AcceptSuccess
            ( describeClusterResponse_cluster
                Prelude.. Lens._Just
                Prelude.. cluster_status
                Prelude.. Lens._Just
                Prelude.. Lens.to Data.toTextCI
            )
        ]
    }

-- | Polls 'Amazonka.EKS.DescribeCluster' every 30 seconds until a successful state is reached. An error is returned after 40 failed checks.
newClusterDeleted :: Core.Wait DescribeCluster
newClusterDeleted =
  Core.Wait
    { Core.name = "ClusterDeleted",
      Core.attempts = 40,
      Core.delay = 30,
      Core.acceptors =
        [ Core.matchAll
            "ACTIVE"
            Core.AcceptFailure
            ( describeClusterResponse_cluster
                Prelude.. Lens._Just
                Prelude.. cluster_status
                Prelude.. Lens._Just
                Prelude.. Lens.to Data.toTextCI
            ),
          Core.matchAll
            "CREATING"
            Core.AcceptFailure
            ( describeClusterResponse_cluster
                Prelude.. Lens._Just
                Prelude.. cluster_status
                Prelude.. Lens._Just
                Prelude.. Lens.to Data.toTextCI
            ),
          Core.matchAll
            "PENDING"
            Core.AcceptFailure
            ( describeClusterResponse_cluster
                Prelude.. Lens._Just
                Prelude.. cluster_status
                Prelude.. Lens._Just
                Prelude.. Lens.to Data.toTextCI
            ),
          Core.matchError
            "ResourceNotFoundException"
            Core.AcceptSuccess
        ]
    }

-- | Polls 'Amazonka.EKS.DescribeFargateProfile' every 10 seconds until a successful state is reached. An error is returned after 60 failed checks.
newFargateProfileActive :: Core.Wait DescribeFargateProfile
newFargateProfileActive =
  Core.Wait
    { Core.name = "FargateProfileActive",
      Core.attempts = 60,
      Core.delay = 10,
      Core.acceptors =
        [ Core.matchAll
            "CREATE_FAILED"
            Core.AcceptFailure
            ( describeFargateProfileResponse_fargateProfile
                Prelude.. Lens._Just
                Prelude.. fargateProfile_status
                Prelude.. Lens._Just
                Prelude.. Lens.to Data.toTextCI
            ),
          Core.matchAll
            "ACTIVE"
            Core.AcceptSuccess
            ( describeFargateProfileResponse_fargateProfile
                Prelude.. Lens._Just
                Prelude.. fargateProfile_status
                Prelude.. Lens._Just
                Prelude.. Lens.to Data.toTextCI
            )
        ]
    }

-- | Polls 'Amazonka.EKS.DescribeFargateProfile' every 30 seconds until a successful state is reached. An error is returned after 60 failed checks.
newFargateProfileDeleted :: Core.Wait DescribeFargateProfile
newFargateProfileDeleted =
  Core.Wait
    { Core.name = "FargateProfileDeleted",
      Core.attempts = 60,
      Core.delay = 30,
      Core.acceptors =
        [ Core.matchAll
            "DELETE_FAILED"
            Core.AcceptFailure
            ( describeFargateProfileResponse_fargateProfile
                Prelude.. Lens._Just
                Prelude.. fargateProfile_status
                Prelude.. Lens._Just
                Prelude.. Lens.to Data.toTextCI
            ),
          Core.matchError
            "ResourceNotFoundException"
            Core.AcceptSuccess
        ]
    }

-- | Polls 'Amazonka.EKS.DescribeNodegroup' every 30 seconds until a successful state is reached. An error is returned after 80 failed checks.
newNodegroupActive :: Core.Wait DescribeNodegroup
newNodegroupActive =
  Core.Wait
    { Core.name = "NodegroupActive",
      Core.attempts = 80,
      Core.delay = 30,
      Core.acceptors =
        [ Core.matchAll
            "CREATE_FAILED"
            Core.AcceptFailure
            ( describeNodegroupResponse_nodegroup
                Prelude.. Lens._Just
                Prelude.. nodegroup_status
                Prelude.. Lens._Just
                Prelude.. Lens.to Data.toTextCI
            ),
          Core.matchAll
            "ACTIVE"
            Core.AcceptSuccess
            ( describeNodegroupResponse_nodegroup
                Prelude.. Lens._Just
                Prelude.. nodegroup_status
                Prelude.. Lens._Just
                Prelude.. Lens.to Data.toTextCI
            )
        ]
    }

-- | Polls 'Amazonka.EKS.DescribeNodegroup' every 30 seconds until a successful state is reached. An error is returned after 40 failed checks.
newNodegroupDeleted :: Core.Wait DescribeNodegroup
newNodegroupDeleted =
  Core.Wait
    { Core.name = "NodegroupDeleted",
      Core.attempts = 40,
      Core.delay = 30,
      Core.acceptors =
        [ Core.matchAll
            "DELETE_FAILED"
            Core.AcceptFailure
            ( describeNodegroupResponse_nodegroup
                Prelude.. Lens._Just
                Prelude.. nodegroup_status
                Prelude.. Lens._Just
                Prelude.. Lens.to Data.toTextCI
            ),
          Core.matchError
            "ResourceNotFoundException"
            Core.AcceptSuccess
        ]
    }