{-# 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.ELBV2.Types.RedirectActionStatusCodeEnum
-- 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.ELBV2.Types.RedirectActionStatusCodeEnum
  ( RedirectActionStatusCodeEnum
      ( ..,
        RedirectActionStatusCodeEnum_HTTP_301,
        RedirectActionStatusCodeEnum_HTTP_302
      ),
  )
where

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

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

pattern RedirectActionStatusCodeEnum_HTTP_301 :: RedirectActionStatusCodeEnum
pattern $bRedirectActionStatusCodeEnum_HTTP_301 :: RedirectActionStatusCodeEnum
$mRedirectActionStatusCodeEnum_HTTP_301 :: forall r.
RedirectActionStatusCodeEnum -> (Void# -> r) -> (Void# -> r) -> r
RedirectActionStatusCodeEnum_HTTP_301 = RedirectActionStatusCodeEnum' "HTTP_301"

pattern RedirectActionStatusCodeEnum_HTTP_302 :: RedirectActionStatusCodeEnum
pattern $bRedirectActionStatusCodeEnum_HTTP_302 :: RedirectActionStatusCodeEnum
$mRedirectActionStatusCodeEnum_HTTP_302 :: forall r.
RedirectActionStatusCodeEnum -> (Void# -> r) -> (Void# -> r) -> r
RedirectActionStatusCodeEnum_HTTP_302 = RedirectActionStatusCodeEnum' "HTTP_302"

{-# COMPLETE
  RedirectActionStatusCodeEnum_HTTP_301,
  RedirectActionStatusCodeEnum_HTTP_302,
  RedirectActionStatusCodeEnum'
  #-}