module Network.AWS.IoT.AttachPrincipalPolicy
(
attachPrincipalPolicy
, AttachPrincipalPolicy
, appPolicyName
, appPrincipal
, attachPrincipalPolicyResponse
, AttachPrincipalPolicyResponse
) where
import Network.AWS.IoT.Types
import Network.AWS.IoT.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data AttachPrincipalPolicy = AttachPrincipalPolicy'
{ _appPolicyName :: !Text
, _appPrincipal :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
attachPrincipalPolicy
:: Text
-> Text
-> AttachPrincipalPolicy
attachPrincipalPolicy pPolicyName_ pPrincipal_ =
AttachPrincipalPolicy'
{ _appPolicyName = pPolicyName_
, _appPrincipal = pPrincipal_
}
appPolicyName :: Lens' AttachPrincipalPolicy Text
appPolicyName = lens _appPolicyName (\ s a -> s{_appPolicyName = a});
appPrincipal :: Lens' AttachPrincipalPolicy Text
appPrincipal = lens _appPrincipal (\ s a -> s{_appPrincipal = a});
instance AWSRequest AttachPrincipalPolicy where
type Rs AttachPrincipalPolicy =
AttachPrincipalPolicyResponse
request = putJSON ioT
response = receiveNull AttachPrincipalPolicyResponse'
instance Hashable AttachPrincipalPolicy
instance NFData AttachPrincipalPolicy
instance ToHeaders AttachPrincipalPolicy where
toHeaders AttachPrincipalPolicy'{..}
= mconcat ["x-amzn-iot-principal" =# _appPrincipal]
instance ToJSON AttachPrincipalPolicy where
toJSON = const (Object mempty)
instance ToPath AttachPrincipalPolicy where
toPath AttachPrincipalPolicy'{..}
= mconcat
["/principal-policies/", toBS _appPolicyName]
instance ToQuery AttachPrincipalPolicy where
toQuery = const mempty
data AttachPrincipalPolicyResponse =
AttachPrincipalPolicyResponse'
deriving (Eq,Read,Show,Data,Typeable,Generic)
attachPrincipalPolicyResponse
:: AttachPrincipalPolicyResponse
attachPrincipalPolicyResponse = AttachPrincipalPolicyResponse'
instance NFData AttachPrincipalPolicyResponse