module Network.AWS.WorkSpaces.Types
(
WorkSpaces
, JSONError
, WorkspaceRequest
, workspaceRequest
, wBundleId
, wDirectoryId
, wUserName
, WorkspaceDirectory
, workspaceDirectory
, wdAlias
, wdCustomerUserName
, wdDirectoryId
, wdDirectoryName
, wdDirectoryType
, wdDnsIpAddresses
, wdIamRoleId
, wdRegistrationCode
, wdState
, wdSubnetIds
, wdWorkspaceCreationProperties
, wdWorkspaceSecurityGroupId
, Compute (..)
, Workspace
, workspace
, w1BundleId
, w1DirectoryId
, w1ErrorCode
, w1ErrorMessage
, w1IpAddress
, w1State
, w1SubnetId
, w1UserName
, w1WorkspaceId
, RebuildRequest
, rebuildRequest
, rWorkspaceId
, FailedCreateWorkspaceRequest
, failedCreateWorkspaceRequest
, fcwErrorCode
, fcwErrorMessage
, fcwWorkspaceRequest
, WorkspaceDirectoryState (..)
, FailedWorkspaceChangeRequest
, failedWorkspaceChangeRequest
, fwcErrorCode
, fwcErrorMessage
, fwcWorkspaceId
, WorkspaceDirectoryType (..)
, WorkspaceState (..)
, ComputeType
, computeType
, ctName
, RebootRequest
, rebootRequest
, r1WorkspaceId
, UserStorage
, userStorage
, usCapacity
, TerminateRequest
, terminateRequest
, tWorkspaceId
, DefaultWorkspaceCreationProperties
, defaultWorkspaceCreationProperties
, dwcpCustomSecurityGroupId
, dwcpDefaultOu
, dwcpEnableInternetAccess
, dwcpEnableWorkDocs
, dwcpUserEnabledAsLocalAdministrator
, WorkspaceBundle
, workspaceBundle
, wbBundleId
, wbComputeType
, wbDescription
, wbName
, wbOwner
, wbUserStorage
) where
import Network.AWS.Prelude
import Network.AWS.Signing
import qualified GHC.Exts
data WorkSpaces
instance AWSService WorkSpaces where
type Sg WorkSpaces = V4
type Er WorkSpaces = JSONError
service = service'
where
service' :: Service WorkSpaces
service' = Service
{ _svcAbbrev = "WorkSpaces"
, _svcPrefix = "workspaces"
, _svcVersion = "2015-04-08"
, _svcTargetPrefix = Just "WorkspacesService"
, _svcJSONVersion = Just "1.1"
, _svcHandle = handle
, _svcRetry = retry
}
handle :: Status
-> Maybe (LazyByteString -> ServiceError JSONError)
handle = jsonError statusSuccess service'
retry :: Retry WorkSpaces
retry = Exponential
{ _retryBase = 0.05
, _retryGrowth = 2
, _retryAttempts = 5
, _retryCheck = check
}
check :: Status
-> JSONError
-> Bool
check (statusCode -> s) (awsErrorCode -> e)
| s == 500 = True
| s == 509 = True
| s == 503 = True
| otherwise = False
data WorkspaceRequest = WorkspaceRequest
{ _wBundleId :: Text
, _wDirectoryId :: Text
, _wUserName :: Text
} deriving (Eq, Ord, Read, Show)
workspaceRequest :: Text
-> Text
-> Text
-> WorkspaceRequest
workspaceRequest p1 p2 p3 = WorkspaceRequest
{ _wDirectoryId = p1
, _wUserName = p2
, _wBundleId = p3
}
wBundleId :: Lens' WorkspaceRequest Text
wBundleId = lens _wBundleId (\s a -> s { _wBundleId = a })
wDirectoryId :: Lens' WorkspaceRequest Text
wDirectoryId = lens _wDirectoryId (\s a -> s { _wDirectoryId = a })
wUserName :: Lens' WorkspaceRequest Text
wUserName = lens _wUserName (\s a -> s { _wUserName = a })
instance FromJSON WorkspaceRequest where
parseJSON = withObject "WorkspaceRequest" $ \o -> WorkspaceRequest
<$> o .: "BundleId"
<*> o .: "DirectoryId"
<*> o .: "UserName"
instance ToJSON WorkspaceRequest where
toJSON WorkspaceRequest{..} = object
[ "DirectoryId" .= _wDirectoryId
, "UserName" .= _wUserName
, "BundleId" .= _wBundleId
]
data WorkspaceDirectory = WorkspaceDirectory
{ _wdAlias :: Maybe Text
, _wdCustomerUserName :: Maybe Text
, _wdDirectoryId :: Maybe Text
, _wdDirectoryName :: Maybe Text
, _wdDirectoryType :: Maybe WorkspaceDirectoryType
, _wdDnsIpAddresses :: List "DnsIpAddresses" Text
, _wdIamRoleId :: Maybe Text
, _wdRegistrationCode :: Maybe Text
, _wdState :: Maybe WorkspaceDirectoryState
, _wdSubnetIds :: List "SubnetIds" Text
, _wdWorkspaceCreationProperties :: Maybe DefaultWorkspaceCreationProperties
, _wdWorkspaceSecurityGroupId :: Maybe Text
} deriving (Eq, Read, Show)
workspaceDirectory :: WorkspaceDirectory
workspaceDirectory = WorkspaceDirectory
{ _wdDirectoryId = Nothing
, _wdAlias = Nothing
, _wdDirectoryName = Nothing
, _wdRegistrationCode = Nothing
, _wdSubnetIds = mempty
, _wdDnsIpAddresses = mempty
, _wdCustomerUserName = Nothing
, _wdIamRoleId = Nothing
, _wdDirectoryType = Nothing
, _wdWorkspaceSecurityGroupId = Nothing
, _wdState = Nothing
, _wdWorkspaceCreationProperties = Nothing
}
wdAlias :: Lens' WorkspaceDirectory (Maybe Text)
wdAlias = lens _wdAlias (\s a -> s { _wdAlias = a })
wdCustomerUserName :: Lens' WorkspaceDirectory (Maybe Text)
wdCustomerUserName =
lens _wdCustomerUserName (\s a -> s { _wdCustomerUserName = a })
wdDirectoryId :: Lens' WorkspaceDirectory (Maybe Text)
wdDirectoryId = lens _wdDirectoryId (\s a -> s { _wdDirectoryId = a })
wdDirectoryName :: Lens' WorkspaceDirectory (Maybe Text)
wdDirectoryName = lens _wdDirectoryName (\s a -> s { _wdDirectoryName = a })
wdDirectoryType :: Lens' WorkspaceDirectory (Maybe WorkspaceDirectoryType)
wdDirectoryType = lens _wdDirectoryType (\s a -> s { _wdDirectoryType = a })
wdDnsIpAddresses :: Lens' WorkspaceDirectory [Text]
wdDnsIpAddresses = lens _wdDnsIpAddresses (\s a -> s { _wdDnsIpAddresses = a }) . _List
wdIamRoleId :: Lens' WorkspaceDirectory (Maybe Text)
wdIamRoleId = lens _wdIamRoleId (\s a -> s { _wdIamRoleId = a })
wdRegistrationCode :: Lens' WorkspaceDirectory (Maybe Text)
wdRegistrationCode =
lens _wdRegistrationCode (\s a -> s { _wdRegistrationCode = a })
wdState :: Lens' WorkspaceDirectory (Maybe WorkspaceDirectoryState)
wdState = lens _wdState (\s a -> s { _wdState = a })
wdSubnetIds :: Lens' WorkspaceDirectory [Text]
wdSubnetIds = lens _wdSubnetIds (\s a -> s { _wdSubnetIds = a }) . _List
wdWorkspaceCreationProperties :: Lens' WorkspaceDirectory (Maybe DefaultWorkspaceCreationProperties)
wdWorkspaceCreationProperties =
lens _wdWorkspaceCreationProperties
(\s a -> s { _wdWorkspaceCreationProperties = a })
wdWorkspaceSecurityGroupId :: Lens' WorkspaceDirectory (Maybe Text)
wdWorkspaceSecurityGroupId =
lens _wdWorkspaceSecurityGroupId
(\s a -> s { _wdWorkspaceSecurityGroupId = a })
instance FromJSON WorkspaceDirectory where
parseJSON = withObject "WorkspaceDirectory" $ \o -> WorkspaceDirectory
<$> o .:? "Alias"
<*> o .:? "CustomerUserName"
<*> o .:? "DirectoryId"
<*> o .:? "DirectoryName"
<*> o .:? "DirectoryType"
<*> o .:? "DnsIpAddresses" .!= mempty
<*> o .:? "IamRoleId"
<*> o .:? "RegistrationCode"
<*> o .:? "State"
<*> o .:? "SubnetIds" .!= mempty
<*> o .:? "WorkspaceCreationProperties"
<*> o .:? "WorkspaceSecurityGroupId"
instance ToJSON WorkspaceDirectory where
toJSON WorkspaceDirectory{..} = object
[ "DirectoryId" .= _wdDirectoryId
, "Alias" .= _wdAlias
, "DirectoryName" .= _wdDirectoryName
, "RegistrationCode" .= _wdRegistrationCode
, "SubnetIds" .= _wdSubnetIds
, "DnsIpAddresses" .= _wdDnsIpAddresses
, "CustomerUserName" .= _wdCustomerUserName
, "IamRoleId" .= _wdIamRoleId
, "DirectoryType" .= _wdDirectoryType
, "WorkspaceSecurityGroupId" .= _wdWorkspaceSecurityGroupId
, "State" .= _wdState
, "WorkspaceCreationProperties" .= _wdWorkspaceCreationProperties
]
data Compute
= Performance
| Standard
| Value
deriving (Eq, Ord, Read, Show, Generic, Enum)
instance Hashable Compute
instance FromText Compute where
parser = takeLowerText >>= \case
"performance" -> pure Performance
"standard" -> pure Standard
"value" -> pure Value
e -> fail $
"Failure parsing Compute from " ++ show e
instance ToText Compute where
toText = \case
Performance -> "PERFORMANCE"
Standard -> "STANDARD"
Value -> "VALUE"
instance ToByteString Compute
instance ToHeader Compute
instance ToQuery Compute
instance FromJSON Compute where
parseJSON = parseJSONText "Compute"
instance ToJSON Compute where
toJSON = toJSONText
data Workspace = Workspace
{ _w1BundleId :: Maybe Text
, _w1DirectoryId :: Maybe Text
, _w1ErrorCode :: Maybe Text
, _w1ErrorMessage :: Maybe Text
, _w1IpAddress :: Maybe Text
, _w1State :: Maybe WorkspaceState
, _w1SubnetId :: Maybe Text
, _w1UserName :: Maybe Text
, _w1WorkspaceId :: Maybe Text
} deriving (Eq, Read, Show)
workspace :: Workspace
workspace = Workspace
{ _w1WorkspaceId = Nothing
, _w1DirectoryId = Nothing
, _w1UserName = Nothing
, _w1IpAddress = Nothing
, _w1State = Nothing
, _w1BundleId = Nothing
, _w1SubnetId = Nothing
, _w1ErrorMessage = Nothing
, _w1ErrorCode = Nothing
}
w1BundleId :: Lens' Workspace (Maybe Text)
w1BundleId = lens _w1BundleId (\s a -> s { _w1BundleId = a })
w1DirectoryId :: Lens' Workspace (Maybe Text)
w1DirectoryId = lens _w1DirectoryId (\s a -> s { _w1DirectoryId = a })
w1ErrorCode :: Lens' Workspace (Maybe Text)
w1ErrorCode = lens _w1ErrorCode (\s a -> s { _w1ErrorCode = a })
w1ErrorMessage :: Lens' Workspace (Maybe Text)
w1ErrorMessage = lens _w1ErrorMessage (\s a -> s { _w1ErrorMessage = a })
w1IpAddress :: Lens' Workspace (Maybe Text)
w1IpAddress = lens _w1IpAddress (\s a -> s { _w1IpAddress = a })
w1State :: Lens' Workspace (Maybe WorkspaceState)
w1State = lens _w1State (\s a -> s { _w1State = a })
w1SubnetId :: Lens' Workspace (Maybe Text)
w1SubnetId = lens _w1SubnetId (\s a -> s { _w1SubnetId = a })
w1UserName :: Lens' Workspace (Maybe Text)
w1UserName = lens _w1UserName (\s a -> s { _w1UserName = a })
w1WorkspaceId :: Lens' Workspace (Maybe Text)
w1WorkspaceId = lens _w1WorkspaceId (\s a -> s { _w1WorkspaceId = a })
instance FromJSON Workspace where
parseJSON = withObject "Workspace" $ \o -> Workspace
<$> o .:? "BundleId"
<*> o .:? "DirectoryId"
<*> o .:? "ErrorCode"
<*> o .:? "ErrorMessage"
<*> o .:? "IpAddress"
<*> o .:? "State"
<*> o .:? "SubnetId"
<*> o .:? "UserName"
<*> o .:? "WorkspaceId"
instance ToJSON Workspace where
toJSON Workspace{..} = object
[ "WorkspaceId" .= _w1WorkspaceId
, "DirectoryId" .= _w1DirectoryId
, "UserName" .= _w1UserName
, "IpAddress" .= _w1IpAddress
, "State" .= _w1State
, "BundleId" .= _w1BundleId
, "SubnetId" .= _w1SubnetId
, "ErrorMessage" .= _w1ErrorMessage
, "ErrorCode" .= _w1ErrorCode
]
newtype RebuildRequest = RebuildRequest
{ _rWorkspaceId :: Text
} deriving (Eq, Ord, Read, Show, Monoid, IsString)
rebuildRequest :: Text
-> RebuildRequest
rebuildRequest p1 = RebuildRequest
{ _rWorkspaceId = p1
}
rWorkspaceId :: Lens' RebuildRequest Text
rWorkspaceId = lens _rWorkspaceId (\s a -> s { _rWorkspaceId = a })
instance FromJSON RebuildRequest where
parseJSON = withObject "RebuildRequest" $ \o -> RebuildRequest
<$> o .: "WorkspaceId"
instance ToJSON RebuildRequest where
toJSON RebuildRequest{..} = object
[ "WorkspaceId" .= _rWorkspaceId
]
data FailedCreateWorkspaceRequest = FailedCreateWorkspaceRequest
{ _fcwErrorCode :: Maybe Text
, _fcwErrorMessage :: Maybe Text
, _fcwWorkspaceRequest :: Maybe WorkspaceRequest
} deriving (Eq, Read, Show)
failedCreateWorkspaceRequest :: FailedCreateWorkspaceRequest
failedCreateWorkspaceRequest = FailedCreateWorkspaceRequest
{ _fcwWorkspaceRequest = Nothing
, _fcwErrorCode = Nothing
, _fcwErrorMessage = Nothing
}
fcwErrorCode :: Lens' FailedCreateWorkspaceRequest (Maybe Text)
fcwErrorCode = lens _fcwErrorCode (\s a -> s { _fcwErrorCode = a })
fcwErrorMessage :: Lens' FailedCreateWorkspaceRequest (Maybe Text)
fcwErrorMessage = lens _fcwErrorMessage (\s a -> s { _fcwErrorMessage = a })
fcwWorkspaceRequest :: Lens' FailedCreateWorkspaceRequest (Maybe WorkspaceRequest)
fcwWorkspaceRequest =
lens _fcwWorkspaceRequest (\s a -> s { _fcwWorkspaceRequest = a })
instance FromJSON FailedCreateWorkspaceRequest where
parseJSON = withObject "FailedCreateWorkspaceRequest" $ \o -> FailedCreateWorkspaceRequest
<$> o .:? "ErrorCode"
<*> o .:? "ErrorMessage"
<*> o .:? "WorkspaceRequest"
instance ToJSON FailedCreateWorkspaceRequest where
toJSON FailedCreateWorkspaceRequest{..} = object
[ "WorkspaceRequest" .= _fcwWorkspaceRequest
, "ErrorCode" .= _fcwErrorCode
, "ErrorMessage" .= _fcwErrorMessage
]
data WorkspaceDirectoryState
= Deregistered
| Deregistering
| Error
| Registered
| Registering
deriving (Eq, Ord, Read, Show, Generic, Enum)
instance Hashable WorkspaceDirectoryState
instance FromText WorkspaceDirectoryState where
parser = takeLowerText >>= \case
"deregistered" -> pure Deregistered
"deregistering" -> pure Deregistering
"error" -> pure Error
"registered" -> pure Registered
"registering" -> pure Registering
e -> fail $
"Failure parsing WorkspaceDirectoryState from " ++ show e
instance ToText WorkspaceDirectoryState where
toText = \case
Deregistered -> "DEREGISTERED"
Deregistering -> "DEREGISTERING"
Error -> "ERROR"
Registered -> "REGISTERED"
Registering -> "REGISTERING"
instance ToByteString WorkspaceDirectoryState
instance ToHeader WorkspaceDirectoryState
instance ToQuery WorkspaceDirectoryState
instance FromJSON WorkspaceDirectoryState where
parseJSON = parseJSONText "WorkspaceDirectoryState"
instance ToJSON WorkspaceDirectoryState where
toJSON = toJSONText
data FailedWorkspaceChangeRequest = FailedWorkspaceChangeRequest
{ _fwcErrorCode :: Maybe Text
, _fwcErrorMessage :: Maybe Text
, _fwcWorkspaceId :: Maybe Text
} deriving (Eq, Ord, Read, Show)
failedWorkspaceChangeRequest :: FailedWorkspaceChangeRequest
failedWorkspaceChangeRequest = FailedWorkspaceChangeRequest
{ _fwcWorkspaceId = Nothing
, _fwcErrorCode = Nothing
, _fwcErrorMessage = Nothing
}
fwcErrorCode :: Lens' FailedWorkspaceChangeRequest (Maybe Text)
fwcErrorCode = lens _fwcErrorCode (\s a -> s { _fwcErrorCode = a })
fwcErrorMessage :: Lens' FailedWorkspaceChangeRequest (Maybe Text)
fwcErrorMessage = lens _fwcErrorMessage (\s a -> s { _fwcErrorMessage = a })
fwcWorkspaceId :: Lens' FailedWorkspaceChangeRequest (Maybe Text)
fwcWorkspaceId = lens _fwcWorkspaceId (\s a -> s { _fwcWorkspaceId = a })
instance FromJSON FailedWorkspaceChangeRequest where
parseJSON = withObject "FailedWorkspaceChangeRequest" $ \o -> FailedWorkspaceChangeRequest
<$> o .:? "ErrorCode"
<*> o .:? "ErrorMessage"
<*> o .:? "WorkspaceId"
instance ToJSON FailedWorkspaceChangeRequest where
toJSON FailedWorkspaceChangeRequest{..} = object
[ "WorkspaceId" .= _fwcWorkspaceId
, "ErrorCode" .= _fwcErrorCode
, "ErrorMessage" .= _fwcErrorMessage
]
data WorkspaceDirectoryType
= AdConnector
| SimpleAd
deriving (Eq, Ord, Read, Show, Generic, Enum)
instance Hashable WorkspaceDirectoryType
instance FromText WorkspaceDirectoryType where
parser = takeLowerText >>= \case
"ad_connector" -> pure AdConnector
"simple_ad" -> pure SimpleAd
e -> fail $
"Failure parsing WorkspaceDirectoryType from " ++ show e
instance ToText WorkspaceDirectoryType where
toText = \case
AdConnector -> "AD_CONNECTOR"
SimpleAd -> "SIMPLE_AD"
instance ToByteString WorkspaceDirectoryType
instance ToHeader WorkspaceDirectoryType
instance ToQuery WorkspaceDirectoryType
instance FromJSON WorkspaceDirectoryType where
parseJSON = parseJSONText "WorkspaceDirectoryType"
instance ToJSON WorkspaceDirectoryType where
toJSON = toJSONText
data WorkspaceState
= WSAvailable
| WSError
| WSImpaired
| WSPending
| WSRebooting
| WSRebuilding
| WSSuspended
| WSTerminated
| WSTerminating
| WSUnhealthy
deriving (Eq, Ord, Read, Show, Generic, Enum)
instance Hashable WorkspaceState
instance FromText WorkspaceState where
parser = takeLowerText >>= \case
"available" -> pure WSAvailable
"error" -> pure WSError
"impaired" -> pure WSImpaired
"pending" -> pure WSPending
"rebooting" -> pure WSRebooting
"rebuilding" -> pure WSRebuilding
"suspended" -> pure WSSuspended
"terminated" -> pure WSTerminated
"terminating" -> pure WSTerminating
"unhealthy" -> pure WSUnhealthy
e -> fail $
"Failure parsing WorkspaceState from " ++ show e
instance ToText WorkspaceState where
toText = \case
WSAvailable -> "AVAILABLE"
WSError -> "ERROR"
WSImpaired -> "IMPAIRED"
WSPending -> "PENDING"
WSRebooting -> "REBOOTING"
WSRebuilding -> "REBUILDING"
WSSuspended -> "SUSPENDED"
WSTerminated -> "TERMINATED"
WSTerminating -> "TERMINATING"
WSUnhealthy -> "UNHEALTHY"
instance ToByteString WorkspaceState
instance ToHeader WorkspaceState
instance ToQuery WorkspaceState
instance FromJSON WorkspaceState where
parseJSON = parseJSONText "WorkspaceState"
instance ToJSON WorkspaceState where
toJSON = toJSONText
newtype ComputeType = ComputeType
{ _ctName :: Maybe Compute
} deriving (Eq, Read, Show)
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" $ \o -> ComputeType
<$> o .:? "Name"
instance ToJSON ComputeType where
toJSON ComputeType{..} = object
[ "Name" .= _ctName
]
newtype RebootRequest = RebootRequest
{ _r1WorkspaceId :: Text
} deriving (Eq, Ord, Read, Show, Monoid, IsString)
rebootRequest :: Text
-> RebootRequest
rebootRequest p1 = RebootRequest
{ _r1WorkspaceId = p1
}
r1WorkspaceId :: Lens' RebootRequest Text
r1WorkspaceId = lens _r1WorkspaceId (\s a -> s { _r1WorkspaceId = a })
instance FromJSON RebootRequest where
parseJSON = withObject "RebootRequest" $ \o -> RebootRequest
<$> o .: "WorkspaceId"
instance ToJSON RebootRequest where
toJSON RebootRequest{..} = object
[ "WorkspaceId" .= _r1WorkspaceId
]
newtype UserStorage = UserStorage
{ _usCapacity :: Maybe Text
} deriving (Eq, Ord, Read, Show, Monoid)
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" $ \o -> UserStorage
<$> o .:? "Capacity"
instance ToJSON UserStorage where
toJSON UserStorage{..} = object
[ "Capacity" .= _usCapacity
]
newtype TerminateRequest = TerminateRequest
{ _tWorkspaceId :: Text
} deriving (Eq, Ord, Read, Show, Monoid, IsString)
terminateRequest :: Text
-> TerminateRequest
terminateRequest p1 = TerminateRequest
{ _tWorkspaceId = p1
}
tWorkspaceId :: Lens' TerminateRequest Text
tWorkspaceId = lens _tWorkspaceId (\s a -> s { _tWorkspaceId = a })
instance FromJSON TerminateRequest where
parseJSON = withObject "TerminateRequest" $ \o -> TerminateRequest
<$> o .: "WorkspaceId"
instance ToJSON TerminateRequest where
toJSON TerminateRequest{..} = object
[ "WorkspaceId" .= _tWorkspaceId
]
data DefaultWorkspaceCreationProperties = DefaultWorkspaceCreationProperties
{ _dwcpCustomSecurityGroupId :: Maybe Text
, _dwcpDefaultOu :: Maybe Text
, _dwcpEnableInternetAccess :: Maybe Bool
, _dwcpEnableWorkDocs :: Maybe Bool
, _dwcpUserEnabledAsLocalAdministrator :: Maybe Bool
} deriving (Eq, Ord, Read, Show)
defaultWorkspaceCreationProperties :: DefaultWorkspaceCreationProperties
defaultWorkspaceCreationProperties = DefaultWorkspaceCreationProperties
{ _dwcpEnableWorkDocs = Nothing
, _dwcpEnableInternetAccess = Nothing
, _dwcpDefaultOu = Nothing
, _dwcpCustomSecurityGroupId = Nothing
, _dwcpUserEnabledAsLocalAdministrator = Nothing
}
dwcpCustomSecurityGroupId :: Lens' DefaultWorkspaceCreationProperties (Maybe Text)
dwcpCustomSecurityGroupId =
lens _dwcpCustomSecurityGroupId
(\s a -> s { _dwcpCustomSecurityGroupId = a })
dwcpDefaultOu :: Lens' DefaultWorkspaceCreationProperties (Maybe Text)
dwcpDefaultOu = lens _dwcpDefaultOu (\s a -> s { _dwcpDefaultOu = a })
dwcpEnableInternetAccess :: Lens' DefaultWorkspaceCreationProperties (Maybe Bool)
dwcpEnableInternetAccess =
lens _dwcpEnableInternetAccess
(\s a -> s { _dwcpEnableInternetAccess = a })
dwcpEnableWorkDocs :: Lens' DefaultWorkspaceCreationProperties (Maybe Bool)
dwcpEnableWorkDocs =
lens _dwcpEnableWorkDocs (\s a -> s { _dwcpEnableWorkDocs = a })
dwcpUserEnabledAsLocalAdministrator :: Lens' DefaultWorkspaceCreationProperties (Maybe Bool)
dwcpUserEnabledAsLocalAdministrator =
lens _dwcpUserEnabledAsLocalAdministrator
(\s a -> s { _dwcpUserEnabledAsLocalAdministrator = a })
instance FromJSON DefaultWorkspaceCreationProperties where
parseJSON = withObject "DefaultWorkspaceCreationProperties" $ \o -> DefaultWorkspaceCreationProperties
<$> o .:? "CustomSecurityGroupId"
<*> o .:? "DefaultOu"
<*> o .:? "EnableInternetAccess"
<*> o .:? "EnableWorkDocs"
<*> o .:? "UserEnabledAsLocalAdministrator"
instance ToJSON DefaultWorkspaceCreationProperties where
toJSON DefaultWorkspaceCreationProperties{..} = object
[ "EnableWorkDocs" .= _dwcpEnableWorkDocs
, "EnableInternetAccess" .= _dwcpEnableInternetAccess
, "DefaultOu" .= _dwcpDefaultOu
, "CustomSecurityGroupId" .= _dwcpCustomSecurityGroupId
, "UserEnabledAsLocalAdministrator" .= _dwcpUserEnabledAsLocalAdministrator
]
data WorkspaceBundle = WorkspaceBundle
{ _wbBundleId :: Maybe Text
, _wbComputeType :: Maybe ComputeType
, _wbDescription :: Maybe Text
, _wbName :: Maybe Text
, _wbOwner :: Maybe Text
, _wbUserStorage :: Maybe UserStorage
} deriving (Eq, Read, Show)
workspaceBundle :: WorkspaceBundle
workspaceBundle = WorkspaceBundle
{ _wbBundleId = Nothing
, _wbName = Nothing
, _wbOwner = Nothing
, _wbDescription = Nothing
, _wbUserStorage = Nothing
, _wbComputeType = Nothing
}
wbBundleId :: Lens' WorkspaceBundle (Maybe Text)
wbBundleId = lens _wbBundleId (\s a -> s { _wbBundleId = a })
wbComputeType :: Lens' WorkspaceBundle (Maybe ComputeType)
wbComputeType = lens _wbComputeType (\s a -> s { _wbComputeType = a })
wbDescription :: Lens' WorkspaceBundle (Maybe Text)
wbDescription = lens _wbDescription (\s a -> s { _wbDescription = a })
wbName :: Lens' WorkspaceBundle (Maybe Text)
wbName = lens _wbName (\s a -> s { _wbName = a })
wbOwner :: Lens' WorkspaceBundle (Maybe Text)
wbOwner = lens _wbOwner (\s a -> s { _wbOwner = a })
wbUserStorage :: Lens' WorkspaceBundle (Maybe UserStorage)
wbUserStorage = lens _wbUserStorage (\s a -> s { _wbUserStorage = a })
instance FromJSON WorkspaceBundle where
parseJSON = withObject "WorkspaceBundle" $ \o -> WorkspaceBundle
<$> o .:? "BundleId"
<*> o .:? "ComputeType"
<*> o .:? "Description"
<*> o .:? "Name"
<*> o .:? "Owner"
<*> o .:? "UserStorage"
instance ToJSON WorkspaceBundle where
toJSON WorkspaceBundle{..} = object
[ "BundleId" .= _wbBundleId
, "Name" .= _wbName
, "Owner" .= _wbOwner
, "Description" .= _wbDescription
, "UserStorage" .= _wbUserStorage
, "ComputeType" .= _wbComputeType
]