{-# 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.Organizations.EnablePolicyType
(
enablePolicyType
, EnablePolicyType
, eptRootId
, eptPolicyType
, enablePolicyTypeResponse
, EnablePolicyTypeResponse
, eptrsRoot
, eptrsResponseStatus
) where
import Network.AWS.Lens
import Network.AWS.Organizations.Types
import Network.AWS.Organizations.Types.Product
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data EnablePolicyType = EnablePolicyType'
{ _eptRootId :: !Text
, _eptPolicyType :: !PolicyType
} deriving (Eq, Read, Show, Data, Typeable, Generic)
enablePolicyType
:: Text
-> PolicyType
-> EnablePolicyType
enablePolicyType pRootId_ pPolicyType_ =
EnablePolicyType' {_eptRootId = pRootId_, _eptPolicyType = pPolicyType_}
eptRootId :: Lens' EnablePolicyType Text
eptRootId = lens _eptRootId (\ s a -> s{_eptRootId = a})
eptPolicyType :: Lens' EnablePolicyType PolicyType
eptPolicyType = lens _eptPolicyType (\ s a -> s{_eptPolicyType = a})
instance AWSRequest EnablePolicyType where
type Rs EnablePolicyType = EnablePolicyTypeResponse
request = postJSON organizations
response
= receiveJSON
(\ s h x ->
EnablePolicyTypeResponse' <$>
(x .?> "Root") <*> (pure (fromEnum s)))
instance Hashable EnablePolicyType where
instance NFData EnablePolicyType where
instance ToHeaders EnablePolicyType where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AWSOrganizationsV20161128.EnablePolicyType" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON EnablePolicyType where
toJSON EnablePolicyType'{..}
= object
(catMaybes
[Just ("RootId" .= _eptRootId),
Just ("PolicyType" .= _eptPolicyType)])
instance ToPath EnablePolicyType where
toPath = const "/"
instance ToQuery EnablePolicyType where
toQuery = const mempty
data EnablePolicyTypeResponse = EnablePolicyTypeResponse'
{ _eptrsRoot :: !(Maybe Root)
, _eptrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
enablePolicyTypeResponse
:: Int
-> EnablePolicyTypeResponse
enablePolicyTypeResponse pResponseStatus_ =
EnablePolicyTypeResponse'
{_eptrsRoot = Nothing, _eptrsResponseStatus = pResponseStatus_}
eptrsRoot :: Lens' EnablePolicyTypeResponse (Maybe Root)
eptrsRoot = lens _eptrsRoot (\ s a -> s{_eptrsRoot = a})
eptrsResponseStatus :: Lens' EnablePolicyTypeResponse Int
eptrsResponseStatus = lens _eptrsResponseStatus (\ s a -> s{_eptrsResponseStatus = a})
instance NFData EnablePolicyTypeResponse where