{-# 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.JobBookmarksEncryptionMode
-- 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.JobBookmarksEncryptionMode
  ( JobBookmarksEncryptionMode
      ( ..,
        JobBookmarksEncryptionMode_CSE_KMS,
        JobBookmarksEncryptionMode_DISABLED
      ),
  )
where

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

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

pattern JobBookmarksEncryptionMode_CSE_KMS :: JobBookmarksEncryptionMode
pattern $bJobBookmarksEncryptionMode_CSE_KMS :: JobBookmarksEncryptionMode
$mJobBookmarksEncryptionMode_CSE_KMS :: forall r.
JobBookmarksEncryptionMode -> (Void# -> r) -> (Void# -> r) -> r
JobBookmarksEncryptionMode_CSE_KMS = JobBookmarksEncryptionMode' "CSE-KMS"

pattern JobBookmarksEncryptionMode_DISABLED :: JobBookmarksEncryptionMode
pattern $bJobBookmarksEncryptionMode_DISABLED :: JobBookmarksEncryptionMode
$mJobBookmarksEncryptionMode_DISABLED :: forall r.
JobBookmarksEncryptionMode -> (Void# -> r) -> (Void# -> r) -> r
JobBookmarksEncryptionMode_DISABLED = JobBookmarksEncryptionMode' "DISABLED"

{-# COMPLETE
  JobBookmarksEncryptionMode_CSE_KMS,
  JobBookmarksEncryptionMode_DISABLED,
  JobBookmarksEncryptionMode'
  #-}