{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module Network.AWS.CertificateManager.Types.Product where
import Network.AWS.CertificateManager.Types.Sum
import Network.AWS.Lens
import Network.AWS.Prelude
data CertificateDetail = CertificateDetail'
{ _cdSubject :: !(Maybe Text)
, _cdStatus :: !(Maybe CertificateStatus)
, _cdFailureReason :: !(Maybe FailureReason)
, _cdSubjectAlternativeNames :: !(Maybe (List1 Text))
, _cdInUseBy :: !(Maybe [Text])
, _cdCreatedAt :: !(Maybe POSIX)
, _cdCertificateARN :: !(Maybe Text)
, _cdSerial :: !(Maybe Text)
, _cdRevokedAt :: !(Maybe POSIX)
, _cdNotBefore :: !(Maybe POSIX)
, _cdRevocationReason :: !(Maybe RevocationReason)
, _cdDomainName :: !(Maybe Text)
, _cdKeyAlgorithm :: !(Maybe KeyAlgorithm)
, _cdIssuedAt :: !(Maybe POSIX)
, _cdSignatureAlgorithm :: !(Maybe Text)
, _cdDomainValidationOptions :: !(Maybe (List1 DomainValidation))
, _cdIssuer :: !(Maybe Text)
, _cdNotAfter :: !(Maybe POSIX)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
certificateDetail
:: CertificateDetail
certificateDetail =
CertificateDetail'
{ _cdSubject = Nothing
, _cdStatus = Nothing
, _cdFailureReason = Nothing
, _cdSubjectAlternativeNames = Nothing
, _cdInUseBy = Nothing
, _cdCreatedAt = Nothing
, _cdCertificateARN = Nothing
, _cdSerial = Nothing
, _cdRevokedAt = Nothing
, _cdNotBefore = Nothing
, _cdRevocationReason = Nothing
, _cdDomainName = Nothing
, _cdKeyAlgorithm = Nothing
, _cdIssuedAt = Nothing
, _cdSignatureAlgorithm = Nothing
, _cdDomainValidationOptions = Nothing
, _cdIssuer = Nothing
, _cdNotAfter = Nothing
}
cdSubject :: Lens' CertificateDetail (Maybe Text)
cdSubject = lens _cdSubject (\ s a -> s{_cdSubject = a});
cdStatus :: Lens' CertificateDetail (Maybe CertificateStatus)
cdStatus = lens _cdStatus (\ s a -> s{_cdStatus = a});
cdFailureReason :: Lens' CertificateDetail (Maybe FailureReason)
cdFailureReason = lens _cdFailureReason (\ s a -> s{_cdFailureReason = a});
cdSubjectAlternativeNames :: Lens' CertificateDetail (Maybe (NonEmpty Text))
cdSubjectAlternativeNames = lens _cdSubjectAlternativeNames (\ s a -> s{_cdSubjectAlternativeNames = a}) . mapping _List1;
cdInUseBy :: Lens' CertificateDetail [Text]
cdInUseBy = lens _cdInUseBy (\ s a -> s{_cdInUseBy = a}) . _Default . _Coerce;
cdCreatedAt :: Lens' CertificateDetail (Maybe UTCTime)
cdCreatedAt = lens _cdCreatedAt (\ s a -> s{_cdCreatedAt = a}) . mapping _Time;
cdCertificateARN :: Lens' CertificateDetail (Maybe Text)
cdCertificateARN = lens _cdCertificateARN (\ s a -> s{_cdCertificateARN = a});
cdSerial :: Lens' CertificateDetail (Maybe Text)
cdSerial = lens _cdSerial (\ s a -> s{_cdSerial = a});
cdRevokedAt :: Lens' CertificateDetail (Maybe UTCTime)
cdRevokedAt = lens _cdRevokedAt (\ s a -> s{_cdRevokedAt = a}) . mapping _Time;
cdNotBefore :: Lens' CertificateDetail (Maybe UTCTime)
cdNotBefore = lens _cdNotBefore (\ s a -> s{_cdNotBefore = a}) . mapping _Time;
cdRevocationReason :: Lens' CertificateDetail (Maybe RevocationReason)
cdRevocationReason = lens _cdRevocationReason (\ s a -> s{_cdRevocationReason = a});
cdDomainName :: Lens' CertificateDetail (Maybe Text)
cdDomainName = lens _cdDomainName (\ s a -> s{_cdDomainName = a});
cdKeyAlgorithm :: Lens' CertificateDetail (Maybe KeyAlgorithm)
cdKeyAlgorithm = lens _cdKeyAlgorithm (\ s a -> s{_cdKeyAlgorithm = a});
cdIssuedAt :: Lens' CertificateDetail (Maybe UTCTime)
cdIssuedAt = lens _cdIssuedAt (\ s a -> s{_cdIssuedAt = a}) . mapping _Time;
cdSignatureAlgorithm :: Lens' CertificateDetail (Maybe Text)
cdSignatureAlgorithm = lens _cdSignatureAlgorithm (\ s a -> s{_cdSignatureAlgorithm = a});
cdDomainValidationOptions :: Lens' CertificateDetail (Maybe (NonEmpty DomainValidation))
cdDomainValidationOptions = lens _cdDomainValidationOptions (\ s a -> s{_cdDomainValidationOptions = a}) . mapping _List1;
cdIssuer :: Lens' CertificateDetail (Maybe Text)
cdIssuer = lens _cdIssuer (\ s a -> s{_cdIssuer = a});
cdNotAfter :: Lens' CertificateDetail (Maybe UTCTime)
cdNotAfter = lens _cdNotAfter (\ s a -> s{_cdNotAfter = a}) . mapping _Time;
instance FromJSON CertificateDetail where
parseJSON
= withObject "CertificateDetail"
(\ x ->
CertificateDetail' <$>
(x .:? "Subject") <*> (x .:? "Status") <*>
(x .:? "FailureReason")
<*> (x .:? "SubjectAlternativeNames")
<*> (x .:? "InUseBy" .!= mempty)
<*> (x .:? "CreatedAt")
<*> (x .:? "CertificateArn")
<*> (x .:? "Serial")
<*> (x .:? "RevokedAt")
<*> (x .:? "NotBefore")
<*> (x .:? "RevocationReason")
<*> (x .:? "DomainName")
<*> (x .:? "KeyAlgorithm")
<*> (x .:? "IssuedAt")
<*> (x .:? "SignatureAlgorithm")
<*> (x .:? "DomainValidationOptions")
<*> (x .:? "Issuer")
<*> (x .:? "NotAfter"))
instance Hashable CertificateDetail
instance NFData CertificateDetail
data CertificateSummary = CertificateSummary'
{ _csCertificateARN :: !(Maybe Text)
, _csDomainName :: !(Maybe Text)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
certificateSummary
:: CertificateSummary
certificateSummary =
CertificateSummary'
{ _csCertificateARN = Nothing
, _csDomainName = Nothing
}
csCertificateARN :: Lens' CertificateSummary (Maybe Text)
csCertificateARN = lens _csCertificateARN (\ s a -> s{_csCertificateARN = a});
csDomainName :: Lens' CertificateSummary (Maybe Text)
csDomainName = lens _csDomainName (\ s a -> s{_csDomainName = a});
instance FromJSON CertificateSummary where
parseJSON
= withObject "CertificateSummary"
(\ x ->
CertificateSummary' <$>
(x .:? "CertificateArn") <*> (x .:? "DomainName"))
instance Hashable CertificateSummary
instance NFData CertificateSummary
data DomainValidation = DomainValidation'
{ _dvValidationEmails :: !(Maybe [Text])
, _dvValidationDomain :: !(Maybe Text)
, _dvDomainName :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
domainValidation
:: Text
-> DomainValidation
domainValidation pDomainName_ =
DomainValidation'
{ _dvValidationEmails = Nothing
, _dvValidationDomain = Nothing
, _dvDomainName = pDomainName_
}
dvValidationEmails :: Lens' DomainValidation [Text]
dvValidationEmails = lens _dvValidationEmails (\ s a -> s{_dvValidationEmails = a}) . _Default . _Coerce;
dvValidationDomain :: Lens' DomainValidation (Maybe Text)
dvValidationDomain = lens _dvValidationDomain (\ s a -> s{_dvValidationDomain = a});
dvDomainName :: Lens' DomainValidation Text
dvDomainName = lens _dvDomainName (\ s a -> s{_dvDomainName = a});
instance FromJSON DomainValidation where
parseJSON
= withObject "DomainValidation"
(\ x ->
DomainValidation' <$>
(x .:? "ValidationEmails" .!= mempty) <*>
(x .:? "ValidationDomain")
<*> (x .: "DomainName"))
instance Hashable DomainValidation
instance NFData DomainValidation
data DomainValidationOption = DomainValidationOption'
{ _dvoDomainName :: !Text
, _dvoValidationDomain :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
domainValidationOption
:: Text
-> Text
-> DomainValidationOption
domainValidationOption pDomainName_ pValidationDomain_ =
DomainValidationOption'
{ _dvoDomainName = pDomainName_
, _dvoValidationDomain = pValidationDomain_
}
dvoDomainName :: Lens' DomainValidationOption Text
dvoDomainName = lens _dvoDomainName (\ s a -> s{_dvoDomainName = a});
dvoValidationDomain :: Lens' DomainValidationOption Text
dvoValidationDomain = lens _dvoValidationDomain (\ s a -> s{_dvoValidationDomain = a});
instance Hashable DomainValidationOption
instance NFData DomainValidationOption
instance ToJSON DomainValidationOption where
toJSON DomainValidationOption'{..}
= object
(catMaybes
[Just ("DomainName" .= _dvoDomainName),
Just ("ValidationDomain" .= _dvoValidationDomain)])
data Tag = Tag'
{ _tagValue :: !(Maybe Text)
, _tagKey :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
tag
:: Text
-> Tag
tag pKey_ =
Tag'
{ _tagValue = Nothing
, _tagKey = pKey_
}
tagValue :: Lens' Tag (Maybe Text)
tagValue = lens _tagValue (\ s a -> s{_tagValue = a});
tagKey :: Lens' Tag Text
tagKey = lens _tagKey (\ s a -> s{_tagKey = a});
instance FromJSON Tag where
parseJSON
= withObject "Tag"
(\ x -> Tag' <$> (x .:? "Value") <*> (x .: "Key"))
instance Hashable Tag
instance NFData Tag
instance ToJSON Tag where
toJSON Tag'{..}
= object
(catMaybes
[("Value" .=) <$> _tagValue,
Just ("Key" .= _tagKey)])