{-# 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.WorkMail.DescribeOrganization
(
describeOrganization
, DescribeOrganization
, doOrganizationId
, describeOrganizationResponse
, DescribeOrganizationResponse
, dorsDirectoryId
, dorsState
, dorsAlias
, dorsCompletedDate
, dorsDirectoryType
, dorsDefaultMailDomain
, dorsErrorMessage
, dorsOrganizationId
, dorsResponseStatus
) where
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
import Network.AWS.WorkMail.Types
import Network.AWS.WorkMail.Types.Product
newtype DescribeOrganization = DescribeOrganization'
{ _doOrganizationId :: Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeOrganization
:: Text
-> DescribeOrganization
describeOrganization pOrganizationId_ =
DescribeOrganization' {_doOrganizationId = pOrganizationId_}
doOrganizationId :: Lens' DescribeOrganization Text
doOrganizationId = lens _doOrganizationId (\ s a -> s{_doOrganizationId = a})
instance AWSRequest DescribeOrganization where
type Rs DescribeOrganization =
DescribeOrganizationResponse
request = postJSON workMail
response
= receiveJSON
(\ s h x ->
DescribeOrganizationResponse' <$>
(x .?> "DirectoryId") <*> (x .?> "State") <*>
(x .?> "Alias")
<*> (x .?> "CompletedDate")
<*> (x .?> "DirectoryType")
<*> (x .?> "DefaultMailDomain")
<*> (x .?> "ErrorMessage")
<*> (x .?> "OrganizationId")
<*> (pure (fromEnum s)))
instance Hashable DescribeOrganization where
instance NFData DescribeOrganization where
instance ToHeaders DescribeOrganization where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("WorkMailService.DescribeOrganization" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON DescribeOrganization where
toJSON DescribeOrganization'{..}
= object
(catMaybes
[Just ("OrganizationId" .= _doOrganizationId)])
instance ToPath DescribeOrganization where
toPath = const "/"
instance ToQuery DescribeOrganization where
toQuery = const mempty
data DescribeOrganizationResponse = DescribeOrganizationResponse'
{ _dorsDirectoryId :: !(Maybe Text)
, _dorsState :: !(Maybe Text)
, _dorsAlias :: !(Maybe Text)
, _dorsCompletedDate :: !(Maybe POSIX)
, _dorsDirectoryType :: !(Maybe Text)
, _dorsDefaultMailDomain :: !(Maybe Text)
, _dorsErrorMessage :: !(Maybe Text)
, _dorsOrganizationId :: !(Maybe Text)
, _dorsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeOrganizationResponse
:: Int
-> DescribeOrganizationResponse
describeOrganizationResponse pResponseStatus_ =
DescribeOrganizationResponse'
{ _dorsDirectoryId = Nothing
, _dorsState = Nothing
, _dorsAlias = Nothing
, _dorsCompletedDate = Nothing
, _dorsDirectoryType = Nothing
, _dorsDefaultMailDomain = Nothing
, _dorsErrorMessage = Nothing
, _dorsOrganizationId = Nothing
, _dorsResponseStatus = pResponseStatus_
}
dorsDirectoryId :: Lens' DescribeOrganizationResponse (Maybe Text)
dorsDirectoryId = lens _dorsDirectoryId (\ s a -> s{_dorsDirectoryId = a})
dorsState :: Lens' DescribeOrganizationResponse (Maybe Text)
dorsState = lens _dorsState (\ s a -> s{_dorsState = a})
dorsAlias :: Lens' DescribeOrganizationResponse (Maybe Text)
dorsAlias = lens _dorsAlias (\ s a -> s{_dorsAlias = a})
dorsCompletedDate :: Lens' DescribeOrganizationResponse (Maybe UTCTime)
dorsCompletedDate = lens _dorsCompletedDate (\ s a -> s{_dorsCompletedDate = a}) . mapping _Time
dorsDirectoryType :: Lens' DescribeOrganizationResponse (Maybe Text)
dorsDirectoryType = lens _dorsDirectoryType (\ s a -> s{_dorsDirectoryType = a})
dorsDefaultMailDomain :: Lens' DescribeOrganizationResponse (Maybe Text)
dorsDefaultMailDomain = lens _dorsDefaultMailDomain (\ s a -> s{_dorsDefaultMailDomain = a})
dorsErrorMessage :: Lens' DescribeOrganizationResponse (Maybe Text)
dorsErrorMessage = lens _dorsErrorMessage (\ s a -> s{_dorsErrorMessage = a})
dorsOrganizationId :: Lens' DescribeOrganizationResponse (Maybe Text)
dorsOrganizationId = lens _dorsOrganizationId (\ s a -> s{_dorsOrganizationId = a})
dorsResponseStatus :: Lens' DescribeOrganizationResponse Int
dorsResponseStatus = lens _dorsResponseStatus (\ s a -> s{_dorsResponseStatus = a})
instance NFData DescribeOrganizationResponse where