{-# 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.RecrawlBehavior
-- 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.RecrawlBehavior
  ( RecrawlBehavior
      ( ..,
        RecrawlBehavior_CRAWL_EVENT_MODE,
        RecrawlBehavior_CRAWL_EVERYTHING,
        RecrawlBehavior_CRAWL_NEW_FOLDERS_ONLY
      ),
  )
where

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

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

pattern RecrawlBehavior_CRAWL_EVENT_MODE :: RecrawlBehavior
pattern $bRecrawlBehavior_CRAWL_EVENT_MODE :: RecrawlBehavior
$mRecrawlBehavior_CRAWL_EVENT_MODE :: forall r. RecrawlBehavior -> (Void# -> r) -> (Void# -> r) -> r
RecrawlBehavior_CRAWL_EVENT_MODE = RecrawlBehavior' "CRAWL_EVENT_MODE"

pattern RecrawlBehavior_CRAWL_EVERYTHING :: RecrawlBehavior
pattern $bRecrawlBehavior_CRAWL_EVERYTHING :: RecrawlBehavior
$mRecrawlBehavior_CRAWL_EVERYTHING :: forall r. RecrawlBehavior -> (Void# -> r) -> (Void# -> r) -> r
RecrawlBehavior_CRAWL_EVERYTHING = RecrawlBehavior' "CRAWL_EVERYTHING"

pattern RecrawlBehavior_CRAWL_NEW_FOLDERS_ONLY :: RecrawlBehavior
pattern $bRecrawlBehavior_CRAWL_NEW_FOLDERS_ONLY :: RecrawlBehavior
$mRecrawlBehavior_CRAWL_NEW_FOLDERS_ONLY :: forall r. RecrawlBehavior -> (Void# -> r) -> (Void# -> r) -> r
RecrawlBehavior_CRAWL_NEW_FOLDERS_ONLY = RecrawlBehavior' "CRAWL_NEW_FOLDERS_ONLY"

{-# COMPLETE
  RecrawlBehavior_CRAWL_EVENT_MODE,
  RecrawlBehavior_CRAWL_EVERYTHING,
  RecrawlBehavior_CRAWL_NEW_FOLDERS_ONLY,
  RecrawlBehavior'
  #-}