{-# 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.CognitoIdentityProvider.SetUICustomization
(
setUICustomization
, SetUICustomization
, suicClientId
, suicCSS
, suicImageFile
, suicUserPoolId
, setUICustomizationResponse
, SetUICustomizationResponse
, suicrsResponseStatus
, suicrsUICustomization
) where
import Network.AWS.CognitoIdentityProvider.Types
import Network.AWS.CognitoIdentityProvider.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data SetUICustomization = SetUICustomization'
{ _suicClientId :: !(Maybe (Sensitive Text))
, _suicCSS :: !(Maybe Text)
, _suicImageFile :: !(Maybe Base64)
, _suicUserPoolId :: !Text
} deriving (Eq, Show, Data, Typeable, Generic)
setUICustomization
:: Text
-> SetUICustomization
setUICustomization pUserPoolId_ =
SetUICustomization'
{ _suicClientId = Nothing
, _suicCSS = Nothing
, _suicImageFile = Nothing
, _suicUserPoolId = pUserPoolId_
}
suicClientId :: Lens' SetUICustomization (Maybe Text)
suicClientId = lens _suicClientId (\ s a -> s{_suicClientId = a}) . mapping _Sensitive
suicCSS :: Lens' SetUICustomization (Maybe Text)
suicCSS = lens _suicCSS (\ s a -> s{_suicCSS = a})
suicImageFile :: Lens' SetUICustomization (Maybe ByteString)
suicImageFile = lens _suicImageFile (\ s a -> s{_suicImageFile = a}) . mapping _Base64
suicUserPoolId :: Lens' SetUICustomization Text
suicUserPoolId = lens _suicUserPoolId (\ s a -> s{_suicUserPoolId = a})
instance AWSRequest SetUICustomization where
type Rs SetUICustomization =
SetUICustomizationResponse
request = postJSON cognitoIdentityProvider
response
= receiveJSON
(\ s h x ->
SetUICustomizationResponse' <$>
(pure (fromEnum s)) <*> (x .:> "UICustomization"))
instance Hashable SetUICustomization where
instance NFData SetUICustomization where
instance ToHeaders SetUICustomization where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AWSCognitoIdentityProviderService.SetUICustomization"
:: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON SetUICustomization where
toJSON SetUICustomization'{..}
= object
(catMaybes
[("ClientId" .=) <$> _suicClientId,
("CSS" .=) <$> _suicCSS,
("ImageFile" .=) <$> _suicImageFile,
Just ("UserPoolId" .= _suicUserPoolId)])
instance ToPath SetUICustomization where
toPath = const "/"
instance ToQuery SetUICustomization where
toQuery = const mempty
data SetUICustomizationResponse = SetUICustomizationResponse'
{ _suicrsResponseStatus :: !Int
, _suicrsUICustomization :: !UICustomizationType
} deriving (Eq, Show, Data, Typeable, Generic)
setUICustomizationResponse
:: Int
-> UICustomizationType
-> SetUICustomizationResponse
setUICustomizationResponse pResponseStatus_ pUICustomization_ =
SetUICustomizationResponse'
{ _suicrsResponseStatus = pResponseStatus_
, _suicrsUICustomization = pUICustomization_
}
suicrsResponseStatus :: Lens' SetUICustomizationResponse Int
suicrsResponseStatus = lens _suicrsResponseStatus (\ s a -> s{_suicrsResponseStatus = a})
suicrsUICustomization :: Lens' SetUICustomizationResponse UICustomizationType
suicrsUICustomization = lens _suicrsUICustomization (\ s a -> s{_suicrsUICustomization = a})
instance NFData SetUICustomizationResponse where