{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module Network.AWS.WorkMail.Types.Product where
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.WorkMail.Types.Sum
data BookingOptions = BookingOptions'
{ _boAutoDeclineConflictingRequests :: !(Maybe Bool)
, _boAutoDeclineRecurringRequests :: !(Maybe Bool)
, _boAutoAcceptRequests :: !(Maybe Bool)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
bookingOptions
:: BookingOptions
bookingOptions =
BookingOptions'
{ _boAutoDeclineConflictingRequests = Nothing
, _boAutoDeclineRecurringRequests = Nothing
, _boAutoAcceptRequests = Nothing
}
boAutoDeclineConflictingRequests :: Lens' BookingOptions (Maybe Bool)
boAutoDeclineConflictingRequests = lens _boAutoDeclineConflictingRequests (\ s a -> s{_boAutoDeclineConflictingRequests = a})
boAutoDeclineRecurringRequests :: Lens' BookingOptions (Maybe Bool)
boAutoDeclineRecurringRequests = lens _boAutoDeclineRecurringRequests (\ s a -> s{_boAutoDeclineRecurringRequests = a})
boAutoAcceptRequests :: Lens' BookingOptions (Maybe Bool)
boAutoAcceptRequests = lens _boAutoAcceptRequests (\ s a -> s{_boAutoAcceptRequests = a})
instance FromJSON BookingOptions where
parseJSON
= withObject "BookingOptions"
(\ x ->
BookingOptions' <$>
(x .:? "AutoDeclineConflictingRequests") <*>
(x .:? "AutoDeclineRecurringRequests")
<*> (x .:? "AutoAcceptRequests"))
instance Hashable BookingOptions where
instance NFData BookingOptions where
instance ToJSON BookingOptions where
toJSON BookingOptions'{..}
= object
(catMaybes
[("AutoDeclineConflictingRequests" .=) <$>
_boAutoDeclineConflictingRequests,
("AutoDeclineRecurringRequests" .=) <$>
_boAutoDeclineRecurringRequests,
("AutoAcceptRequests" .=) <$> _boAutoAcceptRequests])
data Delegate = Delegate'
{ _dId :: !Text
, _dType :: !MemberType
} deriving (Eq, Read, Show, Data, Typeable, Generic)
delegate
:: Text
-> MemberType
-> Delegate
delegate pId_ pType_ = Delegate' {_dId = pId_, _dType = pType_}
dId :: Lens' Delegate Text
dId = lens _dId (\ s a -> s{_dId = a})
dType :: Lens' Delegate MemberType
dType = lens _dType (\ s a -> s{_dType = a})
instance FromJSON Delegate where
parseJSON
= withObject "Delegate"
(\ x -> Delegate' <$> (x .: "Id") <*> (x .: "Type"))
instance Hashable Delegate where
instance NFData Delegate where
data Group = Group'
{ _gEmail :: !(Maybe Text)
, _gState :: !(Maybe EntityState)
, _gDisabledDate :: !(Maybe POSIX)
, _gName :: !(Maybe Text)
, _gId :: !(Maybe Text)
, _gEnabledDate :: !(Maybe POSIX)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
group'
:: Group
group' =
Group'
{ _gEmail = Nothing
, _gState = Nothing
, _gDisabledDate = Nothing
, _gName = Nothing
, _gId = Nothing
, _gEnabledDate = Nothing
}
gEmail :: Lens' Group (Maybe Text)
gEmail = lens _gEmail (\ s a -> s{_gEmail = a})
gState :: Lens' Group (Maybe EntityState)
gState = lens _gState (\ s a -> s{_gState = a})
gDisabledDate :: Lens' Group (Maybe UTCTime)
gDisabledDate = lens _gDisabledDate (\ s a -> s{_gDisabledDate = a}) . mapping _Time
gName :: Lens' Group (Maybe Text)
gName = lens _gName (\ s a -> s{_gName = a})
gId :: Lens' Group (Maybe Text)
gId = lens _gId (\ s a -> s{_gId = a})
gEnabledDate :: Lens' Group (Maybe UTCTime)
gEnabledDate = lens _gEnabledDate (\ s a -> s{_gEnabledDate = a}) . mapping _Time
instance FromJSON Group where
parseJSON
= withObject "Group"
(\ x ->
Group' <$>
(x .:? "Email") <*> (x .:? "State") <*>
(x .:? "DisabledDate")
<*> (x .:? "Name")
<*> (x .:? "Id")
<*> (x .:? "EnabledDate"))
instance Hashable Group where
instance NFData Group where
data Member = Member'
{ _mState :: !(Maybe EntityState)
, _mDisabledDate :: !(Maybe POSIX)
, _mName :: !(Maybe Text)
, _mId :: !(Maybe Text)
, _mType :: !(Maybe MemberType)
, _mEnabledDate :: !(Maybe POSIX)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
member
:: Member
member =
Member'
{ _mState = Nothing
, _mDisabledDate = Nothing
, _mName = Nothing
, _mId = Nothing
, _mType = Nothing
, _mEnabledDate = Nothing
}
mState :: Lens' Member (Maybe EntityState)
mState = lens _mState (\ s a -> s{_mState = a})
mDisabledDate :: Lens' Member (Maybe UTCTime)
mDisabledDate = lens _mDisabledDate (\ s a -> s{_mDisabledDate = a}) . mapping _Time
mName :: Lens' Member (Maybe Text)
mName = lens _mName (\ s a -> s{_mName = a})
mId :: Lens' Member (Maybe Text)
mId = lens _mId (\ s a -> s{_mId = a})
mType :: Lens' Member (Maybe MemberType)
mType = lens _mType (\ s a -> s{_mType = a})
mEnabledDate :: Lens' Member (Maybe UTCTime)
mEnabledDate = lens _mEnabledDate (\ s a -> s{_mEnabledDate = a}) . mapping _Time
instance FromJSON Member where
parseJSON
= withObject "Member"
(\ x ->
Member' <$>
(x .:? "State") <*> (x .:? "DisabledDate") <*>
(x .:? "Name")
<*> (x .:? "Id")
<*> (x .:? "Type")
<*> (x .:? "EnabledDate"))
instance Hashable Member where
instance NFData Member where
data OrganizationSummary = OrganizationSummary'
{ _osState :: !(Maybe Text)
, _osAlias :: !(Maybe Text)
, _osErrorMessage :: !(Maybe Text)
, _osOrganizationId :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
organizationSummary
:: OrganizationSummary
organizationSummary =
OrganizationSummary'
{ _osState = Nothing
, _osAlias = Nothing
, _osErrorMessage = Nothing
, _osOrganizationId = Nothing
}
osState :: Lens' OrganizationSummary (Maybe Text)
osState = lens _osState (\ s a -> s{_osState = a})
osAlias :: Lens' OrganizationSummary (Maybe Text)
osAlias = lens _osAlias (\ s a -> s{_osAlias = a})
osErrorMessage :: Lens' OrganizationSummary (Maybe Text)
osErrorMessage = lens _osErrorMessage (\ s a -> s{_osErrorMessage = a})
osOrganizationId :: Lens' OrganizationSummary (Maybe Text)
osOrganizationId = lens _osOrganizationId (\ s a -> s{_osOrganizationId = a})
instance FromJSON OrganizationSummary where
parseJSON
= withObject "OrganizationSummary"
(\ x ->
OrganizationSummary' <$>
(x .:? "State") <*> (x .:? "Alias") <*>
(x .:? "ErrorMessage")
<*> (x .:? "OrganizationId"))
instance Hashable OrganizationSummary where
instance NFData OrganizationSummary where
data Permission = Permission'
{ _pGranteeId :: !Text
, _pGranteeType :: !MemberType
, _pPermissionValues :: ![PermissionType]
} deriving (Eq, Read, Show, Data, Typeable, Generic)
permission
:: Text
-> MemberType
-> Permission
permission pGranteeId_ pGranteeType_ =
Permission'
{ _pGranteeId = pGranteeId_
, _pGranteeType = pGranteeType_
, _pPermissionValues = mempty
}
pGranteeId :: Lens' Permission Text
pGranteeId = lens _pGranteeId (\ s a -> s{_pGranteeId = a})
pGranteeType :: Lens' Permission MemberType
pGranteeType = lens _pGranteeType (\ s a -> s{_pGranteeType = a})
pPermissionValues :: Lens' Permission [PermissionType]
pPermissionValues = lens _pPermissionValues (\ s a -> s{_pPermissionValues = a}) . _Coerce
instance FromJSON Permission where
parseJSON
= withObject "Permission"
(\ x ->
Permission' <$>
(x .: "GranteeId") <*> (x .: "GranteeType") <*>
(x .:? "PermissionValues" .!= mempty))
instance Hashable Permission where
instance NFData Permission where
data Resource = Resource'
{ _rEmail :: !(Maybe Text)
, _rState :: !(Maybe EntityState)
, _rDisabledDate :: !(Maybe POSIX)
, _rName :: !(Maybe Text)
, _rId :: !(Maybe Text)
, _rType :: !(Maybe ResourceType)
, _rEnabledDate :: !(Maybe POSIX)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
resource
:: Resource
resource =
Resource'
{ _rEmail = Nothing
, _rState = Nothing
, _rDisabledDate = Nothing
, _rName = Nothing
, _rId = Nothing
, _rType = Nothing
, _rEnabledDate = Nothing
}
rEmail :: Lens' Resource (Maybe Text)
rEmail = lens _rEmail (\ s a -> s{_rEmail = a})
rState :: Lens' Resource (Maybe EntityState)
rState = lens _rState (\ s a -> s{_rState = a})
rDisabledDate :: Lens' Resource (Maybe UTCTime)
rDisabledDate = lens _rDisabledDate (\ s a -> s{_rDisabledDate = a}) . mapping _Time
rName :: Lens' Resource (Maybe Text)
rName = lens _rName (\ s a -> s{_rName = a})
rId :: Lens' Resource (Maybe Text)
rId = lens _rId (\ s a -> s{_rId = a})
rType :: Lens' Resource (Maybe ResourceType)
rType = lens _rType (\ s a -> s{_rType = a})
rEnabledDate :: Lens' Resource (Maybe UTCTime)
rEnabledDate = lens _rEnabledDate (\ s a -> s{_rEnabledDate = a}) . mapping _Time
instance FromJSON Resource where
parseJSON
= withObject "Resource"
(\ x ->
Resource' <$>
(x .:? "Email") <*> (x .:? "State") <*>
(x .:? "DisabledDate")
<*> (x .:? "Name")
<*> (x .:? "Id")
<*> (x .:? "Type")
<*> (x .:? "EnabledDate"))
instance Hashable Resource where
instance NFData Resource where
data User = User'
{ _uEmail :: !(Maybe Text)
, _uState :: !(Maybe EntityState)
, _uDisabledDate :: !(Maybe POSIX)
, _uName :: !(Maybe Text)
, _uId :: !(Maybe Text)
, _uDisplayName :: !(Maybe Text)
, _uUserRole :: !(Maybe UserRole)
, _uEnabledDate :: !(Maybe POSIX)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
user
:: User
user =
User'
{ _uEmail = Nothing
, _uState = Nothing
, _uDisabledDate = Nothing
, _uName = Nothing
, _uId = Nothing
, _uDisplayName = Nothing
, _uUserRole = Nothing
, _uEnabledDate = Nothing
}
uEmail :: Lens' User (Maybe Text)
uEmail = lens _uEmail (\ s a -> s{_uEmail = a})
uState :: Lens' User (Maybe EntityState)
uState = lens _uState (\ s a -> s{_uState = a})
uDisabledDate :: Lens' User (Maybe UTCTime)
uDisabledDate = lens _uDisabledDate (\ s a -> s{_uDisabledDate = a}) . mapping _Time
uName :: Lens' User (Maybe Text)
uName = lens _uName (\ s a -> s{_uName = a})
uId :: Lens' User (Maybe Text)
uId = lens _uId (\ s a -> s{_uId = a})
uDisplayName :: Lens' User (Maybe Text)
uDisplayName = lens _uDisplayName (\ s a -> s{_uDisplayName = a})
uUserRole :: Lens' User (Maybe UserRole)
uUserRole = lens _uUserRole (\ s a -> s{_uUserRole = a})
uEnabledDate :: Lens' User (Maybe UTCTime)
uEnabledDate = lens _uEnabledDate (\ s a -> s{_uEnabledDate = a}) . mapping _Time
instance FromJSON User where
parseJSON
= withObject "User"
(\ x ->
User' <$>
(x .:? "Email") <*> (x .:? "State") <*>
(x .:? "DisabledDate")
<*> (x .:? "Name")
<*> (x .:? "Id")
<*> (x .:? "DisplayName")
<*> (x .:? "UserRole")
<*> (x .:? "EnabledDate"))
instance Hashable User where
instance NFData User where