{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Amazonka.EFS.Types.AccessPointDescription 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.LifeCycleState
import Amazonka.EFS.Types.PosixUser
import Amazonka.EFS.Types.RootDirectory
import Amazonka.EFS.Types.Tag
import qualified Amazonka.Prelude as Prelude
data AccessPointDescription = AccessPointDescription'
{
AccessPointDescription -> Maybe Text
accessPointArn :: Prelude.Maybe Prelude.Text,
AccessPointDescription -> Maybe Text
accessPointId :: Prelude.Maybe Prelude.Text,
AccessPointDescription -> Maybe Text
clientToken :: Prelude.Maybe Prelude.Text,
AccessPointDescription -> Maybe Text
fileSystemId :: Prelude.Maybe Prelude.Text,
AccessPointDescription -> Maybe LifeCycleState
lifeCycleState :: Prelude.Maybe LifeCycleState,
AccessPointDescription -> Maybe Text
name :: Prelude.Maybe Prelude.Text,
AccessPointDescription -> Maybe Text
ownerId :: Prelude.Maybe Prelude.Text,
AccessPointDescription -> Maybe PosixUser
posixUser :: Prelude.Maybe PosixUser,
AccessPointDescription -> Maybe RootDirectory
rootDirectory :: Prelude.Maybe RootDirectory,
AccessPointDescription -> Maybe [Tag]
tags :: Prelude.Maybe [Tag]
}
deriving (AccessPointDescription -> AccessPointDescription -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AccessPointDescription -> AccessPointDescription -> Bool
$c/= :: AccessPointDescription -> AccessPointDescription -> Bool
== :: AccessPointDescription -> AccessPointDescription -> Bool
$c== :: AccessPointDescription -> AccessPointDescription -> Bool
Prelude.Eq, ReadPrec [AccessPointDescription]
ReadPrec AccessPointDescription
Int -> ReadS AccessPointDescription
ReadS [AccessPointDescription]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [AccessPointDescription]
$creadListPrec :: ReadPrec [AccessPointDescription]
readPrec :: ReadPrec AccessPointDescription
$creadPrec :: ReadPrec AccessPointDescription
readList :: ReadS [AccessPointDescription]
$creadList :: ReadS [AccessPointDescription]
readsPrec :: Int -> ReadS AccessPointDescription
$creadsPrec :: Int -> ReadS AccessPointDescription
Prelude.Read, Int -> AccessPointDescription -> ShowS
[AccessPointDescription] -> ShowS
AccessPointDescription -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AccessPointDescription] -> ShowS
$cshowList :: [AccessPointDescription] -> ShowS
show :: AccessPointDescription -> String
$cshow :: AccessPointDescription -> String
showsPrec :: Int -> AccessPointDescription -> ShowS
$cshowsPrec :: Int -> AccessPointDescription -> ShowS
Prelude.Show, forall x. Rep AccessPointDescription x -> AccessPointDescription
forall x. AccessPointDescription -> Rep AccessPointDescription x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep AccessPointDescription x -> AccessPointDescription
$cfrom :: forall x. AccessPointDescription -> Rep AccessPointDescription x
Prelude.Generic)
newAccessPointDescription ::
AccessPointDescription
newAccessPointDescription :: AccessPointDescription
newAccessPointDescription =
AccessPointDescription'
{ $sel:accessPointArn:AccessPointDescription' :: Maybe Text
accessPointArn =
forall a. Maybe a
Prelude.Nothing,
$sel:accessPointId:AccessPointDescription' :: Maybe Text
accessPointId = forall a. Maybe a
Prelude.Nothing,
$sel:clientToken:AccessPointDescription' :: Maybe Text
clientToken = forall a. Maybe a
Prelude.Nothing,
$sel:fileSystemId:AccessPointDescription' :: Maybe Text
fileSystemId = forall a. Maybe a
Prelude.Nothing,
$sel:lifeCycleState:AccessPointDescription' :: Maybe LifeCycleState
lifeCycleState = forall a. Maybe a
Prelude.Nothing,
$sel:name:AccessPointDescription' :: Maybe Text
name = forall a. Maybe a
Prelude.Nothing,
$sel:ownerId:AccessPointDescription' :: Maybe Text
ownerId = forall a. Maybe a
Prelude.Nothing,
$sel:posixUser:AccessPointDescription' :: Maybe PosixUser
posixUser = forall a. Maybe a
Prelude.Nothing,
$sel:rootDirectory:AccessPointDescription' :: Maybe RootDirectory
rootDirectory = forall a. Maybe a
Prelude.Nothing,
$sel:tags:AccessPointDescription' :: Maybe [Tag]
tags = forall a. Maybe a
Prelude.Nothing
}
accessPointDescription_accessPointArn :: Lens.Lens' AccessPointDescription (Prelude.Maybe Prelude.Text)
accessPointDescription_accessPointArn :: Lens' AccessPointDescription (Maybe Text)
accessPointDescription_accessPointArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AccessPointDescription' {Maybe Text
accessPointArn :: Maybe Text
$sel:accessPointArn:AccessPointDescription' :: AccessPointDescription -> Maybe Text
accessPointArn} -> Maybe Text
accessPointArn) (\s :: AccessPointDescription
s@AccessPointDescription' {} Maybe Text
a -> AccessPointDescription
s {$sel:accessPointArn:AccessPointDescription' :: Maybe Text
accessPointArn = Maybe Text
a} :: AccessPointDescription)
accessPointDescription_accessPointId :: Lens.Lens' AccessPointDescription (Prelude.Maybe Prelude.Text)
accessPointDescription_accessPointId :: Lens' AccessPointDescription (Maybe Text)
accessPointDescription_accessPointId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AccessPointDescription' {Maybe Text
accessPointId :: Maybe Text
$sel:accessPointId:AccessPointDescription' :: AccessPointDescription -> Maybe Text
accessPointId} -> Maybe Text
accessPointId) (\s :: AccessPointDescription
s@AccessPointDescription' {} Maybe Text
a -> AccessPointDescription
s {$sel:accessPointId:AccessPointDescription' :: Maybe Text
accessPointId = Maybe Text
a} :: AccessPointDescription)
accessPointDescription_clientToken :: Lens.Lens' AccessPointDescription (Prelude.Maybe Prelude.Text)
accessPointDescription_clientToken :: Lens' AccessPointDescription (Maybe Text)
accessPointDescription_clientToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AccessPointDescription' {Maybe Text
clientToken :: Maybe Text
$sel:clientToken:AccessPointDescription' :: AccessPointDescription -> Maybe Text
clientToken} -> Maybe Text
clientToken) (\s :: AccessPointDescription
s@AccessPointDescription' {} Maybe Text
a -> AccessPointDescription
s {$sel:clientToken:AccessPointDescription' :: Maybe Text
clientToken = Maybe Text
a} :: AccessPointDescription)
accessPointDescription_fileSystemId :: Lens.Lens' AccessPointDescription (Prelude.Maybe Prelude.Text)
accessPointDescription_fileSystemId :: Lens' AccessPointDescription (Maybe Text)
accessPointDescription_fileSystemId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AccessPointDescription' {Maybe Text
fileSystemId :: Maybe Text
$sel:fileSystemId:AccessPointDescription' :: AccessPointDescription -> Maybe Text
fileSystemId} -> Maybe Text
fileSystemId) (\s :: AccessPointDescription
s@AccessPointDescription' {} Maybe Text
a -> AccessPointDescription
s {$sel:fileSystemId:AccessPointDescription' :: Maybe Text
fileSystemId = Maybe Text
a} :: AccessPointDescription)
accessPointDescription_lifeCycleState :: Lens.Lens' AccessPointDescription (Prelude.Maybe LifeCycleState)
accessPointDescription_lifeCycleState :: Lens' AccessPointDescription (Maybe LifeCycleState)
accessPointDescription_lifeCycleState = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AccessPointDescription' {Maybe LifeCycleState
lifeCycleState :: Maybe LifeCycleState
$sel:lifeCycleState:AccessPointDescription' :: AccessPointDescription -> Maybe LifeCycleState
lifeCycleState} -> Maybe LifeCycleState
lifeCycleState) (\s :: AccessPointDescription
s@AccessPointDescription' {} Maybe LifeCycleState
a -> AccessPointDescription
s {$sel:lifeCycleState:AccessPointDescription' :: Maybe LifeCycleState
lifeCycleState = Maybe LifeCycleState
a} :: AccessPointDescription)
accessPointDescription_name :: Lens.Lens' AccessPointDescription (Prelude.Maybe Prelude.Text)
accessPointDescription_name :: Lens' AccessPointDescription (Maybe Text)
accessPointDescription_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AccessPointDescription' {Maybe Text
name :: Maybe Text
$sel:name:AccessPointDescription' :: AccessPointDescription -> Maybe Text
name} -> Maybe Text
name) (\s :: AccessPointDescription
s@AccessPointDescription' {} Maybe Text
a -> AccessPointDescription
s {$sel:name:AccessPointDescription' :: Maybe Text
name = Maybe Text
a} :: AccessPointDescription)
accessPointDescription_ownerId :: Lens.Lens' AccessPointDescription (Prelude.Maybe Prelude.Text)
accessPointDescription_ownerId :: Lens' AccessPointDescription (Maybe Text)
accessPointDescription_ownerId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AccessPointDescription' {Maybe Text
ownerId :: Maybe Text
$sel:ownerId:AccessPointDescription' :: AccessPointDescription -> Maybe Text
ownerId} -> Maybe Text
ownerId) (\s :: AccessPointDescription
s@AccessPointDescription' {} Maybe Text
a -> AccessPointDescription
s {$sel:ownerId:AccessPointDescription' :: Maybe Text
ownerId = Maybe Text
a} :: AccessPointDescription)
accessPointDescription_posixUser :: Lens.Lens' AccessPointDescription (Prelude.Maybe PosixUser)
accessPointDescription_posixUser :: Lens' AccessPointDescription (Maybe PosixUser)
accessPointDescription_posixUser = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AccessPointDescription' {Maybe PosixUser
posixUser :: Maybe PosixUser
$sel:posixUser:AccessPointDescription' :: AccessPointDescription -> Maybe PosixUser
posixUser} -> Maybe PosixUser
posixUser) (\s :: AccessPointDescription
s@AccessPointDescription' {} Maybe PosixUser
a -> AccessPointDescription
s {$sel:posixUser:AccessPointDescription' :: Maybe PosixUser
posixUser = Maybe PosixUser
a} :: AccessPointDescription)
accessPointDescription_rootDirectory :: Lens.Lens' AccessPointDescription (Prelude.Maybe RootDirectory)
accessPointDescription_rootDirectory :: Lens' AccessPointDescription (Maybe RootDirectory)
accessPointDescription_rootDirectory = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AccessPointDescription' {Maybe RootDirectory
rootDirectory :: Maybe RootDirectory
$sel:rootDirectory:AccessPointDescription' :: AccessPointDescription -> Maybe RootDirectory
rootDirectory} -> Maybe RootDirectory
rootDirectory) (\s :: AccessPointDescription
s@AccessPointDescription' {} Maybe RootDirectory
a -> AccessPointDescription
s {$sel:rootDirectory:AccessPointDescription' :: Maybe RootDirectory
rootDirectory = Maybe RootDirectory
a} :: AccessPointDescription)
accessPointDescription_tags :: Lens.Lens' AccessPointDescription (Prelude.Maybe [Tag])
accessPointDescription_tags :: Lens' AccessPointDescription (Maybe [Tag])
accessPointDescription_tags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AccessPointDescription' {Maybe [Tag]
tags :: Maybe [Tag]
$sel:tags:AccessPointDescription' :: AccessPointDescription -> Maybe [Tag]
tags} -> Maybe [Tag]
tags) (\s :: AccessPointDescription
s@AccessPointDescription' {} Maybe [Tag]
a -> AccessPointDescription
s {$sel:tags:AccessPointDescription' :: Maybe [Tag]
tags = Maybe [Tag]
a} :: AccessPointDescription) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
instance Data.FromJSON AccessPointDescription where
parseJSON :: Value -> Parser AccessPointDescription
parseJSON =
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
String
"AccessPointDescription"
( \Object
x ->
Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe LifeCycleState
-> Maybe Text
-> Maybe Text
-> Maybe PosixUser
-> Maybe RootDirectory
-> Maybe [Tag]
-> AccessPointDescription
AccessPointDescription'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"AccessPointArn")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"AccessPointId")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"ClientToken")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"FileSystemId")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"LifeCycleState")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"Name")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"OwnerId")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"PosixUser")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"RootDirectory")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"Tags" forall a. Parser (Maybe a) -> a -> Parser a
Data..!= forall a. Monoid a => a
Prelude.mempty)
)
instance Prelude.Hashable AccessPointDescription where
hashWithSalt :: Int -> AccessPointDescription -> Int
hashWithSalt Int
_salt AccessPointDescription' {Maybe [Tag]
Maybe Text
Maybe LifeCycleState
Maybe PosixUser
Maybe RootDirectory
tags :: Maybe [Tag]
rootDirectory :: Maybe RootDirectory
posixUser :: Maybe PosixUser
ownerId :: Maybe Text
name :: Maybe Text
lifeCycleState :: Maybe LifeCycleState
fileSystemId :: Maybe Text
clientToken :: Maybe Text
accessPointId :: Maybe Text
accessPointArn :: Maybe Text
$sel:tags:AccessPointDescription' :: AccessPointDescription -> Maybe [Tag]
$sel:rootDirectory:AccessPointDescription' :: AccessPointDescription -> Maybe RootDirectory
$sel:posixUser:AccessPointDescription' :: AccessPointDescription -> Maybe PosixUser
$sel:ownerId:AccessPointDescription' :: AccessPointDescription -> Maybe Text
$sel:name:AccessPointDescription' :: AccessPointDescription -> Maybe Text
$sel:lifeCycleState:AccessPointDescription' :: AccessPointDescription -> Maybe LifeCycleState
$sel:fileSystemId:AccessPointDescription' :: AccessPointDescription -> Maybe Text
$sel:clientToken:AccessPointDescription' :: AccessPointDescription -> Maybe Text
$sel:accessPointId:AccessPointDescription' :: AccessPointDescription -> Maybe Text
$sel:accessPointArn:AccessPointDescription' :: AccessPointDescription -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
accessPointArn
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
accessPointId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
clientToken
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
fileSystemId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe LifeCycleState
lifeCycleState
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
name
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
ownerId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe PosixUser
posixUser
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe RootDirectory
rootDirectory
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Tag]
tags
instance Prelude.NFData AccessPointDescription where
rnf :: AccessPointDescription -> ()
rnf AccessPointDescription' {Maybe [Tag]
Maybe Text
Maybe LifeCycleState
Maybe PosixUser
Maybe RootDirectory
tags :: Maybe [Tag]
rootDirectory :: Maybe RootDirectory
posixUser :: Maybe PosixUser
ownerId :: Maybe Text
name :: Maybe Text
lifeCycleState :: Maybe LifeCycleState
fileSystemId :: Maybe Text
clientToken :: Maybe Text
accessPointId :: Maybe Text
accessPointArn :: Maybe Text
$sel:tags:AccessPointDescription' :: AccessPointDescription -> Maybe [Tag]
$sel:rootDirectory:AccessPointDescription' :: AccessPointDescription -> Maybe RootDirectory
$sel:posixUser:AccessPointDescription' :: AccessPointDescription -> Maybe PosixUser
$sel:ownerId:AccessPointDescription' :: AccessPointDescription -> Maybe Text
$sel:name:AccessPointDescription' :: AccessPointDescription -> Maybe Text
$sel:lifeCycleState:AccessPointDescription' :: AccessPointDescription -> Maybe LifeCycleState
$sel:fileSystemId:AccessPointDescription' :: AccessPointDescription -> Maybe Text
$sel:clientToken:AccessPointDescription' :: AccessPointDescription -> Maybe Text
$sel:accessPointId:AccessPointDescription' :: AccessPointDescription -> Maybe Text
$sel:accessPointArn:AccessPointDescription' :: AccessPointDescription -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
accessPointArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
accessPointId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
clientToken
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
fileSystemId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe LifeCycleState
lifeCycleState
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
name
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
ownerId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe PosixUser
posixUser
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe RootDirectory
rootDirectory
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Tag]
tags