{-# 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.Inspector2.Types.FindingStatus
-- 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.Inspector2.Types.FindingStatus
  ( FindingStatus
      ( ..,
        FindingStatus_ACTIVE,
        FindingStatus_CLOSED,
        FindingStatus_SUPPRESSED
      ),
  )
where

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

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

pattern FindingStatus_ACTIVE :: FindingStatus
pattern $bFindingStatus_ACTIVE :: FindingStatus
$mFindingStatus_ACTIVE :: forall {r}. FindingStatus -> ((# #) -> r) -> ((# #) -> r) -> r
FindingStatus_ACTIVE = FindingStatus' "ACTIVE"

pattern FindingStatus_CLOSED :: FindingStatus
pattern $bFindingStatus_CLOSED :: FindingStatus
$mFindingStatus_CLOSED :: forall {r}. FindingStatus -> ((# #) -> r) -> ((# #) -> r) -> r
FindingStatus_CLOSED = FindingStatus' "CLOSED"

pattern FindingStatus_SUPPRESSED :: FindingStatus
pattern $bFindingStatus_SUPPRESSED :: FindingStatus
$mFindingStatus_SUPPRESSED :: forall {r}. FindingStatus -> ((# #) -> r) -> ((# #) -> r) -> r
FindingStatus_SUPPRESSED = FindingStatus' "SUPPRESSED"

{-# COMPLETE
  FindingStatus_ACTIVE,
  FindingStatus_CLOSED,
  FindingStatus_SUPPRESSED,
  FindingStatus'
  #-}