{-# 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.SageMaker.Types.HubInfo -- 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.SageMaker.Types.HubInfo 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 Amazonka.SageMaker.Types.HubStatus -- | Information about a hub. -- -- /See:/ 'newHubInfo' smart constructor. data HubInfo = HubInfo' { -- | A description of the hub. hubDescription :: Prelude.Maybe Prelude.Text, -- | The display name of the hub. hubDisplayName :: Prelude.Maybe Prelude.Text, -- | The searchable keywords for the hub. hubSearchKeywords :: Prelude.Maybe [Prelude.Text], -- | The name of the hub. hubName :: Prelude.Text, -- | The Amazon Resource Name (ARN) of the hub. hubArn :: Prelude.Text, -- | The status of the hub. hubStatus :: HubStatus, -- | The date and time that the hub was created. creationTime :: Data.POSIX, -- | The date and time that the hub was last modified. lastModifiedTime :: Data.POSIX } deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic) -- | -- Create a value of 'HubInfo' with all optional fields omitted. -- -- Use or to modify other optional fields. -- -- The following record fields are available, with the corresponding lenses provided -- for backwards compatibility: -- -- 'hubDescription', 'hubInfo_hubDescription' - A description of the hub. -- -- 'hubDisplayName', 'hubInfo_hubDisplayName' - The display name of the hub. -- -- 'hubSearchKeywords', 'hubInfo_hubSearchKeywords' - The searchable keywords for the hub. -- -- 'hubName', 'hubInfo_hubName' - The name of the hub. -- -- 'hubArn', 'hubInfo_hubArn' - The Amazon Resource Name (ARN) of the hub. -- -- 'hubStatus', 'hubInfo_hubStatus' - The status of the hub. -- -- 'creationTime', 'hubInfo_creationTime' - The date and time that the hub was created. -- -- 'lastModifiedTime', 'hubInfo_lastModifiedTime' - The date and time that the hub was last modified. newHubInfo :: -- | 'hubName' Prelude.Text -> -- | 'hubArn' Prelude.Text -> -- | 'hubStatus' HubStatus -> -- | 'creationTime' Prelude.UTCTime -> -- | 'lastModifiedTime' Prelude.UTCTime -> HubInfo newHubInfo pHubName_ pHubArn_ pHubStatus_ pCreationTime_ pLastModifiedTime_ = HubInfo' { hubDescription = Prelude.Nothing, hubDisplayName = Prelude.Nothing, hubSearchKeywords = Prelude.Nothing, hubName = pHubName_, hubArn = pHubArn_, hubStatus = pHubStatus_, creationTime = Data._Time Lens.# pCreationTime_, lastModifiedTime = Data._Time Lens.# pLastModifiedTime_ } -- | A description of the hub. hubInfo_hubDescription :: Lens.Lens' HubInfo (Prelude.Maybe Prelude.Text) hubInfo_hubDescription = Lens.lens (\HubInfo' {hubDescription} -> hubDescription) (\s@HubInfo' {} a -> s {hubDescription = a} :: HubInfo) -- | The display name of the hub. hubInfo_hubDisplayName :: Lens.Lens' HubInfo (Prelude.Maybe Prelude.Text) hubInfo_hubDisplayName = Lens.lens (\HubInfo' {hubDisplayName} -> hubDisplayName) (\s@HubInfo' {} a -> s {hubDisplayName = a} :: HubInfo) -- | The searchable keywords for the hub. hubInfo_hubSearchKeywords :: Lens.Lens' HubInfo (Prelude.Maybe [Prelude.Text]) hubInfo_hubSearchKeywords = Lens.lens (\HubInfo' {hubSearchKeywords} -> hubSearchKeywords) (\s@HubInfo' {} a -> s {hubSearchKeywords = a} :: HubInfo) Prelude.. Lens.mapping Lens.coerced -- | The name of the hub. hubInfo_hubName :: Lens.Lens' HubInfo Prelude.Text hubInfo_hubName = Lens.lens (\HubInfo' {hubName} -> hubName) (\s@HubInfo' {} a -> s {hubName = a} :: HubInfo) -- | The Amazon Resource Name (ARN) of the hub. hubInfo_hubArn :: Lens.Lens' HubInfo Prelude.Text hubInfo_hubArn = Lens.lens (\HubInfo' {hubArn} -> hubArn) (\s@HubInfo' {} a -> s {hubArn = a} :: HubInfo) -- | The status of the hub. hubInfo_hubStatus :: Lens.Lens' HubInfo HubStatus hubInfo_hubStatus = Lens.lens (\HubInfo' {hubStatus} -> hubStatus) (\s@HubInfo' {} a -> s {hubStatus = a} :: HubInfo) -- | The date and time that the hub was created. hubInfo_creationTime :: Lens.Lens' HubInfo Prelude.UTCTime hubInfo_creationTime = Lens.lens (\HubInfo' {creationTime} -> creationTime) (\s@HubInfo' {} a -> s {creationTime = a} :: HubInfo) Prelude.. Data._Time -- | The date and time that the hub was last modified. hubInfo_lastModifiedTime :: Lens.Lens' HubInfo Prelude.UTCTime hubInfo_lastModifiedTime = Lens.lens (\HubInfo' {lastModifiedTime} -> lastModifiedTime) (\s@HubInfo' {} a -> s {lastModifiedTime = a} :: HubInfo) Prelude.. Data._Time instance Data.FromJSON HubInfo where parseJSON = Data.withObject "HubInfo" ( \x -> HubInfo' Prelude.<$> (x Data..:? "HubDescription") Prelude.<*> (x Data..:? "HubDisplayName") Prelude.<*> ( x Data..:? "HubSearchKeywords" Data..!= Prelude.mempty ) Prelude.<*> (x Data..: "HubName") Prelude.<*> (x Data..: "HubArn") Prelude.<*> (x Data..: "HubStatus") Prelude.<*> (x Data..: "CreationTime") Prelude.<*> (x Data..: "LastModifiedTime") ) instance Prelude.Hashable HubInfo where hashWithSalt _salt HubInfo' {..} = _salt `Prelude.hashWithSalt` hubDescription `Prelude.hashWithSalt` hubDisplayName `Prelude.hashWithSalt` hubSearchKeywords `Prelude.hashWithSalt` hubName `Prelude.hashWithSalt` hubArn `Prelude.hashWithSalt` hubStatus `Prelude.hashWithSalt` creationTime `Prelude.hashWithSalt` lastModifiedTime instance Prelude.NFData HubInfo where rnf HubInfo' {..} = Prelude.rnf hubDescription `Prelude.seq` Prelude.rnf hubDisplayName `Prelude.seq` Prelude.rnf hubSearchKeywords `Prelude.seq` Prelude.rnf hubName `Prelude.seq` Prelude.rnf hubArn `Prelude.seq` Prelude.rnf hubStatus `Prelude.seq` Prelude.rnf creationTime `Prelude.seq` Prelude.rnf lastModifiedTime