{-# 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.AccessAnalyzer.Types.FindingStatus
-- 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.AccessAnalyzer.Types.FindingStatus
  ( FindingStatus
      ( ..,
        FindingStatus_ACTIVE,
        FindingStatus_ARCHIVED,
        FindingStatus_RESOLVED
      ),
  )
where

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

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

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

pattern FindingStatus_ARCHIVED :: FindingStatus
pattern $bFindingStatus_ARCHIVED :: FindingStatus
$mFindingStatus_ARCHIVED :: forall r. FindingStatus -> (Void# -> r) -> (Void# -> r) -> r
FindingStatus_ARCHIVED = FindingStatus' "ARCHIVED"

pattern FindingStatus_RESOLVED :: FindingStatus
pattern $bFindingStatus_RESOLVED :: FindingStatus
$mFindingStatus_RESOLVED :: forall r. FindingStatus -> (Void# -> r) -> (Void# -> r) -> r
FindingStatus_RESOLVED = FindingStatus' "RESOLVED"

{-# COMPLETE
  FindingStatus_ACTIVE,
  FindingStatus_ARCHIVED,
  FindingStatus_RESOLVED,
  FindingStatus'
  #-}