{-# 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.OrganizationResourceStatus
-- 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.Config.Types.OrganizationResourceStatus
  ( OrganizationResourceStatus
      ( ..,
        OrganizationResourceStatus_CREATE_FAILED,
        OrganizationResourceStatus_CREATE_IN_PROGRESS,
        OrganizationResourceStatus_CREATE_SUCCESSFUL,
        OrganizationResourceStatus_DELETE_FAILED,
        OrganizationResourceStatus_DELETE_IN_PROGRESS,
        OrganizationResourceStatus_DELETE_SUCCESSFUL,
        OrganizationResourceStatus_UPDATE_FAILED,
        OrganizationResourceStatus_UPDATE_IN_PROGRESS,
        OrganizationResourceStatus_UPDATE_SUCCESSFUL
      ),
  )
where

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

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

pattern OrganizationResourceStatus_CREATE_FAILED :: OrganizationResourceStatus
pattern $bOrganizationResourceStatus_CREATE_FAILED :: OrganizationResourceStatus
$mOrganizationResourceStatus_CREATE_FAILED :: forall {r}.
OrganizationResourceStatus -> ((# #) -> r) -> ((# #) -> r) -> r
OrganizationResourceStatus_CREATE_FAILED = OrganizationResourceStatus' "CREATE_FAILED"

pattern OrganizationResourceStatus_CREATE_IN_PROGRESS :: OrganizationResourceStatus
pattern $bOrganizationResourceStatus_CREATE_IN_PROGRESS :: OrganizationResourceStatus
$mOrganizationResourceStatus_CREATE_IN_PROGRESS :: forall {r}.
OrganizationResourceStatus -> ((# #) -> r) -> ((# #) -> r) -> r
OrganizationResourceStatus_CREATE_IN_PROGRESS = OrganizationResourceStatus' "CREATE_IN_PROGRESS"

pattern OrganizationResourceStatus_CREATE_SUCCESSFUL :: OrganizationResourceStatus
pattern $bOrganizationResourceStatus_CREATE_SUCCESSFUL :: OrganizationResourceStatus
$mOrganizationResourceStatus_CREATE_SUCCESSFUL :: forall {r}.
OrganizationResourceStatus -> ((# #) -> r) -> ((# #) -> r) -> r
OrganizationResourceStatus_CREATE_SUCCESSFUL = OrganizationResourceStatus' "CREATE_SUCCESSFUL"

pattern OrganizationResourceStatus_DELETE_FAILED :: OrganizationResourceStatus
pattern $bOrganizationResourceStatus_DELETE_FAILED :: OrganizationResourceStatus
$mOrganizationResourceStatus_DELETE_FAILED :: forall {r}.
OrganizationResourceStatus -> ((# #) -> r) -> ((# #) -> r) -> r
OrganizationResourceStatus_DELETE_FAILED = OrganizationResourceStatus' "DELETE_FAILED"

pattern OrganizationResourceStatus_DELETE_IN_PROGRESS :: OrganizationResourceStatus
pattern $bOrganizationResourceStatus_DELETE_IN_PROGRESS :: OrganizationResourceStatus
$mOrganizationResourceStatus_DELETE_IN_PROGRESS :: forall {r}.
OrganizationResourceStatus -> ((# #) -> r) -> ((# #) -> r) -> r
OrganizationResourceStatus_DELETE_IN_PROGRESS = OrganizationResourceStatus' "DELETE_IN_PROGRESS"

pattern OrganizationResourceStatus_DELETE_SUCCESSFUL :: OrganizationResourceStatus
pattern $bOrganizationResourceStatus_DELETE_SUCCESSFUL :: OrganizationResourceStatus
$mOrganizationResourceStatus_DELETE_SUCCESSFUL :: forall {r}.
OrganizationResourceStatus -> ((# #) -> r) -> ((# #) -> r) -> r
OrganizationResourceStatus_DELETE_SUCCESSFUL = OrganizationResourceStatus' "DELETE_SUCCESSFUL"

pattern OrganizationResourceStatus_UPDATE_FAILED :: OrganizationResourceStatus
pattern $bOrganizationResourceStatus_UPDATE_FAILED :: OrganizationResourceStatus
$mOrganizationResourceStatus_UPDATE_FAILED :: forall {r}.
OrganizationResourceStatus -> ((# #) -> r) -> ((# #) -> r) -> r
OrganizationResourceStatus_UPDATE_FAILED = OrganizationResourceStatus' "UPDATE_FAILED"

pattern OrganizationResourceStatus_UPDATE_IN_PROGRESS :: OrganizationResourceStatus
pattern $bOrganizationResourceStatus_UPDATE_IN_PROGRESS :: OrganizationResourceStatus
$mOrganizationResourceStatus_UPDATE_IN_PROGRESS :: forall {r}.
OrganizationResourceStatus -> ((# #) -> r) -> ((# #) -> r) -> r
OrganizationResourceStatus_UPDATE_IN_PROGRESS = OrganizationResourceStatus' "UPDATE_IN_PROGRESS"

pattern OrganizationResourceStatus_UPDATE_SUCCESSFUL :: OrganizationResourceStatus
pattern $bOrganizationResourceStatus_UPDATE_SUCCESSFUL :: OrganizationResourceStatus
$mOrganizationResourceStatus_UPDATE_SUCCESSFUL :: forall {r}.
OrganizationResourceStatus -> ((# #) -> r) -> ((# #) -> r) -> r
OrganizationResourceStatus_UPDATE_SUCCESSFUL = OrganizationResourceStatus' "UPDATE_SUCCESSFUL"

{-# COMPLETE
  OrganizationResourceStatus_CREATE_FAILED,
  OrganizationResourceStatus_CREATE_IN_PROGRESS,
  OrganizationResourceStatus_CREATE_SUCCESSFUL,
  OrganizationResourceStatus_DELETE_FAILED,
  OrganizationResourceStatus_DELETE_IN_PROGRESS,
  OrganizationResourceStatus_DELETE_SUCCESSFUL,
  OrganizationResourceStatus_UPDATE_FAILED,
  OrganizationResourceStatus_UPDATE_IN_PROGRESS,
  OrganizationResourceStatus_UPDATE_SUCCESSFUL,
  OrganizationResourceStatus'
  #-}