{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Amazonka.EFS.DescribeLifecycleConfiguration
(
DescribeLifecycleConfiguration (..),
newDescribeLifecycleConfiguration,
describeLifecycleConfiguration_fileSystemId,
LifecycleConfigurationDescription (..),
newLifecycleConfigurationDescription,
lifecycleConfigurationDescription_lifecyclePolicies,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.EFS.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data DescribeLifecycleConfiguration = DescribeLifecycleConfiguration'
{
DescribeLifecycleConfiguration -> Text
fileSystemId :: Prelude.Text
}
deriving (DescribeLifecycleConfiguration
-> DescribeLifecycleConfiguration -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeLifecycleConfiguration
-> DescribeLifecycleConfiguration -> Bool
$c/= :: DescribeLifecycleConfiguration
-> DescribeLifecycleConfiguration -> Bool
== :: DescribeLifecycleConfiguration
-> DescribeLifecycleConfiguration -> Bool
$c== :: DescribeLifecycleConfiguration
-> DescribeLifecycleConfiguration -> Bool
Prelude.Eq, ReadPrec [DescribeLifecycleConfiguration]
ReadPrec DescribeLifecycleConfiguration
Int -> ReadS DescribeLifecycleConfiguration
ReadS [DescribeLifecycleConfiguration]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeLifecycleConfiguration]
$creadListPrec :: ReadPrec [DescribeLifecycleConfiguration]
readPrec :: ReadPrec DescribeLifecycleConfiguration
$creadPrec :: ReadPrec DescribeLifecycleConfiguration
readList :: ReadS [DescribeLifecycleConfiguration]
$creadList :: ReadS [DescribeLifecycleConfiguration]
readsPrec :: Int -> ReadS DescribeLifecycleConfiguration
$creadsPrec :: Int -> ReadS DescribeLifecycleConfiguration
Prelude.Read, Int -> DescribeLifecycleConfiguration -> ShowS
[DescribeLifecycleConfiguration] -> ShowS
DescribeLifecycleConfiguration -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeLifecycleConfiguration] -> ShowS
$cshowList :: [DescribeLifecycleConfiguration] -> ShowS
show :: DescribeLifecycleConfiguration -> String
$cshow :: DescribeLifecycleConfiguration -> String
showsPrec :: Int -> DescribeLifecycleConfiguration -> ShowS
$cshowsPrec :: Int -> DescribeLifecycleConfiguration -> ShowS
Prelude.Show, forall x.
Rep DescribeLifecycleConfiguration x
-> DescribeLifecycleConfiguration
forall x.
DescribeLifecycleConfiguration
-> Rep DescribeLifecycleConfiguration x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeLifecycleConfiguration x
-> DescribeLifecycleConfiguration
$cfrom :: forall x.
DescribeLifecycleConfiguration
-> Rep DescribeLifecycleConfiguration x
Prelude.Generic)
newDescribeLifecycleConfiguration ::
Prelude.Text ->
DescribeLifecycleConfiguration
newDescribeLifecycleConfiguration :: Text -> DescribeLifecycleConfiguration
newDescribeLifecycleConfiguration Text
pFileSystemId_ =
DescribeLifecycleConfiguration'
{ $sel:fileSystemId:DescribeLifecycleConfiguration' :: Text
fileSystemId =
Text
pFileSystemId_
}
describeLifecycleConfiguration_fileSystemId :: Lens.Lens' DescribeLifecycleConfiguration Prelude.Text
describeLifecycleConfiguration_fileSystemId :: Lens' DescribeLifecycleConfiguration Text
describeLifecycleConfiguration_fileSystemId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeLifecycleConfiguration' {Text
fileSystemId :: Text
$sel:fileSystemId:DescribeLifecycleConfiguration' :: DescribeLifecycleConfiguration -> Text
fileSystemId} -> Text
fileSystemId) (\s :: DescribeLifecycleConfiguration
s@DescribeLifecycleConfiguration' {} Text
a -> DescribeLifecycleConfiguration
s {$sel:fileSystemId:DescribeLifecycleConfiguration' :: Text
fileSystemId = Text
a} :: DescribeLifecycleConfiguration)
instance
Core.AWSRequest
DescribeLifecycleConfiguration
where
type
AWSResponse DescribeLifecycleConfiguration =
LifecycleConfigurationDescription
request :: (Service -> Service)
-> DescribeLifecycleConfiguration
-> Request DescribeLifecycleConfiguration
request Service -> Service
overrides =
forall a. ToRequest a => Service -> a -> Request a
Request.get (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy DescribeLifecycleConfiguration
-> ClientResponse ClientBody
-> m (Either
Error
(ClientResponse (AWSResponse DescribeLifecycleConfiguration)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
(\Int
s ResponseHeaders
h Object
x -> forall a. FromJSON a => Object -> Either String a
Data.eitherParseJSON Object
x)
instance
Prelude.Hashable
DescribeLifecycleConfiguration
where
hashWithSalt :: Int -> DescribeLifecycleConfiguration -> Int
hashWithSalt
Int
_salt
DescribeLifecycleConfiguration' {Text
fileSystemId :: Text
$sel:fileSystemId:DescribeLifecycleConfiguration' :: DescribeLifecycleConfiguration -> Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
fileSystemId
instance
Prelude.NFData
DescribeLifecycleConfiguration
where
rnf :: DescribeLifecycleConfiguration -> ()
rnf DescribeLifecycleConfiguration' {Text
fileSystemId :: Text
$sel:fileSystemId:DescribeLifecycleConfiguration' :: DescribeLifecycleConfiguration -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
fileSystemId
instance
Data.ToHeaders
DescribeLifecycleConfiguration
where
toHeaders :: DescribeLifecycleConfiguration -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToPath DescribeLifecycleConfiguration where
toPath :: DescribeLifecycleConfiguration -> ByteString
toPath DescribeLifecycleConfiguration' {Text
fileSystemId :: Text
$sel:fileSystemId:DescribeLifecycleConfiguration' :: DescribeLifecycleConfiguration -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/2015-02-01/file-systems/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
fileSystemId,
ByteString
"/lifecycle-configuration"
]
instance Data.ToQuery DescribeLifecycleConfiguration where
toQuery :: DescribeLifecycleConfiguration -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty