{-# 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.M2.Types.ApplicationVersionLifecycle
-- 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.M2.Types.ApplicationVersionLifecycle
  ( ApplicationVersionLifecycle
      ( ..,
        ApplicationVersionLifecycle_Available,
        ApplicationVersionLifecycle_Creating,
        ApplicationVersionLifecycle_Failed
      ),
  )
where

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

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

pattern ApplicationVersionLifecycle_Available :: ApplicationVersionLifecycle
pattern $bApplicationVersionLifecycle_Available :: ApplicationVersionLifecycle
$mApplicationVersionLifecycle_Available :: forall {r}.
ApplicationVersionLifecycle -> ((# #) -> r) -> ((# #) -> r) -> r
ApplicationVersionLifecycle_Available = ApplicationVersionLifecycle' "Available"

pattern ApplicationVersionLifecycle_Creating :: ApplicationVersionLifecycle
pattern $bApplicationVersionLifecycle_Creating :: ApplicationVersionLifecycle
$mApplicationVersionLifecycle_Creating :: forall {r}.
ApplicationVersionLifecycle -> ((# #) -> r) -> ((# #) -> r) -> r
ApplicationVersionLifecycle_Creating = ApplicationVersionLifecycle' "Creating"

pattern ApplicationVersionLifecycle_Failed :: ApplicationVersionLifecycle
pattern $bApplicationVersionLifecycle_Failed :: ApplicationVersionLifecycle
$mApplicationVersionLifecycle_Failed :: forall {r}.
ApplicationVersionLifecycle -> ((# #) -> r) -> ((# #) -> r) -> r
ApplicationVersionLifecycle_Failed = ApplicationVersionLifecycle' "Failed"

{-# COMPLETE
  ApplicationVersionLifecycle_Available,
  ApplicationVersionLifecycle_Creating,
  ApplicationVersionLifecycle_Failed,
  ApplicationVersionLifecycle'
  #-}