{-# 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.ApplicationAutoScaling.Types.ScalingActivityStatusCode
-- 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.ApplicationAutoScaling.Types.ScalingActivityStatusCode
  ( ScalingActivityStatusCode
      ( ..,
        ScalingActivityStatusCode_Failed,
        ScalingActivityStatusCode_InProgress,
        ScalingActivityStatusCode_Overridden,
        ScalingActivityStatusCode_Pending,
        ScalingActivityStatusCode_Successful,
        ScalingActivityStatusCode_Unfulfilled
      ),
  )
where

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

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

pattern ScalingActivityStatusCode_Failed :: ScalingActivityStatusCode
pattern $bScalingActivityStatusCode_Failed :: ScalingActivityStatusCode
$mScalingActivityStatusCode_Failed :: forall r.
ScalingActivityStatusCode -> (Void# -> r) -> (Void# -> r) -> r
ScalingActivityStatusCode_Failed = ScalingActivityStatusCode' "Failed"

pattern ScalingActivityStatusCode_InProgress :: ScalingActivityStatusCode
pattern $bScalingActivityStatusCode_InProgress :: ScalingActivityStatusCode
$mScalingActivityStatusCode_InProgress :: forall r.
ScalingActivityStatusCode -> (Void# -> r) -> (Void# -> r) -> r
ScalingActivityStatusCode_InProgress = ScalingActivityStatusCode' "InProgress"

pattern ScalingActivityStatusCode_Overridden :: ScalingActivityStatusCode
pattern $bScalingActivityStatusCode_Overridden :: ScalingActivityStatusCode
$mScalingActivityStatusCode_Overridden :: forall r.
ScalingActivityStatusCode -> (Void# -> r) -> (Void# -> r) -> r
ScalingActivityStatusCode_Overridden = ScalingActivityStatusCode' "Overridden"

pattern ScalingActivityStatusCode_Pending :: ScalingActivityStatusCode
pattern $bScalingActivityStatusCode_Pending :: ScalingActivityStatusCode
$mScalingActivityStatusCode_Pending :: forall r.
ScalingActivityStatusCode -> (Void# -> r) -> (Void# -> r) -> r
ScalingActivityStatusCode_Pending = ScalingActivityStatusCode' "Pending"

pattern ScalingActivityStatusCode_Successful :: ScalingActivityStatusCode
pattern $bScalingActivityStatusCode_Successful :: ScalingActivityStatusCode
$mScalingActivityStatusCode_Successful :: forall r.
ScalingActivityStatusCode -> (Void# -> r) -> (Void# -> r) -> r
ScalingActivityStatusCode_Successful = ScalingActivityStatusCode' "Successful"

pattern ScalingActivityStatusCode_Unfulfilled :: ScalingActivityStatusCode
pattern $bScalingActivityStatusCode_Unfulfilled :: ScalingActivityStatusCode
$mScalingActivityStatusCode_Unfulfilled :: forall r.
ScalingActivityStatusCode -> (Void# -> r) -> (Void# -> r) -> r
ScalingActivityStatusCode_Unfulfilled = ScalingActivityStatusCode' "Unfulfilled"

{-# COMPLETE
  ScalingActivityStatusCode_Failed,
  ScalingActivityStatusCode_InProgress,
  ScalingActivityStatusCode_Overridden,
  ScalingActivityStatusCode_Pending,
  ScalingActivityStatusCode_Successful,
  ScalingActivityStatusCode_Unfulfilled,
  ScalingActivityStatusCode'
  #-}