{-# 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.MGN.Types.JobLogEvent
-- 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.MGN.Types.JobLogEvent
  ( JobLogEvent
      ( ..,
        JobLogEvent_CLEANUP_END,
        JobLogEvent_CLEANUP_FAIL,
        JobLogEvent_CLEANUP_START,
        JobLogEvent_CONVERSION_END,
        JobLogEvent_CONVERSION_FAIL,
        JobLogEvent_CONVERSION_START,
        JobLogEvent_JOB_CANCEL,
        JobLogEvent_JOB_END,
        JobLogEvent_JOB_START,
        JobLogEvent_LAUNCH_FAILED,
        JobLogEvent_LAUNCH_START,
        JobLogEvent_SERVER_SKIPPED,
        JobLogEvent_SNAPSHOT_END,
        JobLogEvent_SNAPSHOT_FAIL,
        JobLogEvent_SNAPSHOT_START,
        JobLogEvent_USING_PREVIOUS_SNAPSHOT
      ),
  )
where

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

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

pattern JobLogEvent_CLEANUP_END :: JobLogEvent
pattern $bJobLogEvent_CLEANUP_END :: JobLogEvent
$mJobLogEvent_CLEANUP_END :: forall r. JobLogEvent -> (Void# -> r) -> (Void# -> r) -> r
JobLogEvent_CLEANUP_END = JobLogEvent' "CLEANUP_END"

pattern JobLogEvent_CLEANUP_FAIL :: JobLogEvent
pattern $bJobLogEvent_CLEANUP_FAIL :: JobLogEvent
$mJobLogEvent_CLEANUP_FAIL :: forall r. JobLogEvent -> (Void# -> r) -> (Void# -> r) -> r
JobLogEvent_CLEANUP_FAIL = JobLogEvent' "CLEANUP_FAIL"

pattern JobLogEvent_CLEANUP_START :: JobLogEvent
pattern $bJobLogEvent_CLEANUP_START :: JobLogEvent
$mJobLogEvent_CLEANUP_START :: forall r. JobLogEvent -> (Void# -> r) -> (Void# -> r) -> r
JobLogEvent_CLEANUP_START = JobLogEvent' "CLEANUP_START"

pattern JobLogEvent_CONVERSION_END :: JobLogEvent
pattern $bJobLogEvent_CONVERSION_END :: JobLogEvent
$mJobLogEvent_CONVERSION_END :: forall r. JobLogEvent -> (Void# -> r) -> (Void# -> r) -> r
JobLogEvent_CONVERSION_END = JobLogEvent' "CONVERSION_END"

pattern JobLogEvent_CONVERSION_FAIL :: JobLogEvent
pattern $bJobLogEvent_CONVERSION_FAIL :: JobLogEvent
$mJobLogEvent_CONVERSION_FAIL :: forall r. JobLogEvent -> (Void# -> r) -> (Void# -> r) -> r
JobLogEvent_CONVERSION_FAIL = JobLogEvent' "CONVERSION_FAIL"

pattern JobLogEvent_CONVERSION_START :: JobLogEvent
pattern $bJobLogEvent_CONVERSION_START :: JobLogEvent
$mJobLogEvent_CONVERSION_START :: forall r. JobLogEvent -> (Void# -> r) -> (Void# -> r) -> r
JobLogEvent_CONVERSION_START = JobLogEvent' "CONVERSION_START"

pattern JobLogEvent_JOB_CANCEL :: JobLogEvent
pattern $bJobLogEvent_JOB_CANCEL :: JobLogEvent
$mJobLogEvent_JOB_CANCEL :: forall r. JobLogEvent -> (Void# -> r) -> (Void# -> r) -> r
JobLogEvent_JOB_CANCEL = JobLogEvent' "JOB_CANCEL"

pattern JobLogEvent_JOB_END :: JobLogEvent
pattern $bJobLogEvent_JOB_END :: JobLogEvent
$mJobLogEvent_JOB_END :: forall r. JobLogEvent -> (Void# -> r) -> (Void# -> r) -> r
JobLogEvent_JOB_END = JobLogEvent' "JOB_END"

pattern JobLogEvent_JOB_START :: JobLogEvent
pattern $bJobLogEvent_JOB_START :: JobLogEvent
$mJobLogEvent_JOB_START :: forall r. JobLogEvent -> (Void# -> r) -> (Void# -> r) -> r
JobLogEvent_JOB_START = JobLogEvent' "JOB_START"

pattern JobLogEvent_LAUNCH_FAILED :: JobLogEvent
pattern $bJobLogEvent_LAUNCH_FAILED :: JobLogEvent
$mJobLogEvent_LAUNCH_FAILED :: forall r. JobLogEvent -> (Void# -> r) -> (Void# -> r) -> r
JobLogEvent_LAUNCH_FAILED = JobLogEvent' "LAUNCH_FAILED"

pattern JobLogEvent_LAUNCH_START :: JobLogEvent
pattern $bJobLogEvent_LAUNCH_START :: JobLogEvent
$mJobLogEvent_LAUNCH_START :: forall r. JobLogEvent -> (Void# -> r) -> (Void# -> r) -> r
JobLogEvent_LAUNCH_START = JobLogEvent' "LAUNCH_START"

pattern JobLogEvent_SERVER_SKIPPED :: JobLogEvent
pattern $bJobLogEvent_SERVER_SKIPPED :: JobLogEvent
$mJobLogEvent_SERVER_SKIPPED :: forall r. JobLogEvent -> (Void# -> r) -> (Void# -> r) -> r
JobLogEvent_SERVER_SKIPPED = JobLogEvent' "SERVER_SKIPPED"

pattern JobLogEvent_SNAPSHOT_END :: JobLogEvent
pattern $bJobLogEvent_SNAPSHOT_END :: JobLogEvent
$mJobLogEvent_SNAPSHOT_END :: forall r. JobLogEvent -> (Void# -> r) -> (Void# -> r) -> r
JobLogEvent_SNAPSHOT_END = JobLogEvent' "SNAPSHOT_END"

pattern JobLogEvent_SNAPSHOT_FAIL :: JobLogEvent
pattern $bJobLogEvent_SNAPSHOT_FAIL :: JobLogEvent
$mJobLogEvent_SNAPSHOT_FAIL :: forall r. JobLogEvent -> (Void# -> r) -> (Void# -> r) -> r
JobLogEvent_SNAPSHOT_FAIL = JobLogEvent' "SNAPSHOT_FAIL"

pattern JobLogEvent_SNAPSHOT_START :: JobLogEvent
pattern $bJobLogEvent_SNAPSHOT_START :: JobLogEvent
$mJobLogEvent_SNAPSHOT_START :: forall r. JobLogEvent -> (Void# -> r) -> (Void# -> r) -> r
JobLogEvent_SNAPSHOT_START = JobLogEvent' "SNAPSHOT_START"

pattern JobLogEvent_USING_PREVIOUS_SNAPSHOT :: JobLogEvent
pattern $bJobLogEvent_USING_PREVIOUS_SNAPSHOT :: JobLogEvent
$mJobLogEvent_USING_PREVIOUS_SNAPSHOT :: forall r. JobLogEvent -> (Void# -> r) -> (Void# -> r) -> r
JobLogEvent_USING_PREVIOUS_SNAPSHOT = JobLogEvent' "USING_PREVIOUS_SNAPSHOT"

{-# COMPLETE
  JobLogEvent_CLEANUP_END,
  JobLogEvent_CLEANUP_FAIL,
  JobLogEvent_CLEANUP_START,
  JobLogEvent_CONVERSION_END,
  JobLogEvent_CONVERSION_FAIL,
  JobLogEvent_CONVERSION_START,
  JobLogEvent_JOB_CANCEL,
  JobLogEvent_JOB_END,
  JobLogEvent_JOB_START,
  JobLogEvent_LAUNCH_FAILED,
  JobLogEvent_LAUNCH_START,
  JobLogEvent_SERVER_SKIPPED,
  JobLogEvent_SNAPSHOT_END,
  JobLogEvent_SNAPSHOT_FAIL,
  JobLogEvent_SNAPSHOT_START,
  JobLogEvent_USING_PREVIOUS_SNAPSHOT,
  JobLogEvent'
  #-}