{-# 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.BuildStatus
-- 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.GameLift.Types.BuildStatus
  ( BuildStatus
      ( ..,
        BuildStatus_FAILED,
        BuildStatus_INITIALIZED,
        BuildStatus_READY
      ),
  )
where

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

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

pattern BuildStatus_FAILED :: BuildStatus
pattern $bBuildStatus_FAILED :: BuildStatus
$mBuildStatus_FAILED :: forall {r}. BuildStatus -> ((# #) -> r) -> ((# #) -> r) -> r
BuildStatus_FAILED = BuildStatus' "FAILED"

pattern BuildStatus_INITIALIZED :: BuildStatus
pattern $bBuildStatus_INITIALIZED :: BuildStatus
$mBuildStatus_INITIALIZED :: forall {r}. BuildStatus -> ((# #) -> r) -> ((# #) -> r) -> r
BuildStatus_INITIALIZED = BuildStatus' "INITIALIZED"

pattern BuildStatus_READY :: BuildStatus
pattern $bBuildStatus_READY :: BuildStatus
$mBuildStatus_READY :: forall {r}. BuildStatus -> ((# #) -> r) -> ((# #) -> r) -> r
BuildStatus_READY = BuildStatus' "READY"

{-# COMPLETE
  BuildStatus_FAILED,
  BuildStatus_INITIALIZED,
  BuildStatus_READY,
  BuildStatus'
  #-}