{-# 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.DynamoDB.Types.ContinuousBackupsStatus
-- 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.DynamoDB.Types.ContinuousBackupsStatus
  ( ContinuousBackupsStatus
      ( ..,
        ContinuousBackupsStatus_DISABLED,
        ContinuousBackupsStatus_ENABLED
      ),
  )
where

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

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

pattern ContinuousBackupsStatus_DISABLED :: ContinuousBackupsStatus
pattern $bContinuousBackupsStatus_DISABLED :: ContinuousBackupsStatus
$mContinuousBackupsStatus_DISABLED :: forall r.
ContinuousBackupsStatus -> (Void# -> r) -> (Void# -> r) -> r
ContinuousBackupsStatus_DISABLED = ContinuousBackupsStatus' "DISABLED"

pattern ContinuousBackupsStatus_ENABLED :: ContinuousBackupsStatus
pattern $bContinuousBackupsStatus_ENABLED :: ContinuousBackupsStatus
$mContinuousBackupsStatus_ENABLED :: forall r.
ContinuousBackupsStatus -> (Void# -> r) -> (Void# -> r) -> r
ContinuousBackupsStatus_ENABLED = ContinuousBackupsStatus' "ENABLED"

{-# COMPLETE
  ContinuousBackupsStatus_DISABLED,
  ContinuousBackupsStatus_ENABLED,
  ContinuousBackupsStatus'
  #-}