{-# 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.ResilienceHub.Types.ResourceResolutionStatusType
-- 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.ResilienceHub.Types.ResourceResolutionStatusType
  ( ResourceResolutionStatusType
      ( ..,
        ResourceResolutionStatusType_Failed,
        ResourceResolutionStatusType_InProgress,
        ResourceResolutionStatusType_Pending,
        ResourceResolutionStatusType_Success
      ),
  )
where

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

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

pattern ResourceResolutionStatusType_Failed :: ResourceResolutionStatusType
pattern $bResourceResolutionStatusType_Failed :: ResourceResolutionStatusType
$mResourceResolutionStatusType_Failed :: forall {r}.
ResourceResolutionStatusType -> ((# #) -> r) -> ((# #) -> r) -> r
ResourceResolutionStatusType_Failed = ResourceResolutionStatusType' "Failed"

pattern ResourceResolutionStatusType_InProgress :: ResourceResolutionStatusType
pattern $bResourceResolutionStatusType_InProgress :: ResourceResolutionStatusType
$mResourceResolutionStatusType_InProgress :: forall {r}.
ResourceResolutionStatusType -> ((# #) -> r) -> ((# #) -> r) -> r
ResourceResolutionStatusType_InProgress = ResourceResolutionStatusType' "InProgress"

pattern ResourceResolutionStatusType_Pending :: ResourceResolutionStatusType
pattern $bResourceResolutionStatusType_Pending :: ResourceResolutionStatusType
$mResourceResolutionStatusType_Pending :: forall {r}.
ResourceResolutionStatusType -> ((# #) -> r) -> ((# #) -> r) -> r
ResourceResolutionStatusType_Pending = ResourceResolutionStatusType' "Pending"

pattern ResourceResolutionStatusType_Success :: ResourceResolutionStatusType
pattern $bResourceResolutionStatusType_Success :: ResourceResolutionStatusType
$mResourceResolutionStatusType_Success :: forall {r}.
ResourceResolutionStatusType -> ((# #) -> r) -> ((# #) -> r) -> r
ResourceResolutionStatusType_Success = ResourceResolutionStatusType' "Success"

{-# COMPLETE
  ResourceResolutionStatusType_Failed,
  ResourceResolutionStatusType_InProgress,
  ResourceResolutionStatusType_Pending,
  ResourceResolutionStatusType_Success,
  ResourceResolutionStatusType'
  #-}