{-# 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.Redshift.Types.AquaStatus
-- 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.Redshift.Types.AquaStatus
  ( AquaStatus
      ( ..,
        AquaStatus_Applying,
        AquaStatus_Disabled,
        AquaStatus_Enabled
      ),
  )
where

import qualified Amazonka.Core as Core
import qualified Amazonka.Prelude as Prelude
import Amazonka.Redshift.Internal

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

pattern AquaStatus_Applying :: AquaStatus
pattern $bAquaStatus_Applying :: AquaStatus
$mAquaStatus_Applying :: forall r. AquaStatus -> (Void# -> r) -> (Void# -> r) -> r
AquaStatus_Applying = AquaStatus' "applying"

pattern AquaStatus_Disabled :: AquaStatus
pattern $bAquaStatus_Disabled :: AquaStatus
$mAquaStatus_Disabled :: forall r. AquaStatus -> (Void# -> r) -> (Void# -> r) -> r
AquaStatus_Disabled = AquaStatus' "disabled"

pattern AquaStatus_Enabled :: AquaStatus
pattern $bAquaStatus_Enabled :: AquaStatus
$mAquaStatus_Enabled :: forall r. AquaStatus -> (Void# -> r) -> (Void# -> r) -> r
AquaStatus_Enabled = AquaStatus' "enabled"

{-# COMPLETE
  AquaStatus_Applying,
  AquaStatus_Disabled,
  AquaStatus_Enabled,
  AquaStatus'
  #-}