{-# 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 -- -- 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 -- -- 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 -- -- 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 -- -- 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 -- -- 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 or 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 -- -- 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 -- -- 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 -- -- 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 -- -- 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 -- -- 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 -- -- 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 -- -- 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 -- -- 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 -- -- 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 -- -- 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 ] )