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

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

-- |
-- Module      : Amazonka.SageMaker.DescribeSpace
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Describes the space.
module Amazonka.SageMaker.DescribeSpace
  ( -- * Creating a Request
    DescribeSpace (..),
    newDescribeSpace,

    -- * Request Lenses
    describeSpace_domainId,
    describeSpace_spaceName,

    -- * Destructuring the Response
    DescribeSpaceResponse (..),
    newDescribeSpaceResponse,

    -- * Response Lenses
    describeSpaceResponse_creationTime,
    describeSpaceResponse_domainId,
    describeSpaceResponse_failureReason,
    describeSpaceResponse_homeEfsFileSystemUid,
    describeSpaceResponse_lastModifiedTime,
    describeSpaceResponse_spaceArn,
    describeSpaceResponse_spaceName,
    describeSpaceResponse_spaceSettings,
    describeSpaceResponse_status,
    describeSpaceResponse_httpStatus,
  )
where

import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
import Amazonka.SageMaker.Types

-- | /See:/ 'newDescribeSpace' smart constructor.
data DescribeSpace = DescribeSpace'
  { -- | The ID of the associated Domain.
    DescribeSpace -> Text
domainId :: Prelude.Text,
    -- | The name of the space.
    DescribeSpace -> Text
spaceName :: Prelude.Text
  }
  deriving (DescribeSpace -> DescribeSpace -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeSpace -> DescribeSpace -> Bool
$c/= :: DescribeSpace -> DescribeSpace -> Bool
== :: DescribeSpace -> DescribeSpace -> Bool
$c== :: DescribeSpace -> DescribeSpace -> Bool
Prelude.Eq, ReadPrec [DescribeSpace]
ReadPrec DescribeSpace
Int -> ReadS DescribeSpace
ReadS [DescribeSpace]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeSpace]
$creadListPrec :: ReadPrec [DescribeSpace]
readPrec :: ReadPrec DescribeSpace
$creadPrec :: ReadPrec DescribeSpace
readList :: ReadS [DescribeSpace]
$creadList :: ReadS [DescribeSpace]
readsPrec :: Int -> ReadS DescribeSpace
$creadsPrec :: Int -> ReadS DescribeSpace
Prelude.Read, Int -> DescribeSpace -> ShowS
[DescribeSpace] -> ShowS
DescribeSpace -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeSpace] -> ShowS
$cshowList :: [DescribeSpace] -> ShowS
show :: DescribeSpace -> String
$cshow :: DescribeSpace -> String
showsPrec :: Int -> DescribeSpace -> ShowS
$cshowsPrec :: Int -> DescribeSpace -> ShowS
Prelude.Show, forall x. Rep DescribeSpace x -> DescribeSpace
forall x. DescribeSpace -> Rep DescribeSpace x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeSpace x -> DescribeSpace
$cfrom :: forall x. DescribeSpace -> Rep DescribeSpace x
Prelude.Generic)

-- |
-- Create a value of 'DescribeSpace' 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:
--
-- 'domainId', 'describeSpace_domainId' - The ID of the associated Domain.
--
-- 'spaceName', 'describeSpace_spaceName' - The name of the space.
newDescribeSpace ::
  -- | 'domainId'
  Prelude.Text ->
  -- | 'spaceName'
  Prelude.Text ->
  DescribeSpace
newDescribeSpace :: Text -> Text -> DescribeSpace
newDescribeSpace Text
pDomainId_ Text
pSpaceName_ =
  DescribeSpace'
    { $sel:domainId:DescribeSpace' :: Text
domainId = Text
pDomainId_,
      $sel:spaceName:DescribeSpace' :: Text
spaceName = Text
pSpaceName_
    }

-- | The ID of the associated Domain.
describeSpace_domainId :: Lens.Lens' DescribeSpace Prelude.Text
describeSpace_domainId :: Lens' DescribeSpace Text
describeSpace_domainId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeSpace' {Text
domainId :: Text
$sel:domainId:DescribeSpace' :: DescribeSpace -> Text
domainId} -> Text
domainId) (\s :: DescribeSpace
s@DescribeSpace' {} Text
a -> DescribeSpace
s {$sel:domainId:DescribeSpace' :: Text
domainId = Text
a} :: DescribeSpace)

-- | The name of the space.
describeSpace_spaceName :: Lens.Lens' DescribeSpace Prelude.Text
describeSpace_spaceName :: Lens' DescribeSpace Text
describeSpace_spaceName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeSpace' {Text
spaceName :: Text
$sel:spaceName:DescribeSpace' :: DescribeSpace -> Text
spaceName} -> Text
spaceName) (\s :: DescribeSpace
s@DescribeSpace' {} Text
a -> DescribeSpace
s {$sel:spaceName:DescribeSpace' :: Text
spaceName = Text
a} :: DescribeSpace)

instance Core.AWSRequest DescribeSpace where
  type
    AWSResponse DescribeSpace =
      DescribeSpaceResponse
  request :: (Service -> Service) -> DescribeSpace -> Request DescribeSpace
request Service -> Service
overrides =
    forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy DescribeSpace
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse DescribeSpace)))
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 ->
          Maybe POSIX
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe POSIX
-> Maybe Text
-> Maybe Text
-> Maybe SpaceSettings
-> Maybe SpaceStatus
-> Int
-> DescribeSpaceResponse
DescribeSpaceResponse'
            forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"CreationTime")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"DomainId")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"FailureReason")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"HomeEfsFileSystemUid")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"LastModifiedTime")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"SpaceArn")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"SpaceName")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"SpaceSettings")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"Status")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
      )

instance Prelude.Hashable DescribeSpace where
  hashWithSalt :: Int -> DescribeSpace -> Int
hashWithSalt Int
_salt DescribeSpace' {Text
spaceName :: Text
domainId :: Text
$sel:spaceName:DescribeSpace' :: DescribeSpace -> Text
$sel:domainId:DescribeSpace' :: DescribeSpace -> Text
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
domainId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
spaceName

instance Prelude.NFData DescribeSpace where
  rnf :: DescribeSpace -> ()
rnf DescribeSpace' {Text
spaceName :: Text
domainId :: Text
$sel:spaceName:DescribeSpace' :: DescribeSpace -> Text
$sel:domainId:DescribeSpace' :: DescribeSpace -> Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Text
domainId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
spaceName

instance Data.ToHeaders DescribeSpace where
  toHeaders :: DescribeSpace -> ResponseHeaders
toHeaders =
    forall a b. a -> b -> a
Prelude.const
      ( forall a. Monoid a => [a] -> a
Prelude.mconcat
          [ HeaderName
"X-Amz-Target"
              forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# (ByteString
"SageMaker.DescribeSpace" :: Prelude.ByteString),
            HeaderName
"Content-Type"
              forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
                          Prelude.ByteString
                      )
          ]
      )

instance Data.ToJSON DescribeSpace where
  toJSON :: DescribeSpace -> Value
toJSON DescribeSpace' {Text
spaceName :: Text
domainId :: Text
$sel:spaceName:DescribeSpace' :: DescribeSpace -> Text
$sel:domainId:DescribeSpace' :: DescribeSpace -> Text
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ forall a. a -> Maybe a
Prelude.Just (Key
"DomainId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
domainId),
            forall a. a -> Maybe a
Prelude.Just (Key
"SpaceName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
spaceName)
          ]
      )

instance Data.ToPath DescribeSpace where
  toPath :: DescribeSpace -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"

instance Data.ToQuery DescribeSpace where
  toQuery :: DescribeSpace -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty

-- | /See:/ 'newDescribeSpaceResponse' smart constructor.
data DescribeSpaceResponse = DescribeSpaceResponse'
  { -- | The creation time.
    DescribeSpaceResponse -> Maybe POSIX
creationTime :: Prelude.Maybe Data.POSIX,
    -- | The ID of the associated Domain.
    DescribeSpaceResponse -> Maybe Text
domainId :: Prelude.Maybe Prelude.Text,
    -- | The failure reason.
    DescribeSpaceResponse -> Maybe Text
failureReason :: Prelude.Maybe Prelude.Text,
    -- | The ID of the space\'s profile in the Amazon Elastic File System volume.
    DescribeSpaceResponse -> Maybe Text
homeEfsFileSystemUid :: Prelude.Maybe Prelude.Text,
    -- | The last modified time.
    DescribeSpaceResponse -> Maybe POSIX
lastModifiedTime :: Prelude.Maybe Data.POSIX,
    -- | The space\'s Amazon Resource Name (ARN).
    DescribeSpaceResponse -> Maybe Text
spaceArn :: Prelude.Maybe Prelude.Text,
    -- | The name of the space.
    DescribeSpaceResponse -> Maybe Text
spaceName :: Prelude.Maybe Prelude.Text,
    -- | A collection of space settings.
    DescribeSpaceResponse -> Maybe SpaceSettings
spaceSettings :: Prelude.Maybe SpaceSettings,
    -- | The status.
    DescribeSpaceResponse -> Maybe SpaceStatus
status :: Prelude.Maybe SpaceStatus,
    -- | The response's http status code.
    DescribeSpaceResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (DescribeSpaceResponse -> DescribeSpaceResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeSpaceResponse -> DescribeSpaceResponse -> Bool
$c/= :: DescribeSpaceResponse -> DescribeSpaceResponse -> Bool
== :: DescribeSpaceResponse -> DescribeSpaceResponse -> Bool
$c== :: DescribeSpaceResponse -> DescribeSpaceResponse -> Bool
Prelude.Eq, ReadPrec [DescribeSpaceResponse]
ReadPrec DescribeSpaceResponse
Int -> ReadS DescribeSpaceResponse
ReadS [DescribeSpaceResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeSpaceResponse]
$creadListPrec :: ReadPrec [DescribeSpaceResponse]
readPrec :: ReadPrec DescribeSpaceResponse
$creadPrec :: ReadPrec DescribeSpaceResponse
readList :: ReadS [DescribeSpaceResponse]
$creadList :: ReadS [DescribeSpaceResponse]
readsPrec :: Int -> ReadS DescribeSpaceResponse
$creadsPrec :: Int -> ReadS DescribeSpaceResponse
Prelude.Read, Int -> DescribeSpaceResponse -> ShowS
[DescribeSpaceResponse] -> ShowS
DescribeSpaceResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeSpaceResponse] -> ShowS
$cshowList :: [DescribeSpaceResponse] -> ShowS
show :: DescribeSpaceResponse -> String
$cshow :: DescribeSpaceResponse -> String
showsPrec :: Int -> DescribeSpaceResponse -> ShowS
$cshowsPrec :: Int -> DescribeSpaceResponse -> ShowS
Prelude.Show, forall x. Rep DescribeSpaceResponse x -> DescribeSpaceResponse
forall x. DescribeSpaceResponse -> Rep DescribeSpaceResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeSpaceResponse x -> DescribeSpaceResponse
$cfrom :: forall x. DescribeSpaceResponse -> Rep DescribeSpaceResponse x
Prelude.Generic)

-- |
-- Create a value of 'DescribeSpaceResponse' 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:
--
-- 'creationTime', 'describeSpaceResponse_creationTime' - The creation time.
--
-- 'domainId', 'describeSpaceResponse_domainId' - The ID of the associated Domain.
--
-- 'failureReason', 'describeSpaceResponse_failureReason' - The failure reason.
--
-- 'homeEfsFileSystemUid', 'describeSpaceResponse_homeEfsFileSystemUid' - The ID of the space\'s profile in the Amazon Elastic File System volume.
--
-- 'lastModifiedTime', 'describeSpaceResponse_lastModifiedTime' - The last modified time.
--
-- 'spaceArn', 'describeSpaceResponse_spaceArn' - The space\'s Amazon Resource Name (ARN).
--
-- 'spaceName', 'describeSpaceResponse_spaceName' - The name of the space.
--
-- 'spaceSettings', 'describeSpaceResponse_spaceSettings' - A collection of space settings.
--
-- 'status', 'describeSpaceResponse_status' - The status.
--
-- 'httpStatus', 'describeSpaceResponse_httpStatus' - The response's http status code.
newDescribeSpaceResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  DescribeSpaceResponse
newDescribeSpaceResponse :: Int -> DescribeSpaceResponse
newDescribeSpaceResponse Int
pHttpStatus_ =
  DescribeSpaceResponse'
    { $sel:creationTime:DescribeSpaceResponse' :: Maybe POSIX
creationTime =
        forall a. Maybe a
Prelude.Nothing,
      $sel:domainId:DescribeSpaceResponse' :: Maybe Text
domainId = forall a. Maybe a
Prelude.Nothing,
      $sel:failureReason:DescribeSpaceResponse' :: Maybe Text
failureReason = forall a. Maybe a
Prelude.Nothing,
      $sel:homeEfsFileSystemUid:DescribeSpaceResponse' :: Maybe Text
homeEfsFileSystemUid = forall a. Maybe a
Prelude.Nothing,
      $sel:lastModifiedTime:DescribeSpaceResponse' :: Maybe POSIX
lastModifiedTime = forall a. Maybe a
Prelude.Nothing,
      $sel:spaceArn:DescribeSpaceResponse' :: Maybe Text
spaceArn = forall a. Maybe a
Prelude.Nothing,
      $sel:spaceName:DescribeSpaceResponse' :: Maybe Text
spaceName = forall a. Maybe a
Prelude.Nothing,
      $sel:spaceSettings:DescribeSpaceResponse' :: Maybe SpaceSettings
spaceSettings = forall a. Maybe a
Prelude.Nothing,
      $sel:status:DescribeSpaceResponse' :: Maybe SpaceStatus
status = forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:DescribeSpaceResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | The creation time.
describeSpaceResponse_creationTime :: Lens.Lens' DescribeSpaceResponse (Prelude.Maybe Prelude.UTCTime)
describeSpaceResponse_creationTime :: Lens' DescribeSpaceResponse (Maybe UTCTime)
describeSpaceResponse_creationTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeSpaceResponse' {Maybe POSIX
creationTime :: Maybe POSIX
$sel:creationTime:DescribeSpaceResponse' :: DescribeSpaceResponse -> Maybe POSIX
creationTime} -> Maybe POSIX
creationTime) (\s :: DescribeSpaceResponse
s@DescribeSpaceResponse' {} Maybe POSIX
a -> DescribeSpaceResponse
s {$sel:creationTime:DescribeSpaceResponse' :: Maybe POSIX
creationTime = Maybe POSIX
a} :: DescribeSpaceResponse) 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 (a :: Format). Iso' (Time a) UTCTime
Data._Time

-- | The ID of the associated Domain.
describeSpaceResponse_domainId :: Lens.Lens' DescribeSpaceResponse (Prelude.Maybe Prelude.Text)
describeSpaceResponse_domainId :: Lens' DescribeSpaceResponse (Maybe Text)
describeSpaceResponse_domainId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeSpaceResponse' {Maybe Text
domainId :: Maybe Text
$sel:domainId:DescribeSpaceResponse' :: DescribeSpaceResponse -> Maybe Text
domainId} -> Maybe Text
domainId) (\s :: DescribeSpaceResponse
s@DescribeSpaceResponse' {} Maybe Text
a -> DescribeSpaceResponse
s {$sel:domainId:DescribeSpaceResponse' :: Maybe Text
domainId = Maybe Text
a} :: DescribeSpaceResponse)

-- | The failure reason.
describeSpaceResponse_failureReason :: Lens.Lens' DescribeSpaceResponse (Prelude.Maybe Prelude.Text)
describeSpaceResponse_failureReason :: Lens' DescribeSpaceResponse (Maybe Text)
describeSpaceResponse_failureReason = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeSpaceResponse' {Maybe Text
failureReason :: Maybe Text
$sel:failureReason:DescribeSpaceResponse' :: DescribeSpaceResponse -> Maybe Text
failureReason} -> Maybe Text
failureReason) (\s :: DescribeSpaceResponse
s@DescribeSpaceResponse' {} Maybe Text
a -> DescribeSpaceResponse
s {$sel:failureReason:DescribeSpaceResponse' :: Maybe Text
failureReason = Maybe Text
a} :: DescribeSpaceResponse)

-- | The ID of the space\'s profile in the Amazon Elastic File System volume.
describeSpaceResponse_homeEfsFileSystemUid :: Lens.Lens' DescribeSpaceResponse (Prelude.Maybe Prelude.Text)
describeSpaceResponse_homeEfsFileSystemUid :: Lens' DescribeSpaceResponse (Maybe Text)
describeSpaceResponse_homeEfsFileSystemUid = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeSpaceResponse' {Maybe Text
homeEfsFileSystemUid :: Maybe Text
$sel:homeEfsFileSystemUid:DescribeSpaceResponse' :: DescribeSpaceResponse -> Maybe Text
homeEfsFileSystemUid} -> Maybe Text
homeEfsFileSystemUid) (\s :: DescribeSpaceResponse
s@DescribeSpaceResponse' {} Maybe Text
a -> DescribeSpaceResponse
s {$sel:homeEfsFileSystemUid:DescribeSpaceResponse' :: Maybe Text
homeEfsFileSystemUid = Maybe Text
a} :: DescribeSpaceResponse)

-- | The last modified time.
describeSpaceResponse_lastModifiedTime :: Lens.Lens' DescribeSpaceResponse (Prelude.Maybe Prelude.UTCTime)
describeSpaceResponse_lastModifiedTime :: Lens' DescribeSpaceResponse (Maybe UTCTime)
describeSpaceResponse_lastModifiedTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeSpaceResponse' {Maybe POSIX
lastModifiedTime :: Maybe POSIX
$sel:lastModifiedTime:DescribeSpaceResponse' :: DescribeSpaceResponse -> Maybe POSIX
lastModifiedTime} -> Maybe POSIX
lastModifiedTime) (\s :: DescribeSpaceResponse
s@DescribeSpaceResponse' {} Maybe POSIX
a -> DescribeSpaceResponse
s {$sel:lastModifiedTime:DescribeSpaceResponse' :: Maybe POSIX
lastModifiedTime = Maybe POSIX
a} :: DescribeSpaceResponse) 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 (a :: Format). Iso' (Time a) UTCTime
Data._Time

-- | The space\'s Amazon Resource Name (ARN).
describeSpaceResponse_spaceArn :: Lens.Lens' DescribeSpaceResponse (Prelude.Maybe Prelude.Text)
describeSpaceResponse_spaceArn :: Lens' DescribeSpaceResponse (Maybe Text)
describeSpaceResponse_spaceArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeSpaceResponse' {Maybe Text
spaceArn :: Maybe Text
$sel:spaceArn:DescribeSpaceResponse' :: DescribeSpaceResponse -> Maybe Text
spaceArn} -> Maybe Text
spaceArn) (\s :: DescribeSpaceResponse
s@DescribeSpaceResponse' {} Maybe Text
a -> DescribeSpaceResponse
s {$sel:spaceArn:DescribeSpaceResponse' :: Maybe Text
spaceArn = Maybe Text
a} :: DescribeSpaceResponse)

-- | The name of the space.
describeSpaceResponse_spaceName :: Lens.Lens' DescribeSpaceResponse (Prelude.Maybe Prelude.Text)
describeSpaceResponse_spaceName :: Lens' DescribeSpaceResponse (Maybe Text)
describeSpaceResponse_spaceName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeSpaceResponse' {Maybe Text
spaceName :: Maybe Text
$sel:spaceName:DescribeSpaceResponse' :: DescribeSpaceResponse -> Maybe Text
spaceName} -> Maybe Text
spaceName) (\s :: DescribeSpaceResponse
s@DescribeSpaceResponse' {} Maybe Text
a -> DescribeSpaceResponse
s {$sel:spaceName:DescribeSpaceResponse' :: Maybe Text
spaceName = Maybe Text
a} :: DescribeSpaceResponse)

-- | A collection of space settings.
describeSpaceResponse_spaceSettings :: Lens.Lens' DescribeSpaceResponse (Prelude.Maybe SpaceSettings)
describeSpaceResponse_spaceSettings :: Lens' DescribeSpaceResponse (Maybe SpaceSettings)
describeSpaceResponse_spaceSettings = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeSpaceResponse' {Maybe SpaceSettings
spaceSettings :: Maybe SpaceSettings
$sel:spaceSettings:DescribeSpaceResponse' :: DescribeSpaceResponse -> Maybe SpaceSettings
spaceSettings} -> Maybe SpaceSettings
spaceSettings) (\s :: DescribeSpaceResponse
s@DescribeSpaceResponse' {} Maybe SpaceSettings
a -> DescribeSpaceResponse
s {$sel:spaceSettings:DescribeSpaceResponse' :: Maybe SpaceSettings
spaceSettings = Maybe SpaceSettings
a} :: DescribeSpaceResponse)

-- | The status.
describeSpaceResponse_status :: Lens.Lens' DescribeSpaceResponse (Prelude.Maybe SpaceStatus)
describeSpaceResponse_status :: Lens' DescribeSpaceResponse (Maybe SpaceStatus)
describeSpaceResponse_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeSpaceResponse' {Maybe SpaceStatus
status :: Maybe SpaceStatus
$sel:status:DescribeSpaceResponse' :: DescribeSpaceResponse -> Maybe SpaceStatus
status} -> Maybe SpaceStatus
status) (\s :: DescribeSpaceResponse
s@DescribeSpaceResponse' {} Maybe SpaceStatus
a -> DescribeSpaceResponse
s {$sel:status:DescribeSpaceResponse' :: Maybe SpaceStatus
status = Maybe SpaceStatus
a} :: DescribeSpaceResponse)

-- | The response's http status code.
describeSpaceResponse_httpStatus :: Lens.Lens' DescribeSpaceResponse Prelude.Int
describeSpaceResponse_httpStatus :: Lens' DescribeSpaceResponse Int
describeSpaceResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeSpaceResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeSpaceResponse' :: DescribeSpaceResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeSpaceResponse
s@DescribeSpaceResponse' {} Int
a -> DescribeSpaceResponse
s {$sel:httpStatus:DescribeSpaceResponse' :: Int
httpStatus = Int
a} :: DescribeSpaceResponse)

instance Prelude.NFData DescribeSpaceResponse where
  rnf :: DescribeSpaceResponse -> ()
rnf DescribeSpaceResponse' {Int
Maybe Text
Maybe POSIX
Maybe SpaceSettings
Maybe SpaceStatus
httpStatus :: Int
status :: Maybe SpaceStatus
spaceSettings :: Maybe SpaceSettings
spaceName :: Maybe Text
spaceArn :: Maybe Text
lastModifiedTime :: Maybe POSIX
homeEfsFileSystemUid :: Maybe Text
failureReason :: Maybe Text
domainId :: Maybe Text
creationTime :: Maybe POSIX
$sel:httpStatus:DescribeSpaceResponse' :: DescribeSpaceResponse -> Int
$sel:status:DescribeSpaceResponse' :: DescribeSpaceResponse -> Maybe SpaceStatus
$sel:spaceSettings:DescribeSpaceResponse' :: DescribeSpaceResponse -> Maybe SpaceSettings
$sel:spaceName:DescribeSpaceResponse' :: DescribeSpaceResponse -> Maybe Text
$sel:spaceArn:DescribeSpaceResponse' :: DescribeSpaceResponse -> Maybe Text
$sel:lastModifiedTime:DescribeSpaceResponse' :: DescribeSpaceResponse -> Maybe POSIX
$sel:homeEfsFileSystemUid:DescribeSpaceResponse' :: DescribeSpaceResponse -> Maybe Text
$sel:failureReason:DescribeSpaceResponse' :: DescribeSpaceResponse -> Maybe Text
$sel:domainId:DescribeSpaceResponse' :: DescribeSpaceResponse -> Maybe Text
$sel:creationTime:DescribeSpaceResponse' :: DescribeSpaceResponse -> Maybe POSIX
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
creationTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
domainId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
failureReason
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
homeEfsFileSystemUid
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
lastModifiedTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
spaceArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
spaceName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe SpaceSettings
spaceSettings
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe SpaceStatus
status
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus