{-# 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.SecurityHub.Types.AwsIamAccessKeyStatus
-- 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.SecurityHub.Types.AwsIamAccessKeyStatus
  ( AwsIamAccessKeyStatus
      ( ..,
        AwsIamAccessKeyStatus_Active,
        AwsIamAccessKeyStatus_Inactive
      ),
  )
where

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

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

pattern AwsIamAccessKeyStatus_Active :: AwsIamAccessKeyStatus
pattern $bAwsIamAccessKeyStatus_Active :: AwsIamAccessKeyStatus
$mAwsIamAccessKeyStatus_Active :: forall r.
AwsIamAccessKeyStatus -> (Void# -> r) -> (Void# -> r) -> r
AwsIamAccessKeyStatus_Active = AwsIamAccessKeyStatus' "Active"

pattern AwsIamAccessKeyStatus_Inactive :: AwsIamAccessKeyStatus
pattern $bAwsIamAccessKeyStatus_Inactive :: AwsIamAccessKeyStatus
$mAwsIamAccessKeyStatus_Inactive :: forall r.
AwsIamAccessKeyStatus -> (Void# -> r) -> (Void# -> r) -> r
AwsIamAccessKeyStatus_Inactive = AwsIamAccessKeyStatus' "Inactive"

{-# COMPLETE
  AwsIamAccessKeyStatus_Active,
  AwsIamAccessKeyStatus_Inactive,
  AwsIamAccessKeyStatus'
  #-}