{-# 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.EFS.Types.TransitionToIARules
-- 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.EFS.Types.TransitionToIARules
  ( TransitionToIARules
      ( ..,
        TransitionToIARules_AFTER_14_DAYS,
        TransitionToIARules_AFTER_1_DAY,
        TransitionToIARules_AFTER_30_DAYS,
        TransitionToIARules_AFTER_60_DAYS,
        TransitionToIARules_AFTER_7_DAYS,
        TransitionToIARules_AFTER_90_DAYS
      ),
  )
where

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

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

pattern TransitionToIARules_AFTER_14_DAYS :: TransitionToIARules
pattern $bTransitionToIARules_AFTER_14_DAYS :: TransitionToIARules
$mTransitionToIARules_AFTER_14_DAYS :: forall {r}.
TransitionToIARules -> ((# #) -> r) -> ((# #) -> r) -> r
TransitionToIARules_AFTER_14_DAYS = TransitionToIARules' "AFTER_14_DAYS"

pattern TransitionToIARules_AFTER_1_DAY :: TransitionToIARules
pattern $bTransitionToIARules_AFTER_1_DAY :: TransitionToIARules
$mTransitionToIARules_AFTER_1_DAY :: forall {r}.
TransitionToIARules -> ((# #) -> r) -> ((# #) -> r) -> r
TransitionToIARules_AFTER_1_DAY = TransitionToIARules' "AFTER_1_DAY"

pattern TransitionToIARules_AFTER_30_DAYS :: TransitionToIARules
pattern $bTransitionToIARules_AFTER_30_DAYS :: TransitionToIARules
$mTransitionToIARules_AFTER_30_DAYS :: forall {r}.
TransitionToIARules -> ((# #) -> r) -> ((# #) -> r) -> r
TransitionToIARules_AFTER_30_DAYS = TransitionToIARules' "AFTER_30_DAYS"

pattern TransitionToIARules_AFTER_60_DAYS :: TransitionToIARules
pattern $bTransitionToIARules_AFTER_60_DAYS :: TransitionToIARules
$mTransitionToIARules_AFTER_60_DAYS :: forall {r}.
TransitionToIARules -> ((# #) -> r) -> ((# #) -> r) -> r
TransitionToIARules_AFTER_60_DAYS = TransitionToIARules' "AFTER_60_DAYS"

pattern TransitionToIARules_AFTER_7_DAYS :: TransitionToIARules
pattern $bTransitionToIARules_AFTER_7_DAYS :: TransitionToIARules
$mTransitionToIARules_AFTER_7_DAYS :: forall {r}.
TransitionToIARules -> ((# #) -> r) -> ((# #) -> r) -> r
TransitionToIARules_AFTER_7_DAYS = TransitionToIARules' "AFTER_7_DAYS"

pattern TransitionToIARules_AFTER_90_DAYS :: TransitionToIARules
pattern $bTransitionToIARules_AFTER_90_DAYS :: TransitionToIARules
$mTransitionToIARules_AFTER_90_DAYS :: forall {r}.
TransitionToIARules -> ((# #) -> r) -> ((# #) -> r) -> r
TransitionToIARules_AFTER_90_DAYS = TransitionToIARules' "AFTER_90_DAYS"

{-# COMPLETE
  TransitionToIARules_AFTER_14_DAYS,
  TransitionToIARules_AFTER_1_DAY,
  TransitionToIARules_AFTER_30_DAYS,
  TransitionToIARules_AFTER_60_DAYS,
  TransitionToIARules_AFTER_7_DAYS,
  TransitionToIARules_AFTER_90_DAYS,
  TransitionToIARules'
  #-}