{-# 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.AppMesh.Types.VirtualRouterStatusCode
-- 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.AppMesh.Types.VirtualRouterStatusCode
  ( VirtualRouterStatusCode
      ( ..,
        VirtualRouterStatusCode_ACTIVE,
        VirtualRouterStatusCode_DELETED,
        VirtualRouterStatusCode_INACTIVE
      ),
  )
where

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

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

pattern VirtualRouterStatusCode_ACTIVE :: VirtualRouterStatusCode
pattern $bVirtualRouterStatusCode_ACTIVE :: VirtualRouterStatusCode
$mVirtualRouterStatusCode_ACTIVE :: forall r.
VirtualRouterStatusCode -> (Void# -> r) -> (Void# -> r) -> r
VirtualRouterStatusCode_ACTIVE = VirtualRouterStatusCode' "ACTIVE"

pattern VirtualRouterStatusCode_DELETED :: VirtualRouterStatusCode
pattern $bVirtualRouterStatusCode_DELETED :: VirtualRouterStatusCode
$mVirtualRouterStatusCode_DELETED :: forall r.
VirtualRouterStatusCode -> (Void# -> r) -> (Void# -> r) -> r
VirtualRouterStatusCode_DELETED = VirtualRouterStatusCode' "DELETED"

pattern VirtualRouterStatusCode_INACTIVE :: VirtualRouterStatusCode
pattern $bVirtualRouterStatusCode_INACTIVE :: VirtualRouterStatusCode
$mVirtualRouterStatusCode_INACTIVE :: forall r.
VirtualRouterStatusCode -> (Void# -> r) -> (Void# -> r) -> r
VirtualRouterStatusCode_INACTIVE = VirtualRouterStatusCode' "INACTIVE"

{-# COMPLETE
  VirtualRouterStatusCode_ACTIVE,
  VirtualRouterStatusCode_DELETED,
  VirtualRouterStatusCode_INACTIVE,
  VirtualRouterStatusCode'
  #-}