{-# 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.GameLift.Types.MatchmakingConfigurationStatus
-- 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.GameLift.Types.MatchmakingConfigurationStatus
  ( MatchmakingConfigurationStatus
      ( ..,
        MatchmakingConfigurationStatus_CANCELLED,
        MatchmakingConfigurationStatus_COMPLETED,
        MatchmakingConfigurationStatus_FAILED,
        MatchmakingConfigurationStatus_PLACING,
        MatchmakingConfigurationStatus_QUEUED,
        MatchmakingConfigurationStatus_REQUIRES_ACCEPTANCE,
        MatchmakingConfigurationStatus_SEARCHING,
        MatchmakingConfigurationStatus_TIMED_OUT
      ),
  )
where

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

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

pattern MatchmakingConfigurationStatus_CANCELLED :: MatchmakingConfigurationStatus
pattern $bMatchmakingConfigurationStatus_CANCELLED :: MatchmakingConfigurationStatus
$mMatchmakingConfigurationStatus_CANCELLED :: forall r.
MatchmakingConfigurationStatus -> (Void# -> r) -> (Void# -> r) -> r
MatchmakingConfigurationStatus_CANCELLED = MatchmakingConfigurationStatus' "CANCELLED"

pattern MatchmakingConfigurationStatus_COMPLETED :: MatchmakingConfigurationStatus
pattern $bMatchmakingConfigurationStatus_COMPLETED :: MatchmakingConfigurationStatus
$mMatchmakingConfigurationStatus_COMPLETED :: forall r.
MatchmakingConfigurationStatus -> (Void# -> r) -> (Void# -> r) -> r
MatchmakingConfigurationStatus_COMPLETED = MatchmakingConfigurationStatus' "COMPLETED"

pattern MatchmakingConfigurationStatus_FAILED :: MatchmakingConfigurationStatus
pattern $bMatchmakingConfigurationStatus_FAILED :: MatchmakingConfigurationStatus
$mMatchmakingConfigurationStatus_FAILED :: forall r.
MatchmakingConfigurationStatus -> (Void# -> r) -> (Void# -> r) -> r
MatchmakingConfigurationStatus_FAILED = MatchmakingConfigurationStatus' "FAILED"

pattern MatchmakingConfigurationStatus_PLACING :: MatchmakingConfigurationStatus
pattern $bMatchmakingConfigurationStatus_PLACING :: MatchmakingConfigurationStatus
$mMatchmakingConfigurationStatus_PLACING :: forall r.
MatchmakingConfigurationStatus -> (Void# -> r) -> (Void# -> r) -> r
MatchmakingConfigurationStatus_PLACING = MatchmakingConfigurationStatus' "PLACING"

pattern MatchmakingConfigurationStatus_QUEUED :: MatchmakingConfigurationStatus
pattern $bMatchmakingConfigurationStatus_QUEUED :: MatchmakingConfigurationStatus
$mMatchmakingConfigurationStatus_QUEUED :: forall r.
MatchmakingConfigurationStatus -> (Void# -> r) -> (Void# -> r) -> r
MatchmakingConfigurationStatus_QUEUED = MatchmakingConfigurationStatus' "QUEUED"

pattern MatchmakingConfigurationStatus_REQUIRES_ACCEPTANCE :: MatchmakingConfigurationStatus
pattern $bMatchmakingConfigurationStatus_REQUIRES_ACCEPTANCE :: MatchmakingConfigurationStatus
$mMatchmakingConfigurationStatus_REQUIRES_ACCEPTANCE :: forall r.
MatchmakingConfigurationStatus -> (Void# -> r) -> (Void# -> r) -> r
MatchmakingConfigurationStatus_REQUIRES_ACCEPTANCE = MatchmakingConfigurationStatus' "REQUIRES_ACCEPTANCE"

pattern MatchmakingConfigurationStatus_SEARCHING :: MatchmakingConfigurationStatus
pattern $bMatchmakingConfigurationStatus_SEARCHING :: MatchmakingConfigurationStatus
$mMatchmakingConfigurationStatus_SEARCHING :: forall r.
MatchmakingConfigurationStatus -> (Void# -> r) -> (Void# -> r) -> r
MatchmakingConfigurationStatus_SEARCHING = MatchmakingConfigurationStatus' "SEARCHING"

pattern MatchmakingConfigurationStatus_TIMED_OUT :: MatchmakingConfigurationStatus
pattern $bMatchmakingConfigurationStatus_TIMED_OUT :: MatchmakingConfigurationStatus
$mMatchmakingConfigurationStatus_TIMED_OUT :: forall r.
MatchmakingConfigurationStatus -> (Void# -> r) -> (Void# -> r) -> r
MatchmakingConfigurationStatus_TIMED_OUT = MatchmakingConfigurationStatus' "TIMED_OUT"

{-# COMPLETE
  MatchmakingConfigurationStatus_CANCELLED,
  MatchmakingConfigurationStatus_COMPLETED,
  MatchmakingConfigurationStatus_FAILED,
  MatchmakingConfigurationStatus_PLACING,
  MatchmakingConfigurationStatus_QUEUED,
  MatchmakingConfigurationStatus_REQUIRES_ACCEPTANCE,
  MatchmakingConfigurationStatus_SEARCHING,
  MatchmakingConfigurationStatus_TIMED_OUT,
  MatchmakingConfigurationStatus'
  #-}