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

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

newtype BuildStatus = BuildStatus'
  { BuildStatus -> Text
fromBuildStatus ::
      Core.Text
  }
  deriving stock
    ( Int -> BuildStatus -> ShowS
[BuildStatus] -> ShowS
BuildStatus -> String
(Int -> BuildStatus -> ShowS)
-> (BuildStatus -> String)
-> ([BuildStatus] -> ShowS)
-> Show BuildStatus
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]
(Int -> ReadS BuildStatus)
-> ReadS [BuildStatus]
-> ReadPrec BuildStatus
-> ReadPrec [BuildStatus]
-> Read 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
(BuildStatus -> BuildStatus -> Bool)
-> (BuildStatus -> BuildStatus -> Bool) -> Eq BuildStatus
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
Eq BuildStatus
-> (BuildStatus -> BuildStatus -> Ordering)
-> (BuildStatus -> BuildStatus -> Bool)
-> (BuildStatus -> BuildStatus -> Bool)
-> (BuildStatus -> BuildStatus -> Bool)
-> (BuildStatus -> BuildStatus -> Bool)
-> (BuildStatus -> BuildStatus -> BuildStatus)
-> (BuildStatus -> BuildStatus -> BuildStatus)
-> Ord 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
$cp1Ord :: Eq BuildStatus
Prelude.Ord,
      (forall x. BuildStatus -> Rep BuildStatus x)
-> (forall x. Rep BuildStatus x -> BuildStatus)
-> Generic BuildStatus
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
    ( Int -> BuildStatus -> Int
BuildStatus -> Int
(Int -> BuildStatus -> Int)
-> (BuildStatus -> Int) -> Hashable BuildStatus
forall 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 -> ()
(BuildStatus -> ()) -> NFData BuildStatus
forall a. (a -> ()) -> NFData a
rnf :: BuildStatus -> ()
$crnf :: BuildStatus -> ()
Prelude.NFData,
      Text -> Either String BuildStatus
(Text -> Either String BuildStatus) -> FromText BuildStatus
forall a. (Text -> Either String a) -> FromText a
fromText :: Text -> Either String BuildStatus
$cfromText :: Text -> Either String BuildStatus
Core.FromText,
      BuildStatus -> Text
(BuildStatus -> Text) -> ToText BuildStatus
forall a. (a -> Text) -> ToText a
toText :: BuildStatus -> Text
$ctoText :: BuildStatus -> Text
Core.ToText,
      BuildStatus -> ByteString
(BuildStatus -> ByteString) -> ToByteString BuildStatus
forall a. (a -> ByteString) -> ToByteString a
toBS :: BuildStatus -> ByteString
$ctoBS :: BuildStatus -> ByteString
Core.ToByteString,
      BuildStatus -> ByteStringBuilder
(BuildStatus -> ByteStringBuilder) -> ToLog BuildStatus
forall a. (a -> ByteStringBuilder) -> ToLog a
build :: BuildStatus -> ByteStringBuilder
$cbuild :: BuildStatus -> ByteStringBuilder
Core.ToLog,
      HeaderName -> BuildStatus -> [Header]
(HeaderName -> BuildStatus -> [Header]) -> ToHeader BuildStatus
forall a. (HeaderName -> a -> [Header]) -> ToHeader a
toHeader :: HeaderName -> BuildStatus -> [Header]
$ctoHeader :: HeaderName -> BuildStatus -> [Header]
Core.ToHeader,
      BuildStatus -> QueryString
(BuildStatus -> QueryString) -> ToQuery BuildStatus
forall a. (a -> QueryString) -> ToQuery a
toQuery :: BuildStatus -> QueryString
$ctoQuery :: BuildStatus -> QueryString
Core.ToQuery,
      Value -> Parser [BuildStatus]
Value -> Parser BuildStatus
(Value -> Parser BuildStatus)
-> (Value -> Parser [BuildStatus]) -> FromJSON 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
Core.FromJSON,
      FromJSONKeyFunction [BuildStatus]
FromJSONKeyFunction BuildStatus
FromJSONKeyFunction BuildStatus
-> FromJSONKeyFunction [BuildStatus] -> FromJSONKey BuildStatus
forall a.
FromJSONKeyFunction a -> FromJSONKeyFunction [a] -> FromJSONKey a
fromJSONKeyList :: FromJSONKeyFunction [BuildStatus]
$cfromJSONKeyList :: FromJSONKeyFunction [BuildStatus]
fromJSONKey :: FromJSONKeyFunction BuildStatus
$cfromJSONKey :: FromJSONKeyFunction BuildStatus
Core.FromJSONKey,
      [BuildStatus] -> Encoding
[BuildStatus] -> Value
BuildStatus -> Encoding
BuildStatus -> Value
(BuildStatus -> Value)
-> (BuildStatus -> Encoding)
-> ([BuildStatus] -> Value)
-> ([BuildStatus] -> Encoding)
-> ToJSON BuildStatus
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
Core.ToJSON,
      ToJSONKeyFunction [BuildStatus]
ToJSONKeyFunction BuildStatus
ToJSONKeyFunction BuildStatus
-> ToJSONKeyFunction [BuildStatus] -> ToJSONKey BuildStatus
forall a.
ToJSONKeyFunction a -> ToJSONKeyFunction [a] -> ToJSONKey a
toJSONKeyList :: ToJSONKeyFunction [BuildStatus]
$ctoJSONKeyList :: ToJSONKeyFunction [BuildStatus]
toJSONKey :: ToJSONKeyFunction BuildStatus
$ctoJSONKey :: ToJSONKeyFunction BuildStatus
Core.ToJSONKey,
      [Node] -> Either String BuildStatus
([Node] -> Either String BuildStatus) -> FromXML BuildStatus
forall a. ([Node] -> Either String a) -> FromXML a
parseXML :: [Node] -> Either String BuildStatus
$cparseXML :: [Node] -> Either String BuildStatus
Core.FromXML,
      BuildStatus -> XML
(BuildStatus -> XML) -> ToXML BuildStatus
forall a. (a -> XML) -> ToXML a
toXML :: BuildStatus -> XML
$ctoXML :: BuildStatus -> XML
Core.ToXML
    )

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

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

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

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