amazonka-securityhub-2.0: gen/Amazonka/SecurityHub/Types/AwsCertificateManagerCertificateDomainValidationOption.hs
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
-- Derived from AWS service descriptions, licensed under Apache 2.0.
-- |
-- Module : Amazonka.SecurityHub.Types.AwsCertificateManagerCertificateDomainValidationOption
-- Copyright : (c) 2013-2023 Brendan Hay
-- License : Mozilla Public License, v. 2.0.
-- Maintainer : Brendan Hay
-- Stability : auto-generated
-- Portability : non-portable (GHC extensions)
module Amazonka.SecurityHub.Types.AwsCertificateManagerCertificateDomainValidationOption where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
import Amazonka.SecurityHub.Types.AwsCertificateManagerCertificateResourceRecord
-- | Contains information about one of the following:
--
-- - The initial validation of each domain name that occurs as a result
-- of the @RequestCertificate@ request
--
-- - The validation of each domain name in the certificate, as it
-- pertains to Certificate Manager managed renewal
--
-- /See:/ 'newAwsCertificateManagerCertificateDomainValidationOption' smart constructor.
data AwsCertificateManagerCertificateDomainValidationOption = AwsCertificateManagerCertificateDomainValidationOption'
{ -- | A fully qualified domain name (FQDN) in the certificate.
domainName :: Prelude.Maybe Prelude.Text,
-- | The CNAME record that is added to the DNS database for domain
-- validation.
resourceRecord :: Prelude.Maybe AwsCertificateManagerCertificateResourceRecord,
-- | The domain name that Certificate Manager uses to send domain validation
-- emails.
validationDomain :: Prelude.Maybe Prelude.Text,
-- | A list of email addresses that Certificate Manager uses to send domain
-- validation emails.
validationEmails :: Prelude.Maybe [Prelude.Text],
-- | The method used to validate the domain name.
validationMethod :: Prelude.Maybe Prelude.Text,
-- | The validation status of the domain name.
validationStatus :: Prelude.Maybe Prelude.Text
}
deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
-- |
-- Create a value of 'AwsCertificateManagerCertificateDomainValidationOption' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'domainName', 'awsCertificateManagerCertificateDomainValidationOption_domainName' - A fully qualified domain name (FQDN) in the certificate.
--
-- 'resourceRecord', 'awsCertificateManagerCertificateDomainValidationOption_resourceRecord' - The CNAME record that is added to the DNS database for domain
-- validation.
--
-- 'validationDomain', 'awsCertificateManagerCertificateDomainValidationOption_validationDomain' - The domain name that Certificate Manager uses to send domain validation
-- emails.
--
-- 'validationEmails', 'awsCertificateManagerCertificateDomainValidationOption_validationEmails' - A list of email addresses that Certificate Manager uses to send domain
-- validation emails.
--
-- 'validationMethod', 'awsCertificateManagerCertificateDomainValidationOption_validationMethod' - The method used to validate the domain name.
--
-- 'validationStatus', 'awsCertificateManagerCertificateDomainValidationOption_validationStatus' - The validation status of the domain name.
newAwsCertificateManagerCertificateDomainValidationOption ::
AwsCertificateManagerCertificateDomainValidationOption
newAwsCertificateManagerCertificateDomainValidationOption =
AwsCertificateManagerCertificateDomainValidationOption'
{ domainName =
Prelude.Nothing,
resourceRecord =
Prelude.Nothing,
validationDomain =
Prelude.Nothing,
validationEmails =
Prelude.Nothing,
validationMethod =
Prelude.Nothing,
validationStatus =
Prelude.Nothing
}
-- | A fully qualified domain name (FQDN) in the certificate.
awsCertificateManagerCertificateDomainValidationOption_domainName :: Lens.Lens' AwsCertificateManagerCertificateDomainValidationOption (Prelude.Maybe Prelude.Text)
awsCertificateManagerCertificateDomainValidationOption_domainName = Lens.lens (\AwsCertificateManagerCertificateDomainValidationOption' {domainName} -> domainName) (\s@AwsCertificateManagerCertificateDomainValidationOption' {} a -> s {domainName = a} :: AwsCertificateManagerCertificateDomainValidationOption)
-- | The CNAME record that is added to the DNS database for domain
-- validation.
awsCertificateManagerCertificateDomainValidationOption_resourceRecord :: Lens.Lens' AwsCertificateManagerCertificateDomainValidationOption (Prelude.Maybe AwsCertificateManagerCertificateResourceRecord)
awsCertificateManagerCertificateDomainValidationOption_resourceRecord = Lens.lens (\AwsCertificateManagerCertificateDomainValidationOption' {resourceRecord} -> resourceRecord) (\s@AwsCertificateManagerCertificateDomainValidationOption' {} a -> s {resourceRecord = a} :: AwsCertificateManagerCertificateDomainValidationOption)
-- | The domain name that Certificate Manager uses to send domain validation
-- emails.
awsCertificateManagerCertificateDomainValidationOption_validationDomain :: Lens.Lens' AwsCertificateManagerCertificateDomainValidationOption (Prelude.Maybe Prelude.Text)
awsCertificateManagerCertificateDomainValidationOption_validationDomain = Lens.lens (\AwsCertificateManagerCertificateDomainValidationOption' {validationDomain} -> validationDomain) (\s@AwsCertificateManagerCertificateDomainValidationOption' {} a -> s {validationDomain = a} :: AwsCertificateManagerCertificateDomainValidationOption)
-- | A list of email addresses that Certificate Manager uses to send domain
-- validation emails.
awsCertificateManagerCertificateDomainValidationOption_validationEmails :: Lens.Lens' AwsCertificateManagerCertificateDomainValidationOption (Prelude.Maybe [Prelude.Text])
awsCertificateManagerCertificateDomainValidationOption_validationEmails = Lens.lens (\AwsCertificateManagerCertificateDomainValidationOption' {validationEmails} -> validationEmails) (\s@AwsCertificateManagerCertificateDomainValidationOption' {} a -> s {validationEmails = a} :: AwsCertificateManagerCertificateDomainValidationOption) Prelude.. Lens.mapping Lens.coerced
-- | The method used to validate the domain name.
awsCertificateManagerCertificateDomainValidationOption_validationMethod :: Lens.Lens' AwsCertificateManagerCertificateDomainValidationOption (Prelude.Maybe Prelude.Text)
awsCertificateManagerCertificateDomainValidationOption_validationMethod = Lens.lens (\AwsCertificateManagerCertificateDomainValidationOption' {validationMethod} -> validationMethod) (\s@AwsCertificateManagerCertificateDomainValidationOption' {} a -> s {validationMethod = a} :: AwsCertificateManagerCertificateDomainValidationOption)
-- | The validation status of the domain name.
awsCertificateManagerCertificateDomainValidationOption_validationStatus :: Lens.Lens' AwsCertificateManagerCertificateDomainValidationOption (Prelude.Maybe Prelude.Text)
awsCertificateManagerCertificateDomainValidationOption_validationStatus = Lens.lens (\AwsCertificateManagerCertificateDomainValidationOption' {validationStatus} -> validationStatus) (\s@AwsCertificateManagerCertificateDomainValidationOption' {} a -> s {validationStatus = a} :: AwsCertificateManagerCertificateDomainValidationOption)
instance
Data.FromJSON
AwsCertificateManagerCertificateDomainValidationOption
where
parseJSON =
Data.withObject
"AwsCertificateManagerCertificateDomainValidationOption"
( \x ->
AwsCertificateManagerCertificateDomainValidationOption'
Prelude.<$> (x Data..:? "DomainName")
Prelude.<*> (x Data..:? "ResourceRecord")
Prelude.<*> (x Data..:? "ValidationDomain")
Prelude.<*> ( x
Data..:? "ValidationEmails"
Data..!= Prelude.mempty
)
Prelude.<*> (x Data..:? "ValidationMethod")
Prelude.<*> (x Data..:? "ValidationStatus")
)
instance
Prelude.Hashable
AwsCertificateManagerCertificateDomainValidationOption
where
hashWithSalt
_salt
AwsCertificateManagerCertificateDomainValidationOption' {..} =
_salt
`Prelude.hashWithSalt` domainName
`Prelude.hashWithSalt` resourceRecord
`Prelude.hashWithSalt` validationDomain
`Prelude.hashWithSalt` validationEmails
`Prelude.hashWithSalt` validationMethod
`Prelude.hashWithSalt` validationStatus
instance
Prelude.NFData
AwsCertificateManagerCertificateDomainValidationOption
where
rnf
AwsCertificateManagerCertificateDomainValidationOption' {..} =
Prelude.rnf domainName
`Prelude.seq` Prelude.rnf resourceRecord
`Prelude.seq` Prelude.rnf validationDomain
`Prelude.seq` Prelude.rnf validationEmails
`Prelude.seq` Prelude.rnf validationMethod
`Prelude.seq` Prelude.rnf validationStatus
instance
Data.ToJSON
AwsCertificateManagerCertificateDomainValidationOption
where
toJSON
AwsCertificateManagerCertificateDomainValidationOption' {..} =
Data.object
( Prelude.catMaybes
[ ("DomainName" Data..=) Prelude.<$> domainName,
("ResourceRecord" Data..=)
Prelude.<$> resourceRecord,
("ValidationDomain" Data..=)
Prelude.<$> validationDomain,
("ValidationEmails" Data..=)
Prelude.<$> validationEmails,
("ValidationMethod" Data..=)
Prelude.<$> validationMethod,
("ValidationStatus" Data..=)
Prelude.<$> validationStatus
]
)