{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module Network.AWS.WorkSpaces.Types.Product where
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.WorkSpaces.Types.Sum
newtype ComputeType = ComputeType'
{ _ctName :: Maybe Compute
} deriving (Eq,Read,Show,Data,Typeable,Generic)
computeType
:: ComputeType
computeType =
ComputeType'
{ _ctName = Nothing
}
ctName :: Lens' ComputeType (Maybe Compute)
ctName = lens _ctName (\ s a -> s{_ctName = a});
instance FromJSON ComputeType where
parseJSON
= withObject "ComputeType"
(\ x -> ComputeType' <$> (x .:? "Name"))
instance Hashable ComputeType
instance NFData ComputeType
data DefaultWorkspaceCreationProperties = DefaultWorkspaceCreationProperties'
{ _dwcpCustomSecurityGroupId :: !(Maybe Text)
, _dwcpUserEnabledAsLocalAdministrator :: !(Maybe Bool)
, _dwcpEnableWorkDocs :: !(Maybe Bool)
, _dwcpEnableInternetAccess :: !(Maybe Bool)
, _dwcpDefaultOu :: !(Maybe Text)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
defaultWorkspaceCreationProperties
:: DefaultWorkspaceCreationProperties
defaultWorkspaceCreationProperties =
DefaultWorkspaceCreationProperties'
{ _dwcpCustomSecurityGroupId = Nothing
, _dwcpUserEnabledAsLocalAdministrator = Nothing
, _dwcpEnableWorkDocs = Nothing
, _dwcpEnableInternetAccess = Nothing
, _dwcpDefaultOu = Nothing
}
dwcpCustomSecurityGroupId :: Lens' DefaultWorkspaceCreationProperties (Maybe Text)
dwcpCustomSecurityGroupId = lens _dwcpCustomSecurityGroupId (\ s a -> s{_dwcpCustomSecurityGroupId = a});
dwcpUserEnabledAsLocalAdministrator :: Lens' DefaultWorkspaceCreationProperties (Maybe Bool)
dwcpUserEnabledAsLocalAdministrator = lens _dwcpUserEnabledAsLocalAdministrator (\ s a -> s{_dwcpUserEnabledAsLocalAdministrator = a});
dwcpEnableWorkDocs :: Lens' DefaultWorkspaceCreationProperties (Maybe Bool)
dwcpEnableWorkDocs = lens _dwcpEnableWorkDocs (\ s a -> s{_dwcpEnableWorkDocs = a});
dwcpEnableInternetAccess :: Lens' DefaultWorkspaceCreationProperties (Maybe Bool)
dwcpEnableInternetAccess = lens _dwcpEnableInternetAccess (\ s a -> s{_dwcpEnableInternetAccess = a});
dwcpDefaultOu :: Lens' DefaultWorkspaceCreationProperties (Maybe Text)
dwcpDefaultOu = lens _dwcpDefaultOu (\ s a -> s{_dwcpDefaultOu = a});
instance FromJSON DefaultWorkspaceCreationProperties
where
parseJSON
= withObject "DefaultWorkspaceCreationProperties"
(\ x ->
DefaultWorkspaceCreationProperties' <$>
(x .:? "CustomSecurityGroupId") <*>
(x .:? "UserEnabledAsLocalAdministrator")
<*> (x .:? "EnableWorkDocs")
<*> (x .:? "EnableInternetAccess")
<*> (x .:? "DefaultOu"))
instance Hashable DefaultWorkspaceCreationProperties
instance NFData DefaultWorkspaceCreationProperties
data FailedCreateWorkspaceRequest = FailedCreateWorkspaceRequest'
{ _fcwrWorkspaceRequest :: !(Maybe WorkspaceRequest)
, _fcwrErrorCode :: !(Maybe Text)
, _fcwrErrorMessage :: !(Maybe Text)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
failedCreateWorkspaceRequest
:: FailedCreateWorkspaceRequest
failedCreateWorkspaceRequest =
FailedCreateWorkspaceRequest'
{ _fcwrWorkspaceRequest = Nothing
, _fcwrErrorCode = Nothing
, _fcwrErrorMessage = Nothing
}
fcwrWorkspaceRequest :: Lens' FailedCreateWorkspaceRequest (Maybe WorkspaceRequest)
fcwrWorkspaceRequest = lens _fcwrWorkspaceRequest (\ s a -> s{_fcwrWorkspaceRequest = a});
fcwrErrorCode :: Lens' FailedCreateWorkspaceRequest (Maybe Text)
fcwrErrorCode = lens _fcwrErrorCode (\ s a -> s{_fcwrErrorCode = a});
fcwrErrorMessage :: Lens' FailedCreateWorkspaceRequest (Maybe Text)
fcwrErrorMessage = lens _fcwrErrorMessage (\ s a -> s{_fcwrErrorMessage = a});
instance FromJSON FailedCreateWorkspaceRequest where
parseJSON
= withObject "FailedCreateWorkspaceRequest"
(\ x ->
FailedCreateWorkspaceRequest' <$>
(x .:? "WorkspaceRequest") <*> (x .:? "ErrorCode")
<*> (x .:? "ErrorMessage"))
instance Hashable FailedCreateWorkspaceRequest
instance NFData FailedCreateWorkspaceRequest
data FailedWorkspaceChangeRequest = FailedWorkspaceChangeRequest'
{ _fwcrErrorCode :: !(Maybe Text)
, _fwcrWorkspaceId :: !(Maybe Text)
, _fwcrErrorMessage :: !(Maybe Text)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
failedWorkspaceChangeRequest
:: FailedWorkspaceChangeRequest
failedWorkspaceChangeRequest =
FailedWorkspaceChangeRequest'
{ _fwcrErrorCode = Nothing
, _fwcrWorkspaceId = Nothing
, _fwcrErrorMessage = Nothing
}
fwcrErrorCode :: Lens' FailedWorkspaceChangeRequest (Maybe Text)
fwcrErrorCode = lens _fwcrErrorCode (\ s a -> s{_fwcrErrorCode = a});
fwcrWorkspaceId :: Lens' FailedWorkspaceChangeRequest (Maybe Text)
fwcrWorkspaceId = lens _fwcrWorkspaceId (\ s a -> s{_fwcrWorkspaceId = a});
fwcrErrorMessage :: Lens' FailedWorkspaceChangeRequest (Maybe Text)
fwcrErrorMessage = lens _fwcrErrorMessage (\ s a -> s{_fwcrErrorMessage = a});
instance FromJSON FailedWorkspaceChangeRequest where
parseJSON
= withObject "FailedWorkspaceChangeRequest"
(\ x ->
FailedWorkspaceChangeRequest' <$>
(x .:? "ErrorCode") <*> (x .:? "WorkspaceId") <*>
(x .:? "ErrorMessage"))
instance Hashable FailedWorkspaceChangeRequest
instance NFData FailedWorkspaceChangeRequest
newtype RebootRequest = RebootRequest'
{ _rWorkspaceId :: Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
rebootRequest
:: Text
-> RebootRequest
rebootRequest pWorkspaceId_ =
RebootRequest'
{ _rWorkspaceId = pWorkspaceId_
}
rWorkspaceId :: Lens' RebootRequest Text
rWorkspaceId = lens _rWorkspaceId (\ s a -> s{_rWorkspaceId = a});
instance Hashable RebootRequest
instance NFData RebootRequest
instance ToJSON RebootRequest where
toJSON RebootRequest'{..}
= object
(catMaybes [Just ("WorkspaceId" .= _rWorkspaceId)])
newtype RebuildRequest = RebuildRequest'
{ _rrWorkspaceId :: Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
rebuildRequest
:: Text
-> RebuildRequest
rebuildRequest pWorkspaceId_ =
RebuildRequest'
{ _rrWorkspaceId = pWorkspaceId_
}
rrWorkspaceId :: Lens' RebuildRequest Text
rrWorkspaceId = lens _rrWorkspaceId (\ s a -> s{_rrWorkspaceId = a});
instance Hashable RebuildRequest
instance NFData RebuildRequest
instance ToJSON RebuildRequest where
toJSON RebuildRequest'{..}
= object
(catMaybes [Just ("WorkspaceId" .= _rrWorkspaceId)])
newtype StartRequest = StartRequest'
{ _sWorkspaceId :: Maybe Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
startRequest
:: StartRequest
startRequest =
StartRequest'
{ _sWorkspaceId = Nothing
}
sWorkspaceId :: Lens' StartRequest (Maybe Text)
sWorkspaceId = lens _sWorkspaceId (\ s a -> s{_sWorkspaceId = a});
instance Hashable StartRequest
instance NFData StartRequest
instance ToJSON StartRequest where
toJSON StartRequest'{..}
= object
(catMaybes [("WorkspaceId" .=) <$> _sWorkspaceId])
newtype StopRequest = StopRequest'
{ _srWorkspaceId :: Maybe Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
stopRequest
:: StopRequest
stopRequest =
StopRequest'
{ _srWorkspaceId = Nothing
}
srWorkspaceId :: Lens' StopRequest (Maybe Text)
srWorkspaceId = lens _srWorkspaceId (\ s a -> s{_srWorkspaceId = a});
instance Hashable StopRequest
instance NFData StopRequest
instance ToJSON StopRequest where
toJSON StopRequest'{..}
= object
(catMaybes [("WorkspaceId" .=) <$> _srWorkspaceId])
data Tag = Tag'
{ _tagValue :: !(Maybe Text)
, _tagKey :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
tag
:: Text
-> Tag
tag pKey_ =
Tag'
{ _tagValue = Nothing
, _tagKey = pKey_
}
tagValue :: Lens' Tag (Maybe Text)
tagValue = lens _tagValue (\ s a -> s{_tagValue = a});
tagKey :: Lens' Tag Text
tagKey = lens _tagKey (\ s a -> s{_tagKey = a});
instance FromJSON Tag where
parseJSON
= withObject "Tag"
(\ x -> Tag' <$> (x .:? "Value") <*> (x .: "Key"))
instance Hashable Tag
instance NFData Tag
instance ToJSON Tag where
toJSON Tag'{..}
= object
(catMaybes
[("Value" .=) <$> _tagValue,
Just ("Key" .= _tagKey)])
newtype TerminateRequest = TerminateRequest'
{ _trWorkspaceId :: Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
terminateRequest
:: Text
-> TerminateRequest
terminateRequest pWorkspaceId_ =
TerminateRequest'
{ _trWorkspaceId = pWorkspaceId_
}
trWorkspaceId :: Lens' TerminateRequest Text
trWorkspaceId = lens _trWorkspaceId (\ s a -> s{_trWorkspaceId = a});
instance Hashable TerminateRequest
instance NFData TerminateRequest
instance ToJSON TerminateRequest where
toJSON TerminateRequest'{..}
= object
(catMaybes [Just ("WorkspaceId" .= _trWorkspaceId)])
newtype UserStorage = UserStorage'
{ _usCapacity :: Maybe Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
userStorage
:: UserStorage
userStorage =
UserStorage'
{ _usCapacity = Nothing
}
usCapacity :: Lens' UserStorage (Maybe Text)
usCapacity = lens _usCapacity (\ s a -> s{_usCapacity = a});
instance FromJSON UserStorage where
parseJSON
= withObject "UserStorage"
(\ x -> UserStorage' <$> (x .:? "Capacity"))
instance Hashable UserStorage
instance NFData UserStorage
data Workspace = Workspace'
{ _wDirectoryId :: !(Maybe Text)
, _wState :: !(Maybe WorkspaceState)
, _wIPAddress :: !(Maybe Text)
, _wUserName :: !(Maybe Text)
, _wSubnetId :: !(Maybe Text)
, _wBundleId :: !(Maybe Text)
, _wWorkspaceProperties :: !(Maybe WorkspaceProperties)
, _wRootVolumeEncryptionEnabled :: !(Maybe Bool)
, _wErrorCode :: !(Maybe Text)
, _wVolumeEncryptionKey :: !(Maybe Text)
, _wComputerName :: !(Maybe Text)
, _wWorkspaceId :: !(Maybe Text)
, _wUserVolumeEncryptionEnabled :: !(Maybe Bool)
, _wErrorMessage :: !(Maybe Text)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
workspace
:: Workspace
workspace =
Workspace'
{ _wDirectoryId = Nothing
, _wState = Nothing
, _wIPAddress = Nothing
, _wUserName = Nothing
, _wSubnetId = Nothing
, _wBundleId = Nothing
, _wWorkspaceProperties = Nothing
, _wRootVolumeEncryptionEnabled = Nothing
, _wErrorCode = Nothing
, _wVolumeEncryptionKey = Nothing
, _wComputerName = Nothing
, _wWorkspaceId = Nothing
, _wUserVolumeEncryptionEnabled = Nothing
, _wErrorMessage = Nothing
}
wDirectoryId :: Lens' Workspace (Maybe Text)
wDirectoryId = lens _wDirectoryId (\ s a -> s{_wDirectoryId = a});
wState :: Lens' Workspace (Maybe WorkspaceState)
wState = lens _wState (\ s a -> s{_wState = a});
wIPAddress :: Lens' Workspace (Maybe Text)
wIPAddress = lens _wIPAddress (\ s a -> s{_wIPAddress = a});
wUserName :: Lens' Workspace (Maybe Text)
wUserName = lens _wUserName (\ s a -> s{_wUserName = a});
wSubnetId :: Lens' Workspace (Maybe Text)
wSubnetId = lens _wSubnetId (\ s a -> s{_wSubnetId = a});
wBundleId :: Lens' Workspace (Maybe Text)
wBundleId = lens _wBundleId (\ s a -> s{_wBundleId = a});
wWorkspaceProperties :: Lens' Workspace (Maybe WorkspaceProperties)
wWorkspaceProperties = lens _wWorkspaceProperties (\ s a -> s{_wWorkspaceProperties = a});
wRootVolumeEncryptionEnabled :: Lens' Workspace (Maybe Bool)
wRootVolumeEncryptionEnabled = lens _wRootVolumeEncryptionEnabled (\ s a -> s{_wRootVolumeEncryptionEnabled = a});
wErrorCode :: Lens' Workspace (Maybe Text)
wErrorCode = lens _wErrorCode (\ s a -> s{_wErrorCode = a});
wVolumeEncryptionKey :: Lens' Workspace (Maybe Text)
wVolumeEncryptionKey = lens _wVolumeEncryptionKey (\ s a -> s{_wVolumeEncryptionKey = a});
wComputerName :: Lens' Workspace (Maybe Text)
wComputerName = lens _wComputerName (\ s a -> s{_wComputerName = a});
wWorkspaceId :: Lens' Workspace (Maybe Text)
wWorkspaceId = lens _wWorkspaceId (\ s a -> s{_wWorkspaceId = a});
wUserVolumeEncryptionEnabled :: Lens' Workspace (Maybe Bool)
wUserVolumeEncryptionEnabled = lens _wUserVolumeEncryptionEnabled (\ s a -> s{_wUserVolumeEncryptionEnabled = a});
wErrorMessage :: Lens' Workspace (Maybe Text)
wErrorMessage = lens _wErrorMessage (\ s a -> s{_wErrorMessage = a});
instance FromJSON Workspace where
parseJSON
= withObject "Workspace"
(\ x ->
Workspace' <$>
(x .:? "DirectoryId") <*> (x .:? "State") <*>
(x .:? "IpAddress")
<*> (x .:? "UserName")
<*> (x .:? "SubnetId")
<*> (x .:? "BundleId")
<*> (x .:? "WorkspaceProperties")
<*> (x .:? "RootVolumeEncryptionEnabled")
<*> (x .:? "ErrorCode")
<*> (x .:? "VolumeEncryptionKey")
<*> (x .:? "ComputerName")
<*> (x .:? "WorkspaceId")
<*> (x .:? "UserVolumeEncryptionEnabled")
<*> (x .:? "ErrorMessage"))
instance Hashable Workspace
instance NFData Workspace
data WorkspaceBundle = WorkspaceBundle'
{ _wbBundleId :: !(Maybe Text)
, _wbOwner :: !(Maybe Text)
, _wbName :: !(Maybe Text)
, _wbComputeType :: !(Maybe ComputeType)
, _wbUserStorage :: !(Maybe UserStorage)
, _wbDescription :: !(Maybe Text)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
workspaceBundle
:: WorkspaceBundle
workspaceBundle =
WorkspaceBundle'
{ _wbBundleId = Nothing
, _wbOwner = Nothing
, _wbName = Nothing
, _wbComputeType = Nothing
, _wbUserStorage = Nothing
, _wbDescription = Nothing
}
wbBundleId :: Lens' WorkspaceBundle (Maybe Text)
wbBundleId = lens _wbBundleId (\ s a -> s{_wbBundleId = a});
wbOwner :: Lens' WorkspaceBundle (Maybe Text)
wbOwner = lens _wbOwner (\ s a -> s{_wbOwner = a});
wbName :: Lens' WorkspaceBundle (Maybe Text)
wbName = lens _wbName (\ s a -> s{_wbName = a});
wbComputeType :: Lens' WorkspaceBundle (Maybe ComputeType)
wbComputeType = lens _wbComputeType (\ s a -> s{_wbComputeType = a});
wbUserStorage :: Lens' WorkspaceBundle (Maybe UserStorage)
wbUserStorage = lens _wbUserStorage (\ s a -> s{_wbUserStorage = a});
wbDescription :: Lens' WorkspaceBundle (Maybe Text)
wbDescription = lens _wbDescription (\ s a -> s{_wbDescription = a});
instance FromJSON WorkspaceBundle where
parseJSON
= withObject "WorkspaceBundle"
(\ x ->
WorkspaceBundle' <$>
(x .:? "BundleId") <*> (x .:? "Owner") <*>
(x .:? "Name")
<*> (x .:? "ComputeType")
<*> (x .:? "UserStorage")
<*> (x .:? "Description"))
instance Hashable WorkspaceBundle
instance NFData WorkspaceBundle
data WorkspaceConnectionStatus = WorkspaceConnectionStatus'
{ _wcsLastKnownUserConnectionTimestamp :: !(Maybe POSIX)
, _wcsConnectionStateCheckTimestamp :: !(Maybe POSIX)
, _wcsWorkspaceId :: !(Maybe Text)
, _wcsConnectionState :: !(Maybe ConnectionState)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
workspaceConnectionStatus
:: WorkspaceConnectionStatus
workspaceConnectionStatus =
WorkspaceConnectionStatus'
{ _wcsLastKnownUserConnectionTimestamp = Nothing
, _wcsConnectionStateCheckTimestamp = Nothing
, _wcsWorkspaceId = Nothing
, _wcsConnectionState = Nothing
}
wcsLastKnownUserConnectionTimestamp :: Lens' WorkspaceConnectionStatus (Maybe UTCTime)
wcsLastKnownUserConnectionTimestamp = lens _wcsLastKnownUserConnectionTimestamp (\ s a -> s{_wcsLastKnownUserConnectionTimestamp = a}) . mapping _Time;
wcsConnectionStateCheckTimestamp :: Lens' WorkspaceConnectionStatus (Maybe UTCTime)
wcsConnectionStateCheckTimestamp = lens _wcsConnectionStateCheckTimestamp (\ s a -> s{_wcsConnectionStateCheckTimestamp = a}) . mapping _Time;
wcsWorkspaceId :: Lens' WorkspaceConnectionStatus (Maybe Text)
wcsWorkspaceId = lens _wcsWorkspaceId (\ s a -> s{_wcsWorkspaceId = a});
wcsConnectionState :: Lens' WorkspaceConnectionStatus (Maybe ConnectionState)
wcsConnectionState = lens _wcsConnectionState (\ s a -> s{_wcsConnectionState = a});
instance FromJSON WorkspaceConnectionStatus where
parseJSON
= withObject "WorkspaceConnectionStatus"
(\ x ->
WorkspaceConnectionStatus' <$>
(x .:? "LastKnownUserConnectionTimestamp") <*>
(x .:? "ConnectionStateCheckTimestamp")
<*> (x .:? "WorkspaceId")
<*> (x .:? "ConnectionState"))
instance Hashable WorkspaceConnectionStatus
instance NFData WorkspaceConnectionStatus
data WorkspaceDirectory = WorkspaceDirectory'
{ _wdRegistrationCode :: !(Maybe Text)
, _wdIAMRoleId :: !(Maybe Text)
, _wdDirectoryId :: !(Maybe Text)
, _wdState :: !(Maybe WorkspaceDirectoryState)
, _wdCustomerUserName :: !(Maybe Text)
, _wdSubnetIds :: !(Maybe [Text])
, _wdAlias :: !(Maybe Text)
, _wdWorkspaceSecurityGroupId :: !(Maybe Text)
, _wdDirectoryType :: !(Maybe WorkspaceDirectoryType)
, _wdWorkspaceCreationProperties :: !(Maybe DefaultWorkspaceCreationProperties)
, _wdDNSIPAddresses :: !(Maybe [Text])
, _wdDirectoryName :: !(Maybe Text)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
workspaceDirectory
:: WorkspaceDirectory
workspaceDirectory =
WorkspaceDirectory'
{ _wdRegistrationCode = Nothing
, _wdIAMRoleId = Nothing
, _wdDirectoryId = Nothing
, _wdState = Nothing
, _wdCustomerUserName = Nothing
, _wdSubnetIds = Nothing
, _wdAlias = Nothing
, _wdWorkspaceSecurityGroupId = Nothing
, _wdDirectoryType = Nothing
, _wdWorkspaceCreationProperties = Nothing
, _wdDNSIPAddresses = Nothing
, _wdDirectoryName = Nothing
}
wdRegistrationCode :: Lens' WorkspaceDirectory (Maybe Text)
wdRegistrationCode = lens _wdRegistrationCode (\ s a -> s{_wdRegistrationCode = a});
wdIAMRoleId :: Lens' WorkspaceDirectory (Maybe Text)
wdIAMRoleId = lens _wdIAMRoleId (\ s a -> s{_wdIAMRoleId = a});
wdDirectoryId :: Lens' WorkspaceDirectory (Maybe Text)
wdDirectoryId = lens _wdDirectoryId (\ s a -> s{_wdDirectoryId = a});
wdState :: Lens' WorkspaceDirectory (Maybe WorkspaceDirectoryState)
wdState = lens _wdState (\ s a -> s{_wdState = a});
wdCustomerUserName :: Lens' WorkspaceDirectory (Maybe Text)
wdCustomerUserName = lens _wdCustomerUserName (\ s a -> s{_wdCustomerUserName = a});
wdSubnetIds :: Lens' WorkspaceDirectory [Text]
wdSubnetIds = lens _wdSubnetIds (\ s a -> s{_wdSubnetIds = a}) . _Default . _Coerce;
wdAlias :: Lens' WorkspaceDirectory (Maybe Text)
wdAlias = lens _wdAlias (\ s a -> s{_wdAlias = a});
wdWorkspaceSecurityGroupId :: Lens' WorkspaceDirectory (Maybe Text)
wdWorkspaceSecurityGroupId = lens _wdWorkspaceSecurityGroupId (\ s a -> s{_wdWorkspaceSecurityGroupId = a});
wdDirectoryType :: Lens' WorkspaceDirectory (Maybe WorkspaceDirectoryType)
wdDirectoryType = lens _wdDirectoryType (\ s a -> s{_wdDirectoryType = a});
wdWorkspaceCreationProperties :: Lens' WorkspaceDirectory (Maybe DefaultWorkspaceCreationProperties)
wdWorkspaceCreationProperties = lens _wdWorkspaceCreationProperties (\ s a -> s{_wdWorkspaceCreationProperties = a});
wdDNSIPAddresses :: Lens' WorkspaceDirectory [Text]
wdDNSIPAddresses = lens _wdDNSIPAddresses (\ s a -> s{_wdDNSIPAddresses = a}) . _Default . _Coerce;
wdDirectoryName :: Lens' WorkspaceDirectory (Maybe Text)
wdDirectoryName = lens _wdDirectoryName (\ s a -> s{_wdDirectoryName = a});
instance FromJSON WorkspaceDirectory where
parseJSON
= withObject "WorkspaceDirectory"
(\ x ->
WorkspaceDirectory' <$>
(x .:? "RegistrationCode") <*> (x .:? "IamRoleId")
<*> (x .:? "DirectoryId")
<*> (x .:? "State")
<*> (x .:? "CustomerUserName")
<*> (x .:? "SubnetIds" .!= mempty)
<*> (x .:? "Alias")
<*> (x .:? "WorkspaceSecurityGroupId")
<*> (x .:? "DirectoryType")
<*> (x .:? "WorkspaceCreationProperties")
<*> (x .:? "DnsIpAddresses" .!= mempty)
<*> (x .:? "DirectoryName"))
instance Hashable WorkspaceDirectory
instance NFData WorkspaceDirectory
data WorkspaceProperties = WorkspaceProperties'
{ _wpRunningMode :: !(Maybe RunningMode)
, _wpRunningModeAutoStopTimeoutInMinutes :: !(Maybe Int)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
workspaceProperties
:: WorkspaceProperties
workspaceProperties =
WorkspaceProperties'
{ _wpRunningMode = Nothing
, _wpRunningModeAutoStopTimeoutInMinutes = Nothing
}
wpRunningMode :: Lens' WorkspaceProperties (Maybe RunningMode)
wpRunningMode = lens _wpRunningMode (\ s a -> s{_wpRunningMode = a});
wpRunningModeAutoStopTimeoutInMinutes :: Lens' WorkspaceProperties (Maybe Int)
wpRunningModeAutoStopTimeoutInMinutes = lens _wpRunningModeAutoStopTimeoutInMinutes (\ s a -> s{_wpRunningModeAutoStopTimeoutInMinutes = a});
instance FromJSON WorkspaceProperties where
parseJSON
= withObject "WorkspaceProperties"
(\ x ->
WorkspaceProperties' <$>
(x .:? "RunningMode") <*>
(x .:? "RunningModeAutoStopTimeoutInMinutes"))
instance Hashable WorkspaceProperties
instance NFData WorkspaceProperties
instance ToJSON WorkspaceProperties where
toJSON WorkspaceProperties'{..}
= object
(catMaybes
[("RunningMode" .=) <$> _wpRunningMode,
("RunningModeAutoStopTimeoutInMinutes" .=) <$>
_wpRunningModeAutoStopTimeoutInMinutes])
data WorkspaceRequest = WorkspaceRequest'
{ _wrWorkspaceProperties :: !(Maybe WorkspaceProperties)
, _wrRootVolumeEncryptionEnabled :: !(Maybe Bool)
, _wrVolumeEncryptionKey :: !(Maybe Text)
, _wrUserVolumeEncryptionEnabled :: !(Maybe Bool)
, _wrTags :: !(Maybe [Tag])
, _wrDirectoryId :: !Text
, _wrUserName :: !Text
, _wrBundleId :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
workspaceRequest
:: Text
-> Text
-> Text
-> WorkspaceRequest
workspaceRequest pDirectoryId_ pUserName_ pBundleId_ =
WorkspaceRequest'
{ _wrWorkspaceProperties = Nothing
, _wrRootVolumeEncryptionEnabled = Nothing
, _wrVolumeEncryptionKey = Nothing
, _wrUserVolumeEncryptionEnabled = Nothing
, _wrTags = Nothing
, _wrDirectoryId = pDirectoryId_
, _wrUserName = pUserName_
, _wrBundleId = pBundleId_
}
wrWorkspaceProperties :: Lens' WorkspaceRequest (Maybe WorkspaceProperties)
wrWorkspaceProperties = lens _wrWorkspaceProperties (\ s a -> s{_wrWorkspaceProperties = a});
wrRootVolumeEncryptionEnabled :: Lens' WorkspaceRequest (Maybe Bool)
wrRootVolumeEncryptionEnabled = lens _wrRootVolumeEncryptionEnabled (\ s a -> s{_wrRootVolumeEncryptionEnabled = a});
wrVolumeEncryptionKey :: Lens' WorkspaceRequest (Maybe Text)
wrVolumeEncryptionKey = lens _wrVolumeEncryptionKey (\ s a -> s{_wrVolumeEncryptionKey = a});
wrUserVolumeEncryptionEnabled :: Lens' WorkspaceRequest (Maybe Bool)
wrUserVolumeEncryptionEnabled = lens _wrUserVolumeEncryptionEnabled (\ s a -> s{_wrUserVolumeEncryptionEnabled = a});
wrTags :: Lens' WorkspaceRequest [Tag]
wrTags = lens _wrTags (\ s a -> s{_wrTags = a}) . _Default . _Coerce;
wrDirectoryId :: Lens' WorkspaceRequest Text
wrDirectoryId = lens _wrDirectoryId (\ s a -> s{_wrDirectoryId = a});
wrUserName :: Lens' WorkspaceRequest Text
wrUserName = lens _wrUserName (\ s a -> s{_wrUserName = a});
wrBundleId :: Lens' WorkspaceRequest Text
wrBundleId = lens _wrBundleId (\ s a -> s{_wrBundleId = a});
instance FromJSON WorkspaceRequest where
parseJSON
= withObject "WorkspaceRequest"
(\ x ->
WorkspaceRequest' <$>
(x .:? "WorkspaceProperties") <*>
(x .:? "RootVolumeEncryptionEnabled")
<*> (x .:? "VolumeEncryptionKey")
<*> (x .:? "UserVolumeEncryptionEnabled")
<*> (x .:? "Tags" .!= mempty)
<*> (x .: "DirectoryId")
<*> (x .: "UserName")
<*> (x .: "BundleId"))
instance Hashable WorkspaceRequest
instance NFData WorkspaceRequest
instance ToJSON WorkspaceRequest where
toJSON WorkspaceRequest'{..}
= object
(catMaybes
[("WorkspaceProperties" .=) <$>
_wrWorkspaceProperties,
("RootVolumeEncryptionEnabled" .=) <$>
_wrRootVolumeEncryptionEnabled,
("VolumeEncryptionKey" .=) <$>
_wrVolumeEncryptionKey,
("UserVolumeEncryptionEnabled" .=) <$>
_wrUserVolumeEncryptionEnabled,
("Tags" .=) <$> _wrTags,
Just ("DirectoryId" .= _wrDirectoryId),
Just ("UserName" .= _wrUserName),
Just ("BundleId" .= _wrBundleId)])