{-# 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.AuditManager.Types.ShareRequestStatus
-- 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.AuditManager.Types.ShareRequestStatus
  ( ShareRequestStatus
      ( ..,
        ShareRequestStatus_ACTIVE,
        ShareRequestStatus_DECLINED,
        ShareRequestStatus_EXPIRED,
        ShareRequestStatus_EXPIRING,
        ShareRequestStatus_FAILED,
        ShareRequestStatus_REPLICATING,
        ShareRequestStatus_REVOKED,
        ShareRequestStatus_SHARED
      ),
  )
where

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

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

pattern ShareRequestStatus_ACTIVE :: ShareRequestStatus
pattern $bShareRequestStatus_ACTIVE :: ShareRequestStatus
$mShareRequestStatus_ACTIVE :: forall {r}. ShareRequestStatus -> ((# #) -> r) -> ((# #) -> r) -> r
ShareRequestStatus_ACTIVE = ShareRequestStatus' "ACTIVE"

pattern ShareRequestStatus_DECLINED :: ShareRequestStatus
pattern $bShareRequestStatus_DECLINED :: ShareRequestStatus
$mShareRequestStatus_DECLINED :: forall {r}. ShareRequestStatus -> ((# #) -> r) -> ((# #) -> r) -> r
ShareRequestStatus_DECLINED = ShareRequestStatus' "DECLINED"

pattern ShareRequestStatus_EXPIRED :: ShareRequestStatus
pattern $bShareRequestStatus_EXPIRED :: ShareRequestStatus
$mShareRequestStatus_EXPIRED :: forall {r}. ShareRequestStatus -> ((# #) -> r) -> ((# #) -> r) -> r
ShareRequestStatus_EXPIRED = ShareRequestStatus' "EXPIRED"

pattern ShareRequestStatus_EXPIRING :: ShareRequestStatus
pattern $bShareRequestStatus_EXPIRING :: ShareRequestStatus
$mShareRequestStatus_EXPIRING :: forall {r}. ShareRequestStatus -> ((# #) -> r) -> ((# #) -> r) -> r
ShareRequestStatus_EXPIRING = ShareRequestStatus' "EXPIRING"

pattern ShareRequestStatus_FAILED :: ShareRequestStatus
pattern $bShareRequestStatus_FAILED :: ShareRequestStatus
$mShareRequestStatus_FAILED :: forall {r}. ShareRequestStatus -> ((# #) -> r) -> ((# #) -> r) -> r
ShareRequestStatus_FAILED = ShareRequestStatus' "FAILED"

pattern ShareRequestStatus_REPLICATING :: ShareRequestStatus
pattern $bShareRequestStatus_REPLICATING :: ShareRequestStatus
$mShareRequestStatus_REPLICATING :: forall {r}. ShareRequestStatus -> ((# #) -> r) -> ((# #) -> r) -> r
ShareRequestStatus_REPLICATING = ShareRequestStatus' "REPLICATING"

pattern ShareRequestStatus_REVOKED :: ShareRequestStatus
pattern $bShareRequestStatus_REVOKED :: ShareRequestStatus
$mShareRequestStatus_REVOKED :: forall {r}. ShareRequestStatus -> ((# #) -> r) -> ((# #) -> r) -> r
ShareRequestStatus_REVOKED = ShareRequestStatus' "REVOKED"

pattern ShareRequestStatus_SHARED :: ShareRequestStatus
pattern $bShareRequestStatus_SHARED :: ShareRequestStatus
$mShareRequestStatus_SHARED :: forall {r}. ShareRequestStatus -> ((# #) -> r) -> ((# #) -> r) -> r
ShareRequestStatus_SHARED = ShareRequestStatus' "SHARED"

{-# COMPLETE
  ShareRequestStatus_ACTIVE,
  ShareRequestStatus_DECLINED,
  ShareRequestStatus_EXPIRED,
  ShareRequestStatus_EXPIRING,
  ShareRequestStatus_FAILED,
  ShareRequestStatus_REPLICATING,
  ShareRequestStatus_REVOKED,
  ShareRequestStatus_SHARED,
  ShareRequestStatus'
  #-}