stratosphere-0.49.0: library-gen/Stratosphere/Resources/ACMPCACertificate.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificate.html
module Stratosphere.Resources.ACMPCACertificate where
import Stratosphere.ResourceImports
-- | Full data type definition for ACMPCACertificate. See 'acmpcaCertificate'
-- for a more convenient constructor.
data ACMPCACertificate =
ACMPCACertificate
{ _aCMPCACertificateCertificateAuthorityArn :: Val Text
, _aCMPCACertificateCertificateSigningRequest :: Val Text
, _aCMPCACertificateSigningAlgorithm :: Val Text
, _aCMPCACertificateTemplateArn :: Maybe (Val Text)
, _aCMPCACertificateValidity :: Object
} deriving (Show, Eq)
instance ToResourceProperties ACMPCACertificate where
toResourceProperties ACMPCACertificate{..} =
ResourceProperties
{ resourcePropertiesType = "AWS::ACMPCA::Certificate"
, resourcePropertiesProperties =
hashMapFromList $ catMaybes
[ (Just . ("CertificateAuthorityArn",) . toJSON) _aCMPCACertificateCertificateAuthorityArn
, (Just . ("CertificateSigningRequest",) . toJSON) _aCMPCACertificateCertificateSigningRequest
, (Just . ("SigningAlgorithm",) . toJSON) _aCMPCACertificateSigningAlgorithm
, fmap (("TemplateArn",) . toJSON) _aCMPCACertificateTemplateArn
, (Just . ("Validity",) . toJSON) _aCMPCACertificateValidity
]
}
-- | Constructor for 'ACMPCACertificate' containing required fields as
-- arguments.
acmpcaCertificate
:: Val Text -- ^ 'acmpcacCertificateAuthorityArn'
-> Val Text -- ^ 'acmpcacCertificateSigningRequest'
-> Val Text -- ^ 'acmpcacSigningAlgorithm'
-> Object -- ^ 'acmpcacValidity'
-> ACMPCACertificate
acmpcaCertificate certificateAuthorityArnarg certificateSigningRequestarg signingAlgorithmarg validityarg =
ACMPCACertificate
{ _aCMPCACertificateCertificateAuthorityArn = certificateAuthorityArnarg
, _aCMPCACertificateCertificateSigningRequest = certificateSigningRequestarg
, _aCMPCACertificateSigningAlgorithm = signingAlgorithmarg
, _aCMPCACertificateTemplateArn = Nothing
, _aCMPCACertificateValidity = validityarg
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificate.html#cfn-acmpca-certificate-certificateauthorityarn
acmpcacCertificateAuthorityArn :: Lens' ACMPCACertificate (Val Text)
acmpcacCertificateAuthorityArn = lens _aCMPCACertificateCertificateAuthorityArn (\s a -> s { _aCMPCACertificateCertificateAuthorityArn = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificate.html#cfn-acmpca-certificate-certificatesigningrequest
acmpcacCertificateSigningRequest :: Lens' ACMPCACertificate (Val Text)
acmpcacCertificateSigningRequest = lens _aCMPCACertificateCertificateSigningRequest (\s a -> s { _aCMPCACertificateCertificateSigningRequest = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificate.html#cfn-acmpca-certificate-signingalgorithm
acmpcacSigningAlgorithm :: Lens' ACMPCACertificate (Val Text)
acmpcacSigningAlgorithm = lens _aCMPCACertificateSigningAlgorithm (\s a -> s { _aCMPCACertificateSigningAlgorithm = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificate.html#cfn-acmpca-certificate-templatearn
acmpcacTemplateArn :: Lens' ACMPCACertificate (Maybe (Val Text))
acmpcacTemplateArn = lens _aCMPCACertificateTemplateArn (\s a -> s { _aCMPCACertificateTemplateArn = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificate.html#cfn-acmpca-certificate-validity
acmpcacValidity :: Lens' ACMPCACertificate Object
acmpcacValidity = lens _aCMPCACertificateValidity (\s a -> s { _aCMPCACertificateValidity = a })