{-# 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.MediaConvert.Types.DescribeEndpointsMode
-- 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.MediaConvert.Types.DescribeEndpointsMode
  ( DescribeEndpointsMode
      ( ..,
        DescribeEndpointsMode_DEFAULT,
        DescribeEndpointsMode_GET_ONLY
      ),
  )
where

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

-- | Optional field, defaults to DEFAULT. Specify DEFAULT for this operation
-- to return your endpoints if any exist, or to create an endpoint for you
-- and return it if one doesn\'t already exist. Specify GET_ONLY to return
-- your endpoints if any exist, or an empty list if none exist.
newtype DescribeEndpointsMode = DescribeEndpointsMode'
  { DescribeEndpointsMode -> Text
fromDescribeEndpointsMode ::
      Core.Text
  }
  deriving stock
    ( Int -> DescribeEndpointsMode -> ShowS
[DescribeEndpointsMode] -> ShowS
DescribeEndpointsMode -> String
(Int -> DescribeEndpointsMode -> ShowS)
-> (DescribeEndpointsMode -> String)
-> ([DescribeEndpointsMode] -> ShowS)
-> Show DescribeEndpointsMode
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeEndpointsMode] -> ShowS
$cshowList :: [DescribeEndpointsMode] -> ShowS
show :: DescribeEndpointsMode -> String
$cshow :: DescribeEndpointsMode -> String
showsPrec :: Int -> DescribeEndpointsMode -> ShowS
$cshowsPrec :: Int -> DescribeEndpointsMode -> ShowS
Prelude.Show,
      ReadPrec [DescribeEndpointsMode]
ReadPrec DescribeEndpointsMode
Int -> ReadS DescribeEndpointsMode
ReadS [DescribeEndpointsMode]
(Int -> ReadS DescribeEndpointsMode)
-> ReadS [DescribeEndpointsMode]
-> ReadPrec DescribeEndpointsMode
-> ReadPrec [DescribeEndpointsMode]
-> Read DescribeEndpointsMode
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeEndpointsMode]
$creadListPrec :: ReadPrec [DescribeEndpointsMode]
readPrec :: ReadPrec DescribeEndpointsMode
$creadPrec :: ReadPrec DescribeEndpointsMode
readList :: ReadS [DescribeEndpointsMode]
$creadList :: ReadS [DescribeEndpointsMode]
readsPrec :: Int -> ReadS DescribeEndpointsMode
$creadsPrec :: Int -> ReadS DescribeEndpointsMode
Prelude.Read,
      DescribeEndpointsMode -> DescribeEndpointsMode -> Bool
(DescribeEndpointsMode -> DescribeEndpointsMode -> Bool)
-> (DescribeEndpointsMode -> DescribeEndpointsMode -> Bool)
-> Eq DescribeEndpointsMode
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeEndpointsMode -> DescribeEndpointsMode -> Bool
$c/= :: DescribeEndpointsMode -> DescribeEndpointsMode -> Bool
== :: DescribeEndpointsMode -> DescribeEndpointsMode -> Bool
$c== :: DescribeEndpointsMode -> DescribeEndpointsMode -> Bool
Prelude.Eq,
      Eq DescribeEndpointsMode
Eq DescribeEndpointsMode
-> (DescribeEndpointsMode -> DescribeEndpointsMode -> Ordering)
-> (DescribeEndpointsMode -> DescribeEndpointsMode -> Bool)
-> (DescribeEndpointsMode -> DescribeEndpointsMode -> Bool)
-> (DescribeEndpointsMode -> DescribeEndpointsMode -> Bool)
-> (DescribeEndpointsMode -> DescribeEndpointsMode -> Bool)
-> (DescribeEndpointsMode
    -> DescribeEndpointsMode -> DescribeEndpointsMode)
-> (DescribeEndpointsMode
    -> DescribeEndpointsMode -> DescribeEndpointsMode)
-> Ord DescribeEndpointsMode
DescribeEndpointsMode -> DescribeEndpointsMode -> Bool
DescribeEndpointsMode -> DescribeEndpointsMode -> Ordering
DescribeEndpointsMode
-> DescribeEndpointsMode -> DescribeEndpointsMode
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 :: DescribeEndpointsMode
-> DescribeEndpointsMode -> DescribeEndpointsMode
$cmin :: DescribeEndpointsMode
-> DescribeEndpointsMode -> DescribeEndpointsMode
max :: DescribeEndpointsMode
-> DescribeEndpointsMode -> DescribeEndpointsMode
$cmax :: DescribeEndpointsMode
-> DescribeEndpointsMode -> DescribeEndpointsMode
>= :: DescribeEndpointsMode -> DescribeEndpointsMode -> Bool
$c>= :: DescribeEndpointsMode -> DescribeEndpointsMode -> Bool
> :: DescribeEndpointsMode -> DescribeEndpointsMode -> Bool
$c> :: DescribeEndpointsMode -> DescribeEndpointsMode -> Bool
<= :: DescribeEndpointsMode -> DescribeEndpointsMode -> Bool
$c<= :: DescribeEndpointsMode -> DescribeEndpointsMode -> Bool
< :: DescribeEndpointsMode -> DescribeEndpointsMode -> Bool
$c< :: DescribeEndpointsMode -> DescribeEndpointsMode -> Bool
compare :: DescribeEndpointsMode -> DescribeEndpointsMode -> Ordering
$ccompare :: DescribeEndpointsMode -> DescribeEndpointsMode -> Ordering
$cp1Ord :: Eq DescribeEndpointsMode
Prelude.Ord,
      (forall x. DescribeEndpointsMode -> Rep DescribeEndpointsMode x)
-> (forall x. Rep DescribeEndpointsMode x -> DescribeEndpointsMode)
-> Generic DescribeEndpointsMode
forall x. Rep DescribeEndpointsMode x -> DescribeEndpointsMode
forall x. DescribeEndpointsMode -> Rep DescribeEndpointsMode x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeEndpointsMode x -> DescribeEndpointsMode
$cfrom :: forall x. DescribeEndpointsMode -> Rep DescribeEndpointsMode x
Prelude.Generic
    )
  deriving newtype
    ( Int -> DescribeEndpointsMode -> Int
DescribeEndpointsMode -> Int
(Int -> DescribeEndpointsMode -> Int)
-> (DescribeEndpointsMode -> Int) -> Hashable DescribeEndpointsMode
forall a. (Int -> a -> Int) -> (a -> Int) -> Hashable a
hash :: DescribeEndpointsMode -> Int
$chash :: DescribeEndpointsMode -> Int
hashWithSalt :: Int -> DescribeEndpointsMode -> Int
$chashWithSalt :: Int -> DescribeEndpointsMode -> Int
Prelude.Hashable,
      DescribeEndpointsMode -> ()
(DescribeEndpointsMode -> ()) -> NFData DescribeEndpointsMode
forall a. (a -> ()) -> NFData a
rnf :: DescribeEndpointsMode -> ()
$crnf :: DescribeEndpointsMode -> ()
Prelude.NFData,
      Text -> Either String DescribeEndpointsMode
(Text -> Either String DescribeEndpointsMode)
-> FromText DescribeEndpointsMode
forall a. (Text -> Either String a) -> FromText a
fromText :: Text -> Either String DescribeEndpointsMode
$cfromText :: Text -> Either String DescribeEndpointsMode
Core.FromText,
      DescribeEndpointsMode -> Text
(DescribeEndpointsMode -> Text) -> ToText DescribeEndpointsMode
forall a. (a -> Text) -> ToText a
toText :: DescribeEndpointsMode -> Text
$ctoText :: DescribeEndpointsMode -> Text
Core.ToText,
      DescribeEndpointsMode -> ByteString
(DescribeEndpointsMode -> ByteString)
-> ToByteString DescribeEndpointsMode
forall a. (a -> ByteString) -> ToByteString a
toBS :: DescribeEndpointsMode -> ByteString
$ctoBS :: DescribeEndpointsMode -> ByteString
Core.ToByteString,
      DescribeEndpointsMode -> ByteStringBuilder
(DescribeEndpointsMode -> ByteStringBuilder)
-> ToLog DescribeEndpointsMode
forall a. (a -> ByteStringBuilder) -> ToLog a
build :: DescribeEndpointsMode -> ByteStringBuilder
$cbuild :: DescribeEndpointsMode -> ByteStringBuilder
Core.ToLog,
      HeaderName -> DescribeEndpointsMode -> [Header]
(HeaderName -> DescribeEndpointsMode -> [Header])
-> ToHeader DescribeEndpointsMode
forall a. (HeaderName -> a -> [Header]) -> ToHeader a
toHeader :: HeaderName -> DescribeEndpointsMode -> [Header]
$ctoHeader :: HeaderName -> DescribeEndpointsMode -> [Header]
Core.ToHeader,
      DescribeEndpointsMode -> QueryString
(DescribeEndpointsMode -> QueryString)
-> ToQuery DescribeEndpointsMode
forall a. (a -> QueryString) -> ToQuery a
toQuery :: DescribeEndpointsMode -> QueryString
$ctoQuery :: DescribeEndpointsMode -> QueryString
Core.ToQuery,
      Value -> Parser [DescribeEndpointsMode]
Value -> Parser DescribeEndpointsMode
(Value -> Parser DescribeEndpointsMode)
-> (Value -> Parser [DescribeEndpointsMode])
-> FromJSON DescribeEndpointsMode
forall a.
(Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a
parseJSONList :: Value -> Parser [DescribeEndpointsMode]
$cparseJSONList :: Value -> Parser [DescribeEndpointsMode]
parseJSON :: Value -> Parser DescribeEndpointsMode
$cparseJSON :: Value -> Parser DescribeEndpointsMode
Core.FromJSON,
      FromJSONKeyFunction [DescribeEndpointsMode]
FromJSONKeyFunction DescribeEndpointsMode
FromJSONKeyFunction DescribeEndpointsMode
-> FromJSONKeyFunction [DescribeEndpointsMode]
-> FromJSONKey DescribeEndpointsMode
forall a.
FromJSONKeyFunction a -> FromJSONKeyFunction [a] -> FromJSONKey a
fromJSONKeyList :: FromJSONKeyFunction [DescribeEndpointsMode]
$cfromJSONKeyList :: FromJSONKeyFunction [DescribeEndpointsMode]
fromJSONKey :: FromJSONKeyFunction DescribeEndpointsMode
$cfromJSONKey :: FromJSONKeyFunction DescribeEndpointsMode
Core.FromJSONKey,
      [DescribeEndpointsMode] -> Encoding
[DescribeEndpointsMode] -> Value
DescribeEndpointsMode -> Encoding
DescribeEndpointsMode -> Value
(DescribeEndpointsMode -> Value)
-> (DescribeEndpointsMode -> Encoding)
-> ([DescribeEndpointsMode] -> Value)
-> ([DescribeEndpointsMode] -> Encoding)
-> ToJSON DescribeEndpointsMode
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> ToJSON a
toEncodingList :: [DescribeEndpointsMode] -> Encoding
$ctoEncodingList :: [DescribeEndpointsMode] -> Encoding
toJSONList :: [DescribeEndpointsMode] -> Value
$ctoJSONList :: [DescribeEndpointsMode] -> Value
toEncoding :: DescribeEndpointsMode -> Encoding
$ctoEncoding :: DescribeEndpointsMode -> Encoding
toJSON :: DescribeEndpointsMode -> Value
$ctoJSON :: DescribeEndpointsMode -> Value
Core.ToJSON,
      ToJSONKeyFunction [DescribeEndpointsMode]
ToJSONKeyFunction DescribeEndpointsMode
ToJSONKeyFunction DescribeEndpointsMode
-> ToJSONKeyFunction [DescribeEndpointsMode]
-> ToJSONKey DescribeEndpointsMode
forall a.
ToJSONKeyFunction a -> ToJSONKeyFunction [a] -> ToJSONKey a
toJSONKeyList :: ToJSONKeyFunction [DescribeEndpointsMode]
$ctoJSONKeyList :: ToJSONKeyFunction [DescribeEndpointsMode]
toJSONKey :: ToJSONKeyFunction DescribeEndpointsMode
$ctoJSONKey :: ToJSONKeyFunction DescribeEndpointsMode
Core.ToJSONKey,
      [Node] -> Either String DescribeEndpointsMode
([Node] -> Either String DescribeEndpointsMode)
-> FromXML DescribeEndpointsMode
forall a. ([Node] -> Either String a) -> FromXML a
parseXML :: [Node] -> Either String DescribeEndpointsMode
$cparseXML :: [Node] -> Either String DescribeEndpointsMode
Core.FromXML,
      DescribeEndpointsMode -> XML
(DescribeEndpointsMode -> XML) -> ToXML DescribeEndpointsMode
forall a. (a -> XML) -> ToXML a
toXML :: DescribeEndpointsMode -> XML
$ctoXML :: DescribeEndpointsMode -> XML
Core.ToXML
    )

pattern DescribeEndpointsMode_DEFAULT :: DescribeEndpointsMode
pattern $bDescribeEndpointsMode_DEFAULT :: DescribeEndpointsMode
$mDescribeEndpointsMode_DEFAULT :: forall r.
DescribeEndpointsMode -> (Void# -> r) -> (Void# -> r) -> r
DescribeEndpointsMode_DEFAULT = DescribeEndpointsMode' "DEFAULT"

pattern DescribeEndpointsMode_GET_ONLY :: DescribeEndpointsMode
pattern $bDescribeEndpointsMode_GET_ONLY :: DescribeEndpointsMode
$mDescribeEndpointsMode_GET_ONLY :: forall r.
DescribeEndpointsMode -> (Void# -> r) -> (Void# -> r) -> r
DescribeEndpointsMode_GET_ONLY = DescribeEndpointsMode' "GET_ONLY"

{-# COMPLETE
  DescribeEndpointsMode_DEFAULT,
  DescribeEndpointsMode_GET_ONLY,
  DescribeEndpointsMode'
  #-}