{-# 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.MigrationHubReFactorSpaces.Types.RouteActivationState
-- 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.MigrationHubReFactorSpaces.Types.RouteActivationState
  ( RouteActivationState
      ( ..,
        RouteActivationState_ACTIVE,
        RouteActivationState_INACTIVE
      ),
  )
where

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

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

pattern RouteActivationState_ACTIVE :: RouteActivationState
pattern $bRouteActivationState_ACTIVE :: RouteActivationState
$mRouteActivationState_ACTIVE :: forall {r}.
RouteActivationState -> ((# #) -> r) -> ((# #) -> r) -> r
RouteActivationState_ACTIVE = RouteActivationState' "ACTIVE"

pattern RouteActivationState_INACTIVE :: RouteActivationState
pattern $bRouteActivationState_INACTIVE :: RouteActivationState
$mRouteActivationState_INACTIVE :: forall {r}.
RouteActivationState -> ((# #) -> r) -> ((# #) -> r) -> r
RouteActivationState_INACTIVE = RouteActivationState' "INACTIVE"

{-# COMPLETE
  RouteActivationState_ACTIVE,
  RouteActivationState_INACTIVE,
  RouteActivationState'
  #-}