{-# 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.Panorama.Types.ApplicationInstanceStatus
-- 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.Panorama.Types.ApplicationInstanceStatus
  ( ApplicationInstanceStatus
      ( ..,
        ApplicationInstanceStatus_DEPLOYMENT_ERROR,
        ApplicationInstanceStatus_DEPLOYMENT_IN_PROGRESS,
        ApplicationInstanceStatus_DEPLOYMENT_PENDING,
        ApplicationInstanceStatus_DEPLOYMENT_REQUESTED,
        ApplicationInstanceStatus_DEPLOYMENT_SUCCEEDED,
        ApplicationInstanceStatus_REMOVAL_FAILED,
        ApplicationInstanceStatus_REMOVAL_IN_PROGRESS,
        ApplicationInstanceStatus_REMOVAL_PENDING,
        ApplicationInstanceStatus_REMOVAL_REQUESTED,
        ApplicationInstanceStatus_REMOVAL_SUCCEEDED
      ),
  )
where

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

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

pattern ApplicationInstanceStatus_DEPLOYMENT_ERROR :: ApplicationInstanceStatus
pattern $bApplicationInstanceStatus_DEPLOYMENT_ERROR :: ApplicationInstanceStatus
$mApplicationInstanceStatus_DEPLOYMENT_ERROR :: forall r.
ApplicationInstanceStatus -> (Void# -> r) -> (Void# -> r) -> r
ApplicationInstanceStatus_DEPLOYMENT_ERROR = ApplicationInstanceStatus' "DEPLOYMENT_ERROR"

pattern ApplicationInstanceStatus_DEPLOYMENT_IN_PROGRESS :: ApplicationInstanceStatus
pattern $bApplicationInstanceStatus_DEPLOYMENT_IN_PROGRESS :: ApplicationInstanceStatus
$mApplicationInstanceStatus_DEPLOYMENT_IN_PROGRESS :: forall r.
ApplicationInstanceStatus -> (Void# -> r) -> (Void# -> r) -> r
ApplicationInstanceStatus_DEPLOYMENT_IN_PROGRESS = ApplicationInstanceStatus' "DEPLOYMENT_IN_PROGRESS"

pattern ApplicationInstanceStatus_DEPLOYMENT_PENDING :: ApplicationInstanceStatus
pattern $bApplicationInstanceStatus_DEPLOYMENT_PENDING :: ApplicationInstanceStatus
$mApplicationInstanceStatus_DEPLOYMENT_PENDING :: forall r.
ApplicationInstanceStatus -> (Void# -> r) -> (Void# -> r) -> r
ApplicationInstanceStatus_DEPLOYMENT_PENDING = ApplicationInstanceStatus' "DEPLOYMENT_PENDING"

pattern ApplicationInstanceStatus_DEPLOYMENT_REQUESTED :: ApplicationInstanceStatus
pattern $bApplicationInstanceStatus_DEPLOYMENT_REQUESTED :: ApplicationInstanceStatus
$mApplicationInstanceStatus_DEPLOYMENT_REQUESTED :: forall r.
ApplicationInstanceStatus -> (Void# -> r) -> (Void# -> r) -> r
ApplicationInstanceStatus_DEPLOYMENT_REQUESTED = ApplicationInstanceStatus' "DEPLOYMENT_REQUESTED"

pattern ApplicationInstanceStatus_DEPLOYMENT_SUCCEEDED :: ApplicationInstanceStatus
pattern $bApplicationInstanceStatus_DEPLOYMENT_SUCCEEDED :: ApplicationInstanceStatus
$mApplicationInstanceStatus_DEPLOYMENT_SUCCEEDED :: forall r.
ApplicationInstanceStatus -> (Void# -> r) -> (Void# -> r) -> r
ApplicationInstanceStatus_DEPLOYMENT_SUCCEEDED = ApplicationInstanceStatus' "DEPLOYMENT_SUCCEEDED"

pattern ApplicationInstanceStatus_REMOVAL_FAILED :: ApplicationInstanceStatus
pattern $bApplicationInstanceStatus_REMOVAL_FAILED :: ApplicationInstanceStatus
$mApplicationInstanceStatus_REMOVAL_FAILED :: forall r.
ApplicationInstanceStatus -> (Void# -> r) -> (Void# -> r) -> r
ApplicationInstanceStatus_REMOVAL_FAILED = ApplicationInstanceStatus' "REMOVAL_FAILED"

pattern ApplicationInstanceStatus_REMOVAL_IN_PROGRESS :: ApplicationInstanceStatus
pattern $bApplicationInstanceStatus_REMOVAL_IN_PROGRESS :: ApplicationInstanceStatus
$mApplicationInstanceStatus_REMOVAL_IN_PROGRESS :: forall r.
ApplicationInstanceStatus -> (Void# -> r) -> (Void# -> r) -> r
ApplicationInstanceStatus_REMOVAL_IN_PROGRESS = ApplicationInstanceStatus' "REMOVAL_IN_PROGRESS"

pattern ApplicationInstanceStatus_REMOVAL_PENDING :: ApplicationInstanceStatus
pattern $bApplicationInstanceStatus_REMOVAL_PENDING :: ApplicationInstanceStatus
$mApplicationInstanceStatus_REMOVAL_PENDING :: forall r.
ApplicationInstanceStatus -> (Void# -> r) -> (Void# -> r) -> r
ApplicationInstanceStatus_REMOVAL_PENDING = ApplicationInstanceStatus' "REMOVAL_PENDING"

pattern ApplicationInstanceStatus_REMOVAL_REQUESTED :: ApplicationInstanceStatus
pattern $bApplicationInstanceStatus_REMOVAL_REQUESTED :: ApplicationInstanceStatus
$mApplicationInstanceStatus_REMOVAL_REQUESTED :: forall r.
ApplicationInstanceStatus -> (Void# -> r) -> (Void# -> r) -> r
ApplicationInstanceStatus_REMOVAL_REQUESTED = ApplicationInstanceStatus' "REMOVAL_REQUESTED"

pattern ApplicationInstanceStatus_REMOVAL_SUCCEEDED :: ApplicationInstanceStatus
pattern $bApplicationInstanceStatus_REMOVAL_SUCCEEDED :: ApplicationInstanceStatus
$mApplicationInstanceStatus_REMOVAL_SUCCEEDED :: forall r.
ApplicationInstanceStatus -> (Void# -> r) -> (Void# -> r) -> r
ApplicationInstanceStatus_REMOVAL_SUCCEEDED = ApplicationInstanceStatus' "REMOVAL_SUCCEEDED"

{-# COMPLETE
  ApplicationInstanceStatus_DEPLOYMENT_ERROR,
  ApplicationInstanceStatus_DEPLOYMENT_IN_PROGRESS,
  ApplicationInstanceStatus_DEPLOYMENT_PENDING,
  ApplicationInstanceStatus_DEPLOYMENT_REQUESTED,
  ApplicationInstanceStatus_DEPLOYMENT_SUCCEEDED,
  ApplicationInstanceStatus_REMOVAL_FAILED,
  ApplicationInstanceStatus_REMOVAL_IN_PROGRESS,
  ApplicationInstanceStatus_REMOVAL_PENDING,
  ApplicationInstanceStatus_REMOVAL_REQUESTED,
  ApplicationInstanceStatus_REMOVAL_SUCCEEDED,
  ApplicationInstanceStatus'
  #-}