{-# 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.IoT.Types.DomainConfigurationStatus
-- 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.IoT.Types.DomainConfigurationStatus
  ( DomainConfigurationStatus
      ( ..,
        DomainConfigurationStatus_DISABLED,
        DomainConfigurationStatus_ENABLED
      ),
  )
where

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

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

pattern DomainConfigurationStatus_DISABLED :: DomainConfigurationStatus
pattern $bDomainConfigurationStatus_DISABLED :: DomainConfigurationStatus
$mDomainConfigurationStatus_DISABLED :: forall r.
DomainConfigurationStatus -> (Void# -> r) -> (Void# -> r) -> r
DomainConfigurationStatus_DISABLED = DomainConfigurationStatus' "DISABLED"

pattern DomainConfigurationStatus_ENABLED :: DomainConfigurationStatus
pattern $bDomainConfigurationStatus_ENABLED :: DomainConfigurationStatus
$mDomainConfigurationStatus_ENABLED :: forall r.
DomainConfigurationStatus -> (Void# -> r) -> (Void# -> r) -> r
DomainConfigurationStatus_ENABLED = DomainConfigurationStatus' "ENABLED"

{-# COMPLETE
  DomainConfigurationStatus_DISABLED,
  DomainConfigurationStatus_ENABLED,
  DomainConfigurationStatus'
  #-}