{-# 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.MediaLive.Types.GlobalConfigurationInputEndAction
-- 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.MediaLive.Types.GlobalConfigurationInputEndAction
  ( GlobalConfigurationInputEndAction
      ( ..,
        GlobalConfigurationInputEndAction_NONE,
        GlobalConfigurationInputEndAction_SWITCH_AND_LOOP_INPUTS
      ),
  )
where

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

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

pattern GlobalConfigurationInputEndAction_NONE :: GlobalConfigurationInputEndAction
pattern $bGlobalConfigurationInputEndAction_NONE :: GlobalConfigurationInputEndAction
$mGlobalConfigurationInputEndAction_NONE :: forall {r}.
GlobalConfigurationInputEndAction
-> ((# #) -> r) -> ((# #) -> r) -> r
GlobalConfigurationInputEndAction_NONE = GlobalConfigurationInputEndAction' "NONE"

pattern GlobalConfigurationInputEndAction_SWITCH_AND_LOOP_INPUTS :: GlobalConfigurationInputEndAction
pattern $bGlobalConfigurationInputEndAction_SWITCH_AND_LOOP_INPUTS :: GlobalConfigurationInputEndAction
$mGlobalConfigurationInputEndAction_SWITCH_AND_LOOP_INPUTS :: forall {r}.
GlobalConfigurationInputEndAction
-> ((# #) -> r) -> ((# #) -> r) -> r
GlobalConfigurationInputEndAction_SWITCH_AND_LOOP_INPUTS = GlobalConfigurationInputEndAction' "SWITCH_AND_LOOP_INPUTS"

{-# COMPLETE
  GlobalConfigurationInputEndAction_NONE,
  GlobalConfigurationInputEndAction_SWITCH_AND_LOOP_INPUTS,
  GlobalConfigurationInputEndAction'
  #-}