{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DerivingStrategies #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}

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

-- |
-- Module      : Amazonka.Glue.Types.CrawlerState
-- 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.Glue.Types.CrawlerState
  ( CrawlerState
      ( ..,
        CrawlerState_READY,
        CrawlerState_RUNNING,
        CrawlerState_STOPPING
      ),
  )
where

import qualified Amazonka.Core as Core
import qualified Amazonka.Prelude as Prelude

newtype CrawlerState = CrawlerState'
  { CrawlerState -> Text
fromCrawlerState ::
      Core.Text
  }
  deriving stock
    ( Int -> CrawlerState -> ShowS
[CrawlerState] -> ShowS
CrawlerState -> String
(Int -> CrawlerState -> ShowS)
-> (CrawlerState -> String)
-> ([CrawlerState] -> ShowS)
-> Show CrawlerState
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CrawlerState] -> ShowS
$cshowList :: [CrawlerState] -> ShowS
show :: CrawlerState -> String
$cshow :: CrawlerState -> String
showsPrec :: Int -> CrawlerState -> ShowS
$cshowsPrec :: Int -> CrawlerState -> ShowS
Prelude.Show,
      ReadPrec [CrawlerState]
ReadPrec CrawlerState
Int -> ReadS CrawlerState
ReadS [CrawlerState]
(Int -> ReadS CrawlerState)
-> ReadS [CrawlerState]
-> ReadPrec CrawlerState
-> ReadPrec [CrawlerState]
-> Read CrawlerState
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CrawlerState]
$creadListPrec :: ReadPrec [CrawlerState]
readPrec :: ReadPrec CrawlerState
$creadPrec :: ReadPrec CrawlerState
readList :: ReadS [CrawlerState]
$creadList :: ReadS [CrawlerState]
readsPrec :: Int -> ReadS CrawlerState
$creadsPrec :: Int -> ReadS CrawlerState
Prelude.Read,
      CrawlerState -> CrawlerState -> Bool
(CrawlerState -> CrawlerState -> Bool)
-> (CrawlerState -> CrawlerState -> Bool) -> Eq CrawlerState
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CrawlerState -> CrawlerState -> Bool
$c/= :: CrawlerState -> CrawlerState -> Bool
== :: CrawlerState -> CrawlerState -> Bool
$c== :: CrawlerState -> CrawlerState -> Bool
Prelude.Eq,
      Eq CrawlerState
Eq CrawlerState
-> (CrawlerState -> CrawlerState -> Ordering)
-> (CrawlerState -> CrawlerState -> Bool)
-> (CrawlerState -> CrawlerState -> Bool)
-> (CrawlerState -> CrawlerState -> Bool)
-> (CrawlerState -> CrawlerState -> Bool)
-> (CrawlerState -> CrawlerState -> CrawlerState)
-> (CrawlerState -> CrawlerState -> CrawlerState)
-> Ord CrawlerState
CrawlerState -> CrawlerState -> Bool
CrawlerState -> CrawlerState -> Ordering
CrawlerState -> CrawlerState -> CrawlerState
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: CrawlerState -> CrawlerState -> CrawlerState
$cmin :: CrawlerState -> CrawlerState -> CrawlerState
max :: CrawlerState -> CrawlerState -> CrawlerState
$cmax :: CrawlerState -> CrawlerState -> CrawlerState
>= :: CrawlerState -> CrawlerState -> Bool
$c>= :: CrawlerState -> CrawlerState -> Bool
> :: CrawlerState -> CrawlerState -> Bool
$c> :: CrawlerState -> CrawlerState -> Bool
<= :: CrawlerState -> CrawlerState -> Bool
$c<= :: CrawlerState -> CrawlerState -> Bool
< :: CrawlerState -> CrawlerState -> Bool
$c< :: CrawlerState -> CrawlerState -> Bool
compare :: CrawlerState -> CrawlerState -> Ordering
$ccompare :: CrawlerState -> CrawlerState -> Ordering
$cp1Ord :: Eq CrawlerState
Prelude.Ord,
      (forall x. CrawlerState -> Rep CrawlerState x)
-> (forall x. Rep CrawlerState x -> CrawlerState)
-> Generic CrawlerState
forall x. Rep CrawlerState x -> CrawlerState
forall x. CrawlerState -> Rep CrawlerState x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep CrawlerState x -> CrawlerState
$cfrom :: forall x. CrawlerState -> Rep CrawlerState x
Prelude.Generic
    )
  deriving newtype
    ( Int -> CrawlerState -> Int
CrawlerState -> Int
(Int -> CrawlerState -> Int)
-> (CrawlerState -> Int) -> Hashable CrawlerState
forall a. (Int -> a -> Int) -> (a -> Int) -> Hashable a
hash :: CrawlerState -> Int
$chash :: CrawlerState -> Int
hashWithSalt :: Int -> CrawlerState -> Int
$chashWithSalt :: Int -> CrawlerState -> Int
Prelude.Hashable,
      CrawlerState -> ()
(CrawlerState -> ()) -> NFData CrawlerState
forall a. (a -> ()) -> NFData a
rnf :: CrawlerState -> ()
$crnf :: CrawlerState -> ()
Prelude.NFData,
      Text -> Either String CrawlerState
(Text -> Either String CrawlerState) -> FromText CrawlerState
forall a. (Text -> Either String a) -> FromText a
fromText :: Text -> Either String CrawlerState
$cfromText :: Text -> Either String CrawlerState
Core.FromText,
      CrawlerState -> Text
(CrawlerState -> Text) -> ToText CrawlerState
forall a. (a -> Text) -> ToText a
toText :: CrawlerState -> Text
$ctoText :: CrawlerState -> Text
Core.ToText,
      CrawlerState -> ByteString
(CrawlerState -> ByteString) -> ToByteString CrawlerState
forall a. (a -> ByteString) -> ToByteString a
toBS :: CrawlerState -> ByteString
$ctoBS :: CrawlerState -> ByteString
Core.ToByteString,
      CrawlerState -> ByteStringBuilder
(CrawlerState -> ByteStringBuilder) -> ToLog CrawlerState
forall a. (a -> ByteStringBuilder) -> ToLog a
build :: CrawlerState -> ByteStringBuilder
$cbuild :: CrawlerState -> ByteStringBuilder
Core.ToLog,
      HeaderName -> CrawlerState -> [Header]
(HeaderName -> CrawlerState -> [Header]) -> ToHeader CrawlerState
forall a. (HeaderName -> a -> [Header]) -> ToHeader a
toHeader :: HeaderName -> CrawlerState -> [Header]
$ctoHeader :: HeaderName -> CrawlerState -> [Header]
Core.ToHeader,
      CrawlerState -> QueryString
(CrawlerState -> QueryString) -> ToQuery CrawlerState
forall a. (a -> QueryString) -> ToQuery a
toQuery :: CrawlerState -> QueryString
$ctoQuery :: CrawlerState -> QueryString
Core.ToQuery,
      Value -> Parser [CrawlerState]
Value -> Parser CrawlerState
(Value -> Parser CrawlerState)
-> (Value -> Parser [CrawlerState]) -> FromJSON CrawlerState
forall a.
(Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a
parseJSONList :: Value -> Parser [CrawlerState]
$cparseJSONList :: Value -> Parser [CrawlerState]
parseJSON :: Value -> Parser CrawlerState
$cparseJSON :: Value -> Parser CrawlerState
Core.FromJSON,
      FromJSONKeyFunction [CrawlerState]
FromJSONKeyFunction CrawlerState
FromJSONKeyFunction CrawlerState
-> FromJSONKeyFunction [CrawlerState] -> FromJSONKey CrawlerState
forall a.
FromJSONKeyFunction a -> FromJSONKeyFunction [a] -> FromJSONKey a
fromJSONKeyList :: FromJSONKeyFunction [CrawlerState]
$cfromJSONKeyList :: FromJSONKeyFunction [CrawlerState]
fromJSONKey :: FromJSONKeyFunction CrawlerState
$cfromJSONKey :: FromJSONKeyFunction CrawlerState
Core.FromJSONKey,
      [CrawlerState] -> Encoding
[CrawlerState] -> Value
CrawlerState -> Encoding
CrawlerState -> Value
(CrawlerState -> Value)
-> (CrawlerState -> Encoding)
-> ([CrawlerState] -> Value)
-> ([CrawlerState] -> Encoding)
-> ToJSON CrawlerState
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> ToJSON a
toEncodingList :: [CrawlerState] -> Encoding
$ctoEncodingList :: [CrawlerState] -> Encoding
toJSONList :: [CrawlerState] -> Value
$ctoJSONList :: [CrawlerState] -> Value
toEncoding :: CrawlerState -> Encoding
$ctoEncoding :: CrawlerState -> Encoding
toJSON :: CrawlerState -> Value
$ctoJSON :: CrawlerState -> Value
Core.ToJSON,
      ToJSONKeyFunction [CrawlerState]
ToJSONKeyFunction CrawlerState
ToJSONKeyFunction CrawlerState
-> ToJSONKeyFunction [CrawlerState] -> ToJSONKey CrawlerState
forall a.
ToJSONKeyFunction a -> ToJSONKeyFunction [a] -> ToJSONKey a
toJSONKeyList :: ToJSONKeyFunction [CrawlerState]
$ctoJSONKeyList :: ToJSONKeyFunction [CrawlerState]
toJSONKey :: ToJSONKeyFunction CrawlerState
$ctoJSONKey :: ToJSONKeyFunction CrawlerState
Core.ToJSONKey,
      [Node] -> Either String CrawlerState
([Node] -> Either String CrawlerState) -> FromXML CrawlerState
forall a. ([Node] -> Either String a) -> FromXML a
parseXML :: [Node] -> Either String CrawlerState
$cparseXML :: [Node] -> Either String CrawlerState
Core.FromXML,
      CrawlerState -> XML
(CrawlerState -> XML) -> ToXML CrawlerState
forall a. (a -> XML) -> ToXML a
toXML :: CrawlerState -> XML
$ctoXML :: CrawlerState -> XML
Core.ToXML
    )

pattern CrawlerState_READY :: CrawlerState
pattern $bCrawlerState_READY :: CrawlerState
$mCrawlerState_READY :: forall r. CrawlerState -> (Void# -> r) -> (Void# -> r) -> r
CrawlerState_READY = CrawlerState' "READY"

pattern CrawlerState_RUNNING :: CrawlerState
pattern $bCrawlerState_RUNNING :: CrawlerState
$mCrawlerState_RUNNING :: forall r. CrawlerState -> (Void# -> r) -> (Void# -> r) -> r
CrawlerState_RUNNING = CrawlerState' "RUNNING"

pattern CrawlerState_STOPPING :: CrawlerState
pattern $bCrawlerState_STOPPING :: CrawlerState
$mCrawlerState_STOPPING :: forall r. CrawlerState -> (Void# -> r) -> (Void# -> r) -> r
CrawlerState_STOPPING = CrawlerState' "STOPPING"

{-# COMPLETE
  CrawlerState_READY,
  CrawlerState_RUNNING,
  CrawlerState_STOPPING,
  CrawlerState'
  #-}