{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module Network.AWS.DirectoryService.Types.Product where
import Network.AWS.DirectoryService.Types.Sum
import Network.AWS.Lens
import Network.AWS.Prelude
data Attribute = Attribute'
{ _aValue :: !(Maybe Text)
, _aName :: !(Maybe Text)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
attribute
:: Attribute
attribute =
Attribute'
{ _aValue = Nothing
, _aName = Nothing
}
aValue :: Lens' Attribute (Maybe Text)
aValue = lens _aValue (\ s a -> s{_aValue = a});
aName :: Lens' Attribute (Maybe Text)
aName = lens _aName (\ s a -> s{_aName = a});
instance FromJSON Attribute where
parseJSON
= withObject "Attribute"
(\ x ->
Attribute' <$> (x .:? "Value") <*> (x .:? "Name"))
instance Hashable Attribute
instance NFData Attribute
instance ToJSON Attribute where
toJSON Attribute'{..}
= object
(catMaybes
[("Value" .=) <$> _aValue, ("Name" .=) <$> _aName])
data Computer = Computer'
{ _cComputerId :: !(Maybe Text)
, _cComputerAttributes :: !(Maybe [Attribute])
, _cComputerName :: !(Maybe Text)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
computer
:: Computer
computer =
Computer'
{ _cComputerId = Nothing
, _cComputerAttributes = Nothing
, _cComputerName = Nothing
}
cComputerId :: Lens' Computer (Maybe Text)
cComputerId = lens _cComputerId (\ s a -> s{_cComputerId = a});
cComputerAttributes :: Lens' Computer [Attribute]
cComputerAttributes = lens _cComputerAttributes (\ s a -> s{_cComputerAttributes = a}) . _Default . _Coerce;
cComputerName :: Lens' Computer (Maybe Text)
cComputerName = lens _cComputerName (\ s a -> s{_cComputerName = a});
instance FromJSON Computer where
parseJSON
= withObject "Computer"
(\ x ->
Computer' <$>
(x .:? "ComputerId") <*>
(x .:? "ComputerAttributes" .!= mempty)
<*> (x .:? "ComputerName"))
instance Hashable Computer
instance NFData Computer
data ConditionalForwarder = ConditionalForwarder'
{ _cfDNSIPAddrs :: !(Maybe [Text])
, _cfRemoteDomainName :: !(Maybe Text)
, _cfReplicationScope :: !(Maybe ReplicationScope)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
conditionalForwarder
:: ConditionalForwarder
conditionalForwarder =
ConditionalForwarder'
{ _cfDNSIPAddrs = Nothing
, _cfRemoteDomainName = Nothing
, _cfReplicationScope = Nothing
}
cfDNSIPAddrs :: Lens' ConditionalForwarder [Text]
cfDNSIPAddrs = lens _cfDNSIPAddrs (\ s a -> s{_cfDNSIPAddrs = a}) . _Default . _Coerce;
cfRemoteDomainName :: Lens' ConditionalForwarder (Maybe Text)
cfRemoteDomainName = lens _cfRemoteDomainName (\ s a -> s{_cfRemoteDomainName = a});
cfReplicationScope :: Lens' ConditionalForwarder (Maybe ReplicationScope)
cfReplicationScope = lens _cfReplicationScope (\ s a -> s{_cfReplicationScope = a});
instance FromJSON ConditionalForwarder where
parseJSON
= withObject "ConditionalForwarder"
(\ x ->
ConditionalForwarder' <$>
(x .:? "DnsIpAddrs" .!= mempty) <*>
(x .:? "RemoteDomainName")
<*> (x .:? "ReplicationScope"))
instance Hashable ConditionalForwarder
instance NFData ConditionalForwarder
data DirectoryConnectSettings = DirectoryConnectSettings'
{ _dcsVPCId :: !Text
, _dcsSubnetIds :: ![Text]
, _dcsCustomerDNSIPs :: ![Text]
, _dcsCustomerUserName :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
directoryConnectSettings
:: Text
-> Text
-> DirectoryConnectSettings
directoryConnectSettings pVPCId_ pCustomerUserName_ =
DirectoryConnectSettings'
{ _dcsVPCId = pVPCId_
, _dcsSubnetIds = mempty
, _dcsCustomerDNSIPs = mempty
, _dcsCustomerUserName = pCustomerUserName_
}
dcsVPCId :: Lens' DirectoryConnectSettings Text
dcsVPCId = lens _dcsVPCId (\ s a -> s{_dcsVPCId = a});
dcsSubnetIds :: Lens' DirectoryConnectSettings [Text]
dcsSubnetIds = lens _dcsSubnetIds (\ s a -> s{_dcsSubnetIds = a}) . _Coerce;
dcsCustomerDNSIPs :: Lens' DirectoryConnectSettings [Text]
dcsCustomerDNSIPs = lens _dcsCustomerDNSIPs (\ s a -> s{_dcsCustomerDNSIPs = a}) . _Coerce;
dcsCustomerUserName :: Lens' DirectoryConnectSettings Text
dcsCustomerUserName = lens _dcsCustomerUserName (\ s a -> s{_dcsCustomerUserName = a});
instance Hashable DirectoryConnectSettings
instance NFData DirectoryConnectSettings
instance ToJSON DirectoryConnectSettings where
toJSON DirectoryConnectSettings'{..}
= object
(catMaybes
[Just ("VpcId" .= _dcsVPCId),
Just ("SubnetIds" .= _dcsSubnetIds),
Just ("CustomerDnsIps" .= _dcsCustomerDNSIPs),
Just ("CustomerUserName" .= _dcsCustomerUserName)])
data DirectoryConnectSettingsDescription = DirectoryConnectSettingsDescription'
{ _dcsdCustomerUserName :: !(Maybe Text)
, _dcsdSubnetIds :: !(Maybe [Text])
, _dcsdVPCId :: !(Maybe Text)
, _dcsdSecurityGroupId :: !(Maybe Text)
, _dcsdConnectIPs :: !(Maybe [Text])
, _dcsdAvailabilityZones :: !(Maybe [Text])
} deriving (Eq,Read,Show,Data,Typeable,Generic)
directoryConnectSettingsDescription
:: DirectoryConnectSettingsDescription
directoryConnectSettingsDescription =
DirectoryConnectSettingsDescription'
{ _dcsdCustomerUserName = Nothing
, _dcsdSubnetIds = Nothing
, _dcsdVPCId = Nothing
, _dcsdSecurityGroupId = Nothing
, _dcsdConnectIPs = Nothing
, _dcsdAvailabilityZones = Nothing
}
dcsdCustomerUserName :: Lens' DirectoryConnectSettingsDescription (Maybe Text)
dcsdCustomerUserName = lens _dcsdCustomerUserName (\ s a -> s{_dcsdCustomerUserName = a});
dcsdSubnetIds :: Lens' DirectoryConnectSettingsDescription [Text]
dcsdSubnetIds = lens _dcsdSubnetIds (\ s a -> s{_dcsdSubnetIds = a}) . _Default . _Coerce;
dcsdVPCId :: Lens' DirectoryConnectSettingsDescription (Maybe Text)
dcsdVPCId = lens _dcsdVPCId (\ s a -> s{_dcsdVPCId = a});
dcsdSecurityGroupId :: Lens' DirectoryConnectSettingsDescription (Maybe Text)
dcsdSecurityGroupId = lens _dcsdSecurityGroupId (\ s a -> s{_dcsdSecurityGroupId = a});
dcsdConnectIPs :: Lens' DirectoryConnectSettingsDescription [Text]
dcsdConnectIPs = lens _dcsdConnectIPs (\ s a -> s{_dcsdConnectIPs = a}) . _Default . _Coerce;
dcsdAvailabilityZones :: Lens' DirectoryConnectSettingsDescription [Text]
dcsdAvailabilityZones = lens _dcsdAvailabilityZones (\ s a -> s{_dcsdAvailabilityZones = a}) . _Default . _Coerce;
instance FromJSON DirectoryConnectSettingsDescription
where
parseJSON
= withObject "DirectoryConnectSettingsDescription"
(\ x ->
DirectoryConnectSettingsDescription' <$>
(x .:? "CustomerUserName") <*>
(x .:? "SubnetIds" .!= mempty)
<*> (x .:? "VpcId")
<*> (x .:? "SecurityGroupId")
<*> (x .:? "ConnectIps" .!= mempty)
<*> (x .:? "AvailabilityZones" .!= mempty))
instance Hashable DirectoryConnectSettingsDescription
instance NFData DirectoryConnectSettingsDescription
data DirectoryDescription = DirectoryDescription'
{ _ddRadiusStatus :: !(Maybe RadiusStatus)
, _ddStage :: !(Maybe DirectoryStage)
, _ddDirectoryId :: !(Maybe Text)
, _ddAccessURL :: !(Maybe Text)
, _ddShortName :: !(Maybe Text)
, _ddSize :: !(Maybe DirectorySize)
, _ddRadiusSettings :: !(Maybe RadiusSettings)
, _ddLaunchTime :: !(Maybe POSIX)
, _ddAlias :: !(Maybe Text)
, _ddName :: !(Maybe Text)
, _ddStageLastUpdatedDateTime :: !(Maybe POSIX)
, _ddSSOEnabled :: !(Maybe Bool)
, _ddDNSIPAddrs :: !(Maybe [Text])
, _ddVPCSettings :: !(Maybe DirectoryVPCSettingsDescription)
, _ddType :: !(Maybe DirectoryType)
, _ddStageReason :: !(Maybe Text)
, _ddConnectSettings :: !(Maybe DirectoryConnectSettingsDescription)
, _ddDescription :: !(Maybe Text)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
directoryDescription
:: DirectoryDescription
directoryDescription =
DirectoryDescription'
{ _ddRadiusStatus = Nothing
, _ddStage = Nothing
, _ddDirectoryId = Nothing
, _ddAccessURL = Nothing
, _ddShortName = Nothing
, _ddSize = Nothing
, _ddRadiusSettings = Nothing
, _ddLaunchTime = Nothing
, _ddAlias = Nothing
, _ddName = Nothing
, _ddStageLastUpdatedDateTime = Nothing
, _ddSSOEnabled = Nothing
, _ddDNSIPAddrs = Nothing
, _ddVPCSettings = Nothing
, _ddType = Nothing
, _ddStageReason = Nothing
, _ddConnectSettings = Nothing
, _ddDescription = Nothing
}
ddRadiusStatus :: Lens' DirectoryDescription (Maybe RadiusStatus)
ddRadiusStatus = lens _ddRadiusStatus (\ s a -> s{_ddRadiusStatus = a});
ddStage :: Lens' DirectoryDescription (Maybe DirectoryStage)
ddStage = lens _ddStage (\ s a -> s{_ddStage = a});
ddDirectoryId :: Lens' DirectoryDescription (Maybe Text)
ddDirectoryId = lens _ddDirectoryId (\ s a -> s{_ddDirectoryId = a});
ddAccessURL :: Lens' DirectoryDescription (Maybe Text)
ddAccessURL = lens _ddAccessURL (\ s a -> s{_ddAccessURL = a});
ddShortName :: Lens' DirectoryDescription (Maybe Text)
ddShortName = lens _ddShortName (\ s a -> s{_ddShortName = a});
ddSize :: Lens' DirectoryDescription (Maybe DirectorySize)
ddSize = lens _ddSize (\ s a -> s{_ddSize = a});
ddRadiusSettings :: Lens' DirectoryDescription (Maybe RadiusSettings)
ddRadiusSettings = lens _ddRadiusSettings (\ s a -> s{_ddRadiusSettings = a});
ddLaunchTime :: Lens' DirectoryDescription (Maybe UTCTime)
ddLaunchTime = lens _ddLaunchTime (\ s a -> s{_ddLaunchTime = a}) . mapping _Time;
ddAlias :: Lens' DirectoryDescription (Maybe Text)
ddAlias = lens _ddAlias (\ s a -> s{_ddAlias = a});
ddName :: Lens' DirectoryDescription (Maybe Text)
ddName = lens _ddName (\ s a -> s{_ddName = a});
ddStageLastUpdatedDateTime :: Lens' DirectoryDescription (Maybe UTCTime)
ddStageLastUpdatedDateTime = lens _ddStageLastUpdatedDateTime (\ s a -> s{_ddStageLastUpdatedDateTime = a}) . mapping _Time;
ddSSOEnabled :: Lens' DirectoryDescription (Maybe Bool)
ddSSOEnabled = lens _ddSSOEnabled (\ s a -> s{_ddSSOEnabled = a});
ddDNSIPAddrs :: Lens' DirectoryDescription [Text]
ddDNSIPAddrs = lens _ddDNSIPAddrs (\ s a -> s{_ddDNSIPAddrs = a}) . _Default . _Coerce;
ddVPCSettings :: Lens' DirectoryDescription (Maybe DirectoryVPCSettingsDescription)
ddVPCSettings = lens _ddVPCSettings (\ s a -> s{_ddVPCSettings = a});
ddType :: Lens' DirectoryDescription (Maybe DirectoryType)
ddType = lens _ddType (\ s a -> s{_ddType = a});
ddStageReason :: Lens' DirectoryDescription (Maybe Text)
ddStageReason = lens _ddStageReason (\ s a -> s{_ddStageReason = a});
ddConnectSettings :: Lens' DirectoryDescription (Maybe DirectoryConnectSettingsDescription)
ddConnectSettings = lens _ddConnectSettings (\ s a -> s{_ddConnectSettings = a});
ddDescription :: Lens' DirectoryDescription (Maybe Text)
ddDescription = lens _ddDescription (\ s a -> s{_ddDescription = a});
instance FromJSON DirectoryDescription where
parseJSON
= withObject "DirectoryDescription"
(\ x ->
DirectoryDescription' <$>
(x .:? "RadiusStatus") <*> (x .:? "Stage") <*>
(x .:? "DirectoryId")
<*> (x .:? "AccessUrl")
<*> (x .:? "ShortName")
<*> (x .:? "Size")
<*> (x .:? "RadiusSettings")
<*> (x .:? "LaunchTime")
<*> (x .:? "Alias")
<*> (x .:? "Name")
<*> (x .:? "StageLastUpdatedDateTime")
<*> (x .:? "SsoEnabled")
<*> (x .:? "DnsIpAddrs" .!= mempty)
<*> (x .:? "VpcSettings")
<*> (x .:? "Type")
<*> (x .:? "StageReason")
<*> (x .:? "ConnectSettings")
<*> (x .:? "Description"))
instance Hashable DirectoryDescription
instance NFData DirectoryDescription
data DirectoryLimits = DirectoryLimits'
{ _dlConnectedDirectoriesCurrentCount :: !(Maybe Nat)
, _dlCloudOnlyMicrosoftADLimitReached :: !(Maybe Bool)
, _dlConnectedDirectoriesLimit :: !(Maybe Nat)
, _dlConnectedDirectoriesLimitReached :: !(Maybe Bool)
, _dlCloudOnlyMicrosoftADLimit :: !(Maybe Nat)
, _dlCloudOnlyDirectoriesLimit :: !(Maybe Nat)
, _dlCloudOnlyDirectoriesCurrentCount :: !(Maybe Nat)
, _dlCloudOnlyDirectoriesLimitReached :: !(Maybe Bool)
, _dlCloudOnlyMicrosoftADCurrentCount :: !(Maybe Nat)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
directoryLimits
:: DirectoryLimits
directoryLimits =
DirectoryLimits'
{ _dlConnectedDirectoriesCurrentCount = Nothing
, _dlCloudOnlyMicrosoftADLimitReached = Nothing
, _dlConnectedDirectoriesLimit = Nothing
, _dlConnectedDirectoriesLimitReached = Nothing
, _dlCloudOnlyMicrosoftADLimit = Nothing
, _dlCloudOnlyDirectoriesLimit = Nothing
, _dlCloudOnlyDirectoriesCurrentCount = Nothing
, _dlCloudOnlyDirectoriesLimitReached = Nothing
, _dlCloudOnlyMicrosoftADCurrentCount = Nothing
}
dlConnectedDirectoriesCurrentCount :: Lens' DirectoryLimits (Maybe Natural)
dlConnectedDirectoriesCurrentCount = lens _dlConnectedDirectoriesCurrentCount (\ s a -> s{_dlConnectedDirectoriesCurrentCount = a}) . mapping _Nat;
dlCloudOnlyMicrosoftADLimitReached :: Lens' DirectoryLimits (Maybe Bool)
dlCloudOnlyMicrosoftADLimitReached = lens _dlCloudOnlyMicrosoftADLimitReached (\ s a -> s{_dlCloudOnlyMicrosoftADLimitReached = a});
dlConnectedDirectoriesLimit :: Lens' DirectoryLimits (Maybe Natural)
dlConnectedDirectoriesLimit = lens _dlConnectedDirectoriesLimit (\ s a -> s{_dlConnectedDirectoriesLimit = a}) . mapping _Nat;
dlConnectedDirectoriesLimitReached :: Lens' DirectoryLimits (Maybe Bool)
dlConnectedDirectoriesLimitReached = lens _dlConnectedDirectoriesLimitReached (\ s a -> s{_dlConnectedDirectoriesLimitReached = a});
dlCloudOnlyMicrosoftADLimit :: Lens' DirectoryLimits (Maybe Natural)
dlCloudOnlyMicrosoftADLimit = lens _dlCloudOnlyMicrosoftADLimit (\ s a -> s{_dlCloudOnlyMicrosoftADLimit = a}) . mapping _Nat;
dlCloudOnlyDirectoriesLimit :: Lens' DirectoryLimits (Maybe Natural)
dlCloudOnlyDirectoriesLimit = lens _dlCloudOnlyDirectoriesLimit (\ s a -> s{_dlCloudOnlyDirectoriesLimit = a}) . mapping _Nat;
dlCloudOnlyDirectoriesCurrentCount :: Lens' DirectoryLimits (Maybe Natural)
dlCloudOnlyDirectoriesCurrentCount = lens _dlCloudOnlyDirectoriesCurrentCount (\ s a -> s{_dlCloudOnlyDirectoriesCurrentCount = a}) . mapping _Nat;
dlCloudOnlyDirectoriesLimitReached :: Lens' DirectoryLimits (Maybe Bool)
dlCloudOnlyDirectoriesLimitReached = lens _dlCloudOnlyDirectoriesLimitReached (\ s a -> s{_dlCloudOnlyDirectoriesLimitReached = a});
dlCloudOnlyMicrosoftADCurrentCount :: Lens' DirectoryLimits (Maybe Natural)
dlCloudOnlyMicrosoftADCurrentCount = lens _dlCloudOnlyMicrosoftADCurrentCount (\ s a -> s{_dlCloudOnlyMicrosoftADCurrentCount = a}) . mapping _Nat;
instance FromJSON DirectoryLimits where
parseJSON
= withObject "DirectoryLimits"
(\ x ->
DirectoryLimits' <$>
(x .:? "ConnectedDirectoriesCurrentCount") <*>
(x .:? "CloudOnlyMicrosoftADLimitReached")
<*> (x .:? "ConnectedDirectoriesLimit")
<*> (x .:? "ConnectedDirectoriesLimitReached")
<*> (x .:? "CloudOnlyMicrosoftADLimit")
<*> (x .:? "CloudOnlyDirectoriesLimit")
<*> (x .:? "CloudOnlyDirectoriesCurrentCount")
<*> (x .:? "CloudOnlyDirectoriesLimitReached")
<*> (x .:? "CloudOnlyMicrosoftADCurrentCount"))
instance Hashable DirectoryLimits
instance NFData DirectoryLimits
data DirectoryVPCSettings = DirectoryVPCSettings'
{ _dvsVPCId :: !Text
, _dvsSubnetIds :: ![Text]
} deriving (Eq,Read,Show,Data,Typeable,Generic)
directoryVPCSettings
:: Text
-> DirectoryVPCSettings
directoryVPCSettings pVPCId_ =
DirectoryVPCSettings'
{ _dvsVPCId = pVPCId_
, _dvsSubnetIds = mempty
}
dvsVPCId :: Lens' DirectoryVPCSettings Text
dvsVPCId = lens _dvsVPCId (\ s a -> s{_dvsVPCId = a});
dvsSubnetIds :: Lens' DirectoryVPCSettings [Text]
dvsSubnetIds = lens _dvsSubnetIds (\ s a -> s{_dvsSubnetIds = a}) . _Coerce;
instance Hashable DirectoryVPCSettings
instance NFData DirectoryVPCSettings
instance ToJSON DirectoryVPCSettings where
toJSON DirectoryVPCSettings'{..}
= object
(catMaybes
[Just ("VpcId" .= _dvsVPCId),
Just ("SubnetIds" .= _dvsSubnetIds)])
data DirectoryVPCSettingsDescription = DirectoryVPCSettingsDescription'
{ _dvsdSubnetIds :: !(Maybe [Text])
, _dvsdVPCId :: !(Maybe Text)
, _dvsdSecurityGroupId :: !(Maybe Text)
, _dvsdAvailabilityZones :: !(Maybe [Text])
} deriving (Eq,Read,Show,Data,Typeable,Generic)
directoryVPCSettingsDescription
:: DirectoryVPCSettingsDescription
directoryVPCSettingsDescription =
DirectoryVPCSettingsDescription'
{ _dvsdSubnetIds = Nothing
, _dvsdVPCId = Nothing
, _dvsdSecurityGroupId = Nothing
, _dvsdAvailabilityZones = Nothing
}
dvsdSubnetIds :: Lens' DirectoryVPCSettingsDescription [Text]
dvsdSubnetIds = lens _dvsdSubnetIds (\ s a -> s{_dvsdSubnetIds = a}) . _Default . _Coerce;
dvsdVPCId :: Lens' DirectoryVPCSettingsDescription (Maybe Text)
dvsdVPCId = lens _dvsdVPCId (\ s a -> s{_dvsdVPCId = a});
dvsdSecurityGroupId :: Lens' DirectoryVPCSettingsDescription (Maybe Text)
dvsdSecurityGroupId = lens _dvsdSecurityGroupId (\ s a -> s{_dvsdSecurityGroupId = a});
dvsdAvailabilityZones :: Lens' DirectoryVPCSettingsDescription [Text]
dvsdAvailabilityZones = lens _dvsdAvailabilityZones (\ s a -> s{_dvsdAvailabilityZones = a}) . _Default . _Coerce;
instance FromJSON DirectoryVPCSettingsDescription
where
parseJSON
= withObject "DirectoryVPCSettingsDescription"
(\ x ->
DirectoryVPCSettingsDescription' <$>
(x .:? "SubnetIds" .!= mempty) <*> (x .:? "VpcId")
<*> (x .:? "SecurityGroupId")
<*> (x .:? "AvailabilityZones" .!= mempty))
instance Hashable DirectoryVPCSettingsDescription
instance NFData DirectoryVPCSettingsDescription
data EventTopic = EventTopic'
{ _etStatus :: !(Maybe TopicStatus)
, _etDirectoryId :: !(Maybe Text)
, _etTopicName :: !(Maybe Text)
, _etTopicARN :: !(Maybe Text)
, _etCreatedDateTime :: !(Maybe POSIX)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
eventTopic
:: EventTopic
eventTopic =
EventTopic'
{ _etStatus = Nothing
, _etDirectoryId = Nothing
, _etTopicName = Nothing
, _etTopicARN = Nothing
, _etCreatedDateTime = Nothing
}
etStatus :: Lens' EventTopic (Maybe TopicStatus)
etStatus = lens _etStatus (\ s a -> s{_etStatus = a});
etDirectoryId :: Lens' EventTopic (Maybe Text)
etDirectoryId = lens _etDirectoryId (\ s a -> s{_etDirectoryId = a});
etTopicName :: Lens' EventTopic (Maybe Text)
etTopicName = lens _etTopicName (\ s a -> s{_etTopicName = a});
etTopicARN :: Lens' EventTopic (Maybe Text)
etTopicARN = lens _etTopicARN (\ s a -> s{_etTopicARN = a});
etCreatedDateTime :: Lens' EventTopic (Maybe UTCTime)
etCreatedDateTime = lens _etCreatedDateTime (\ s a -> s{_etCreatedDateTime = a}) . mapping _Time;
instance FromJSON EventTopic where
parseJSON
= withObject "EventTopic"
(\ x ->
EventTopic' <$>
(x .:? "Status") <*> (x .:? "DirectoryId") <*>
(x .:? "TopicName")
<*> (x .:? "TopicArn")
<*> (x .:? "CreatedDateTime"))
instance Hashable EventTopic
instance NFData EventTopic
data IPRoute = IPRoute'
{ _irCidrIP :: !(Maybe Text)
, _irDescription :: !(Maybe Text)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
ipRoute
:: IPRoute
ipRoute =
IPRoute'
{ _irCidrIP = Nothing
, _irDescription = Nothing
}
irCidrIP :: Lens' IPRoute (Maybe Text)
irCidrIP = lens _irCidrIP (\ s a -> s{_irCidrIP = a});
irDescription :: Lens' IPRoute (Maybe Text)
irDescription = lens _irDescription (\ s a -> s{_irDescription = a});
instance Hashable IPRoute
instance NFData IPRoute
instance ToJSON IPRoute where
toJSON IPRoute'{..}
= object
(catMaybes
[("CidrIp" .=) <$> _irCidrIP,
("Description" .=) <$> _irDescription])
data IPRouteInfo = IPRouteInfo'
{ _iriDirectoryId :: !(Maybe Text)
, _iriIPRouteStatusReason :: !(Maybe Text)
, _iriAddedDateTime :: !(Maybe POSIX)
, _iriCidrIP :: !(Maybe Text)
, _iriIPRouteStatusMsg :: !(Maybe IPRouteStatusMsg)
, _iriDescription :: !(Maybe Text)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
ipRouteInfo
:: IPRouteInfo
ipRouteInfo =
IPRouteInfo'
{ _iriDirectoryId = Nothing
, _iriIPRouteStatusReason = Nothing
, _iriAddedDateTime = Nothing
, _iriCidrIP = Nothing
, _iriIPRouteStatusMsg = Nothing
, _iriDescription = Nothing
}
iriDirectoryId :: Lens' IPRouteInfo (Maybe Text)
iriDirectoryId = lens _iriDirectoryId (\ s a -> s{_iriDirectoryId = a});
iriIPRouteStatusReason :: Lens' IPRouteInfo (Maybe Text)
iriIPRouteStatusReason = lens _iriIPRouteStatusReason (\ s a -> s{_iriIPRouteStatusReason = a});
iriAddedDateTime :: Lens' IPRouteInfo (Maybe UTCTime)
iriAddedDateTime = lens _iriAddedDateTime (\ s a -> s{_iriAddedDateTime = a}) . mapping _Time;
iriCidrIP :: Lens' IPRouteInfo (Maybe Text)
iriCidrIP = lens _iriCidrIP (\ s a -> s{_iriCidrIP = a});
iriIPRouteStatusMsg :: Lens' IPRouteInfo (Maybe IPRouteStatusMsg)
iriIPRouteStatusMsg = lens _iriIPRouteStatusMsg (\ s a -> s{_iriIPRouteStatusMsg = a});
iriDescription :: Lens' IPRouteInfo (Maybe Text)
iriDescription = lens _iriDescription (\ s a -> s{_iriDescription = a});
instance FromJSON IPRouteInfo where
parseJSON
= withObject "IPRouteInfo"
(\ x ->
IPRouteInfo' <$>
(x .:? "DirectoryId") <*>
(x .:? "IpRouteStatusReason")
<*> (x .:? "AddedDateTime")
<*> (x .:? "CidrIp")
<*> (x .:? "IpRouteStatusMsg")
<*> (x .:? "Description"))
instance Hashable IPRouteInfo
instance NFData IPRouteInfo
data RadiusSettings = RadiusSettings'
{ _rsDisplayLabel :: !(Maybe Text)
, _rsRadiusRetries :: !(Maybe Nat)
, _rsAuthenticationProtocol :: !(Maybe RadiusAuthenticationProtocol)
, _rsRadiusServers :: !(Maybe [Text])
, _rsUseSameUsername :: !(Maybe Bool)
, _rsSharedSecret :: !(Maybe (Sensitive Text))
, _rsRadiusTimeout :: !(Maybe Nat)
, _rsRadiusPort :: !(Maybe Nat)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
radiusSettings
:: RadiusSettings
radiusSettings =
RadiusSettings'
{ _rsDisplayLabel = Nothing
, _rsRadiusRetries = Nothing
, _rsAuthenticationProtocol = Nothing
, _rsRadiusServers = Nothing
, _rsUseSameUsername = Nothing
, _rsSharedSecret = Nothing
, _rsRadiusTimeout = Nothing
, _rsRadiusPort = Nothing
}
rsDisplayLabel :: Lens' RadiusSettings (Maybe Text)
rsDisplayLabel = lens _rsDisplayLabel (\ s a -> s{_rsDisplayLabel = a});
rsRadiusRetries :: Lens' RadiusSettings (Maybe Natural)
rsRadiusRetries = lens _rsRadiusRetries (\ s a -> s{_rsRadiusRetries = a}) . mapping _Nat;
rsAuthenticationProtocol :: Lens' RadiusSettings (Maybe RadiusAuthenticationProtocol)
rsAuthenticationProtocol = lens _rsAuthenticationProtocol (\ s a -> s{_rsAuthenticationProtocol = a});
rsRadiusServers :: Lens' RadiusSettings [Text]
rsRadiusServers = lens _rsRadiusServers (\ s a -> s{_rsRadiusServers = a}) . _Default . _Coerce;
rsUseSameUsername :: Lens' RadiusSettings (Maybe Bool)
rsUseSameUsername = lens _rsUseSameUsername (\ s a -> s{_rsUseSameUsername = a});
rsSharedSecret :: Lens' RadiusSettings (Maybe Text)
rsSharedSecret = lens _rsSharedSecret (\ s a -> s{_rsSharedSecret = a}) . mapping _Sensitive;
rsRadiusTimeout :: Lens' RadiusSettings (Maybe Natural)
rsRadiusTimeout = lens _rsRadiusTimeout (\ s a -> s{_rsRadiusTimeout = a}) . mapping _Nat;
rsRadiusPort :: Lens' RadiusSettings (Maybe Natural)
rsRadiusPort = lens _rsRadiusPort (\ s a -> s{_rsRadiusPort = a}) . mapping _Nat;
instance FromJSON RadiusSettings where
parseJSON
= withObject "RadiusSettings"
(\ x ->
RadiusSettings' <$>
(x .:? "DisplayLabel") <*> (x .:? "RadiusRetries")
<*> (x .:? "AuthenticationProtocol")
<*> (x .:? "RadiusServers" .!= mempty)
<*> (x .:? "UseSameUsername")
<*> (x .:? "SharedSecret")
<*> (x .:? "RadiusTimeout")
<*> (x .:? "RadiusPort"))
instance Hashable RadiusSettings
instance NFData RadiusSettings
instance ToJSON RadiusSettings where
toJSON RadiusSettings'{..}
= object
(catMaybes
[("DisplayLabel" .=) <$> _rsDisplayLabel,
("RadiusRetries" .=) <$> _rsRadiusRetries,
("AuthenticationProtocol" .=) <$>
_rsAuthenticationProtocol,
("RadiusServers" .=) <$> _rsRadiusServers,
("UseSameUsername" .=) <$> _rsUseSameUsername,
("SharedSecret" .=) <$> _rsSharedSecret,
("RadiusTimeout" .=) <$> _rsRadiusTimeout,
("RadiusPort" .=) <$> _rsRadiusPort])
data SchemaExtensionInfo = SchemaExtensionInfo'
{ _seiDirectoryId :: !(Maybe Text)
, _seiSchemaExtensionId :: !(Maybe Text)
, _seiSchemaExtensionStatusReason :: !(Maybe Text)
, _seiSchemaExtensionStatus :: !(Maybe SchemaExtensionStatus)
, _seiDescription :: !(Maybe Text)
, _seiEndDateTime :: !(Maybe POSIX)
, _seiStartDateTime :: !(Maybe POSIX)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
schemaExtensionInfo
:: SchemaExtensionInfo
schemaExtensionInfo =
SchemaExtensionInfo'
{ _seiDirectoryId = Nothing
, _seiSchemaExtensionId = Nothing
, _seiSchemaExtensionStatusReason = Nothing
, _seiSchemaExtensionStatus = Nothing
, _seiDescription = Nothing
, _seiEndDateTime = Nothing
, _seiStartDateTime = Nothing
}
seiDirectoryId :: Lens' SchemaExtensionInfo (Maybe Text)
seiDirectoryId = lens _seiDirectoryId (\ s a -> s{_seiDirectoryId = a});
seiSchemaExtensionId :: Lens' SchemaExtensionInfo (Maybe Text)
seiSchemaExtensionId = lens _seiSchemaExtensionId (\ s a -> s{_seiSchemaExtensionId = a});
seiSchemaExtensionStatusReason :: Lens' SchemaExtensionInfo (Maybe Text)
seiSchemaExtensionStatusReason = lens _seiSchemaExtensionStatusReason (\ s a -> s{_seiSchemaExtensionStatusReason = a});
seiSchemaExtensionStatus :: Lens' SchemaExtensionInfo (Maybe SchemaExtensionStatus)
seiSchemaExtensionStatus = lens _seiSchemaExtensionStatus (\ s a -> s{_seiSchemaExtensionStatus = a});
seiDescription :: Lens' SchemaExtensionInfo (Maybe Text)
seiDescription = lens _seiDescription (\ s a -> s{_seiDescription = a});
seiEndDateTime :: Lens' SchemaExtensionInfo (Maybe UTCTime)
seiEndDateTime = lens _seiEndDateTime (\ s a -> s{_seiEndDateTime = a}) . mapping _Time;
seiStartDateTime :: Lens' SchemaExtensionInfo (Maybe UTCTime)
seiStartDateTime = lens _seiStartDateTime (\ s a -> s{_seiStartDateTime = a}) . mapping _Time;
instance FromJSON SchemaExtensionInfo where
parseJSON
= withObject "SchemaExtensionInfo"
(\ x ->
SchemaExtensionInfo' <$>
(x .:? "DirectoryId") <*> (x .:? "SchemaExtensionId")
<*> (x .:? "SchemaExtensionStatusReason")
<*> (x .:? "SchemaExtensionStatus")
<*> (x .:? "Description")
<*> (x .:? "EndDateTime")
<*> (x .:? "StartDateTime"))
instance Hashable SchemaExtensionInfo
instance NFData SchemaExtensionInfo
data Snapshot = Snapshot'
{ _sStatus :: !(Maybe SnapshotStatus)
, _sDirectoryId :: !(Maybe Text)
, _sStartTime :: !(Maybe POSIX)
, _sName :: !(Maybe Text)
, _sType :: !(Maybe SnapshotType)
, _sSnapshotId :: !(Maybe Text)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
snapshot
:: Snapshot
snapshot =
Snapshot'
{ _sStatus = Nothing
, _sDirectoryId = Nothing
, _sStartTime = Nothing
, _sName = Nothing
, _sType = Nothing
, _sSnapshotId = Nothing
}
sStatus :: Lens' Snapshot (Maybe SnapshotStatus)
sStatus = lens _sStatus (\ s a -> s{_sStatus = a});
sDirectoryId :: Lens' Snapshot (Maybe Text)
sDirectoryId = lens _sDirectoryId (\ s a -> s{_sDirectoryId = a});
sStartTime :: Lens' Snapshot (Maybe UTCTime)
sStartTime = lens _sStartTime (\ s a -> s{_sStartTime = a}) . mapping _Time;
sName :: Lens' Snapshot (Maybe Text)
sName = lens _sName (\ s a -> s{_sName = a});
sType :: Lens' Snapshot (Maybe SnapshotType)
sType = lens _sType (\ s a -> s{_sType = a});
sSnapshotId :: Lens' Snapshot (Maybe Text)
sSnapshotId = lens _sSnapshotId (\ s a -> s{_sSnapshotId = a});
instance FromJSON Snapshot where
parseJSON
= withObject "Snapshot"
(\ x ->
Snapshot' <$>
(x .:? "Status") <*> (x .:? "DirectoryId") <*>
(x .:? "StartTime")
<*> (x .:? "Name")
<*> (x .:? "Type")
<*> (x .:? "SnapshotId"))
instance Hashable Snapshot
instance NFData Snapshot
data SnapshotLimits = SnapshotLimits'
{ _slManualSnapshotsLimitReached :: !(Maybe Bool)
, _slManualSnapshotsCurrentCount :: !(Maybe Nat)
, _slManualSnapshotsLimit :: !(Maybe Nat)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
snapshotLimits
:: SnapshotLimits
snapshotLimits =
SnapshotLimits'
{ _slManualSnapshotsLimitReached = Nothing
, _slManualSnapshotsCurrentCount = Nothing
, _slManualSnapshotsLimit = Nothing
}
slManualSnapshotsLimitReached :: Lens' SnapshotLimits (Maybe Bool)
slManualSnapshotsLimitReached = lens _slManualSnapshotsLimitReached (\ s a -> s{_slManualSnapshotsLimitReached = a});
slManualSnapshotsCurrentCount :: Lens' SnapshotLimits (Maybe Natural)
slManualSnapshotsCurrentCount = lens _slManualSnapshotsCurrentCount (\ s a -> s{_slManualSnapshotsCurrentCount = a}) . mapping _Nat;
slManualSnapshotsLimit :: Lens' SnapshotLimits (Maybe Natural)
slManualSnapshotsLimit = lens _slManualSnapshotsLimit (\ s a -> s{_slManualSnapshotsLimit = a}) . mapping _Nat;
instance FromJSON SnapshotLimits where
parseJSON
= withObject "SnapshotLimits"
(\ x ->
SnapshotLimits' <$>
(x .:? "ManualSnapshotsLimitReached") <*>
(x .:? "ManualSnapshotsCurrentCount")
<*> (x .:? "ManualSnapshotsLimit"))
instance Hashable SnapshotLimits
instance NFData SnapshotLimits
data Tag = Tag'
{ _tagKey :: !Text
, _tagValue :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
tag
:: Text
-> Text
-> Tag
tag pKey_ pValue_ =
Tag'
{ _tagKey = pKey_
, _tagValue = pValue_
}
tagKey :: Lens' Tag Text
tagKey = lens _tagKey (\ s a -> s{_tagKey = a});
tagValue :: Lens' Tag Text
tagValue = lens _tagValue (\ s a -> s{_tagValue = a});
instance FromJSON Tag where
parseJSON
= withObject "Tag"
(\ x -> Tag' <$> (x .: "Key") <*> (x .: "Value"))
instance Hashable Tag
instance NFData Tag
instance ToJSON Tag where
toJSON Tag'{..}
= object
(catMaybes
[Just ("Key" .= _tagKey),
Just ("Value" .= _tagValue)])
data Trust = Trust'
{ _tDirectoryId :: !(Maybe Text)
, _tTrustState :: !(Maybe TrustState)
, _tLastUpdatedDateTime :: !(Maybe POSIX)
, _tTrustDirection :: !(Maybe TrustDirection)
, _tStateLastUpdatedDateTime :: !(Maybe POSIX)
, _tTrustType :: !(Maybe TrustType)
, _tTrustStateReason :: !(Maybe Text)
, _tRemoteDomainName :: !(Maybe Text)
, _tTrustId :: !(Maybe Text)
, _tCreatedDateTime :: !(Maybe POSIX)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
trust
:: Trust
trust =
Trust'
{ _tDirectoryId = Nothing
, _tTrustState = Nothing
, _tLastUpdatedDateTime = Nothing
, _tTrustDirection = Nothing
, _tStateLastUpdatedDateTime = Nothing
, _tTrustType = Nothing
, _tTrustStateReason = Nothing
, _tRemoteDomainName = Nothing
, _tTrustId = Nothing
, _tCreatedDateTime = Nothing
}
tDirectoryId :: Lens' Trust (Maybe Text)
tDirectoryId = lens _tDirectoryId (\ s a -> s{_tDirectoryId = a});
tTrustState :: Lens' Trust (Maybe TrustState)
tTrustState = lens _tTrustState (\ s a -> s{_tTrustState = a});
tLastUpdatedDateTime :: Lens' Trust (Maybe UTCTime)
tLastUpdatedDateTime = lens _tLastUpdatedDateTime (\ s a -> s{_tLastUpdatedDateTime = a}) . mapping _Time;
tTrustDirection :: Lens' Trust (Maybe TrustDirection)
tTrustDirection = lens _tTrustDirection (\ s a -> s{_tTrustDirection = a});
tStateLastUpdatedDateTime :: Lens' Trust (Maybe UTCTime)
tStateLastUpdatedDateTime = lens _tStateLastUpdatedDateTime (\ s a -> s{_tStateLastUpdatedDateTime = a}) . mapping _Time;
tTrustType :: Lens' Trust (Maybe TrustType)
tTrustType = lens _tTrustType (\ s a -> s{_tTrustType = a});
tTrustStateReason :: Lens' Trust (Maybe Text)
tTrustStateReason = lens _tTrustStateReason (\ s a -> s{_tTrustStateReason = a});
tRemoteDomainName :: Lens' Trust (Maybe Text)
tRemoteDomainName = lens _tRemoteDomainName (\ s a -> s{_tRemoteDomainName = a});
tTrustId :: Lens' Trust (Maybe Text)
tTrustId = lens _tTrustId (\ s a -> s{_tTrustId = a});
tCreatedDateTime :: Lens' Trust (Maybe UTCTime)
tCreatedDateTime = lens _tCreatedDateTime (\ s a -> s{_tCreatedDateTime = a}) . mapping _Time;
instance FromJSON Trust where
parseJSON
= withObject "Trust"
(\ x ->
Trust' <$>
(x .:? "DirectoryId") <*> (x .:? "TrustState") <*>
(x .:? "LastUpdatedDateTime")
<*> (x .:? "TrustDirection")
<*> (x .:? "StateLastUpdatedDateTime")
<*> (x .:? "TrustType")
<*> (x .:? "TrustStateReason")
<*> (x .:? "RemoteDomainName")
<*> (x .:? "TrustId")
<*> (x .:? "CreatedDateTime"))
instance Hashable Trust
instance NFData Trust