module Network.AWS.AppStream.CreateImageBuilder
(
createImageBuilder
, CreateImageBuilder
, cibDomainJoinInfo
, cibVPCConfig
, cibDisplayName
, cibEnableDefaultInternetAccess
, cibDescription
, cibName
, cibImageName
, cibInstanceType
, createImageBuilderResponse
, CreateImageBuilderResponse
, cibrsImageBuilder
, cibrsResponseStatus
) where
import Network.AWS.AppStream.Types
import Network.AWS.AppStream.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data CreateImageBuilder = CreateImageBuilder'
{ _cibDomainJoinInfo :: !(Maybe DomainJoinInfo)
, _cibVPCConfig :: !(Maybe VPCConfig)
, _cibDisplayName :: !(Maybe Text)
, _cibEnableDefaultInternetAccess :: !(Maybe Bool)
, _cibDescription :: !(Maybe Text)
, _cibName :: !Text
, _cibImageName :: !Text
, _cibInstanceType :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
createImageBuilder
:: Text
-> Text
-> Text
-> CreateImageBuilder
createImageBuilder pName_ pImageName_ pInstanceType_ =
CreateImageBuilder'
{ _cibDomainJoinInfo = Nothing
, _cibVPCConfig = Nothing
, _cibDisplayName = Nothing
, _cibEnableDefaultInternetAccess = Nothing
, _cibDescription = Nothing
, _cibName = pName_
, _cibImageName = pImageName_
, _cibInstanceType = pInstanceType_
}
cibDomainJoinInfo :: Lens' CreateImageBuilder (Maybe DomainJoinInfo)
cibDomainJoinInfo = lens _cibDomainJoinInfo (\ s a -> s{_cibDomainJoinInfo = a});
cibVPCConfig :: Lens' CreateImageBuilder (Maybe VPCConfig)
cibVPCConfig = lens _cibVPCConfig (\ s a -> s{_cibVPCConfig = a});
cibDisplayName :: Lens' CreateImageBuilder (Maybe Text)
cibDisplayName = lens _cibDisplayName (\ s a -> s{_cibDisplayName = a});
cibEnableDefaultInternetAccess :: Lens' CreateImageBuilder (Maybe Bool)
cibEnableDefaultInternetAccess = lens _cibEnableDefaultInternetAccess (\ s a -> s{_cibEnableDefaultInternetAccess = a});
cibDescription :: Lens' CreateImageBuilder (Maybe Text)
cibDescription = lens _cibDescription (\ s a -> s{_cibDescription = a});
cibName :: Lens' CreateImageBuilder Text
cibName = lens _cibName (\ s a -> s{_cibName = a});
cibImageName :: Lens' CreateImageBuilder Text
cibImageName = lens _cibImageName (\ s a -> s{_cibImageName = a});
cibInstanceType :: Lens' CreateImageBuilder Text
cibInstanceType = lens _cibInstanceType (\ s a -> s{_cibInstanceType = a});
instance AWSRequest CreateImageBuilder where
type Rs CreateImageBuilder =
CreateImageBuilderResponse
request = postJSON appStream
response
= receiveJSON
(\ s h x ->
CreateImageBuilderResponse' <$>
(x .?> "ImageBuilder") <*> (pure (fromEnum s)))
instance Hashable CreateImageBuilder where
instance NFData CreateImageBuilder where
instance ToHeaders CreateImageBuilder where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("PhotonAdminProxyService.CreateImageBuilder" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON CreateImageBuilder where
toJSON CreateImageBuilder'{..}
= object
(catMaybes
[("DomainJoinInfo" .=) <$> _cibDomainJoinInfo,
("VpcConfig" .=) <$> _cibVPCConfig,
("DisplayName" .=) <$> _cibDisplayName,
("EnableDefaultInternetAccess" .=) <$>
_cibEnableDefaultInternetAccess,
("Description" .=) <$> _cibDescription,
Just ("Name" .= _cibName),
Just ("ImageName" .= _cibImageName),
Just ("InstanceType" .= _cibInstanceType)])
instance ToPath CreateImageBuilder where
toPath = const "/"
instance ToQuery CreateImageBuilder where
toQuery = const mempty
data CreateImageBuilderResponse = CreateImageBuilderResponse'
{ _cibrsImageBuilder :: !(Maybe ImageBuilder)
, _cibrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
createImageBuilderResponse
:: Int
-> CreateImageBuilderResponse
createImageBuilderResponse pResponseStatus_ =
CreateImageBuilderResponse'
{_cibrsImageBuilder = Nothing, _cibrsResponseStatus = pResponseStatus_}
cibrsImageBuilder :: Lens' CreateImageBuilderResponse (Maybe ImageBuilder)
cibrsImageBuilder = lens _cibrsImageBuilder (\ s a -> s{_cibrsImageBuilder = a});
cibrsResponseStatus :: Lens' CreateImageBuilderResponse Int
cibrsResponseStatus = lens _cibrsResponseStatus (\ s a -> s{_cibrsResponseStatus = a});
instance NFData CreateImageBuilderResponse where