{-# 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.AmplifyBackend.Types.UnAuthenticatedElement
-- 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.AmplifyBackend.Types.UnAuthenticatedElement
  ( UnAuthenticatedElement
      ( ..,
        UnAuthenticatedElement_CREATE_AND_UPDATE,
        UnAuthenticatedElement_DELETE,
        UnAuthenticatedElement_READ
      ),
  )
where

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

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

pattern UnAuthenticatedElement_CREATE_AND_UPDATE :: UnAuthenticatedElement
pattern $bUnAuthenticatedElement_CREATE_AND_UPDATE :: UnAuthenticatedElement
$mUnAuthenticatedElement_CREATE_AND_UPDATE :: forall {r}.
UnAuthenticatedElement -> ((# #) -> r) -> ((# #) -> r) -> r
UnAuthenticatedElement_CREATE_AND_UPDATE = UnAuthenticatedElement' "CREATE_AND_UPDATE"

pattern UnAuthenticatedElement_DELETE :: UnAuthenticatedElement
pattern $bUnAuthenticatedElement_DELETE :: UnAuthenticatedElement
$mUnAuthenticatedElement_DELETE :: forall {r}.
UnAuthenticatedElement -> ((# #) -> r) -> ((# #) -> r) -> r
UnAuthenticatedElement_DELETE = UnAuthenticatedElement' "DELETE"

pattern UnAuthenticatedElement_READ :: UnAuthenticatedElement
pattern $bUnAuthenticatedElement_READ :: UnAuthenticatedElement
$mUnAuthenticatedElement_READ :: forall {r}.
UnAuthenticatedElement -> ((# #) -> r) -> ((# #) -> r) -> r
UnAuthenticatedElement_READ = UnAuthenticatedElement' "READ"

{-# COMPLETE
  UnAuthenticatedElement_CREATE_AND_UPDATE,
  UnAuthenticatedElement_DELETE,
  UnAuthenticatedElement_READ,
  UnAuthenticatedElement'
  #-}