{-# 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.Config.Types.AggregatedSourceStatusType
-- 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.Config.Types.AggregatedSourceStatusType
  ( AggregatedSourceStatusType
      ( ..,
        AggregatedSourceStatusType_FAILED,
        AggregatedSourceStatusType_OUTDATED,
        AggregatedSourceStatusType_SUCCEEDED
      ),
  )
where

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

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

pattern AggregatedSourceStatusType_FAILED :: AggregatedSourceStatusType
pattern $bAggregatedSourceStatusType_FAILED :: AggregatedSourceStatusType
$mAggregatedSourceStatusType_FAILED :: forall r.
AggregatedSourceStatusType -> (Void# -> r) -> (Void# -> r) -> r
AggregatedSourceStatusType_FAILED = AggregatedSourceStatusType' "FAILED"

pattern AggregatedSourceStatusType_OUTDATED :: AggregatedSourceStatusType
pattern $bAggregatedSourceStatusType_OUTDATED :: AggregatedSourceStatusType
$mAggregatedSourceStatusType_OUTDATED :: forall r.
AggregatedSourceStatusType -> (Void# -> r) -> (Void# -> r) -> r
AggregatedSourceStatusType_OUTDATED = AggregatedSourceStatusType' "OUTDATED"

pattern AggregatedSourceStatusType_SUCCEEDED :: AggregatedSourceStatusType
pattern $bAggregatedSourceStatusType_SUCCEEDED :: AggregatedSourceStatusType
$mAggregatedSourceStatusType_SUCCEEDED :: forall r.
AggregatedSourceStatusType -> (Void# -> r) -> (Void# -> r) -> r
AggregatedSourceStatusType_SUCCEEDED = AggregatedSourceStatusType' "SUCCEEDED"

{-# COMPLETE
  AggregatedSourceStatusType_FAILED,
  AggregatedSourceStatusType_OUTDATED,
  AggregatedSourceStatusType_SUCCEEDED,
  AggregatedSourceStatusType'
  #-}