{-# 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.AppStream.Types.ImageBuilderState
-- 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.AppStream.Types.ImageBuilderState
  ( ImageBuilderState
      ( ..,
        ImageBuilderState_DELETING,
        ImageBuilderState_FAILED,
        ImageBuilderState_PENDING,
        ImageBuilderState_PENDING_QUALIFICATION,
        ImageBuilderState_REBOOTING,
        ImageBuilderState_RUNNING,
        ImageBuilderState_SNAPSHOTTING,
        ImageBuilderState_STOPPED,
        ImageBuilderState_STOPPING,
        ImageBuilderState_UPDATING,
        ImageBuilderState_UPDATING_AGENT
      ),
  )
where

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

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

pattern ImageBuilderState_DELETING :: ImageBuilderState
pattern $bImageBuilderState_DELETING :: ImageBuilderState
$mImageBuilderState_DELETING :: forall r. ImageBuilderState -> (Void# -> r) -> (Void# -> r) -> r
ImageBuilderState_DELETING = ImageBuilderState' "DELETING"

pattern ImageBuilderState_FAILED :: ImageBuilderState
pattern $bImageBuilderState_FAILED :: ImageBuilderState
$mImageBuilderState_FAILED :: forall r. ImageBuilderState -> (Void# -> r) -> (Void# -> r) -> r
ImageBuilderState_FAILED = ImageBuilderState' "FAILED"

pattern ImageBuilderState_PENDING :: ImageBuilderState
pattern $bImageBuilderState_PENDING :: ImageBuilderState
$mImageBuilderState_PENDING :: forall r. ImageBuilderState -> (Void# -> r) -> (Void# -> r) -> r
ImageBuilderState_PENDING = ImageBuilderState' "PENDING"

pattern ImageBuilderState_PENDING_QUALIFICATION :: ImageBuilderState
pattern $bImageBuilderState_PENDING_QUALIFICATION :: ImageBuilderState
$mImageBuilderState_PENDING_QUALIFICATION :: forall r. ImageBuilderState -> (Void# -> r) -> (Void# -> r) -> r
ImageBuilderState_PENDING_QUALIFICATION = ImageBuilderState' "PENDING_QUALIFICATION"

pattern ImageBuilderState_REBOOTING :: ImageBuilderState
pattern $bImageBuilderState_REBOOTING :: ImageBuilderState
$mImageBuilderState_REBOOTING :: forall r. ImageBuilderState -> (Void# -> r) -> (Void# -> r) -> r
ImageBuilderState_REBOOTING = ImageBuilderState' "REBOOTING"

pattern ImageBuilderState_RUNNING :: ImageBuilderState
pattern $bImageBuilderState_RUNNING :: ImageBuilderState
$mImageBuilderState_RUNNING :: forall r. ImageBuilderState -> (Void# -> r) -> (Void# -> r) -> r
ImageBuilderState_RUNNING = ImageBuilderState' "RUNNING"

pattern ImageBuilderState_SNAPSHOTTING :: ImageBuilderState
pattern $bImageBuilderState_SNAPSHOTTING :: ImageBuilderState
$mImageBuilderState_SNAPSHOTTING :: forall r. ImageBuilderState -> (Void# -> r) -> (Void# -> r) -> r
ImageBuilderState_SNAPSHOTTING = ImageBuilderState' "SNAPSHOTTING"

pattern ImageBuilderState_STOPPED :: ImageBuilderState
pattern $bImageBuilderState_STOPPED :: ImageBuilderState
$mImageBuilderState_STOPPED :: forall r. ImageBuilderState -> (Void# -> r) -> (Void# -> r) -> r
ImageBuilderState_STOPPED = ImageBuilderState' "STOPPED"

pattern ImageBuilderState_STOPPING :: ImageBuilderState
pattern $bImageBuilderState_STOPPING :: ImageBuilderState
$mImageBuilderState_STOPPING :: forall r. ImageBuilderState -> (Void# -> r) -> (Void# -> r) -> r
ImageBuilderState_STOPPING = ImageBuilderState' "STOPPING"

pattern ImageBuilderState_UPDATING :: ImageBuilderState
pattern $bImageBuilderState_UPDATING :: ImageBuilderState
$mImageBuilderState_UPDATING :: forall r. ImageBuilderState -> (Void# -> r) -> (Void# -> r) -> r
ImageBuilderState_UPDATING = ImageBuilderState' "UPDATING"

pattern ImageBuilderState_UPDATING_AGENT :: ImageBuilderState
pattern $bImageBuilderState_UPDATING_AGENT :: ImageBuilderState
$mImageBuilderState_UPDATING_AGENT :: forall r. ImageBuilderState -> (Void# -> r) -> (Void# -> r) -> r
ImageBuilderState_UPDATING_AGENT = ImageBuilderState' "UPDATING_AGENT"

{-# COMPLETE
  ImageBuilderState_DELETING,
  ImageBuilderState_FAILED,
  ImageBuilderState_PENDING,
  ImageBuilderState_PENDING_QUALIFICATION,
  ImageBuilderState_REBOOTING,
  ImageBuilderState_RUNNING,
  ImageBuilderState_SNAPSHOTTING,
  ImageBuilderState_STOPPED,
  ImageBuilderState_STOPPING,
  ImageBuilderState_UPDATING,
  ImageBuilderState_UPDATING_AGENT,
  ImageBuilderState'
  #-}