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

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

-- | Global Configuration Input End Action
newtype GlobalConfigurationInputEndAction = GlobalConfigurationInputEndAction'
  { GlobalConfigurationInputEndAction -> Text
fromGlobalConfigurationInputEndAction ::
      Core.Text
  }
  deriving stock
    ( Int -> GlobalConfigurationInputEndAction -> ShowS
[GlobalConfigurationInputEndAction] -> ShowS
GlobalConfigurationInputEndAction -> String
(Int -> GlobalConfigurationInputEndAction -> ShowS)
-> (GlobalConfigurationInputEndAction -> String)
-> ([GlobalConfigurationInputEndAction] -> ShowS)
-> Show GlobalConfigurationInputEndAction
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]
(Int -> ReadS GlobalConfigurationInputEndAction)
-> ReadS [GlobalConfigurationInputEndAction]
-> ReadPrec GlobalConfigurationInputEndAction
-> ReadPrec [GlobalConfigurationInputEndAction]
-> Read 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
(GlobalConfigurationInputEndAction
 -> GlobalConfigurationInputEndAction -> Bool)
-> (GlobalConfigurationInputEndAction
    -> GlobalConfigurationInputEndAction -> Bool)
-> Eq GlobalConfigurationInputEndAction
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
Eq GlobalConfigurationInputEndAction
-> (GlobalConfigurationInputEndAction
    -> GlobalConfigurationInputEndAction -> Ordering)
-> (GlobalConfigurationInputEndAction
    -> GlobalConfigurationInputEndAction -> Bool)
-> (GlobalConfigurationInputEndAction
    -> GlobalConfigurationInputEndAction -> Bool)
-> (GlobalConfigurationInputEndAction
    -> GlobalConfigurationInputEndAction -> Bool)
-> (GlobalConfigurationInputEndAction
    -> GlobalConfigurationInputEndAction -> Bool)
-> (GlobalConfigurationInputEndAction
    -> GlobalConfigurationInputEndAction
    -> GlobalConfigurationInputEndAction)
-> (GlobalConfigurationInputEndAction
    -> GlobalConfigurationInputEndAction
    -> GlobalConfigurationInputEndAction)
-> Ord 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
$cp1Ord :: Eq GlobalConfigurationInputEndAction
Prelude.Ord,
      (forall x.
 GlobalConfigurationInputEndAction
 -> Rep GlobalConfigurationInputEndAction x)
-> (forall x.
    Rep GlobalConfigurationInputEndAction x
    -> GlobalConfigurationInputEndAction)
-> Generic GlobalConfigurationInputEndAction
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
    ( Int -> GlobalConfigurationInputEndAction -> Int
GlobalConfigurationInputEndAction -> Int
(Int -> GlobalConfigurationInputEndAction -> Int)
-> (GlobalConfigurationInputEndAction -> Int)
-> Hashable GlobalConfigurationInputEndAction
forall 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 -> ()
(GlobalConfigurationInputEndAction -> ())
-> NFData GlobalConfigurationInputEndAction
forall a. (a -> ()) -> NFData a
rnf :: GlobalConfigurationInputEndAction -> ()
$crnf :: GlobalConfigurationInputEndAction -> ()
Prelude.NFData,
      Text -> Either String GlobalConfigurationInputEndAction
(Text -> Either String GlobalConfigurationInputEndAction)
-> FromText GlobalConfigurationInputEndAction
forall a. (Text -> Either String a) -> FromText a
fromText :: Text -> Either String GlobalConfigurationInputEndAction
$cfromText :: Text -> Either String GlobalConfigurationInputEndAction
Core.FromText,
      GlobalConfigurationInputEndAction -> Text
(GlobalConfigurationInputEndAction -> Text)
-> ToText GlobalConfigurationInputEndAction
forall a. (a -> Text) -> ToText a
toText :: GlobalConfigurationInputEndAction -> Text
$ctoText :: GlobalConfigurationInputEndAction -> Text
Core.ToText,
      GlobalConfigurationInputEndAction -> ByteString
(GlobalConfigurationInputEndAction -> ByteString)
-> ToByteString GlobalConfigurationInputEndAction
forall a. (a -> ByteString) -> ToByteString a
toBS :: GlobalConfigurationInputEndAction -> ByteString
$ctoBS :: GlobalConfigurationInputEndAction -> ByteString
Core.ToByteString,
      GlobalConfigurationInputEndAction -> ByteStringBuilder
(GlobalConfigurationInputEndAction -> ByteStringBuilder)
-> ToLog GlobalConfigurationInputEndAction
forall a. (a -> ByteStringBuilder) -> ToLog a
build :: GlobalConfigurationInputEndAction -> ByteStringBuilder
$cbuild :: GlobalConfigurationInputEndAction -> ByteStringBuilder
Core.ToLog,
      HeaderName -> GlobalConfigurationInputEndAction -> [Header]
(HeaderName -> GlobalConfigurationInputEndAction -> [Header])
-> ToHeader GlobalConfigurationInputEndAction
forall a. (HeaderName -> a -> [Header]) -> ToHeader a
toHeader :: HeaderName -> GlobalConfigurationInputEndAction -> [Header]
$ctoHeader :: HeaderName -> GlobalConfigurationInputEndAction -> [Header]
Core.ToHeader,
      GlobalConfigurationInputEndAction -> QueryString
(GlobalConfigurationInputEndAction -> QueryString)
-> ToQuery GlobalConfigurationInputEndAction
forall a. (a -> QueryString) -> ToQuery a
toQuery :: GlobalConfigurationInputEndAction -> QueryString
$ctoQuery :: GlobalConfigurationInputEndAction -> QueryString
Core.ToQuery,
      Value -> Parser [GlobalConfigurationInputEndAction]
Value -> Parser GlobalConfigurationInputEndAction
(Value -> Parser GlobalConfigurationInputEndAction)
-> (Value -> Parser [GlobalConfigurationInputEndAction])
-> FromJSON 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
Core.FromJSON,
      FromJSONKeyFunction [GlobalConfigurationInputEndAction]
FromJSONKeyFunction GlobalConfigurationInputEndAction
FromJSONKeyFunction GlobalConfigurationInputEndAction
-> FromJSONKeyFunction [GlobalConfigurationInputEndAction]
-> FromJSONKey GlobalConfigurationInputEndAction
forall a.
FromJSONKeyFunction a -> FromJSONKeyFunction [a] -> FromJSONKey a
fromJSONKeyList :: FromJSONKeyFunction [GlobalConfigurationInputEndAction]
$cfromJSONKeyList :: FromJSONKeyFunction [GlobalConfigurationInputEndAction]
fromJSONKey :: FromJSONKeyFunction GlobalConfigurationInputEndAction
$cfromJSONKey :: FromJSONKeyFunction GlobalConfigurationInputEndAction
Core.FromJSONKey,
      [GlobalConfigurationInputEndAction] -> Encoding
[GlobalConfigurationInputEndAction] -> Value
GlobalConfigurationInputEndAction -> Encoding
GlobalConfigurationInputEndAction -> Value
(GlobalConfigurationInputEndAction -> Value)
-> (GlobalConfigurationInputEndAction -> Encoding)
-> ([GlobalConfigurationInputEndAction] -> Value)
-> ([GlobalConfigurationInputEndAction] -> Encoding)
-> ToJSON GlobalConfigurationInputEndAction
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
Core.ToJSON,
      ToJSONKeyFunction [GlobalConfigurationInputEndAction]
ToJSONKeyFunction GlobalConfigurationInputEndAction
ToJSONKeyFunction GlobalConfigurationInputEndAction
-> ToJSONKeyFunction [GlobalConfigurationInputEndAction]
-> ToJSONKey GlobalConfigurationInputEndAction
forall a.
ToJSONKeyFunction a -> ToJSONKeyFunction [a] -> ToJSONKey a
toJSONKeyList :: ToJSONKeyFunction [GlobalConfigurationInputEndAction]
$ctoJSONKeyList :: ToJSONKeyFunction [GlobalConfigurationInputEndAction]
toJSONKey :: ToJSONKeyFunction GlobalConfigurationInputEndAction
$ctoJSONKey :: ToJSONKeyFunction GlobalConfigurationInputEndAction
Core.ToJSONKey,
      [Node] -> Either String GlobalConfigurationInputEndAction
([Node] -> Either String GlobalConfigurationInputEndAction)
-> FromXML GlobalConfigurationInputEndAction
forall a. ([Node] -> Either String a) -> FromXML a
parseXML :: [Node] -> Either String GlobalConfigurationInputEndAction
$cparseXML :: [Node] -> Either String GlobalConfigurationInputEndAction
Core.FromXML,
      GlobalConfigurationInputEndAction -> XML
(GlobalConfigurationInputEndAction -> XML)
-> ToXML GlobalConfigurationInputEndAction
forall a. (a -> XML) -> ToXML a
toXML :: GlobalConfigurationInputEndAction -> XML
$ctoXML :: GlobalConfigurationInputEndAction -> XML
Core.ToXML
    )

pattern GlobalConfigurationInputEndAction_NONE :: GlobalConfigurationInputEndAction
pattern $bGlobalConfigurationInputEndAction_NONE :: GlobalConfigurationInputEndAction
$mGlobalConfigurationInputEndAction_NONE :: forall r.
GlobalConfigurationInputEndAction
-> (Void# -> r) -> (Void# -> 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
-> (Void# -> r) -> (Void# -> r) -> r
GlobalConfigurationInputEndAction_SWITCH_AND_LOOP_INPUTS = GlobalConfigurationInputEndAction' "SWITCH_AND_LOOP_INPUTS"

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