{-# 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.MigrationHubStrategy.Types.AntipatternReportStatus
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
module Amazonka.MigrationHubStrategy.Types.AntipatternReportStatus
  ( AntipatternReportStatus
      ( ..,
        AntipatternReportStatus_FAILED,
        AntipatternReportStatus_IN_PROGRESS,
        AntipatternReportStatus_SUCCESS
      ),
  )
where

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

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

pattern AntipatternReportStatus_FAILED :: AntipatternReportStatus
pattern $bAntipatternReportStatus_FAILED :: AntipatternReportStatus
$mAntipatternReportStatus_FAILED :: forall {r}.
AntipatternReportStatus -> ((# #) -> r) -> ((# #) -> r) -> r
AntipatternReportStatus_FAILED = AntipatternReportStatus' "FAILED"

pattern AntipatternReportStatus_IN_PROGRESS :: AntipatternReportStatus
pattern $bAntipatternReportStatus_IN_PROGRESS :: AntipatternReportStatus
$mAntipatternReportStatus_IN_PROGRESS :: forall {r}.
AntipatternReportStatus -> ((# #) -> r) -> ((# #) -> r) -> r
AntipatternReportStatus_IN_PROGRESS = AntipatternReportStatus' "IN_PROGRESS"

pattern AntipatternReportStatus_SUCCESS :: AntipatternReportStatus
pattern $bAntipatternReportStatus_SUCCESS :: AntipatternReportStatus
$mAntipatternReportStatus_SUCCESS :: forall {r}.
AntipatternReportStatus -> ((# #) -> r) -> ((# #) -> r) -> r
AntipatternReportStatus_SUCCESS = AntipatternReportStatus' "SUCCESS"

{-# COMPLETE
  AntipatternReportStatus_FAILED,
  AntipatternReportStatus_IN_PROGRESS,
  AntipatternReportStatus_SUCCESS,
  AntipatternReportStatus'
  #-}