{-# 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 #-}

-- Derived from AWS service descriptions, licensed under Apache 2.0.

-- |
-- Module      : Amazonka.EFS.Types.AccessPointDescription
-- 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.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

-- | Provides a description of an EFS file system access point.
--
-- /See:/ 'newAccessPointDescription' smart constructor.
data AccessPointDescription = AccessPointDescription'
  { -- | The unique Amazon Resource Name (ARN) associated with the access point.
    AccessPointDescription -> Maybe Text
accessPointArn :: Prelude.Maybe Prelude.Text,
    -- | The ID of the access point, assigned by Amazon EFS.
    AccessPointDescription -> Maybe Text
accessPointId :: Prelude.Maybe Prelude.Text,
    -- | The opaque string specified in the request to ensure idempotent
    -- creation.
    AccessPointDescription -> Maybe Text
clientToken :: Prelude.Maybe Prelude.Text,
    -- | The ID of the EFS file system that the access point applies to.
    AccessPointDescription -> Maybe Text
fileSystemId :: Prelude.Maybe Prelude.Text,
    -- | Identifies the lifecycle phase of the access point.
    AccessPointDescription -> Maybe LifeCycleState
lifeCycleState :: Prelude.Maybe LifeCycleState,
    -- | The name of the access point. This is the value of the @Name@ tag.
    AccessPointDescription -> Maybe Text
name :: Prelude.Maybe Prelude.Text,
    -- | Identified the Amazon Web Services account that owns the access point
    -- resource.
    AccessPointDescription -> Maybe Text
ownerId :: Prelude.Maybe Prelude.Text,
    -- | The full POSIX identity, including the user ID, group ID, and secondary
    -- group IDs on the access point that is used for all file operations by
    -- NFS clients using the access point.
    AccessPointDescription -> Maybe PosixUser
posixUser :: Prelude.Maybe PosixUser,
    -- | The directory on the Amazon EFS file system that the access point
    -- exposes as the root directory to NFS clients using the access point.
    AccessPointDescription -> Maybe RootDirectory
rootDirectory :: Prelude.Maybe RootDirectory,
    -- | The tags associated with the access point, presented as an array of Tag
    -- objects.
    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)

-- |
-- Create a value of 'AccessPointDescription' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'accessPointArn', 'accessPointDescription_accessPointArn' - The unique Amazon Resource Name (ARN) associated with the access point.
--
-- 'accessPointId', 'accessPointDescription_accessPointId' - The ID of the access point, assigned by Amazon EFS.
--
-- 'clientToken', 'accessPointDescription_clientToken' - The opaque string specified in the request to ensure idempotent
-- creation.
--
-- 'fileSystemId', 'accessPointDescription_fileSystemId' - The ID of the EFS file system that the access point applies to.
--
-- 'lifeCycleState', 'accessPointDescription_lifeCycleState' - Identifies the lifecycle phase of the access point.
--
-- 'name', 'accessPointDescription_name' - The name of the access point. This is the value of the @Name@ tag.
--
-- 'ownerId', 'accessPointDescription_ownerId' - Identified the Amazon Web Services account that owns the access point
-- resource.
--
-- 'posixUser', 'accessPointDescription_posixUser' - The full POSIX identity, including the user ID, group ID, and secondary
-- group IDs on the access point that is used for all file operations by
-- NFS clients using the access point.
--
-- 'rootDirectory', 'accessPointDescription_rootDirectory' - The directory on the Amazon EFS file system that the access point
-- exposes as the root directory to NFS clients using the access point.
--
-- 'tags', 'accessPointDescription_tags' - The tags associated with the access point, presented as an array of Tag
-- objects.
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
    }

-- | The unique Amazon Resource Name (ARN) associated with the access point.
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)

-- | The ID of the access point, assigned by Amazon EFS.
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)

-- | The opaque string specified in the request to ensure idempotent
-- creation.
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)

-- | The ID of the EFS file system that the access point applies to.
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)

-- | Identifies the lifecycle phase of the access point.
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)

-- | The name of the access point. This is the value of the @Name@ tag.
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)

-- | Identified the Amazon Web Services account that owns the access point
-- resource.
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)

-- | The full POSIX identity, including the user ID, group ID, and secondary
-- group IDs on the access point that is used for all file operations by
-- NFS clients using the access point.
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)

-- | The directory on the Amazon EFS file system that the access point
-- exposes as the root directory to NFS clients using the access point.
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)

-- | The tags associated with the access point, presented as an array of Tag
-- objects.
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