{-# 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.AlexaBusiness.Types.BusinessReportStatus
-- 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.AlexaBusiness.Types.BusinessReportStatus
  ( BusinessReportStatus
      ( ..,
        BusinessReportStatus_FAILED,
        BusinessReportStatus_RUNNING,
        BusinessReportStatus_SUCCEEDED
      ),
  )
where

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

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

pattern BusinessReportStatus_FAILED :: BusinessReportStatus
pattern $bBusinessReportStatus_FAILED :: BusinessReportStatus
$mBusinessReportStatus_FAILED :: forall r. BusinessReportStatus -> (Void# -> r) -> (Void# -> r) -> r
BusinessReportStatus_FAILED = BusinessReportStatus' "FAILED"

pattern BusinessReportStatus_RUNNING :: BusinessReportStatus
pattern $bBusinessReportStatus_RUNNING :: BusinessReportStatus
$mBusinessReportStatus_RUNNING :: forall r. BusinessReportStatus -> (Void# -> r) -> (Void# -> r) -> r
BusinessReportStatus_RUNNING = BusinessReportStatus' "RUNNING"

pattern BusinessReportStatus_SUCCEEDED :: BusinessReportStatus
pattern $bBusinessReportStatus_SUCCEEDED :: BusinessReportStatus
$mBusinessReportStatus_SUCCEEDED :: forall r. BusinessReportStatus -> (Void# -> r) -> (Void# -> r) -> r
BusinessReportStatus_SUCCEEDED = BusinessReportStatus' "SUCCEEDED"

{-# COMPLETE
  BusinessReportStatus_FAILED,
  BusinessReportStatus_RUNNING,
  BusinessReportStatus_SUCCEEDED,
  BusinessReportStatus'
  #-}