{-# 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.DescribeHub
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Describe a hub.
module Amazonka.SageMaker.DescribeHub
  ( -- * Creating a Request
    DescribeHub (..),
    newDescribeHub,

    -- * Request Lenses
    describeHub_hubName,

    -- * Destructuring the Response
    DescribeHubResponse (..),
    newDescribeHubResponse,

    -- * Response Lenses
    describeHubResponse_failureReason,
    describeHubResponse_hubDescription,
    describeHubResponse_hubDisplayName,
    describeHubResponse_hubSearchKeywords,
    describeHubResponse_s3StorageConfig,
    describeHubResponse_httpStatus,
    describeHubResponse_hubName,
    describeHubResponse_hubArn,
    describeHubResponse_hubStatus,
    describeHubResponse_creationTime,
    describeHubResponse_lastModifiedTime,
  )
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:/ 'newDescribeHub' smart constructor.
data DescribeHub = DescribeHub'
  { -- | The name of the hub to describe.
    DescribeHub -> Text
hubName :: Prelude.Text
  }
  deriving (DescribeHub -> DescribeHub -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeHub -> DescribeHub -> Bool
$c/= :: DescribeHub -> DescribeHub -> Bool
== :: DescribeHub -> DescribeHub -> Bool
$c== :: DescribeHub -> DescribeHub -> Bool
Prelude.Eq, ReadPrec [DescribeHub]
ReadPrec DescribeHub
Int -> ReadS DescribeHub
ReadS [DescribeHub]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeHub]
$creadListPrec :: ReadPrec [DescribeHub]
readPrec :: ReadPrec DescribeHub
$creadPrec :: ReadPrec DescribeHub
readList :: ReadS [DescribeHub]
$creadList :: ReadS [DescribeHub]
readsPrec :: Int -> ReadS DescribeHub
$creadsPrec :: Int -> ReadS DescribeHub
Prelude.Read, Int -> DescribeHub -> ShowS
[DescribeHub] -> ShowS
DescribeHub -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeHub] -> ShowS
$cshowList :: [DescribeHub] -> ShowS
show :: DescribeHub -> String
$cshow :: DescribeHub -> String
showsPrec :: Int -> DescribeHub -> ShowS
$cshowsPrec :: Int -> DescribeHub -> ShowS
Prelude.Show, forall x. Rep DescribeHub x -> DescribeHub
forall x. DescribeHub -> Rep DescribeHub x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeHub x -> DescribeHub
$cfrom :: forall x. DescribeHub -> Rep DescribeHub x
Prelude.Generic)

-- |
-- Create a value of 'DescribeHub' 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:
--
-- 'hubName', 'describeHub_hubName' - The name of the hub to describe.
newDescribeHub ::
  -- | 'hubName'
  Prelude.Text ->
  DescribeHub
newDescribeHub :: Text -> DescribeHub
newDescribeHub Text
pHubName_ =
  DescribeHub' {$sel:hubName:DescribeHub' :: Text
hubName = Text
pHubName_}

-- | The name of the hub to describe.
describeHub_hubName :: Lens.Lens' DescribeHub Prelude.Text
describeHub_hubName :: Lens' DescribeHub Text
describeHub_hubName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeHub' {Text
hubName :: Text
$sel:hubName:DescribeHub' :: DescribeHub -> Text
hubName} -> Text
hubName) (\s :: DescribeHub
s@DescribeHub' {} Text
a -> DescribeHub
s {$sel:hubName:DescribeHub' :: Text
hubName = Text
a} :: DescribeHub)

instance Core.AWSRequest DescribeHub where
  type AWSResponse DescribeHub = DescribeHubResponse
  request :: (Service -> Service) -> DescribeHub -> Request DescribeHub
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 DescribeHub
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse DescribeHub)))
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 Text
-> Maybe Text
-> Maybe Text
-> Maybe [Text]
-> Maybe HubS3StorageConfig
-> Int
-> Text
-> Text
-> HubStatus
-> POSIX
-> POSIX
-> DescribeHubResponse
DescribeHubResponse'
            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
"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
"HubDescription")
            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
"HubDisplayName")
            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
"HubSearchKeywords"
                            forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
                        )
            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
"S3StorageConfig")
            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))
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String a
Data..:> Key
"HubName")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String a
Data..:> Key
"HubArn")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String a
Data..:> Key
"HubStatus")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String 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 a
Data..:> Key
"LastModifiedTime")
      )

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

instance Prelude.NFData DescribeHub where
  rnf :: DescribeHub -> ()
rnf DescribeHub' {Text
hubName :: Text
$sel:hubName:DescribeHub' :: DescribeHub -> Text
..} = forall a. NFData a => a -> ()
Prelude.rnf Text
hubName

instance Data.ToHeaders DescribeHub where
  toHeaders :: DescribeHub -> 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.DescribeHub" :: 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 DescribeHub where
  toJSON :: DescribeHub -> Value
toJSON DescribeHub' {Text
hubName :: Text
$sel:hubName:DescribeHub' :: DescribeHub -> Text
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [forall a. a -> Maybe a
Prelude.Just (Key
"HubName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
hubName)]
      )

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

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

-- | /See:/ 'newDescribeHubResponse' smart constructor.
data DescribeHubResponse = DescribeHubResponse'
  { -- | The failure reason if importing hub content failed.
    DescribeHubResponse -> Maybe Text
failureReason :: Prelude.Maybe Prelude.Text,
    -- | A description of the hub.
    DescribeHubResponse -> Maybe Text
hubDescription :: Prelude.Maybe Prelude.Text,
    -- | The display name of the hub.
    DescribeHubResponse -> Maybe Text
hubDisplayName :: Prelude.Maybe Prelude.Text,
    -- | The searchable keywords for the hub.
    DescribeHubResponse -> Maybe [Text]
hubSearchKeywords :: Prelude.Maybe [Prelude.Text],
    -- | The Amazon S3 storage configuration for the hub.
    DescribeHubResponse -> Maybe HubS3StorageConfig
s3StorageConfig :: Prelude.Maybe HubS3StorageConfig,
    -- | The response's http status code.
    DescribeHubResponse -> Int
httpStatus :: Prelude.Int,
    -- | The name of the hub.
    DescribeHubResponse -> Text
hubName :: Prelude.Text,
    -- | The Amazon Resource Name (ARN) of the hub.
    DescribeHubResponse -> Text
hubArn :: Prelude.Text,
    -- | The status of the hub.
    DescribeHubResponse -> HubStatus
hubStatus :: HubStatus,
    -- | The date and time that the hub was created.
    DescribeHubResponse -> POSIX
creationTime :: Data.POSIX,
    -- | The date and time that the hub was last modified.
    DescribeHubResponse -> POSIX
lastModifiedTime :: Data.POSIX
  }
  deriving (DescribeHubResponse -> DescribeHubResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeHubResponse -> DescribeHubResponse -> Bool
$c/= :: DescribeHubResponse -> DescribeHubResponse -> Bool
== :: DescribeHubResponse -> DescribeHubResponse -> Bool
$c== :: DescribeHubResponse -> DescribeHubResponse -> Bool
Prelude.Eq, ReadPrec [DescribeHubResponse]
ReadPrec DescribeHubResponse
Int -> ReadS DescribeHubResponse
ReadS [DescribeHubResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeHubResponse]
$creadListPrec :: ReadPrec [DescribeHubResponse]
readPrec :: ReadPrec DescribeHubResponse
$creadPrec :: ReadPrec DescribeHubResponse
readList :: ReadS [DescribeHubResponse]
$creadList :: ReadS [DescribeHubResponse]
readsPrec :: Int -> ReadS DescribeHubResponse
$creadsPrec :: Int -> ReadS DescribeHubResponse
Prelude.Read, Int -> DescribeHubResponse -> ShowS
[DescribeHubResponse] -> ShowS
DescribeHubResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeHubResponse] -> ShowS
$cshowList :: [DescribeHubResponse] -> ShowS
show :: DescribeHubResponse -> String
$cshow :: DescribeHubResponse -> String
showsPrec :: Int -> DescribeHubResponse -> ShowS
$cshowsPrec :: Int -> DescribeHubResponse -> ShowS
Prelude.Show, forall x. Rep DescribeHubResponse x -> DescribeHubResponse
forall x. DescribeHubResponse -> Rep DescribeHubResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeHubResponse x -> DescribeHubResponse
$cfrom :: forall x. DescribeHubResponse -> Rep DescribeHubResponse x
Prelude.Generic)

-- |
-- Create a value of 'DescribeHubResponse' 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:
--
-- 'failureReason', 'describeHubResponse_failureReason' - The failure reason if importing hub content failed.
--
-- 'hubDescription', 'describeHubResponse_hubDescription' - A description of the hub.
--
-- 'hubDisplayName', 'describeHubResponse_hubDisplayName' - The display name of the hub.
--
-- 'hubSearchKeywords', 'describeHubResponse_hubSearchKeywords' - The searchable keywords for the hub.
--
-- 's3StorageConfig', 'describeHubResponse_s3StorageConfig' - The Amazon S3 storage configuration for the hub.
--
-- 'httpStatus', 'describeHubResponse_httpStatus' - The response's http status code.
--
-- 'hubName', 'describeHubResponse_hubName' - The name of the hub.
--
-- 'hubArn', 'describeHubResponse_hubArn' - The Amazon Resource Name (ARN) of the hub.
--
-- 'hubStatus', 'describeHubResponse_hubStatus' - The status of the hub.
--
-- 'creationTime', 'describeHubResponse_creationTime' - The date and time that the hub was created.
--
-- 'lastModifiedTime', 'describeHubResponse_lastModifiedTime' - The date and time that the hub was last modified.
newDescribeHubResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  -- | 'hubName'
  Prelude.Text ->
  -- | 'hubArn'
  Prelude.Text ->
  -- | 'hubStatus'
  HubStatus ->
  -- | 'creationTime'
  Prelude.UTCTime ->
  -- | 'lastModifiedTime'
  Prelude.UTCTime ->
  DescribeHubResponse
newDescribeHubResponse :: Int
-> Text
-> Text
-> HubStatus
-> UTCTime
-> UTCTime
-> DescribeHubResponse
newDescribeHubResponse
  Int
pHttpStatus_
  Text
pHubName_
  Text
pHubArn_
  HubStatus
pHubStatus_
  UTCTime
pCreationTime_
  UTCTime
pLastModifiedTime_ =
    DescribeHubResponse'
      { $sel:failureReason:DescribeHubResponse' :: Maybe Text
failureReason =
          forall a. Maybe a
Prelude.Nothing,
        $sel:hubDescription:DescribeHubResponse' :: Maybe Text
hubDescription = forall a. Maybe a
Prelude.Nothing,
        $sel:hubDisplayName:DescribeHubResponse' :: Maybe Text
hubDisplayName = forall a. Maybe a
Prelude.Nothing,
        $sel:hubSearchKeywords:DescribeHubResponse' :: Maybe [Text]
hubSearchKeywords = forall a. Maybe a
Prelude.Nothing,
        $sel:s3StorageConfig:DescribeHubResponse' :: Maybe HubS3StorageConfig
s3StorageConfig = forall a. Maybe a
Prelude.Nothing,
        $sel:httpStatus:DescribeHubResponse' :: Int
httpStatus = Int
pHttpStatus_,
        $sel:hubName:DescribeHubResponse' :: Text
hubName = Text
pHubName_,
        $sel:hubArn:DescribeHubResponse' :: Text
hubArn = Text
pHubArn_,
        $sel:hubStatus:DescribeHubResponse' :: HubStatus
hubStatus = HubStatus
pHubStatus_,
        $sel:creationTime:DescribeHubResponse' :: POSIX
creationTime = forall (a :: Format). Iso' (Time a) UTCTime
Data._Time forall t b. AReview t b -> b -> t
Lens.# UTCTime
pCreationTime_,
        $sel:lastModifiedTime:DescribeHubResponse' :: POSIX
lastModifiedTime =
          forall (a :: Format). Iso' (Time a) UTCTime
Data._Time forall t b. AReview t b -> b -> t
Lens.# UTCTime
pLastModifiedTime_
      }

-- | The failure reason if importing hub content failed.
describeHubResponse_failureReason :: Lens.Lens' DescribeHubResponse (Prelude.Maybe Prelude.Text)
describeHubResponse_failureReason :: Lens' DescribeHubResponse (Maybe Text)
describeHubResponse_failureReason = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeHubResponse' {Maybe Text
failureReason :: Maybe Text
$sel:failureReason:DescribeHubResponse' :: DescribeHubResponse -> Maybe Text
failureReason} -> Maybe Text
failureReason) (\s :: DescribeHubResponse
s@DescribeHubResponse' {} Maybe Text
a -> DescribeHubResponse
s {$sel:failureReason:DescribeHubResponse' :: Maybe Text
failureReason = Maybe Text
a} :: DescribeHubResponse)

-- | A description of the hub.
describeHubResponse_hubDescription :: Lens.Lens' DescribeHubResponse (Prelude.Maybe Prelude.Text)
describeHubResponse_hubDescription :: Lens' DescribeHubResponse (Maybe Text)
describeHubResponse_hubDescription = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeHubResponse' {Maybe Text
hubDescription :: Maybe Text
$sel:hubDescription:DescribeHubResponse' :: DescribeHubResponse -> Maybe Text
hubDescription} -> Maybe Text
hubDescription) (\s :: DescribeHubResponse
s@DescribeHubResponse' {} Maybe Text
a -> DescribeHubResponse
s {$sel:hubDescription:DescribeHubResponse' :: Maybe Text
hubDescription = Maybe Text
a} :: DescribeHubResponse)

-- | The display name of the hub.
describeHubResponse_hubDisplayName :: Lens.Lens' DescribeHubResponse (Prelude.Maybe Prelude.Text)
describeHubResponse_hubDisplayName :: Lens' DescribeHubResponse (Maybe Text)
describeHubResponse_hubDisplayName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeHubResponse' {Maybe Text
hubDisplayName :: Maybe Text
$sel:hubDisplayName:DescribeHubResponse' :: DescribeHubResponse -> Maybe Text
hubDisplayName} -> Maybe Text
hubDisplayName) (\s :: DescribeHubResponse
s@DescribeHubResponse' {} Maybe Text
a -> DescribeHubResponse
s {$sel:hubDisplayName:DescribeHubResponse' :: Maybe Text
hubDisplayName = Maybe Text
a} :: DescribeHubResponse)

-- | The searchable keywords for the hub.
describeHubResponse_hubSearchKeywords :: Lens.Lens' DescribeHubResponse (Prelude.Maybe [Prelude.Text])
describeHubResponse_hubSearchKeywords :: Lens' DescribeHubResponse (Maybe [Text])
describeHubResponse_hubSearchKeywords = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeHubResponse' {Maybe [Text]
hubSearchKeywords :: Maybe [Text]
$sel:hubSearchKeywords:DescribeHubResponse' :: DescribeHubResponse -> Maybe [Text]
hubSearchKeywords} -> Maybe [Text]
hubSearchKeywords) (\s :: DescribeHubResponse
s@DescribeHubResponse' {} Maybe [Text]
a -> DescribeHubResponse
s {$sel:hubSearchKeywords:DescribeHubResponse' :: Maybe [Text]
hubSearchKeywords = Maybe [Text]
a} :: DescribeHubResponse) 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

-- | The Amazon S3 storage configuration for the hub.
describeHubResponse_s3StorageConfig :: Lens.Lens' DescribeHubResponse (Prelude.Maybe HubS3StorageConfig)
describeHubResponse_s3StorageConfig :: Lens' DescribeHubResponse (Maybe HubS3StorageConfig)
describeHubResponse_s3StorageConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeHubResponse' {Maybe HubS3StorageConfig
s3StorageConfig :: Maybe HubS3StorageConfig
$sel:s3StorageConfig:DescribeHubResponse' :: DescribeHubResponse -> Maybe HubS3StorageConfig
s3StorageConfig} -> Maybe HubS3StorageConfig
s3StorageConfig) (\s :: DescribeHubResponse
s@DescribeHubResponse' {} Maybe HubS3StorageConfig
a -> DescribeHubResponse
s {$sel:s3StorageConfig:DescribeHubResponse' :: Maybe HubS3StorageConfig
s3StorageConfig = Maybe HubS3StorageConfig
a} :: DescribeHubResponse)

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

-- | The name of the hub.
describeHubResponse_hubName :: Lens.Lens' DescribeHubResponse Prelude.Text
describeHubResponse_hubName :: Lens' DescribeHubResponse Text
describeHubResponse_hubName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeHubResponse' {Text
hubName :: Text
$sel:hubName:DescribeHubResponse' :: DescribeHubResponse -> Text
hubName} -> Text
hubName) (\s :: DescribeHubResponse
s@DescribeHubResponse' {} Text
a -> DescribeHubResponse
s {$sel:hubName:DescribeHubResponse' :: Text
hubName = Text
a} :: DescribeHubResponse)

-- | The Amazon Resource Name (ARN) of the hub.
describeHubResponse_hubArn :: Lens.Lens' DescribeHubResponse Prelude.Text
describeHubResponse_hubArn :: Lens' DescribeHubResponse Text
describeHubResponse_hubArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeHubResponse' {Text
hubArn :: Text
$sel:hubArn:DescribeHubResponse' :: DescribeHubResponse -> Text
hubArn} -> Text
hubArn) (\s :: DescribeHubResponse
s@DescribeHubResponse' {} Text
a -> DescribeHubResponse
s {$sel:hubArn:DescribeHubResponse' :: Text
hubArn = Text
a} :: DescribeHubResponse)

-- | The status of the hub.
describeHubResponse_hubStatus :: Lens.Lens' DescribeHubResponse HubStatus
describeHubResponse_hubStatus :: Lens' DescribeHubResponse HubStatus
describeHubResponse_hubStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeHubResponse' {HubStatus
hubStatus :: HubStatus
$sel:hubStatus:DescribeHubResponse' :: DescribeHubResponse -> HubStatus
hubStatus} -> HubStatus
hubStatus) (\s :: DescribeHubResponse
s@DescribeHubResponse' {} HubStatus
a -> DescribeHubResponse
s {$sel:hubStatus:DescribeHubResponse' :: HubStatus
hubStatus = HubStatus
a} :: DescribeHubResponse)

-- | The date and time that the hub was created.
describeHubResponse_creationTime :: Lens.Lens' DescribeHubResponse Prelude.UTCTime
describeHubResponse_creationTime :: Lens' DescribeHubResponse UTCTime
describeHubResponse_creationTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeHubResponse' {POSIX
creationTime :: POSIX
$sel:creationTime:DescribeHubResponse' :: DescribeHubResponse -> POSIX
creationTime} -> POSIX
creationTime) (\s :: DescribeHubResponse
s@DescribeHubResponse' {} POSIX
a -> DescribeHubResponse
s {$sel:creationTime:DescribeHubResponse' :: POSIX
creationTime = POSIX
a} :: DescribeHubResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (a :: Format). Iso' (Time a) UTCTime
Data._Time

-- | The date and time that the hub was last modified.
describeHubResponse_lastModifiedTime :: Lens.Lens' DescribeHubResponse Prelude.UTCTime
describeHubResponse_lastModifiedTime :: Lens' DescribeHubResponse UTCTime
describeHubResponse_lastModifiedTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeHubResponse' {POSIX
lastModifiedTime :: POSIX
$sel:lastModifiedTime:DescribeHubResponse' :: DescribeHubResponse -> POSIX
lastModifiedTime} -> POSIX
lastModifiedTime) (\s :: DescribeHubResponse
s@DescribeHubResponse' {} POSIX
a -> DescribeHubResponse
s {$sel:lastModifiedTime:DescribeHubResponse' :: POSIX
lastModifiedTime = POSIX
a} :: DescribeHubResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (a :: Format). Iso' (Time a) UTCTime
Data._Time

instance Prelude.NFData DescribeHubResponse where
  rnf :: DescribeHubResponse -> ()
rnf DescribeHubResponse' {Int
Maybe [Text]
Maybe Text
Maybe HubS3StorageConfig
Text
POSIX
HubStatus
lastModifiedTime :: POSIX
creationTime :: POSIX
hubStatus :: HubStatus
hubArn :: Text
hubName :: Text
httpStatus :: Int
s3StorageConfig :: Maybe HubS3StorageConfig
hubSearchKeywords :: Maybe [Text]
hubDisplayName :: Maybe Text
hubDescription :: Maybe Text
failureReason :: Maybe Text
$sel:lastModifiedTime:DescribeHubResponse' :: DescribeHubResponse -> POSIX
$sel:creationTime:DescribeHubResponse' :: DescribeHubResponse -> POSIX
$sel:hubStatus:DescribeHubResponse' :: DescribeHubResponse -> HubStatus
$sel:hubArn:DescribeHubResponse' :: DescribeHubResponse -> Text
$sel:hubName:DescribeHubResponse' :: DescribeHubResponse -> Text
$sel:httpStatus:DescribeHubResponse' :: DescribeHubResponse -> Int
$sel:s3StorageConfig:DescribeHubResponse' :: DescribeHubResponse -> Maybe HubS3StorageConfig
$sel:hubSearchKeywords:DescribeHubResponse' :: DescribeHubResponse -> Maybe [Text]
$sel:hubDisplayName:DescribeHubResponse' :: DescribeHubResponse -> Maybe Text
$sel:hubDescription:DescribeHubResponse' :: DescribeHubResponse -> Maybe Text
$sel:failureReason:DescribeHubResponse' :: DescribeHubResponse -> Maybe Text
..} =
    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
hubDescription
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
hubDisplayName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
hubSearchKeywords
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe HubS3StorageConfig
s3StorageConfig
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
hubName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
hubArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf HubStatus
hubStatus
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf POSIX
creationTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf POSIX
lastModifiedTime