{-# 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.EC2.Types.BundleTaskState
-- 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.EC2.Types.BundleTaskState
  ( BundleTaskState
      ( ..,
        BundleTaskState_Bundling,
        BundleTaskState_Cancelling,
        BundleTaskState_Complete,
        BundleTaskState_Failed,
        BundleTaskState_Pending,
        BundleTaskState_Storing,
        BundleTaskState_Waiting_for_shutdown
      ),
  )
where

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

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

pattern BundleTaskState_Bundling :: BundleTaskState
pattern $bBundleTaskState_Bundling :: BundleTaskState
$mBundleTaskState_Bundling :: forall {r}. BundleTaskState -> ((# #) -> r) -> ((# #) -> r) -> r
BundleTaskState_Bundling = BundleTaskState' "bundling"

pattern BundleTaskState_Cancelling :: BundleTaskState
pattern $bBundleTaskState_Cancelling :: BundleTaskState
$mBundleTaskState_Cancelling :: forall {r}. BundleTaskState -> ((# #) -> r) -> ((# #) -> r) -> r
BundleTaskState_Cancelling = BundleTaskState' "cancelling"

pattern BundleTaskState_Complete :: BundleTaskState
pattern $bBundleTaskState_Complete :: BundleTaskState
$mBundleTaskState_Complete :: forall {r}. BundleTaskState -> ((# #) -> r) -> ((# #) -> r) -> r
BundleTaskState_Complete = BundleTaskState' "complete"

pattern BundleTaskState_Failed :: BundleTaskState
pattern $bBundleTaskState_Failed :: BundleTaskState
$mBundleTaskState_Failed :: forall {r}. BundleTaskState -> ((# #) -> r) -> ((# #) -> r) -> r
BundleTaskState_Failed = BundleTaskState' "failed"

pattern BundleTaskState_Pending :: BundleTaskState
pattern $bBundleTaskState_Pending :: BundleTaskState
$mBundleTaskState_Pending :: forall {r}. BundleTaskState -> ((# #) -> r) -> ((# #) -> r) -> r
BundleTaskState_Pending = BundleTaskState' "pending"

pattern BundleTaskState_Storing :: BundleTaskState
pattern $bBundleTaskState_Storing :: BundleTaskState
$mBundleTaskState_Storing :: forall {r}. BundleTaskState -> ((# #) -> r) -> ((# #) -> r) -> r
BundleTaskState_Storing = BundleTaskState' "storing"

pattern BundleTaskState_Waiting_for_shutdown :: BundleTaskState
pattern $bBundleTaskState_Waiting_for_shutdown :: BundleTaskState
$mBundleTaskState_Waiting_for_shutdown :: forall {r}. BundleTaskState -> ((# #) -> r) -> ((# #) -> r) -> r
BundleTaskState_Waiting_for_shutdown = BundleTaskState' "waiting-for-shutdown"

{-# COMPLETE
  BundleTaskState_Bundling,
  BundleTaskState_Cancelling,
  BundleTaskState_Complete,
  BundleTaskState_Failed,
  BundleTaskState_Pending,
  BundleTaskState_Storing,
  BundleTaskState_Waiting_for_shutdown,
  BundleTaskState'
  #-}