{-# 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.MacieV2.Types.SensitiveDataItemCategory
-- 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.MacieV2.Types.SensitiveDataItemCategory
  ( SensitiveDataItemCategory
      ( ..,
        SensitiveDataItemCategory_CREDENTIALS,
        SensitiveDataItemCategory_CUSTOM_IDENTIFIER,
        SensitiveDataItemCategory_FINANCIAL_INFORMATION,
        SensitiveDataItemCategory_PERSONAL_INFORMATION
      ),
  )
where

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

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

pattern SensitiveDataItemCategory_CREDENTIALS :: SensitiveDataItemCategory
pattern $bSensitiveDataItemCategory_CREDENTIALS :: SensitiveDataItemCategory
$mSensitiveDataItemCategory_CREDENTIALS :: forall r.
SensitiveDataItemCategory -> (Void# -> r) -> (Void# -> r) -> r
SensitiveDataItemCategory_CREDENTIALS = SensitiveDataItemCategory' "CREDENTIALS"

pattern SensitiveDataItemCategory_CUSTOM_IDENTIFIER :: SensitiveDataItemCategory
pattern $bSensitiveDataItemCategory_CUSTOM_IDENTIFIER :: SensitiveDataItemCategory
$mSensitiveDataItemCategory_CUSTOM_IDENTIFIER :: forall r.
SensitiveDataItemCategory -> (Void# -> r) -> (Void# -> r) -> r
SensitiveDataItemCategory_CUSTOM_IDENTIFIER = SensitiveDataItemCategory' "CUSTOM_IDENTIFIER"

pattern SensitiveDataItemCategory_FINANCIAL_INFORMATION :: SensitiveDataItemCategory
pattern $bSensitiveDataItemCategory_FINANCIAL_INFORMATION :: SensitiveDataItemCategory
$mSensitiveDataItemCategory_FINANCIAL_INFORMATION :: forall r.
SensitiveDataItemCategory -> (Void# -> r) -> (Void# -> r) -> r
SensitiveDataItemCategory_FINANCIAL_INFORMATION = SensitiveDataItemCategory' "FINANCIAL_INFORMATION"

pattern SensitiveDataItemCategory_PERSONAL_INFORMATION :: SensitiveDataItemCategory
pattern $bSensitiveDataItemCategory_PERSONAL_INFORMATION :: SensitiveDataItemCategory
$mSensitiveDataItemCategory_PERSONAL_INFORMATION :: forall r.
SensitiveDataItemCategory -> (Void# -> r) -> (Void# -> r) -> r
SensitiveDataItemCategory_PERSONAL_INFORMATION = SensitiveDataItemCategory' "PERSONAL_INFORMATION"

{-# COMPLETE
  SensitiveDataItemCategory_CREDENTIALS,
  SensitiveDataItemCategory_CUSTOM_IDENTIFIER,
  SensitiveDataItemCategory_FINANCIAL_INFORMATION,
  SensitiveDataItemCategory_PERSONAL_INFORMATION,
  SensitiveDataItemCategory'
  #-}