{-# 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.SearchRecord
-- 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.SearchRecord 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.Endpoint
import Amazonka.SageMaker.Types.Experiment
import Amazonka.SageMaker.Types.FeatureGroup
import Amazonka.SageMaker.Types.FeatureMetadata
import Amazonka.SageMaker.Types.HyperParameterTuningJobSearchEntity
import Amazonka.SageMaker.Types.ModelCard
import Amazonka.SageMaker.Types.ModelDashboardModel
import Amazonka.SageMaker.Types.ModelPackage
import Amazonka.SageMaker.Types.ModelPackageGroup
import Amazonka.SageMaker.Types.Pipeline
import Amazonka.SageMaker.Types.PipelineExecution
import Amazonka.SageMaker.Types.Project
import Amazonka.SageMaker.Types.TrainingJob
import Amazonka.SageMaker.Types.Trial
import Amazonka.SageMaker.Types.TrialComponent

-- | A single resource returned as part of the Search API response.
--
-- /See:/ 'newSearchRecord' smart constructor.
data SearchRecord = SearchRecord'
  { SearchRecord -> Maybe Endpoint
endpoint :: Prelude.Maybe Endpoint,
    -- | The properties of an experiment.
    SearchRecord -> Maybe Experiment
experiment :: Prelude.Maybe Experiment,
    SearchRecord -> Maybe FeatureGroup
featureGroup :: Prelude.Maybe FeatureGroup,
    -- | The feature metadata used to search through the features.
    SearchRecord -> Maybe FeatureMetadata
featureMetadata :: Prelude.Maybe FeatureMetadata,
    -- | The properties of a hyperparameter tuning job.
    SearchRecord -> Maybe HyperParameterTuningJobSearchEntity
hyperParameterTuningJob :: Prelude.Maybe HyperParameterTuningJobSearchEntity,
    SearchRecord -> Maybe ModelDashboardModel
model :: Prelude.Maybe ModelDashboardModel,
    -- | An Amazon SageMaker Model Card that documents details about a machine
    -- learning model.
    SearchRecord -> Maybe ModelCard
modelCard :: Prelude.Maybe ModelCard,
    SearchRecord -> Maybe ModelPackage
modelPackage :: Prelude.Maybe ModelPackage,
    SearchRecord -> Maybe ModelPackageGroup
modelPackageGroup :: Prelude.Maybe ModelPackageGroup,
    SearchRecord -> Maybe Pipeline
pipeline :: Prelude.Maybe Pipeline,
    SearchRecord -> Maybe PipelineExecution
pipelineExecution :: Prelude.Maybe PipelineExecution,
    -- | The properties of a project.
    SearchRecord -> Maybe Project
project :: Prelude.Maybe Project,
    -- | The properties of a training job.
    SearchRecord -> Maybe TrainingJob
trainingJob :: Prelude.Maybe TrainingJob,
    -- | The properties of a trial.
    SearchRecord -> Maybe Trial
trial :: Prelude.Maybe Trial,
    -- | The properties of a trial component.
    SearchRecord -> Maybe TrialComponent
trialComponent :: Prelude.Maybe TrialComponent
  }
  deriving (SearchRecord -> SearchRecord -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SearchRecord -> SearchRecord -> Bool
$c/= :: SearchRecord -> SearchRecord -> Bool
== :: SearchRecord -> SearchRecord -> Bool
$c== :: SearchRecord -> SearchRecord -> Bool
Prelude.Eq, Int -> SearchRecord -> ShowS
[SearchRecord] -> ShowS
SearchRecord -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SearchRecord] -> ShowS
$cshowList :: [SearchRecord] -> ShowS
show :: SearchRecord -> String
$cshow :: SearchRecord -> String
showsPrec :: Int -> SearchRecord -> ShowS
$cshowsPrec :: Int -> SearchRecord -> ShowS
Prelude.Show, forall x. Rep SearchRecord x -> SearchRecord
forall x. SearchRecord -> Rep SearchRecord x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep SearchRecord x -> SearchRecord
$cfrom :: forall x. SearchRecord -> Rep SearchRecord x
Prelude.Generic)

-- |
-- Create a value of 'SearchRecord' 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:
--
-- 'endpoint', 'searchRecord_endpoint' - Undocumented member.
--
-- 'experiment', 'searchRecord_experiment' - The properties of an experiment.
--
-- 'featureGroup', 'searchRecord_featureGroup' - Undocumented member.
--
-- 'featureMetadata', 'searchRecord_featureMetadata' - The feature metadata used to search through the features.
--
-- 'hyperParameterTuningJob', 'searchRecord_hyperParameterTuningJob' - The properties of a hyperparameter tuning job.
--
-- 'model', 'searchRecord_model' - Undocumented member.
--
-- 'modelCard', 'searchRecord_modelCard' - An Amazon SageMaker Model Card that documents details about a machine
-- learning model.
--
-- 'modelPackage', 'searchRecord_modelPackage' - Undocumented member.
--
-- 'modelPackageGroup', 'searchRecord_modelPackageGroup' - Undocumented member.
--
-- 'pipeline', 'searchRecord_pipeline' - Undocumented member.
--
-- 'pipelineExecution', 'searchRecord_pipelineExecution' - Undocumented member.
--
-- 'project', 'searchRecord_project' - The properties of a project.
--
-- 'trainingJob', 'searchRecord_trainingJob' - The properties of a training job.
--
-- 'trial', 'searchRecord_trial' - The properties of a trial.
--
-- 'trialComponent', 'searchRecord_trialComponent' - The properties of a trial component.
newSearchRecord ::
  SearchRecord
newSearchRecord :: SearchRecord
newSearchRecord =
  SearchRecord'
    { $sel:endpoint:SearchRecord' :: Maybe Endpoint
endpoint = forall a. Maybe a
Prelude.Nothing,
      $sel:experiment:SearchRecord' :: Maybe Experiment
experiment = forall a. Maybe a
Prelude.Nothing,
      $sel:featureGroup:SearchRecord' :: Maybe FeatureGroup
featureGroup = forall a. Maybe a
Prelude.Nothing,
      $sel:featureMetadata:SearchRecord' :: Maybe FeatureMetadata
featureMetadata = forall a. Maybe a
Prelude.Nothing,
      $sel:hyperParameterTuningJob:SearchRecord' :: Maybe HyperParameterTuningJobSearchEntity
hyperParameterTuningJob = forall a. Maybe a
Prelude.Nothing,
      $sel:model:SearchRecord' :: Maybe ModelDashboardModel
model = forall a. Maybe a
Prelude.Nothing,
      $sel:modelCard:SearchRecord' :: Maybe ModelCard
modelCard = forall a. Maybe a
Prelude.Nothing,
      $sel:modelPackage:SearchRecord' :: Maybe ModelPackage
modelPackage = forall a. Maybe a
Prelude.Nothing,
      $sel:modelPackageGroup:SearchRecord' :: Maybe ModelPackageGroup
modelPackageGroup = forall a. Maybe a
Prelude.Nothing,
      $sel:pipeline:SearchRecord' :: Maybe Pipeline
pipeline = forall a. Maybe a
Prelude.Nothing,
      $sel:pipelineExecution:SearchRecord' :: Maybe PipelineExecution
pipelineExecution = forall a. Maybe a
Prelude.Nothing,
      $sel:project:SearchRecord' :: Maybe Project
project = forall a. Maybe a
Prelude.Nothing,
      $sel:trainingJob:SearchRecord' :: Maybe TrainingJob
trainingJob = forall a. Maybe a
Prelude.Nothing,
      $sel:trial:SearchRecord' :: Maybe Trial
trial = forall a. Maybe a
Prelude.Nothing,
      $sel:trialComponent:SearchRecord' :: Maybe TrialComponent
trialComponent = forall a. Maybe a
Prelude.Nothing
    }

-- | Undocumented member.
searchRecord_endpoint :: Lens.Lens' SearchRecord (Prelude.Maybe Endpoint)
searchRecord_endpoint :: Lens' SearchRecord (Maybe Endpoint)
searchRecord_endpoint = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SearchRecord' {Maybe Endpoint
endpoint :: Maybe Endpoint
$sel:endpoint:SearchRecord' :: SearchRecord -> Maybe Endpoint
endpoint} -> Maybe Endpoint
endpoint) (\s :: SearchRecord
s@SearchRecord' {} Maybe Endpoint
a -> SearchRecord
s {$sel:endpoint:SearchRecord' :: Maybe Endpoint
endpoint = Maybe Endpoint
a} :: SearchRecord)

-- | The properties of an experiment.
searchRecord_experiment :: Lens.Lens' SearchRecord (Prelude.Maybe Experiment)
searchRecord_experiment :: Lens' SearchRecord (Maybe Experiment)
searchRecord_experiment = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SearchRecord' {Maybe Experiment
experiment :: Maybe Experiment
$sel:experiment:SearchRecord' :: SearchRecord -> Maybe Experiment
experiment} -> Maybe Experiment
experiment) (\s :: SearchRecord
s@SearchRecord' {} Maybe Experiment
a -> SearchRecord
s {$sel:experiment:SearchRecord' :: Maybe Experiment
experiment = Maybe Experiment
a} :: SearchRecord)

-- | Undocumented member.
searchRecord_featureGroup :: Lens.Lens' SearchRecord (Prelude.Maybe FeatureGroup)
searchRecord_featureGroup :: Lens' SearchRecord (Maybe FeatureGroup)
searchRecord_featureGroup = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SearchRecord' {Maybe FeatureGroup
featureGroup :: Maybe FeatureGroup
$sel:featureGroup:SearchRecord' :: SearchRecord -> Maybe FeatureGroup
featureGroup} -> Maybe FeatureGroup
featureGroup) (\s :: SearchRecord
s@SearchRecord' {} Maybe FeatureGroup
a -> SearchRecord
s {$sel:featureGroup:SearchRecord' :: Maybe FeatureGroup
featureGroup = Maybe FeatureGroup
a} :: SearchRecord)

-- | The feature metadata used to search through the features.
searchRecord_featureMetadata :: Lens.Lens' SearchRecord (Prelude.Maybe FeatureMetadata)
searchRecord_featureMetadata :: Lens' SearchRecord (Maybe FeatureMetadata)
searchRecord_featureMetadata = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SearchRecord' {Maybe FeatureMetadata
featureMetadata :: Maybe FeatureMetadata
$sel:featureMetadata:SearchRecord' :: SearchRecord -> Maybe FeatureMetadata
featureMetadata} -> Maybe FeatureMetadata
featureMetadata) (\s :: SearchRecord
s@SearchRecord' {} Maybe FeatureMetadata
a -> SearchRecord
s {$sel:featureMetadata:SearchRecord' :: Maybe FeatureMetadata
featureMetadata = Maybe FeatureMetadata
a} :: SearchRecord)

-- | The properties of a hyperparameter tuning job.
searchRecord_hyperParameterTuningJob :: Lens.Lens' SearchRecord (Prelude.Maybe HyperParameterTuningJobSearchEntity)
searchRecord_hyperParameterTuningJob :: Lens' SearchRecord (Maybe HyperParameterTuningJobSearchEntity)
searchRecord_hyperParameterTuningJob = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SearchRecord' {Maybe HyperParameterTuningJobSearchEntity
hyperParameterTuningJob :: Maybe HyperParameterTuningJobSearchEntity
$sel:hyperParameterTuningJob:SearchRecord' :: SearchRecord -> Maybe HyperParameterTuningJobSearchEntity
hyperParameterTuningJob} -> Maybe HyperParameterTuningJobSearchEntity
hyperParameterTuningJob) (\s :: SearchRecord
s@SearchRecord' {} Maybe HyperParameterTuningJobSearchEntity
a -> SearchRecord
s {$sel:hyperParameterTuningJob:SearchRecord' :: Maybe HyperParameterTuningJobSearchEntity
hyperParameterTuningJob = Maybe HyperParameterTuningJobSearchEntity
a} :: SearchRecord)

-- | Undocumented member.
searchRecord_model :: Lens.Lens' SearchRecord (Prelude.Maybe ModelDashboardModel)
searchRecord_model :: Lens' SearchRecord (Maybe ModelDashboardModel)
searchRecord_model = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SearchRecord' {Maybe ModelDashboardModel
model :: Maybe ModelDashboardModel
$sel:model:SearchRecord' :: SearchRecord -> Maybe ModelDashboardModel
model} -> Maybe ModelDashboardModel
model) (\s :: SearchRecord
s@SearchRecord' {} Maybe ModelDashboardModel
a -> SearchRecord
s {$sel:model:SearchRecord' :: Maybe ModelDashboardModel
model = Maybe ModelDashboardModel
a} :: SearchRecord)

-- | An Amazon SageMaker Model Card that documents details about a machine
-- learning model.
searchRecord_modelCard :: Lens.Lens' SearchRecord (Prelude.Maybe ModelCard)
searchRecord_modelCard :: Lens' SearchRecord (Maybe ModelCard)
searchRecord_modelCard = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SearchRecord' {Maybe ModelCard
modelCard :: Maybe ModelCard
$sel:modelCard:SearchRecord' :: SearchRecord -> Maybe ModelCard
modelCard} -> Maybe ModelCard
modelCard) (\s :: SearchRecord
s@SearchRecord' {} Maybe ModelCard
a -> SearchRecord
s {$sel:modelCard:SearchRecord' :: Maybe ModelCard
modelCard = Maybe ModelCard
a} :: SearchRecord)

-- | Undocumented member.
searchRecord_modelPackage :: Lens.Lens' SearchRecord (Prelude.Maybe ModelPackage)
searchRecord_modelPackage :: Lens' SearchRecord (Maybe ModelPackage)
searchRecord_modelPackage = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SearchRecord' {Maybe ModelPackage
modelPackage :: Maybe ModelPackage
$sel:modelPackage:SearchRecord' :: SearchRecord -> Maybe ModelPackage
modelPackage} -> Maybe ModelPackage
modelPackage) (\s :: SearchRecord
s@SearchRecord' {} Maybe ModelPackage
a -> SearchRecord
s {$sel:modelPackage:SearchRecord' :: Maybe ModelPackage
modelPackage = Maybe ModelPackage
a} :: SearchRecord)

-- | Undocumented member.
searchRecord_modelPackageGroup :: Lens.Lens' SearchRecord (Prelude.Maybe ModelPackageGroup)
searchRecord_modelPackageGroup :: Lens' SearchRecord (Maybe ModelPackageGroup)
searchRecord_modelPackageGroup = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SearchRecord' {Maybe ModelPackageGroup
modelPackageGroup :: Maybe ModelPackageGroup
$sel:modelPackageGroup:SearchRecord' :: SearchRecord -> Maybe ModelPackageGroup
modelPackageGroup} -> Maybe ModelPackageGroup
modelPackageGroup) (\s :: SearchRecord
s@SearchRecord' {} Maybe ModelPackageGroup
a -> SearchRecord
s {$sel:modelPackageGroup:SearchRecord' :: Maybe ModelPackageGroup
modelPackageGroup = Maybe ModelPackageGroup
a} :: SearchRecord)

-- | Undocumented member.
searchRecord_pipeline :: Lens.Lens' SearchRecord (Prelude.Maybe Pipeline)
searchRecord_pipeline :: Lens' SearchRecord (Maybe Pipeline)
searchRecord_pipeline = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SearchRecord' {Maybe Pipeline
pipeline :: Maybe Pipeline
$sel:pipeline:SearchRecord' :: SearchRecord -> Maybe Pipeline
pipeline} -> Maybe Pipeline
pipeline) (\s :: SearchRecord
s@SearchRecord' {} Maybe Pipeline
a -> SearchRecord
s {$sel:pipeline:SearchRecord' :: Maybe Pipeline
pipeline = Maybe Pipeline
a} :: SearchRecord)

-- | Undocumented member.
searchRecord_pipelineExecution :: Lens.Lens' SearchRecord (Prelude.Maybe PipelineExecution)
searchRecord_pipelineExecution :: Lens' SearchRecord (Maybe PipelineExecution)
searchRecord_pipelineExecution = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SearchRecord' {Maybe PipelineExecution
pipelineExecution :: Maybe PipelineExecution
$sel:pipelineExecution:SearchRecord' :: SearchRecord -> Maybe PipelineExecution
pipelineExecution} -> Maybe PipelineExecution
pipelineExecution) (\s :: SearchRecord
s@SearchRecord' {} Maybe PipelineExecution
a -> SearchRecord
s {$sel:pipelineExecution:SearchRecord' :: Maybe PipelineExecution
pipelineExecution = Maybe PipelineExecution
a} :: SearchRecord)

-- | The properties of a project.
searchRecord_project :: Lens.Lens' SearchRecord (Prelude.Maybe Project)
searchRecord_project :: Lens' SearchRecord (Maybe Project)
searchRecord_project = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SearchRecord' {Maybe Project
project :: Maybe Project
$sel:project:SearchRecord' :: SearchRecord -> Maybe Project
project} -> Maybe Project
project) (\s :: SearchRecord
s@SearchRecord' {} Maybe Project
a -> SearchRecord
s {$sel:project:SearchRecord' :: Maybe Project
project = Maybe Project
a} :: SearchRecord)

-- | The properties of a training job.
searchRecord_trainingJob :: Lens.Lens' SearchRecord (Prelude.Maybe TrainingJob)
searchRecord_trainingJob :: Lens' SearchRecord (Maybe TrainingJob)
searchRecord_trainingJob = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SearchRecord' {Maybe TrainingJob
trainingJob :: Maybe TrainingJob
$sel:trainingJob:SearchRecord' :: SearchRecord -> Maybe TrainingJob
trainingJob} -> Maybe TrainingJob
trainingJob) (\s :: SearchRecord
s@SearchRecord' {} Maybe TrainingJob
a -> SearchRecord
s {$sel:trainingJob:SearchRecord' :: Maybe TrainingJob
trainingJob = Maybe TrainingJob
a} :: SearchRecord)

-- | The properties of a trial.
searchRecord_trial :: Lens.Lens' SearchRecord (Prelude.Maybe Trial)
searchRecord_trial :: Lens' SearchRecord (Maybe Trial)
searchRecord_trial = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SearchRecord' {Maybe Trial
trial :: Maybe Trial
$sel:trial:SearchRecord' :: SearchRecord -> Maybe Trial
trial} -> Maybe Trial
trial) (\s :: SearchRecord
s@SearchRecord' {} Maybe Trial
a -> SearchRecord
s {$sel:trial:SearchRecord' :: Maybe Trial
trial = Maybe Trial
a} :: SearchRecord)

-- | The properties of a trial component.
searchRecord_trialComponent :: Lens.Lens' SearchRecord (Prelude.Maybe TrialComponent)
searchRecord_trialComponent :: Lens' SearchRecord (Maybe TrialComponent)
searchRecord_trialComponent = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SearchRecord' {Maybe TrialComponent
trialComponent :: Maybe TrialComponent
$sel:trialComponent:SearchRecord' :: SearchRecord -> Maybe TrialComponent
trialComponent} -> Maybe TrialComponent
trialComponent) (\s :: SearchRecord
s@SearchRecord' {} Maybe TrialComponent
a -> SearchRecord
s {$sel:trialComponent:SearchRecord' :: Maybe TrialComponent
trialComponent = Maybe TrialComponent
a} :: SearchRecord)

instance Data.FromJSON SearchRecord where
  parseJSON :: Value -> Parser SearchRecord
parseJSON =
    forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
      String
"SearchRecord"
      ( \Object
x ->
          Maybe Endpoint
-> Maybe Experiment
-> Maybe FeatureGroup
-> Maybe FeatureMetadata
-> Maybe HyperParameterTuningJobSearchEntity
-> Maybe ModelDashboardModel
-> Maybe ModelCard
-> Maybe ModelPackage
-> Maybe ModelPackageGroup
-> Maybe Pipeline
-> Maybe PipelineExecution
-> Maybe Project
-> Maybe TrainingJob
-> Maybe Trial
-> Maybe TrialComponent
-> SearchRecord
SearchRecord'
            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
"Endpoint")
            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
"Experiment")
            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
"FeatureGroup")
            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
"FeatureMetadata")
            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
"HyperParameterTuningJob")
            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
"Model")
            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
"ModelCard")
            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
"ModelPackage")
            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
"ModelPackageGroup")
            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
"Pipeline")
            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
"PipelineExecution")
            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
"Project")
            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
"TrainingJob")
            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
"Trial")
            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
"TrialComponent")
      )

instance Prelude.Hashable SearchRecord where
  hashWithSalt :: Int -> SearchRecord -> Int
hashWithSalt Int
_salt SearchRecord' {Maybe FeatureMetadata
Maybe FeatureGroup
Maybe Trial
Maybe Project
Maybe PipelineExecution
Maybe Pipeline
Maybe ModelPackageGroup
Maybe ModelPackage
Maybe ModelCard
Maybe Experiment
Maybe TrainingJob
Maybe TrialComponent
Maybe Endpoint
Maybe ModelDashboardModel
Maybe HyperParameterTuningJobSearchEntity
trialComponent :: Maybe TrialComponent
trial :: Maybe Trial
trainingJob :: Maybe TrainingJob
project :: Maybe Project
pipelineExecution :: Maybe PipelineExecution
pipeline :: Maybe Pipeline
modelPackageGroup :: Maybe ModelPackageGroup
modelPackage :: Maybe ModelPackage
modelCard :: Maybe ModelCard
model :: Maybe ModelDashboardModel
hyperParameterTuningJob :: Maybe HyperParameterTuningJobSearchEntity
featureMetadata :: Maybe FeatureMetadata
featureGroup :: Maybe FeatureGroup
experiment :: Maybe Experiment
endpoint :: Maybe Endpoint
$sel:trialComponent:SearchRecord' :: SearchRecord -> Maybe TrialComponent
$sel:trial:SearchRecord' :: SearchRecord -> Maybe Trial
$sel:trainingJob:SearchRecord' :: SearchRecord -> Maybe TrainingJob
$sel:project:SearchRecord' :: SearchRecord -> Maybe Project
$sel:pipelineExecution:SearchRecord' :: SearchRecord -> Maybe PipelineExecution
$sel:pipeline:SearchRecord' :: SearchRecord -> Maybe Pipeline
$sel:modelPackageGroup:SearchRecord' :: SearchRecord -> Maybe ModelPackageGroup
$sel:modelPackage:SearchRecord' :: SearchRecord -> Maybe ModelPackage
$sel:modelCard:SearchRecord' :: SearchRecord -> Maybe ModelCard
$sel:model:SearchRecord' :: SearchRecord -> Maybe ModelDashboardModel
$sel:hyperParameterTuningJob:SearchRecord' :: SearchRecord -> Maybe HyperParameterTuningJobSearchEntity
$sel:featureMetadata:SearchRecord' :: SearchRecord -> Maybe FeatureMetadata
$sel:featureGroup:SearchRecord' :: SearchRecord -> Maybe FeatureGroup
$sel:experiment:SearchRecord' :: SearchRecord -> Maybe Experiment
$sel:endpoint:SearchRecord' :: SearchRecord -> Maybe Endpoint
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Endpoint
endpoint
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Experiment
experiment
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe FeatureGroup
featureGroup
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe FeatureMetadata
featureMetadata
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe HyperParameterTuningJobSearchEntity
hyperParameterTuningJob
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ModelDashboardModel
model
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ModelCard
modelCard
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ModelPackage
modelPackage
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ModelPackageGroup
modelPackageGroup
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Pipeline
pipeline
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe PipelineExecution
pipelineExecution
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Project
project
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe TrainingJob
trainingJob
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Trial
trial
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe TrialComponent
trialComponent

instance Prelude.NFData SearchRecord where
  rnf :: SearchRecord -> ()
rnf SearchRecord' {Maybe FeatureMetadata
Maybe FeatureGroup
Maybe Trial
Maybe Project
Maybe PipelineExecution
Maybe Pipeline
Maybe ModelPackageGroup
Maybe ModelPackage
Maybe ModelCard
Maybe Experiment
Maybe TrainingJob
Maybe TrialComponent
Maybe Endpoint
Maybe ModelDashboardModel
Maybe HyperParameterTuningJobSearchEntity
trialComponent :: Maybe TrialComponent
trial :: Maybe Trial
trainingJob :: Maybe TrainingJob
project :: Maybe Project
pipelineExecution :: Maybe PipelineExecution
pipeline :: Maybe Pipeline
modelPackageGroup :: Maybe ModelPackageGroup
modelPackage :: Maybe ModelPackage
modelCard :: Maybe ModelCard
model :: Maybe ModelDashboardModel
hyperParameterTuningJob :: Maybe HyperParameterTuningJobSearchEntity
featureMetadata :: Maybe FeatureMetadata
featureGroup :: Maybe FeatureGroup
experiment :: Maybe Experiment
endpoint :: Maybe Endpoint
$sel:trialComponent:SearchRecord' :: SearchRecord -> Maybe TrialComponent
$sel:trial:SearchRecord' :: SearchRecord -> Maybe Trial
$sel:trainingJob:SearchRecord' :: SearchRecord -> Maybe TrainingJob
$sel:project:SearchRecord' :: SearchRecord -> Maybe Project
$sel:pipelineExecution:SearchRecord' :: SearchRecord -> Maybe PipelineExecution
$sel:pipeline:SearchRecord' :: SearchRecord -> Maybe Pipeline
$sel:modelPackageGroup:SearchRecord' :: SearchRecord -> Maybe ModelPackageGroup
$sel:modelPackage:SearchRecord' :: SearchRecord -> Maybe ModelPackage
$sel:modelCard:SearchRecord' :: SearchRecord -> Maybe ModelCard
$sel:model:SearchRecord' :: SearchRecord -> Maybe ModelDashboardModel
$sel:hyperParameterTuningJob:SearchRecord' :: SearchRecord -> Maybe HyperParameterTuningJobSearchEntity
$sel:featureMetadata:SearchRecord' :: SearchRecord -> Maybe FeatureMetadata
$sel:featureGroup:SearchRecord' :: SearchRecord -> Maybe FeatureGroup
$sel:experiment:SearchRecord' :: SearchRecord -> Maybe Experiment
$sel:endpoint:SearchRecord' :: SearchRecord -> Maybe Endpoint
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Endpoint
endpoint
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Experiment
experiment
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe FeatureGroup
featureGroup
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe FeatureMetadata
featureMetadata
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe HyperParameterTuningJobSearchEntity
hyperParameterTuningJob
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ModelDashboardModel
model
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ModelCard
modelCard
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ModelPackage
modelPackage
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ModelPackageGroup
modelPackageGroup
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Pipeline
pipeline
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe PipelineExecution
pipelineExecution
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Project
project
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe TrainingJob
trainingJob
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Trial
trial
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe TrialComponent
trialComponent