{-# 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.Budgets.Types.ActionStatus
-- 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.Budgets.Types.ActionStatus
  ( ActionStatus
      ( ..,
        ActionStatus_EXECUTION_FAILURE,
        ActionStatus_EXECUTION_IN_PROGRESS,
        ActionStatus_EXECUTION_SUCCESS,
        ActionStatus_PENDING,
        ActionStatus_RESET_FAILURE,
        ActionStatus_RESET_IN_PROGRESS,
        ActionStatus_REVERSE_FAILURE,
        ActionStatus_REVERSE_IN_PROGRESS,
        ActionStatus_REVERSE_SUCCESS,
        ActionStatus_STANDBY
      ),
  )
where

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

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

pattern ActionStatus_EXECUTION_FAILURE :: ActionStatus
pattern $bActionStatus_EXECUTION_FAILURE :: ActionStatus
$mActionStatus_EXECUTION_FAILURE :: forall r. ActionStatus -> (Void# -> r) -> (Void# -> r) -> r
ActionStatus_EXECUTION_FAILURE = ActionStatus' "EXECUTION_FAILURE"

pattern ActionStatus_EXECUTION_IN_PROGRESS :: ActionStatus
pattern $bActionStatus_EXECUTION_IN_PROGRESS :: ActionStatus
$mActionStatus_EXECUTION_IN_PROGRESS :: forall r. ActionStatus -> (Void# -> r) -> (Void# -> r) -> r
ActionStatus_EXECUTION_IN_PROGRESS = ActionStatus' "EXECUTION_IN_PROGRESS"

pattern ActionStatus_EXECUTION_SUCCESS :: ActionStatus
pattern $bActionStatus_EXECUTION_SUCCESS :: ActionStatus
$mActionStatus_EXECUTION_SUCCESS :: forall r. ActionStatus -> (Void# -> r) -> (Void# -> r) -> r
ActionStatus_EXECUTION_SUCCESS = ActionStatus' "EXECUTION_SUCCESS"

pattern ActionStatus_PENDING :: ActionStatus
pattern $bActionStatus_PENDING :: ActionStatus
$mActionStatus_PENDING :: forall r. ActionStatus -> (Void# -> r) -> (Void# -> r) -> r
ActionStatus_PENDING = ActionStatus' "PENDING"

pattern ActionStatus_RESET_FAILURE :: ActionStatus
pattern $bActionStatus_RESET_FAILURE :: ActionStatus
$mActionStatus_RESET_FAILURE :: forall r. ActionStatus -> (Void# -> r) -> (Void# -> r) -> r
ActionStatus_RESET_FAILURE = ActionStatus' "RESET_FAILURE"

pattern ActionStatus_RESET_IN_PROGRESS :: ActionStatus
pattern $bActionStatus_RESET_IN_PROGRESS :: ActionStatus
$mActionStatus_RESET_IN_PROGRESS :: forall r. ActionStatus -> (Void# -> r) -> (Void# -> r) -> r
ActionStatus_RESET_IN_PROGRESS = ActionStatus' "RESET_IN_PROGRESS"

pattern ActionStatus_REVERSE_FAILURE :: ActionStatus
pattern $bActionStatus_REVERSE_FAILURE :: ActionStatus
$mActionStatus_REVERSE_FAILURE :: forall r. ActionStatus -> (Void# -> r) -> (Void# -> r) -> r
ActionStatus_REVERSE_FAILURE = ActionStatus' "REVERSE_FAILURE"

pattern ActionStatus_REVERSE_IN_PROGRESS :: ActionStatus
pattern $bActionStatus_REVERSE_IN_PROGRESS :: ActionStatus
$mActionStatus_REVERSE_IN_PROGRESS :: forall r. ActionStatus -> (Void# -> r) -> (Void# -> r) -> r
ActionStatus_REVERSE_IN_PROGRESS = ActionStatus' "REVERSE_IN_PROGRESS"

pattern ActionStatus_REVERSE_SUCCESS :: ActionStatus
pattern $bActionStatus_REVERSE_SUCCESS :: ActionStatus
$mActionStatus_REVERSE_SUCCESS :: forall r. ActionStatus -> (Void# -> r) -> (Void# -> r) -> r
ActionStatus_REVERSE_SUCCESS = ActionStatus' "REVERSE_SUCCESS"

pattern ActionStatus_STANDBY :: ActionStatus
pattern $bActionStatus_STANDBY :: ActionStatus
$mActionStatus_STANDBY :: forall r. ActionStatus -> (Void# -> r) -> (Void# -> r) -> r
ActionStatus_STANDBY = ActionStatus' "STANDBY"

{-# COMPLETE
  ActionStatus_EXECUTION_FAILURE,
  ActionStatus_EXECUTION_IN_PROGRESS,
  ActionStatus_EXECUTION_SUCCESS,
  ActionStatus_PENDING,
  ActionStatus_RESET_FAILURE,
  ActionStatus_RESET_IN_PROGRESS,
  ActionStatus_REVERSE_FAILURE,
  ActionStatus_REVERSE_IN_PROGRESS,
  ActionStatus_REVERSE_SUCCESS,
  ActionStatus_STANDBY,
  ActionStatus'
  #-}