{-# 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.CodeBuild.Types.ReportStatusType
-- 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.CodeBuild.Types.ReportStatusType
  ( ReportStatusType
      ( ..,
        ReportStatusType_DELETING,
        ReportStatusType_FAILED,
        ReportStatusType_GENERATING,
        ReportStatusType_INCOMPLETE,
        ReportStatusType_SUCCEEDED
      ),
  )
where

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

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

pattern ReportStatusType_DELETING :: ReportStatusType
pattern $bReportStatusType_DELETING :: ReportStatusType
$mReportStatusType_DELETING :: forall r. ReportStatusType -> (Void# -> r) -> (Void# -> r) -> r
ReportStatusType_DELETING = ReportStatusType' "DELETING"

pattern ReportStatusType_FAILED :: ReportStatusType
pattern $bReportStatusType_FAILED :: ReportStatusType
$mReportStatusType_FAILED :: forall r. ReportStatusType -> (Void# -> r) -> (Void# -> r) -> r
ReportStatusType_FAILED = ReportStatusType' "FAILED"

pattern ReportStatusType_GENERATING :: ReportStatusType
pattern $bReportStatusType_GENERATING :: ReportStatusType
$mReportStatusType_GENERATING :: forall r. ReportStatusType -> (Void# -> r) -> (Void# -> r) -> r
ReportStatusType_GENERATING = ReportStatusType' "GENERATING"

pattern ReportStatusType_INCOMPLETE :: ReportStatusType
pattern $bReportStatusType_INCOMPLETE :: ReportStatusType
$mReportStatusType_INCOMPLETE :: forall r. ReportStatusType -> (Void# -> r) -> (Void# -> r) -> r
ReportStatusType_INCOMPLETE = ReportStatusType' "INCOMPLETE"

pattern ReportStatusType_SUCCEEDED :: ReportStatusType
pattern $bReportStatusType_SUCCEEDED :: ReportStatusType
$mReportStatusType_SUCCEEDED :: forall r. ReportStatusType -> (Void# -> r) -> (Void# -> r) -> r
ReportStatusType_SUCCEEDED = ReportStatusType' "SUCCEEDED"

{-# COMPLETE
  ReportStatusType_DELETING,
  ReportStatusType_FAILED,
  ReportStatusType_GENERATING,
  ReportStatusType_INCOMPLETE,
  ReportStatusType_SUCCEEDED,
  ReportStatusType'
  #-}