{-# 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.CloudFormation.Types.PublisherStatus
-- 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.CloudFormation.Types.PublisherStatus
  ( PublisherStatus
      ( ..,
        PublisherStatus_UNVERIFIED,
        PublisherStatus_VERIFIED
      ),
  )
where

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

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

pattern PublisherStatus_UNVERIFIED :: PublisherStatus
pattern $bPublisherStatus_UNVERIFIED :: PublisherStatus
$mPublisherStatus_UNVERIFIED :: forall r. PublisherStatus -> (Void# -> r) -> (Void# -> r) -> r
PublisherStatus_UNVERIFIED = PublisherStatus' "UNVERIFIED"

pattern PublisherStatus_VERIFIED :: PublisherStatus
pattern $bPublisherStatus_VERIFIED :: PublisherStatus
$mPublisherStatus_VERIFIED :: forall r. PublisherStatus -> (Void# -> r) -> (Void# -> r) -> r
PublisherStatus_VERIFIED = PublisherStatus' "VERIFIED"

{-# COMPLETE
  PublisherStatus_UNVERIFIED,
  PublisherStatus_VERIFIED,
  PublisherStatus'
  #-}