amazonka-securityhub-2.0: gen/Amazonka/SecurityHub/Types/AwsSageMakerNotebookInstanceDetails.hs
{-# 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.SecurityHub.Types.AwsSageMakerNotebookInstanceDetails
-- 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.SecurityHub.Types.AwsSageMakerNotebookInstanceDetails 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.SecurityHub.Types.AwsSageMakerNotebookInstanceMetadataServiceConfigurationDetails
-- | Provides details about an Amazon SageMaker notebook instance.
--
-- /See:/ 'newAwsSageMakerNotebookInstanceDetails' smart constructor.
data AwsSageMakerNotebookInstanceDetails = AwsSageMakerNotebookInstanceDetails'
{ -- | A list of Amazon Elastic Inference instance types to associate with the
-- notebook instance. Currently, only one instance type can be associated
-- with a notebook instance.
acceleratorTypes :: Prelude.Maybe [Prelude.Text],
-- | An array of up to three Git repositories associated with the notebook
-- instance. These can be either the names of Git repositories stored as
-- resources in your account, or the URL of Git repositories in
-- <https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html AWS CodeCommit>
-- or in any other Git repository. These repositories are cloned at the
-- same level as the default repository of your notebook instance. For more
-- information, see
-- <https://docs.aws.amazon.com/sagemaker/latest/dg/nbi-git-repo.html Associating Git repositories with SageMaker notebook instances>
-- in the /Amazon SageMaker Developer Guide/.
additionalCodeRepositories :: Prelude.Maybe [Prelude.Text],
-- | The Git repository associated with the notebook instance as its default
-- code repository. This can be either the name of a Git repository stored
-- as a resource in your account, or the URL of a Git repository in
-- <https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html AWS CodeCommit>
-- or in any other Git repository. When you open a notebook instance, it
-- opens in the directory that contains this repository. For more
-- information, see
-- <https://docs.aws.amazon.com/sagemaker/latest/dg/nbi-git-repo.html Associating Git repositories with SageMaker notebook instances>
-- in the /Amazon SageMaker Developer Guide/.
defaultCodeRepository :: Prelude.Maybe Prelude.Text,
-- | Sets whether SageMaker provides internet access to the notebook
-- instance. If you set this to @Disabled@, this notebook instance is able
-- to access resources only in your VPC, and is not be able to connect to
-- SageMaker training and endpoint services unless you configure a Network
-- Address Translation (NAT) Gateway in your VPC.
directInternetAccess :: Prelude.Maybe Prelude.Text,
-- | If status of the instance is @Failed@, the reason it failed.
failureReason :: Prelude.Maybe Prelude.Text,
-- | Information on the IMDS configuration of the notebook instance.
instanceMetadataServiceConfiguration :: Prelude.Maybe AwsSageMakerNotebookInstanceMetadataServiceConfigurationDetails,
-- | The type of machine learning (ML) compute instance to launch for the
-- notebook instance.
instanceType :: Prelude.Maybe Prelude.Text,
-- | The Amazon Resource Name (ARN) of an Key Management Service (KMS) key
-- that SageMaker uses to encrypt data on the storage volume attached to
-- your notebook instance. The KMS key you provide must be enabled. For
-- information, see
-- <https://docs.aws.amazon.com/kms/latest/developerguide/enabling-keys.html Enabling and disabling keys>
-- in the /Key Management Service Developer Guide/.
kmsKeyId :: Prelude.Maybe Prelude.Text,
-- | The network interface ID that SageMaker created when the instance was
-- created.
networkInterfaceId :: Prelude.Maybe Prelude.Text,
-- | The Amazon Resource Name (ARN) of the notebook instance.
notebookInstanceArn :: Prelude.Maybe Prelude.Text,
-- | The name of a notebook instance lifecycle configuration.
notebookInstanceLifecycleConfigName :: Prelude.Maybe Prelude.Text,
-- | The name of the new notebook instance.
notebookInstanceName :: Prelude.Maybe Prelude.Text,
-- | The status of the notebook instance.
notebookInstanceStatus :: Prelude.Maybe Prelude.Text,
-- | The platform identifier of the notebook instance runtime environment.
platformIdentifier :: Prelude.Maybe Prelude.Text,
-- | The Amazon Resource Name (ARN) of the IAM role associated with the
-- instance.
roleArn :: Prelude.Maybe Prelude.Text,
-- | Whether root access is enabled or disabled for users of the notebook
-- instance.
rootAccess :: Prelude.Maybe Prelude.Text,
-- | The VPC security group IDs.
securityGroups :: Prelude.Maybe [Prelude.Text],
-- | The ID of the VPC subnet to which you have a connectivity from your ML
-- compute instance.
subnetId :: Prelude.Maybe Prelude.Text,
-- | The URL that you use to connect to the Jupyter notebook that is running
-- in your notebook instance.
url :: Prelude.Maybe Prelude.Text,
-- | The size, in GB, of the ML storage volume to attach to the notebook
-- instance.
volumeSizeInGB :: Prelude.Maybe Prelude.Int
}
deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
-- |
-- Create a value of 'AwsSageMakerNotebookInstanceDetails' 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:
--
-- 'acceleratorTypes', 'awsSageMakerNotebookInstanceDetails_acceleratorTypes' - A list of Amazon Elastic Inference instance types to associate with the
-- notebook instance. Currently, only one instance type can be associated
-- with a notebook instance.
--
-- 'additionalCodeRepositories', 'awsSageMakerNotebookInstanceDetails_additionalCodeRepositories' - An array of up to three Git repositories associated with the notebook
-- instance. These can be either the names of Git repositories stored as
-- resources in your account, or the URL of Git repositories in
-- <https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html AWS CodeCommit>
-- or in any other Git repository. These repositories are cloned at the
-- same level as the default repository of your notebook instance. For more
-- information, see
-- <https://docs.aws.amazon.com/sagemaker/latest/dg/nbi-git-repo.html Associating Git repositories with SageMaker notebook instances>
-- in the /Amazon SageMaker Developer Guide/.
--
-- 'defaultCodeRepository', 'awsSageMakerNotebookInstanceDetails_defaultCodeRepository' - The Git repository associated with the notebook instance as its default
-- code repository. This can be either the name of a Git repository stored
-- as a resource in your account, or the URL of a Git repository in
-- <https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html AWS CodeCommit>
-- or in any other Git repository. When you open a notebook instance, it
-- opens in the directory that contains this repository. For more
-- information, see
-- <https://docs.aws.amazon.com/sagemaker/latest/dg/nbi-git-repo.html Associating Git repositories with SageMaker notebook instances>
-- in the /Amazon SageMaker Developer Guide/.
--
-- 'directInternetAccess', 'awsSageMakerNotebookInstanceDetails_directInternetAccess' - Sets whether SageMaker provides internet access to the notebook
-- instance. If you set this to @Disabled@, this notebook instance is able
-- to access resources only in your VPC, and is not be able to connect to
-- SageMaker training and endpoint services unless you configure a Network
-- Address Translation (NAT) Gateway in your VPC.
--
-- 'failureReason', 'awsSageMakerNotebookInstanceDetails_failureReason' - If status of the instance is @Failed@, the reason it failed.
--
-- 'instanceMetadataServiceConfiguration', 'awsSageMakerNotebookInstanceDetails_instanceMetadataServiceConfiguration' - Information on the IMDS configuration of the notebook instance.
--
-- 'instanceType', 'awsSageMakerNotebookInstanceDetails_instanceType' - The type of machine learning (ML) compute instance to launch for the
-- notebook instance.
--
-- 'kmsKeyId', 'awsSageMakerNotebookInstanceDetails_kmsKeyId' - The Amazon Resource Name (ARN) of an Key Management Service (KMS) key
-- that SageMaker uses to encrypt data on the storage volume attached to
-- your notebook instance. The KMS key you provide must be enabled. For
-- information, see
-- <https://docs.aws.amazon.com/kms/latest/developerguide/enabling-keys.html Enabling and disabling keys>
-- in the /Key Management Service Developer Guide/.
--
-- 'networkInterfaceId', 'awsSageMakerNotebookInstanceDetails_networkInterfaceId' - The network interface ID that SageMaker created when the instance was
-- created.
--
-- 'notebookInstanceArn', 'awsSageMakerNotebookInstanceDetails_notebookInstanceArn' - The Amazon Resource Name (ARN) of the notebook instance.
--
-- 'notebookInstanceLifecycleConfigName', 'awsSageMakerNotebookInstanceDetails_notebookInstanceLifecycleConfigName' - The name of a notebook instance lifecycle configuration.
--
-- 'notebookInstanceName', 'awsSageMakerNotebookInstanceDetails_notebookInstanceName' - The name of the new notebook instance.
--
-- 'notebookInstanceStatus', 'awsSageMakerNotebookInstanceDetails_notebookInstanceStatus' - The status of the notebook instance.
--
-- 'platformIdentifier', 'awsSageMakerNotebookInstanceDetails_platformIdentifier' - The platform identifier of the notebook instance runtime environment.
--
-- 'roleArn', 'awsSageMakerNotebookInstanceDetails_roleArn' - The Amazon Resource Name (ARN) of the IAM role associated with the
-- instance.
--
-- 'rootAccess', 'awsSageMakerNotebookInstanceDetails_rootAccess' - Whether root access is enabled or disabled for users of the notebook
-- instance.
--
-- 'securityGroups', 'awsSageMakerNotebookInstanceDetails_securityGroups' - The VPC security group IDs.
--
-- 'subnetId', 'awsSageMakerNotebookInstanceDetails_subnetId' - The ID of the VPC subnet to which you have a connectivity from your ML
-- compute instance.
--
-- 'url', 'awsSageMakerNotebookInstanceDetails_url' - The URL that you use to connect to the Jupyter notebook that is running
-- in your notebook instance.
--
-- 'volumeSizeInGB', 'awsSageMakerNotebookInstanceDetails_volumeSizeInGB' - The size, in GB, of the ML storage volume to attach to the notebook
-- instance.
newAwsSageMakerNotebookInstanceDetails ::
AwsSageMakerNotebookInstanceDetails
newAwsSageMakerNotebookInstanceDetails =
AwsSageMakerNotebookInstanceDetails'
{ acceleratorTypes =
Prelude.Nothing,
additionalCodeRepositories =
Prelude.Nothing,
defaultCodeRepository =
Prelude.Nothing,
directInternetAccess = Prelude.Nothing,
failureReason = Prelude.Nothing,
instanceMetadataServiceConfiguration =
Prelude.Nothing,
instanceType = Prelude.Nothing,
kmsKeyId = Prelude.Nothing,
networkInterfaceId = Prelude.Nothing,
notebookInstanceArn = Prelude.Nothing,
notebookInstanceLifecycleConfigName =
Prelude.Nothing,
notebookInstanceName = Prelude.Nothing,
notebookInstanceStatus =
Prelude.Nothing,
platformIdentifier = Prelude.Nothing,
roleArn = Prelude.Nothing,
rootAccess = Prelude.Nothing,
securityGroups = Prelude.Nothing,
subnetId = Prelude.Nothing,
url = Prelude.Nothing,
volumeSizeInGB = Prelude.Nothing
}
-- | A list of Amazon Elastic Inference instance types to associate with the
-- notebook instance. Currently, only one instance type can be associated
-- with a notebook instance.
awsSageMakerNotebookInstanceDetails_acceleratorTypes :: Lens.Lens' AwsSageMakerNotebookInstanceDetails (Prelude.Maybe [Prelude.Text])
awsSageMakerNotebookInstanceDetails_acceleratorTypes = Lens.lens (\AwsSageMakerNotebookInstanceDetails' {acceleratorTypes} -> acceleratorTypes) (\s@AwsSageMakerNotebookInstanceDetails' {} a -> s {acceleratorTypes = a} :: AwsSageMakerNotebookInstanceDetails) Prelude.. Lens.mapping Lens.coerced
-- | An array of up to three Git repositories associated with the notebook
-- instance. These can be either the names of Git repositories stored as
-- resources in your account, or the URL of Git repositories in
-- <https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html AWS CodeCommit>
-- or in any other Git repository. These repositories are cloned at the
-- same level as the default repository of your notebook instance. For more
-- information, see
-- <https://docs.aws.amazon.com/sagemaker/latest/dg/nbi-git-repo.html Associating Git repositories with SageMaker notebook instances>
-- in the /Amazon SageMaker Developer Guide/.
awsSageMakerNotebookInstanceDetails_additionalCodeRepositories :: Lens.Lens' AwsSageMakerNotebookInstanceDetails (Prelude.Maybe [Prelude.Text])
awsSageMakerNotebookInstanceDetails_additionalCodeRepositories = Lens.lens (\AwsSageMakerNotebookInstanceDetails' {additionalCodeRepositories} -> additionalCodeRepositories) (\s@AwsSageMakerNotebookInstanceDetails' {} a -> s {additionalCodeRepositories = a} :: AwsSageMakerNotebookInstanceDetails) Prelude.. Lens.mapping Lens.coerced
-- | The Git repository associated with the notebook instance as its default
-- code repository. This can be either the name of a Git repository stored
-- as a resource in your account, or the URL of a Git repository in
-- <https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html AWS CodeCommit>
-- or in any other Git repository. When you open a notebook instance, it
-- opens in the directory that contains this repository. For more
-- information, see
-- <https://docs.aws.amazon.com/sagemaker/latest/dg/nbi-git-repo.html Associating Git repositories with SageMaker notebook instances>
-- in the /Amazon SageMaker Developer Guide/.
awsSageMakerNotebookInstanceDetails_defaultCodeRepository :: Lens.Lens' AwsSageMakerNotebookInstanceDetails (Prelude.Maybe Prelude.Text)
awsSageMakerNotebookInstanceDetails_defaultCodeRepository = Lens.lens (\AwsSageMakerNotebookInstanceDetails' {defaultCodeRepository} -> defaultCodeRepository) (\s@AwsSageMakerNotebookInstanceDetails' {} a -> s {defaultCodeRepository = a} :: AwsSageMakerNotebookInstanceDetails)
-- | Sets whether SageMaker provides internet access to the notebook
-- instance. If you set this to @Disabled@, this notebook instance is able
-- to access resources only in your VPC, and is not be able to connect to
-- SageMaker training and endpoint services unless you configure a Network
-- Address Translation (NAT) Gateway in your VPC.
awsSageMakerNotebookInstanceDetails_directInternetAccess :: Lens.Lens' AwsSageMakerNotebookInstanceDetails (Prelude.Maybe Prelude.Text)
awsSageMakerNotebookInstanceDetails_directInternetAccess = Lens.lens (\AwsSageMakerNotebookInstanceDetails' {directInternetAccess} -> directInternetAccess) (\s@AwsSageMakerNotebookInstanceDetails' {} a -> s {directInternetAccess = a} :: AwsSageMakerNotebookInstanceDetails)
-- | If status of the instance is @Failed@, the reason it failed.
awsSageMakerNotebookInstanceDetails_failureReason :: Lens.Lens' AwsSageMakerNotebookInstanceDetails (Prelude.Maybe Prelude.Text)
awsSageMakerNotebookInstanceDetails_failureReason = Lens.lens (\AwsSageMakerNotebookInstanceDetails' {failureReason} -> failureReason) (\s@AwsSageMakerNotebookInstanceDetails' {} a -> s {failureReason = a} :: AwsSageMakerNotebookInstanceDetails)
-- | Information on the IMDS configuration of the notebook instance.
awsSageMakerNotebookInstanceDetails_instanceMetadataServiceConfiguration :: Lens.Lens' AwsSageMakerNotebookInstanceDetails (Prelude.Maybe AwsSageMakerNotebookInstanceMetadataServiceConfigurationDetails)
awsSageMakerNotebookInstanceDetails_instanceMetadataServiceConfiguration = Lens.lens (\AwsSageMakerNotebookInstanceDetails' {instanceMetadataServiceConfiguration} -> instanceMetadataServiceConfiguration) (\s@AwsSageMakerNotebookInstanceDetails' {} a -> s {instanceMetadataServiceConfiguration = a} :: AwsSageMakerNotebookInstanceDetails)
-- | The type of machine learning (ML) compute instance to launch for the
-- notebook instance.
awsSageMakerNotebookInstanceDetails_instanceType :: Lens.Lens' AwsSageMakerNotebookInstanceDetails (Prelude.Maybe Prelude.Text)
awsSageMakerNotebookInstanceDetails_instanceType = Lens.lens (\AwsSageMakerNotebookInstanceDetails' {instanceType} -> instanceType) (\s@AwsSageMakerNotebookInstanceDetails' {} a -> s {instanceType = a} :: AwsSageMakerNotebookInstanceDetails)
-- | The Amazon Resource Name (ARN) of an Key Management Service (KMS) key
-- that SageMaker uses to encrypt data on the storage volume attached to
-- your notebook instance. The KMS key you provide must be enabled. For
-- information, see
-- <https://docs.aws.amazon.com/kms/latest/developerguide/enabling-keys.html Enabling and disabling keys>
-- in the /Key Management Service Developer Guide/.
awsSageMakerNotebookInstanceDetails_kmsKeyId :: Lens.Lens' AwsSageMakerNotebookInstanceDetails (Prelude.Maybe Prelude.Text)
awsSageMakerNotebookInstanceDetails_kmsKeyId = Lens.lens (\AwsSageMakerNotebookInstanceDetails' {kmsKeyId} -> kmsKeyId) (\s@AwsSageMakerNotebookInstanceDetails' {} a -> s {kmsKeyId = a} :: AwsSageMakerNotebookInstanceDetails)
-- | The network interface ID that SageMaker created when the instance was
-- created.
awsSageMakerNotebookInstanceDetails_networkInterfaceId :: Lens.Lens' AwsSageMakerNotebookInstanceDetails (Prelude.Maybe Prelude.Text)
awsSageMakerNotebookInstanceDetails_networkInterfaceId = Lens.lens (\AwsSageMakerNotebookInstanceDetails' {networkInterfaceId} -> networkInterfaceId) (\s@AwsSageMakerNotebookInstanceDetails' {} a -> s {networkInterfaceId = a} :: AwsSageMakerNotebookInstanceDetails)
-- | The Amazon Resource Name (ARN) of the notebook instance.
awsSageMakerNotebookInstanceDetails_notebookInstanceArn :: Lens.Lens' AwsSageMakerNotebookInstanceDetails (Prelude.Maybe Prelude.Text)
awsSageMakerNotebookInstanceDetails_notebookInstanceArn = Lens.lens (\AwsSageMakerNotebookInstanceDetails' {notebookInstanceArn} -> notebookInstanceArn) (\s@AwsSageMakerNotebookInstanceDetails' {} a -> s {notebookInstanceArn = a} :: AwsSageMakerNotebookInstanceDetails)
-- | The name of a notebook instance lifecycle configuration.
awsSageMakerNotebookInstanceDetails_notebookInstanceLifecycleConfigName :: Lens.Lens' AwsSageMakerNotebookInstanceDetails (Prelude.Maybe Prelude.Text)
awsSageMakerNotebookInstanceDetails_notebookInstanceLifecycleConfigName = Lens.lens (\AwsSageMakerNotebookInstanceDetails' {notebookInstanceLifecycleConfigName} -> notebookInstanceLifecycleConfigName) (\s@AwsSageMakerNotebookInstanceDetails' {} a -> s {notebookInstanceLifecycleConfigName = a} :: AwsSageMakerNotebookInstanceDetails)
-- | The name of the new notebook instance.
awsSageMakerNotebookInstanceDetails_notebookInstanceName :: Lens.Lens' AwsSageMakerNotebookInstanceDetails (Prelude.Maybe Prelude.Text)
awsSageMakerNotebookInstanceDetails_notebookInstanceName = Lens.lens (\AwsSageMakerNotebookInstanceDetails' {notebookInstanceName} -> notebookInstanceName) (\s@AwsSageMakerNotebookInstanceDetails' {} a -> s {notebookInstanceName = a} :: AwsSageMakerNotebookInstanceDetails)
-- | The status of the notebook instance.
awsSageMakerNotebookInstanceDetails_notebookInstanceStatus :: Lens.Lens' AwsSageMakerNotebookInstanceDetails (Prelude.Maybe Prelude.Text)
awsSageMakerNotebookInstanceDetails_notebookInstanceStatus = Lens.lens (\AwsSageMakerNotebookInstanceDetails' {notebookInstanceStatus} -> notebookInstanceStatus) (\s@AwsSageMakerNotebookInstanceDetails' {} a -> s {notebookInstanceStatus = a} :: AwsSageMakerNotebookInstanceDetails)
-- | The platform identifier of the notebook instance runtime environment.
awsSageMakerNotebookInstanceDetails_platformIdentifier :: Lens.Lens' AwsSageMakerNotebookInstanceDetails (Prelude.Maybe Prelude.Text)
awsSageMakerNotebookInstanceDetails_platformIdentifier = Lens.lens (\AwsSageMakerNotebookInstanceDetails' {platformIdentifier} -> platformIdentifier) (\s@AwsSageMakerNotebookInstanceDetails' {} a -> s {platformIdentifier = a} :: AwsSageMakerNotebookInstanceDetails)
-- | The Amazon Resource Name (ARN) of the IAM role associated with the
-- instance.
awsSageMakerNotebookInstanceDetails_roleArn :: Lens.Lens' AwsSageMakerNotebookInstanceDetails (Prelude.Maybe Prelude.Text)
awsSageMakerNotebookInstanceDetails_roleArn = Lens.lens (\AwsSageMakerNotebookInstanceDetails' {roleArn} -> roleArn) (\s@AwsSageMakerNotebookInstanceDetails' {} a -> s {roleArn = a} :: AwsSageMakerNotebookInstanceDetails)
-- | Whether root access is enabled or disabled for users of the notebook
-- instance.
awsSageMakerNotebookInstanceDetails_rootAccess :: Lens.Lens' AwsSageMakerNotebookInstanceDetails (Prelude.Maybe Prelude.Text)
awsSageMakerNotebookInstanceDetails_rootAccess = Lens.lens (\AwsSageMakerNotebookInstanceDetails' {rootAccess} -> rootAccess) (\s@AwsSageMakerNotebookInstanceDetails' {} a -> s {rootAccess = a} :: AwsSageMakerNotebookInstanceDetails)
-- | The VPC security group IDs.
awsSageMakerNotebookInstanceDetails_securityGroups :: Lens.Lens' AwsSageMakerNotebookInstanceDetails (Prelude.Maybe [Prelude.Text])
awsSageMakerNotebookInstanceDetails_securityGroups = Lens.lens (\AwsSageMakerNotebookInstanceDetails' {securityGroups} -> securityGroups) (\s@AwsSageMakerNotebookInstanceDetails' {} a -> s {securityGroups = a} :: AwsSageMakerNotebookInstanceDetails) Prelude.. Lens.mapping Lens.coerced
-- | The ID of the VPC subnet to which you have a connectivity from your ML
-- compute instance.
awsSageMakerNotebookInstanceDetails_subnetId :: Lens.Lens' AwsSageMakerNotebookInstanceDetails (Prelude.Maybe Prelude.Text)
awsSageMakerNotebookInstanceDetails_subnetId = Lens.lens (\AwsSageMakerNotebookInstanceDetails' {subnetId} -> subnetId) (\s@AwsSageMakerNotebookInstanceDetails' {} a -> s {subnetId = a} :: AwsSageMakerNotebookInstanceDetails)
-- | The URL that you use to connect to the Jupyter notebook that is running
-- in your notebook instance.
awsSageMakerNotebookInstanceDetails_url :: Lens.Lens' AwsSageMakerNotebookInstanceDetails (Prelude.Maybe Prelude.Text)
awsSageMakerNotebookInstanceDetails_url = Lens.lens (\AwsSageMakerNotebookInstanceDetails' {url} -> url) (\s@AwsSageMakerNotebookInstanceDetails' {} a -> s {url = a} :: AwsSageMakerNotebookInstanceDetails)
-- | The size, in GB, of the ML storage volume to attach to the notebook
-- instance.
awsSageMakerNotebookInstanceDetails_volumeSizeInGB :: Lens.Lens' AwsSageMakerNotebookInstanceDetails (Prelude.Maybe Prelude.Int)
awsSageMakerNotebookInstanceDetails_volumeSizeInGB = Lens.lens (\AwsSageMakerNotebookInstanceDetails' {volumeSizeInGB} -> volumeSizeInGB) (\s@AwsSageMakerNotebookInstanceDetails' {} a -> s {volumeSizeInGB = a} :: AwsSageMakerNotebookInstanceDetails)
instance
Data.FromJSON
AwsSageMakerNotebookInstanceDetails
where
parseJSON =
Data.withObject
"AwsSageMakerNotebookInstanceDetails"
( \x ->
AwsSageMakerNotebookInstanceDetails'
Prelude.<$> ( x
Data..:? "AcceleratorTypes"
Data..!= Prelude.mempty
)
Prelude.<*> ( x
Data..:? "AdditionalCodeRepositories"
Data..!= Prelude.mempty
)
Prelude.<*> (x Data..:? "DefaultCodeRepository")
Prelude.<*> (x Data..:? "DirectInternetAccess")
Prelude.<*> (x Data..:? "FailureReason")
Prelude.<*> (x Data..:? "InstanceMetadataServiceConfiguration")
Prelude.<*> (x Data..:? "InstanceType")
Prelude.<*> (x Data..:? "KmsKeyId")
Prelude.<*> (x Data..:? "NetworkInterfaceId")
Prelude.<*> (x Data..:? "NotebookInstanceArn")
Prelude.<*> (x Data..:? "NotebookInstanceLifecycleConfigName")
Prelude.<*> (x Data..:? "NotebookInstanceName")
Prelude.<*> (x Data..:? "NotebookInstanceStatus")
Prelude.<*> (x Data..:? "PlatformIdentifier")
Prelude.<*> (x Data..:? "RoleArn")
Prelude.<*> (x Data..:? "RootAccess")
Prelude.<*> (x Data..:? "SecurityGroups" Data..!= Prelude.mempty)
Prelude.<*> (x Data..:? "SubnetId")
Prelude.<*> (x Data..:? "Url")
Prelude.<*> (x Data..:? "VolumeSizeInGB")
)
instance
Prelude.Hashable
AwsSageMakerNotebookInstanceDetails
where
hashWithSalt
_salt
AwsSageMakerNotebookInstanceDetails' {..} =
_salt
`Prelude.hashWithSalt` acceleratorTypes
`Prelude.hashWithSalt` additionalCodeRepositories
`Prelude.hashWithSalt` defaultCodeRepository
`Prelude.hashWithSalt` directInternetAccess
`Prelude.hashWithSalt` failureReason
`Prelude.hashWithSalt` instanceMetadataServiceConfiguration
`Prelude.hashWithSalt` instanceType
`Prelude.hashWithSalt` kmsKeyId
`Prelude.hashWithSalt` networkInterfaceId
`Prelude.hashWithSalt` notebookInstanceArn
`Prelude.hashWithSalt` notebookInstanceLifecycleConfigName
`Prelude.hashWithSalt` notebookInstanceName
`Prelude.hashWithSalt` notebookInstanceStatus
`Prelude.hashWithSalt` platformIdentifier
`Prelude.hashWithSalt` roleArn
`Prelude.hashWithSalt` rootAccess
`Prelude.hashWithSalt` securityGroups
`Prelude.hashWithSalt` subnetId
`Prelude.hashWithSalt` url
`Prelude.hashWithSalt` volumeSizeInGB
instance
Prelude.NFData
AwsSageMakerNotebookInstanceDetails
where
rnf AwsSageMakerNotebookInstanceDetails' {..} =
Prelude.rnf acceleratorTypes
`Prelude.seq` Prelude.rnf additionalCodeRepositories
`Prelude.seq` Prelude.rnf defaultCodeRepository
`Prelude.seq` Prelude.rnf directInternetAccess
`Prelude.seq` Prelude.rnf failureReason
`Prelude.seq` Prelude.rnf instanceMetadataServiceConfiguration
`Prelude.seq` Prelude.rnf instanceType
`Prelude.seq` Prelude.rnf kmsKeyId
`Prelude.seq` Prelude.rnf networkInterfaceId
`Prelude.seq` Prelude.rnf notebookInstanceArn
`Prelude.seq` Prelude.rnf notebookInstanceLifecycleConfigName
`Prelude.seq` Prelude.rnf notebookInstanceName
`Prelude.seq` Prelude.rnf notebookInstanceStatus
`Prelude.seq` Prelude.rnf platformIdentifier
`Prelude.seq` Prelude.rnf roleArn
`Prelude.seq` Prelude.rnf rootAccess
`Prelude.seq` Prelude.rnf securityGroups
`Prelude.seq` Prelude.rnf subnetId
`Prelude.seq` Prelude.rnf url
`Prelude.seq` Prelude.rnf volumeSizeInGB
instance
Data.ToJSON
AwsSageMakerNotebookInstanceDetails
where
toJSON AwsSageMakerNotebookInstanceDetails' {..} =
Data.object
( Prelude.catMaybes
[ ("AcceleratorTypes" Data..=)
Prelude.<$> acceleratorTypes,
("AdditionalCodeRepositories" Data..=)
Prelude.<$> additionalCodeRepositories,
("DefaultCodeRepository" Data..=)
Prelude.<$> defaultCodeRepository,
("DirectInternetAccess" Data..=)
Prelude.<$> directInternetAccess,
("FailureReason" Data..=) Prelude.<$> failureReason,
("InstanceMetadataServiceConfiguration" Data..=)
Prelude.<$> instanceMetadataServiceConfiguration,
("InstanceType" Data..=) Prelude.<$> instanceType,
("KmsKeyId" Data..=) Prelude.<$> kmsKeyId,
("NetworkInterfaceId" Data..=)
Prelude.<$> networkInterfaceId,
("NotebookInstanceArn" Data..=)
Prelude.<$> notebookInstanceArn,
("NotebookInstanceLifecycleConfigName" Data..=)
Prelude.<$> notebookInstanceLifecycleConfigName,
("NotebookInstanceName" Data..=)
Prelude.<$> notebookInstanceName,
("NotebookInstanceStatus" Data..=)
Prelude.<$> notebookInstanceStatus,
("PlatformIdentifier" Data..=)
Prelude.<$> platformIdentifier,
("RoleArn" Data..=) Prelude.<$> roleArn,
("RootAccess" Data..=) Prelude.<$> rootAccess,
("SecurityGroups" Data..=)
Prelude.<$> securityGroups,
("SubnetId" Data..=) Prelude.<$> subnetId,
("Url" Data..=) Prelude.<$> url,
("VolumeSizeInGB" Data..=)
Prelude.<$> volumeSizeInGB
]
)