amazonka-sagemaker-2.0: gen/Amazonka/SageMaker/UpdateFeatureMetadata.hs
{-# 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.UpdateFeatureMetadata
-- Copyright : (c) 2013-2023 Brendan Hay
-- License : Mozilla Public License, v. 2.0.
-- Maintainer : Brendan Hay
-- Stability : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Updates the description and parameters of the feature group.
module Amazonka.SageMaker.UpdateFeatureMetadata
( -- * Creating a Request
UpdateFeatureMetadata (..),
newUpdateFeatureMetadata,
-- * Request Lenses
updateFeatureMetadata_description,
updateFeatureMetadata_parameterAdditions,
updateFeatureMetadata_parameterRemovals,
updateFeatureMetadata_featureGroupName,
updateFeatureMetadata_featureName,
-- * Destructuring the Response
UpdateFeatureMetadataResponse (..),
newUpdateFeatureMetadataResponse,
)
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:/ 'newUpdateFeatureMetadata' smart constructor.
data UpdateFeatureMetadata = UpdateFeatureMetadata'
{ -- | A description that you can write to better describe the feature.
description :: Prelude.Maybe Prelude.Text,
-- | A list of key-value pairs that you can add to better describe the
-- feature.
parameterAdditions :: Prelude.Maybe [FeatureParameter],
-- | A list of parameter keys that you can specify to remove parameters that
-- describe your feature.
parameterRemovals :: Prelude.Maybe [Prelude.Text],
-- | The name of the feature group containing the feature that you\'re
-- updating.
featureGroupName :: Prelude.Text,
-- | The name of the feature that you\'re updating.
featureName :: Prelude.Text
}
deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
-- |
-- Create a value of 'UpdateFeatureMetadata' 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:
--
-- 'description', 'updateFeatureMetadata_description' - A description that you can write to better describe the feature.
--
-- 'parameterAdditions', 'updateFeatureMetadata_parameterAdditions' - A list of key-value pairs that you can add to better describe the
-- feature.
--
-- 'parameterRemovals', 'updateFeatureMetadata_parameterRemovals' - A list of parameter keys that you can specify to remove parameters that
-- describe your feature.
--
-- 'featureGroupName', 'updateFeatureMetadata_featureGroupName' - The name of the feature group containing the feature that you\'re
-- updating.
--
-- 'featureName', 'updateFeatureMetadata_featureName' - The name of the feature that you\'re updating.
newUpdateFeatureMetadata ::
-- | 'featureGroupName'
Prelude.Text ->
-- | 'featureName'
Prelude.Text ->
UpdateFeatureMetadata
newUpdateFeatureMetadata
pFeatureGroupName_
pFeatureName_ =
UpdateFeatureMetadata'
{ description =
Prelude.Nothing,
parameterAdditions = Prelude.Nothing,
parameterRemovals = Prelude.Nothing,
featureGroupName = pFeatureGroupName_,
featureName = pFeatureName_
}
-- | A description that you can write to better describe the feature.
updateFeatureMetadata_description :: Lens.Lens' UpdateFeatureMetadata (Prelude.Maybe Prelude.Text)
updateFeatureMetadata_description = Lens.lens (\UpdateFeatureMetadata' {description} -> description) (\s@UpdateFeatureMetadata' {} a -> s {description = a} :: UpdateFeatureMetadata)
-- | A list of key-value pairs that you can add to better describe the
-- feature.
updateFeatureMetadata_parameterAdditions :: Lens.Lens' UpdateFeatureMetadata (Prelude.Maybe [FeatureParameter])
updateFeatureMetadata_parameterAdditions = Lens.lens (\UpdateFeatureMetadata' {parameterAdditions} -> parameterAdditions) (\s@UpdateFeatureMetadata' {} a -> s {parameterAdditions = a} :: UpdateFeatureMetadata) Prelude.. Lens.mapping Lens.coerced
-- | A list of parameter keys that you can specify to remove parameters that
-- describe your feature.
updateFeatureMetadata_parameterRemovals :: Lens.Lens' UpdateFeatureMetadata (Prelude.Maybe [Prelude.Text])
updateFeatureMetadata_parameterRemovals = Lens.lens (\UpdateFeatureMetadata' {parameterRemovals} -> parameterRemovals) (\s@UpdateFeatureMetadata' {} a -> s {parameterRemovals = a} :: UpdateFeatureMetadata) Prelude.. Lens.mapping Lens.coerced
-- | The name of the feature group containing the feature that you\'re
-- updating.
updateFeatureMetadata_featureGroupName :: Lens.Lens' UpdateFeatureMetadata Prelude.Text
updateFeatureMetadata_featureGroupName = Lens.lens (\UpdateFeatureMetadata' {featureGroupName} -> featureGroupName) (\s@UpdateFeatureMetadata' {} a -> s {featureGroupName = a} :: UpdateFeatureMetadata)
-- | The name of the feature that you\'re updating.
updateFeatureMetadata_featureName :: Lens.Lens' UpdateFeatureMetadata Prelude.Text
updateFeatureMetadata_featureName = Lens.lens (\UpdateFeatureMetadata' {featureName} -> featureName) (\s@UpdateFeatureMetadata' {} a -> s {featureName = a} :: UpdateFeatureMetadata)
instance Core.AWSRequest UpdateFeatureMetadata where
type
AWSResponse UpdateFeatureMetadata =
UpdateFeatureMetadataResponse
request overrides =
Request.postJSON (overrides defaultService)
response =
Response.receiveNull UpdateFeatureMetadataResponse'
instance Prelude.Hashable UpdateFeatureMetadata where
hashWithSalt _salt UpdateFeatureMetadata' {..} =
_salt
`Prelude.hashWithSalt` description
`Prelude.hashWithSalt` parameterAdditions
`Prelude.hashWithSalt` parameterRemovals
`Prelude.hashWithSalt` featureGroupName
`Prelude.hashWithSalt` featureName
instance Prelude.NFData UpdateFeatureMetadata where
rnf UpdateFeatureMetadata' {..} =
Prelude.rnf description
`Prelude.seq` Prelude.rnf parameterAdditions
`Prelude.seq` Prelude.rnf parameterRemovals
`Prelude.seq` Prelude.rnf featureGroupName
`Prelude.seq` Prelude.rnf featureName
instance Data.ToHeaders UpdateFeatureMetadata where
toHeaders =
Prelude.const
( Prelude.mconcat
[ "X-Amz-Target"
Data.=# ( "SageMaker.UpdateFeatureMetadata" ::
Prelude.ByteString
),
"Content-Type"
Data.=# ( "application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON UpdateFeatureMetadata where
toJSON UpdateFeatureMetadata' {..} =
Data.object
( Prelude.catMaybes
[ ("Description" Data..=) Prelude.<$> description,
("ParameterAdditions" Data..=)
Prelude.<$> parameterAdditions,
("ParameterRemovals" Data..=)
Prelude.<$> parameterRemovals,
Prelude.Just
("FeatureGroupName" Data..= featureGroupName),
Prelude.Just ("FeatureName" Data..= featureName)
]
)
instance Data.ToPath UpdateFeatureMetadata where
toPath = Prelude.const "/"
instance Data.ToQuery UpdateFeatureMetadata where
toQuery = Prelude.const Prelude.mempty
-- | /See:/ 'newUpdateFeatureMetadataResponse' smart constructor.
data UpdateFeatureMetadataResponse = UpdateFeatureMetadataResponse'
{
}
deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
-- |
-- Create a value of 'UpdateFeatureMetadataResponse' 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.
newUpdateFeatureMetadataResponse ::
UpdateFeatureMetadataResponse
newUpdateFeatureMetadataResponse =
UpdateFeatureMetadataResponse'
instance Prelude.NFData UpdateFeatureMetadataResponse where
rnf _ = ()