{-# 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 where
instance NFData ComputeType where
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
where
instance NFData DefaultWorkspaceCreationProperties
where
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 where
instance NFData FailedCreateWorkspaceRequest where
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 where
instance NFData FailedWorkspaceChangeRequest where
data IPRuleItem = IPRuleItem'
{ _iriRuleDesc :: !(Maybe Text)
, _iriIpRule :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
ipRuleItem
:: IPRuleItem
ipRuleItem = IPRuleItem' {_iriRuleDesc = Nothing, _iriIpRule = Nothing}
iriRuleDesc :: Lens' IPRuleItem (Maybe Text)
iriRuleDesc = lens _iriRuleDesc (\ s a -> s{_iriRuleDesc = a})
iriIpRule :: Lens' IPRuleItem (Maybe Text)
iriIpRule = lens _iriIpRule (\ s a -> s{_iriIpRule = a})
instance FromJSON IPRuleItem where
parseJSON
= withObject "IPRuleItem"
(\ x ->
IPRuleItem' <$>
(x .:? "ruleDesc") <*> (x .:? "ipRule"))
instance Hashable IPRuleItem where
instance NFData IPRuleItem where
instance ToJSON IPRuleItem where
toJSON IPRuleItem'{..}
= object
(catMaybes
[("ruleDesc" .=) <$> _iriRuleDesc,
("ipRule" .=) <$> _iriIpRule])
data ModificationState = ModificationState'
{ _msState :: !(Maybe ModificationStateEnum)
, _msResource :: !(Maybe ModificationResourceEnum)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
modificationState
:: ModificationState
modificationState =
ModificationState' {_msState = Nothing, _msResource = Nothing}
msState :: Lens' ModificationState (Maybe ModificationStateEnum)
msState = lens _msState (\ s a -> s{_msState = a})
msResource :: Lens' ModificationState (Maybe ModificationResourceEnum)
msResource = lens _msResource (\ s a -> s{_msResource = a})
instance FromJSON ModificationState where
parseJSON
= withObject "ModificationState"
(\ x ->
ModificationState' <$>
(x .:? "State") <*> (x .:? "Resource"))
instance Hashable ModificationState where
instance NFData ModificationState where
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 where
instance NFData RebootRequest where
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 where
instance NFData RebuildRequest where
instance ToJSON RebuildRequest where
toJSON RebuildRequest'{..}
= object
(catMaybes [Just ("WorkspaceId" .= _rrWorkspaceId)])
newtype RootStorage = RootStorage'
{ _rsCapacity :: Maybe Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
rootStorage
:: RootStorage
rootStorage = RootStorage' {_rsCapacity = Nothing}
rsCapacity :: Lens' RootStorage (Maybe Text)
rsCapacity = lens _rsCapacity (\ s a -> s{_rsCapacity = a})
instance FromJSON RootStorage where
parseJSON
= withObject "RootStorage"
(\ x -> RootStorage' <$> (x .:? "Capacity"))
instance Hashable RootStorage where
instance NFData RootStorage where
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 where
instance NFData StartRequest where
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 where
instance NFData StopRequest where
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 where
instance NFData Tag where
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 where
instance NFData TerminateRequest where
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 where
instance NFData UserStorage where
data Workspace = Workspace'
{ _wDirectoryId :: !(Maybe Text)
, _wState :: !(Maybe WorkspaceState)
, _wIPAddress :: !(Maybe Text)
, _wModificationStates :: !(Maybe [ModificationState])
, _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
, _wModificationStates = 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})
wModificationStates :: Lens' Workspace [ModificationState]
wModificationStates = lens _wModificationStates (\ s a -> s{_wModificationStates = a}) . _Default . _Coerce
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 .:? "ModificationStates" .!= mempty)
<*> (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 where
instance NFData Workspace where
data WorkspaceBundle = WorkspaceBundle'
{ _wbBundleId :: !(Maybe Text)
, _wbOwner :: !(Maybe Text)
, _wbRootStorage :: !(Maybe RootStorage)
, _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
, _wbRootStorage = 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})
wbRootStorage :: Lens' WorkspaceBundle (Maybe RootStorage)
wbRootStorage = lens _wbRootStorage (\ s a -> s{_wbRootStorage = 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 .:? "RootStorage")
<*> (x .:? "Name")
<*> (x .:? "ComputeType")
<*> (x .:? "UserStorage")
<*> (x .:? "Description"))
instance Hashable WorkspaceBundle where
instance NFData WorkspaceBundle where
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 where
instance NFData WorkspaceConnectionStatus where
data WorkspaceDirectory = WorkspaceDirectory'
{ _wdRegistrationCode :: !(Maybe Text)
, _wdIAMRoleId :: !(Maybe Text)
, _wdDirectoryId :: !(Maybe Text)
, _wdState :: !(Maybe WorkspaceDirectoryState)
, _wdCustomerUserName :: !(Maybe Text)
, _wdSubnetIds :: !(Maybe [Text])
, _wdIpGroupIds :: !(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
, _wdIpGroupIds = 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
wdIpGroupIds :: Lens' WorkspaceDirectory [Text]
wdIpGroupIds = lens _wdIpGroupIds (\ s a -> s{_wdIpGroupIds = 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 .:? "ipGroupIds" .!= mempty)
<*> (x .:? "Alias")
<*> (x .:? "WorkspaceSecurityGroupId")
<*> (x .:? "DirectoryType")
<*> (x .:? "WorkspaceCreationProperties")
<*> (x .:? "DnsIpAddresses" .!= mempty)
<*> (x .:? "DirectoryName"))
instance Hashable WorkspaceDirectory where
instance NFData WorkspaceDirectory where
data WorkspaceProperties = WorkspaceProperties'
{ _wpComputeTypeName :: !(Maybe Compute)
, _wpRunningMode :: !(Maybe RunningMode)
, _wpRootVolumeSizeGib :: !(Maybe Int)
, _wpRunningModeAutoStopTimeoutInMinutes :: !(Maybe Int)
, _wpUserVolumeSizeGib :: !(Maybe Int)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
workspaceProperties
:: WorkspaceProperties
workspaceProperties =
WorkspaceProperties'
{ _wpComputeTypeName = Nothing
, _wpRunningMode = Nothing
, _wpRootVolumeSizeGib = Nothing
, _wpRunningModeAutoStopTimeoutInMinutes = Nothing
, _wpUserVolumeSizeGib = Nothing
}
wpComputeTypeName :: Lens' WorkspaceProperties (Maybe Compute)
wpComputeTypeName = lens _wpComputeTypeName (\ s a -> s{_wpComputeTypeName = a})
wpRunningMode :: Lens' WorkspaceProperties (Maybe RunningMode)
wpRunningMode = lens _wpRunningMode (\ s a -> s{_wpRunningMode = a})
wpRootVolumeSizeGib :: Lens' WorkspaceProperties (Maybe Int)
wpRootVolumeSizeGib = lens _wpRootVolumeSizeGib (\ s a -> s{_wpRootVolumeSizeGib = a})
wpRunningModeAutoStopTimeoutInMinutes :: Lens' WorkspaceProperties (Maybe Int)
wpRunningModeAutoStopTimeoutInMinutes = lens _wpRunningModeAutoStopTimeoutInMinutes (\ s a -> s{_wpRunningModeAutoStopTimeoutInMinutes = a})
wpUserVolumeSizeGib :: Lens' WorkspaceProperties (Maybe Int)
wpUserVolumeSizeGib = lens _wpUserVolumeSizeGib (\ s a -> s{_wpUserVolumeSizeGib = a})
instance FromJSON WorkspaceProperties where
parseJSON
= withObject "WorkspaceProperties"
(\ x ->
WorkspaceProperties' <$>
(x .:? "ComputeTypeName") <*> (x .:? "RunningMode")
<*> (x .:? "RootVolumeSizeGib")
<*> (x .:? "RunningModeAutoStopTimeoutInMinutes")
<*> (x .:? "UserVolumeSizeGib"))
instance Hashable WorkspaceProperties where
instance NFData WorkspaceProperties where
instance ToJSON WorkspaceProperties where
toJSON WorkspaceProperties'{..}
= object
(catMaybes
[("ComputeTypeName" .=) <$> _wpComputeTypeName,
("RunningMode" .=) <$> _wpRunningMode,
("RootVolumeSizeGib" .=) <$> _wpRootVolumeSizeGib,
("RunningModeAutoStopTimeoutInMinutes" .=) <$>
_wpRunningModeAutoStopTimeoutInMinutes,
("UserVolumeSizeGib" .=) <$> _wpUserVolumeSizeGib])
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 where
instance NFData WorkspaceRequest where
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)])
data WorkspacesIPGroup = WorkspacesIPGroup'
{ _wigGroupDesc :: !(Maybe Text)
, _wigUserRules :: !(Maybe [IPRuleItem])
, _wigGroupId :: !(Maybe Text)
, _wigGroupName :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
workspacesIPGroup
:: WorkspacesIPGroup
workspacesIPGroup =
WorkspacesIPGroup'
{ _wigGroupDesc = Nothing
, _wigUserRules = Nothing
, _wigGroupId = Nothing
, _wigGroupName = Nothing
}
wigGroupDesc :: Lens' WorkspacesIPGroup (Maybe Text)
wigGroupDesc = lens _wigGroupDesc (\ s a -> s{_wigGroupDesc = a})
wigUserRules :: Lens' WorkspacesIPGroup [IPRuleItem]
wigUserRules = lens _wigUserRules (\ s a -> s{_wigUserRules = a}) . _Default . _Coerce
wigGroupId :: Lens' WorkspacesIPGroup (Maybe Text)
wigGroupId = lens _wigGroupId (\ s a -> s{_wigGroupId = a})
wigGroupName :: Lens' WorkspacesIPGroup (Maybe Text)
wigGroupName = lens _wigGroupName (\ s a -> s{_wigGroupName = a})
instance FromJSON WorkspacesIPGroup where
parseJSON
= withObject "WorkspacesIPGroup"
(\ x ->
WorkspacesIPGroup' <$>
(x .:? "groupDesc") <*>
(x .:? "userRules" .!= mempty)
<*> (x .:? "groupId")
<*> (x .:? "groupName"))
instance Hashable WorkspacesIPGroup where
instance NFData WorkspacesIPGroup where