{-# 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.ReportGroupTrendFieldType
-- 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.ReportGroupTrendFieldType
  ( ReportGroupTrendFieldType
      ( ..,
        ReportGroupTrendFieldType_BRANCHES_COVERED,
        ReportGroupTrendFieldType_BRANCHES_MISSED,
        ReportGroupTrendFieldType_BRANCH_COVERAGE,
        ReportGroupTrendFieldType_DURATION,
        ReportGroupTrendFieldType_LINES_COVERED,
        ReportGroupTrendFieldType_LINES_MISSED,
        ReportGroupTrendFieldType_LINE_COVERAGE,
        ReportGroupTrendFieldType_PASS_RATE,
        ReportGroupTrendFieldType_TOTAL
      ),
  )
where

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

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

pattern ReportGroupTrendFieldType_BRANCHES_COVERED :: ReportGroupTrendFieldType
pattern $bReportGroupTrendFieldType_BRANCHES_COVERED :: ReportGroupTrendFieldType
$mReportGroupTrendFieldType_BRANCHES_COVERED :: forall r.
ReportGroupTrendFieldType -> (Void# -> r) -> (Void# -> r) -> r
ReportGroupTrendFieldType_BRANCHES_COVERED = ReportGroupTrendFieldType' "BRANCHES_COVERED"

pattern ReportGroupTrendFieldType_BRANCHES_MISSED :: ReportGroupTrendFieldType
pattern $bReportGroupTrendFieldType_BRANCHES_MISSED :: ReportGroupTrendFieldType
$mReportGroupTrendFieldType_BRANCHES_MISSED :: forall r.
ReportGroupTrendFieldType -> (Void# -> r) -> (Void# -> r) -> r
ReportGroupTrendFieldType_BRANCHES_MISSED = ReportGroupTrendFieldType' "BRANCHES_MISSED"

pattern ReportGroupTrendFieldType_BRANCH_COVERAGE :: ReportGroupTrendFieldType
pattern $bReportGroupTrendFieldType_BRANCH_COVERAGE :: ReportGroupTrendFieldType
$mReportGroupTrendFieldType_BRANCH_COVERAGE :: forall r.
ReportGroupTrendFieldType -> (Void# -> r) -> (Void# -> r) -> r
ReportGroupTrendFieldType_BRANCH_COVERAGE = ReportGroupTrendFieldType' "BRANCH_COVERAGE"

pattern ReportGroupTrendFieldType_DURATION :: ReportGroupTrendFieldType
pattern $bReportGroupTrendFieldType_DURATION :: ReportGroupTrendFieldType
$mReportGroupTrendFieldType_DURATION :: forall r.
ReportGroupTrendFieldType -> (Void# -> r) -> (Void# -> r) -> r
ReportGroupTrendFieldType_DURATION = ReportGroupTrendFieldType' "DURATION"

pattern ReportGroupTrendFieldType_LINES_COVERED :: ReportGroupTrendFieldType
pattern $bReportGroupTrendFieldType_LINES_COVERED :: ReportGroupTrendFieldType
$mReportGroupTrendFieldType_LINES_COVERED :: forall r.
ReportGroupTrendFieldType -> (Void# -> r) -> (Void# -> r) -> r
ReportGroupTrendFieldType_LINES_COVERED = ReportGroupTrendFieldType' "LINES_COVERED"

pattern ReportGroupTrendFieldType_LINES_MISSED :: ReportGroupTrendFieldType
pattern $bReportGroupTrendFieldType_LINES_MISSED :: ReportGroupTrendFieldType
$mReportGroupTrendFieldType_LINES_MISSED :: forall r.
ReportGroupTrendFieldType -> (Void# -> r) -> (Void# -> r) -> r
ReportGroupTrendFieldType_LINES_MISSED = ReportGroupTrendFieldType' "LINES_MISSED"

pattern ReportGroupTrendFieldType_LINE_COVERAGE :: ReportGroupTrendFieldType
pattern $bReportGroupTrendFieldType_LINE_COVERAGE :: ReportGroupTrendFieldType
$mReportGroupTrendFieldType_LINE_COVERAGE :: forall r.
ReportGroupTrendFieldType -> (Void# -> r) -> (Void# -> r) -> r
ReportGroupTrendFieldType_LINE_COVERAGE = ReportGroupTrendFieldType' "LINE_COVERAGE"

pattern ReportGroupTrendFieldType_PASS_RATE :: ReportGroupTrendFieldType
pattern $bReportGroupTrendFieldType_PASS_RATE :: ReportGroupTrendFieldType
$mReportGroupTrendFieldType_PASS_RATE :: forall r.
ReportGroupTrendFieldType -> (Void# -> r) -> (Void# -> r) -> r
ReportGroupTrendFieldType_PASS_RATE = ReportGroupTrendFieldType' "PASS_RATE"

pattern ReportGroupTrendFieldType_TOTAL :: ReportGroupTrendFieldType
pattern $bReportGroupTrendFieldType_TOTAL :: ReportGroupTrendFieldType
$mReportGroupTrendFieldType_TOTAL :: forall r.
ReportGroupTrendFieldType -> (Void# -> r) -> (Void# -> r) -> r
ReportGroupTrendFieldType_TOTAL = ReportGroupTrendFieldType' "TOTAL"

{-# COMPLETE
  ReportGroupTrendFieldType_BRANCHES_COVERED,
  ReportGroupTrendFieldType_BRANCHES_MISSED,
  ReportGroupTrendFieldType_BRANCH_COVERAGE,
  ReportGroupTrendFieldType_DURATION,
  ReportGroupTrendFieldType_LINES_COVERED,
  ReportGroupTrendFieldType_LINES_MISSED,
  ReportGroupTrendFieldType_LINE_COVERAGE,
  ReportGroupTrendFieldType_PASS_RATE,
  ReportGroupTrendFieldType_TOTAL,
  ReportGroupTrendFieldType'
  #-}