{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TypeFamilies #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Network.AWS.SageMaker.CreatePresignedNotebookInstanceURL
(
createPresignedNotebookInstanceURL
, CreatePresignedNotebookInstanceURL
, cpniuSessionExpirationDurationInSeconds
, cpniuNotebookInstanceName
, createPresignedNotebookInstanceURLResponse
, CreatePresignedNotebookInstanceURLResponse
, cpniursAuthorizedURL
, cpniursResponseStatus
) where
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
import Network.AWS.SageMaker.Types
import Network.AWS.SageMaker.Types.Product
data CreatePresignedNotebookInstanceURL = CreatePresignedNotebookInstanceURL'
{ _cpniuSessionExpirationDurationInSeconds :: !(Maybe Nat)
, _cpniuNotebookInstanceName :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
createPresignedNotebookInstanceURL
:: Text
-> CreatePresignedNotebookInstanceURL
createPresignedNotebookInstanceURL pNotebookInstanceName_ =
CreatePresignedNotebookInstanceURL'
{ _cpniuSessionExpirationDurationInSeconds = Nothing
, _cpniuNotebookInstanceName = pNotebookInstanceName_
}
cpniuSessionExpirationDurationInSeconds :: Lens' CreatePresignedNotebookInstanceURL (Maybe Natural)
cpniuSessionExpirationDurationInSeconds = lens _cpniuSessionExpirationDurationInSeconds (\ s a -> s{_cpniuSessionExpirationDurationInSeconds = a}) . mapping _Nat
cpniuNotebookInstanceName :: Lens' CreatePresignedNotebookInstanceURL Text
cpniuNotebookInstanceName = lens _cpniuNotebookInstanceName (\ s a -> s{_cpniuNotebookInstanceName = a})
instance AWSRequest
CreatePresignedNotebookInstanceURL
where
type Rs CreatePresignedNotebookInstanceURL =
CreatePresignedNotebookInstanceURLResponse
request = postJSON sageMaker
response
= receiveJSON
(\ s h x ->
CreatePresignedNotebookInstanceURLResponse' <$>
(x .?> "AuthorizedUrl") <*> (pure (fromEnum s)))
instance Hashable CreatePresignedNotebookInstanceURL
where
instance NFData CreatePresignedNotebookInstanceURL
where
instance ToHeaders CreatePresignedNotebookInstanceURL
where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("SageMaker.CreatePresignedNotebookInstanceUrl" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON CreatePresignedNotebookInstanceURL
where
toJSON CreatePresignedNotebookInstanceURL'{..}
= object
(catMaybes
[("SessionExpirationDurationInSeconds" .=) <$>
_cpniuSessionExpirationDurationInSeconds,
Just
("NotebookInstanceName" .=
_cpniuNotebookInstanceName)])
instance ToPath CreatePresignedNotebookInstanceURL
where
toPath = const "/"
instance ToQuery CreatePresignedNotebookInstanceURL
where
toQuery = const mempty
data CreatePresignedNotebookInstanceURLResponse = CreatePresignedNotebookInstanceURLResponse'
{ _cpniursAuthorizedURL :: !(Maybe Text)
, _cpniursResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
createPresignedNotebookInstanceURLResponse
:: Int
-> CreatePresignedNotebookInstanceURLResponse
createPresignedNotebookInstanceURLResponse pResponseStatus_ =
CreatePresignedNotebookInstanceURLResponse'
{_cpniursAuthorizedURL = Nothing, _cpniursResponseStatus = pResponseStatus_}
cpniursAuthorizedURL :: Lens' CreatePresignedNotebookInstanceURLResponse (Maybe Text)
cpniursAuthorizedURL = lens _cpniursAuthorizedURL (\ s a -> s{_cpniursAuthorizedURL = a})
cpniursResponseStatus :: Lens' CreatePresignedNotebookInstanceURLResponse Int
cpniursResponseStatus = lens _cpniursResponseStatus (\ s a -> s{_cpniursResponseStatus = a})
instance NFData
CreatePresignedNotebookInstanceURLResponse
where