{-# 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.AwsCertificateManagerCertificateDetails
-- Copyright   : (c) 2013-2021 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
module Amazonka.SecurityHub.Types.AwsCertificateManagerCertificateDetails where

import qualified Amazonka.Core as Core
import qualified Amazonka.Lens as Lens
import qualified Amazonka.Prelude as Prelude
import Amazonka.SecurityHub.Types.AwsCertificateManagerCertificateDomainValidationOption
import Amazonka.SecurityHub.Types.AwsCertificateManagerCertificateExtendedKeyUsage
import Amazonka.SecurityHub.Types.AwsCertificateManagerCertificateKeyUsage
import Amazonka.SecurityHub.Types.AwsCertificateManagerCertificateOptions
import Amazonka.SecurityHub.Types.AwsCertificateManagerCertificateRenewalSummary

-- | Provides details about an Certificate Manager certificate.
--
-- /See:/ 'newAwsCertificateManagerCertificateDetails' smart constructor.
data AwsCertificateManagerCertificateDetails = AwsCertificateManagerCertificateDetails'
  { -- | The name of the entity that is associated with the public key contained
    -- in the certificate.
    AwsCertificateManagerCertificateDetails -> Maybe Text
subject :: Prelude.Maybe Prelude.Text,
    -- | The status of the certificate.
    --
    -- Valid values: @PENDING_VALIDATION@ | @ISSUED@ | @INACTIVE@ | @EXPIRED@ |
    -- @VALIDATION_TIMED_OUT@ | @REVOKED@ | @FAILED@
    AwsCertificateManagerCertificateDetails -> Maybe Text
status :: Prelude.Maybe Prelude.Text,
    -- | For a failed certificate request, the reason for the failure.
    --
    -- Valid values: @NO_AVAILABLE_CONTACTS@ |
    -- @ADDITIONAL_VERIFICATION_REQUIRED@ | @DOMAIN_NOT_ALLOWED@ |
    -- @INVALID_PUBLIC_DOMAIN@ | @DOMAIN_VALIDATION_DENIED@ | @CAA_ERROR@ |
    -- @PCA_LIMIT_EXCEEDED@ | @PCA_INVALID_ARN@ | @PCA_INVALID_STATE@ |
    -- @PCA_REQUEST_FAILED@ | @PCA_NAME_CONSTRAINTS_VALIDATION@ |
    -- @PCA_RESOURCE_NOT_FOUND@ | @PCA_INVALID_ARGS@ | @PCA_INVALID_DURATION@ |
    -- @PCA_ACCESS_DENIED@ | @SLR_NOT_FOUND@ | @OTHER@
    AwsCertificateManagerCertificateDetails -> Maybe Text
failureReason :: Prelude.Maybe Prelude.Text,
    -- | One or more domain names (subject alternative names) included in the
    -- certificate. This list contains the domain names that are bound to the
    -- public key that is contained in the certificate.
    --
    -- The subject alternative names include the canonical domain name (CN) of
    -- the certificate and additional domain names that can be used to connect
    -- to the website.
    AwsCertificateManagerCertificateDetails -> Maybe [Text]
subjectAlternativeNames :: Prelude.Maybe [Prelude.Text],
    -- | The list of ARNs for the Amazon Web Services resources that use the
    -- certificate.
    AwsCertificateManagerCertificateDetails -> Maybe [Text]
inUseBy :: Prelude.Maybe [Prelude.Text],
    -- | Indicates when the certificate was requested.
    --
    -- Uses the @date-time@ format specified in
    -- <https://tools.ietf.org/html/rfc3339#section-5.6 RFC 3339 section 5.6, Internet Date\/Time Format>.
    -- The value cannot contain spaces. For example,
    -- @2020-03-22T13:22:13.933Z@.
    AwsCertificateManagerCertificateDetails -> Maybe Text
createdAt :: Prelude.Maybe Prelude.Text,
    -- | The serial number of the certificate.
    AwsCertificateManagerCertificateDetails -> Maybe Text
serial :: Prelude.Maybe Prelude.Text,
    -- | Whether the certificate is eligible for renewal.
    --
    -- Valid values: @ELIGIBLE@ | @INELIGIBLE@
    AwsCertificateManagerCertificateDetails -> Maybe Text
renewalEligibility :: Prelude.Maybe Prelude.Text,
    -- | Contains a list of Extended Key Usage X.509 v3 extension objects. Each
    -- object specifies a purpose for which the certificate public key can be
    -- used and consists of a name and an object identifier (OID).
    AwsCertificateManagerCertificateDetails
-> Maybe [AwsCertificateManagerCertificateExtendedKeyUsage]
extendedKeyUsages :: Prelude.Maybe [AwsCertificateManagerCertificateExtendedKeyUsage],
    -- | Indicates when the certificate was imported. Provided if the certificate
    -- type is @IMPORTED@.
    --
    -- Uses the @date-time@ format specified in
    -- <https://tools.ietf.org/html/rfc3339#section-5.6 RFC 3339 section 5.6, Internet Date\/Time Format>.
    -- The value cannot contain spaces. For example,
    -- @2020-03-22T13:22:13.933Z@.
    AwsCertificateManagerCertificateDetails -> Maybe Text
importedAt :: Prelude.Maybe Prelude.Text,
    -- | A list of key usage X.509 v3 extension objects.
    AwsCertificateManagerCertificateDetails
-> Maybe [AwsCertificateManagerCertificateKeyUsage]
keyUsages :: Prelude.Maybe [AwsCertificateManagerCertificateKeyUsage],
    -- | The time before which the certificate is not valid.
    --
    -- Uses the @date-time@ format specified in
    -- <https://tools.ietf.org/html/rfc3339#section-5.6 RFC 3339 section 5.6, Internet Date\/Time Format>.
    -- The value cannot contain spaces. For example,
    -- @2020-03-22T13:22:13.933Z@.
    AwsCertificateManagerCertificateDetails -> Maybe Text
notBefore :: Prelude.Maybe Prelude.Text,
    -- | The fully qualified domain name (FQDN), such as www.example.com, that is
    -- secured by the certificate.
    AwsCertificateManagerCertificateDetails -> Maybe Text
domainName :: Prelude.Maybe Prelude.Text,
    -- | Information about the status of the Certificate Manager managed renewal
    -- for the certificate. Provided only when the certificate type is
    -- @AMAZON_ISSUED@.
    AwsCertificateManagerCertificateDetails
-> Maybe AwsCertificateManagerCertificateRenewalSummary
renewalSummary :: Prelude.Maybe AwsCertificateManagerCertificateRenewalSummary,
    -- | The algorithm that was used to generate the public-private key pair.
    --
    -- Valid values: @RSA_2048@ | @RSA_1024@ |@ RSA_4096@ | @EC_prime256v1@ |
    -- @EC_secp384r1@ | @EC_secp521r1@
    AwsCertificateManagerCertificateDetails -> Maybe Text
keyAlgorithm :: Prelude.Maybe Prelude.Text,
    -- | The source of the certificate. For certificates that Certificate Manager
    -- provides, @Type@ is @AMAZON_ISSUED@. For certificates that are imported
    -- with @ImportCertificate@, @Type@ is @IMPORTED@.
    --
    -- Valid values: @IMPORTED@ | @AMAZON_ISSUED@ | @PRIVATE@
    AwsCertificateManagerCertificateDetails -> Maybe Text
type' :: Prelude.Maybe Prelude.Text,
    -- | Provides a value that specifies whether to add the certificate to a
    -- transparency log.
    AwsCertificateManagerCertificateDetails
-> Maybe AwsCertificateManagerCertificateOptions
options :: Prelude.Maybe AwsCertificateManagerCertificateOptions,
    -- | Indicates when the certificate was issued. Provided if the certificate
    -- type is @AMAZON_ISSUED@.
    --
    -- Uses the @date-time@ format specified in
    -- <https://tools.ietf.org/html/rfc3339#section-5.6 RFC 3339 section 5.6, Internet Date\/Time Format>.
    -- The value cannot contain spaces. For example,
    -- @2020-03-22T13:22:13.933Z@.
    AwsCertificateManagerCertificateDetails -> Maybe Text
issuedAt :: Prelude.Maybe Prelude.Text,
    -- | The algorithm that was used to sign the certificate.
    AwsCertificateManagerCertificateDetails -> Maybe Text
signatureAlgorithm :: Prelude.Maybe Prelude.Text,
    -- | Contains information about the initial validation of each domain name
    -- that occurs as a result of the @RequestCertificate@ request.
    --
    -- Only provided if the certificate type is @AMAZON_ISSUED@.
    AwsCertificateManagerCertificateDetails
-> Maybe [AwsCertificateManagerCertificateDomainValidationOption]
domainValidationOptions :: Prelude.Maybe [AwsCertificateManagerCertificateDomainValidationOption],
    -- | The name of the certificate authority that issued and signed the
    -- certificate.
    AwsCertificateManagerCertificateDetails -> Maybe Text
issuer :: Prelude.Maybe Prelude.Text,
    -- | The time after which the certificate becomes invalid.
    --
    -- Uses the @date-time@ format specified in
    -- <https://tools.ietf.org/html/rfc3339#section-5.6 RFC 3339 section 5.6, Internet Date\/Time Format>.
    -- The value cannot contain spaces. For example,
    -- @2020-03-22T13:22:13.933Z@.
    AwsCertificateManagerCertificateDetails -> Maybe Text
notAfter :: Prelude.Maybe Prelude.Text,
    -- | The ARN of the private certificate authority (CA) that will be used to
    -- issue the certificate.
    AwsCertificateManagerCertificateDetails -> Maybe Text
certificateAuthorityArn :: Prelude.Maybe Prelude.Text
  }
  deriving (AwsCertificateManagerCertificateDetails
-> AwsCertificateManagerCertificateDetails -> Bool
(AwsCertificateManagerCertificateDetails
 -> AwsCertificateManagerCertificateDetails -> Bool)
-> (AwsCertificateManagerCertificateDetails
    -> AwsCertificateManagerCertificateDetails -> Bool)
-> Eq AwsCertificateManagerCertificateDetails
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AwsCertificateManagerCertificateDetails
-> AwsCertificateManagerCertificateDetails -> Bool
$c/= :: AwsCertificateManagerCertificateDetails
-> AwsCertificateManagerCertificateDetails -> Bool
== :: AwsCertificateManagerCertificateDetails
-> AwsCertificateManagerCertificateDetails -> Bool
$c== :: AwsCertificateManagerCertificateDetails
-> AwsCertificateManagerCertificateDetails -> Bool
Prelude.Eq, ReadPrec [AwsCertificateManagerCertificateDetails]
ReadPrec AwsCertificateManagerCertificateDetails
Int -> ReadS AwsCertificateManagerCertificateDetails
ReadS [AwsCertificateManagerCertificateDetails]
(Int -> ReadS AwsCertificateManagerCertificateDetails)
-> ReadS [AwsCertificateManagerCertificateDetails]
-> ReadPrec AwsCertificateManagerCertificateDetails
-> ReadPrec [AwsCertificateManagerCertificateDetails]
-> Read AwsCertificateManagerCertificateDetails
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [AwsCertificateManagerCertificateDetails]
$creadListPrec :: ReadPrec [AwsCertificateManagerCertificateDetails]
readPrec :: ReadPrec AwsCertificateManagerCertificateDetails
$creadPrec :: ReadPrec AwsCertificateManagerCertificateDetails
readList :: ReadS [AwsCertificateManagerCertificateDetails]
$creadList :: ReadS [AwsCertificateManagerCertificateDetails]
readsPrec :: Int -> ReadS AwsCertificateManagerCertificateDetails
$creadsPrec :: Int -> ReadS AwsCertificateManagerCertificateDetails
Prelude.Read, Int -> AwsCertificateManagerCertificateDetails -> ShowS
[AwsCertificateManagerCertificateDetails] -> ShowS
AwsCertificateManagerCertificateDetails -> String
(Int -> AwsCertificateManagerCertificateDetails -> ShowS)
-> (AwsCertificateManagerCertificateDetails -> String)
-> ([AwsCertificateManagerCertificateDetails] -> ShowS)
-> Show AwsCertificateManagerCertificateDetails
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AwsCertificateManagerCertificateDetails] -> ShowS
$cshowList :: [AwsCertificateManagerCertificateDetails] -> ShowS
show :: AwsCertificateManagerCertificateDetails -> String
$cshow :: AwsCertificateManagerCertificateDetails -> String
showsPrec :: Int -> AwsCertificateManagerCertificateDetails -> ShowS
$cshowsPrec :: Int -> AwsCertificateManagerCertificateDetails -> ShowS
Prelude.Show, (forall x.
 AwsCertificateManagerCertificateDetails
 -> Rep AwsCertificateManagerCertificateDetails x)
-> (forall x.
    Rep AwsCertificateManagerCertificateDetails x
    -> AwsCertificateManagerCertificateDetails)
-> Generic AwsCertificateManagerCertificateDetails
forall x.
Rep AwsCertificateManagerCertificateDetails x
-> AwsCertificateManagerCertificateDetails
forall x.
AwsCertificateManagerCertificateDetails
-> Rep AwsCertificateManagerCertificateDetails x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep AwsCertificateManagerCertificateDetails x
-> AwsCertificateManagerCertificateDetails
$cfrom :: forall x.
AwsCertificateManagerCertificateDetails
-> Rep AwsCertificateManagerCertificateDetails x
Prelude.Generic)

-- |
-- Create a value of 'AwsCertificateManagerCertificateDetails' 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:
--
-- 'subject', 'awsCertificateManagerCertificateDetails_subject' - The name of the entity that is associated with the public key contained
-- in the certificate.
--
-- 'status', 'awsCertificateManagerCertificateDetails_status' - The status of the certificate.
--
-- Valid values: @PENDING_VALIDATION@ | @ISSUED@ | @INACTIVE@ | @EXPIRED@ |
-- @VALIDATION_TIMED_OUT@ | @REVOKED@ | @FAILED@
--
-- 'failureReason', 'awsCertificateManagerCertificateDetails_failureReason' - For a failed certificate request, the reason for the failure.
--
-- Valid values: @NO_AVAILABLE_CONTACTS@ |
-- @ADDITIONAL_VERIFICATION_REQUIRED@ | @DOMAIN_NOT_ALLOWED@ |
-- @INVALID_PUBLIC_DOMAIN@ | @DOMAIN_VALIDATION_DENIED@ | @CAA_ERROR@ |
-- @PCA_LIMIT_EXCEEDED@ | @PCA_INVALID_ARN@ | @PCA_INVALID_STATE@ |
-- @PCA_REQUEST_FAILED@ | @PCA_NAME_CONSTRAINTS_VALIDATION@ |
-- @PCA_RESOURCE_NOT_FOUND@ | @PCA_INVALID_ARGS@ | @PCA_INVALID_DURATION@ |
-- @PCA_ACCESS_DENIED@ | @SLR_NOT_FOUND@ | @OTHER@
--
-- 'subjectAlternativeNames', 'awsCertificateManagerCertificateDetails_subjectAlternativeNames' - One or more domain names (subject alternative names) included in the
-- certificate. This list contains the domain names that are bound to the
-- public key that is contained in the certificate.
--
-- The subject alternative names include the canonical domain name (CN) of
-- the certificate and additional domain names that can be used to connect
-- to the website.
--
-- 'inUseBy', 'awsCertificateManagerCertificateDetails_inUseBy' - The list of ARNs for the Amazon Web Services resources that use the
-- certificate.
--
-- 'createdAt', 'awsCertificateManagerCertificateDetails_createdAt' - Indicates when the certificate was requested.
--
-- Uses the @date-time@ format specified in
-- <https://tools.ietf.org/html/rfc3339#section-5.6 RFC 3339 section 5.6, Internet Date\/Time Format>.
-- The value cannot contain spaces. For example,
-- @2020-03-22T13:22:13.933Z@.
--
-- 'serial', 'awsCertificateManagerCertificateDetails_serial' - The serial number of the certificate.
--
-- 'renewalEligibility', 'awsCertificateManagerCertificateDetails_renewalEligibility' - Whether the certificate is eligible for renewal.
--
-- Valid values: @ELIGIBLE@ | @INELIGIBLE@
--
-- 'extendedKeyUsages', 'awsCertificateManagerCertificateDetails_extendedKeyUsages' - Contains a list of Extended Key Usage X.509 v3 extension objects. Each
-- object specifies a purpose for which the certificate public key can be
-- used and consists of a name and an object identifier (OID).
--
-- 'importedAt', 'awsCertificateManagerCertificateDetails_importedAt' - Indicates when the certificate was imported. Provided if the certificate
-- type is @IMPORTED@.
--
-- Uses the @date-time@ format specified in
-- <https://tools.ietf.org/html/rfc3339#section-5.6 RFC 3339 section 5.6, Internet Date\/Time Format>.
-- The value cannot contain spaces. For example,
-- @2020-03-22T13:22:13.933Z@.
--
-- 'keyUsages', 'awsCertificateManagerCertificateDetails_keyUsages' - A list of key usage X.509 v3 extension objects.
--
-- 'notBefore', 'awsCertificateManagerCertificateDetails_notBefore' - The time before which the certificate is not valid.
--
-- Uses the @date-time@ format specified in
-- <https://tools.ietf.org/html/rfc3339#section-5.6 RFC 3339 section 5.6, Internet Date\/Time Format>.
-- The value cannot contain spaces. For example,
-- @2020-03-22T13:22:13.933Z@.
--
-- 'domainName', 'awsCertificateManagerCertificateDetails_domainName' - The fully qualified domain name (FQDN), such as www.example.com, that is
-- secured by the certificate.
--
-- 'renewalSummary', 'awsCertificateManagerCertificateDetails_renewalSummary' - Information about the status of the Certificate Manager managed renewal
-- for the certificate. Provided only when the certificate type is
-- @AMAZON_ISSUED@.
--
-- 'keyAlgorithm', 'awsCertificateManagerCertificateDetails_keyAlgorithm' - The algorithm that was used to generate the public-private key pair.
--
-- Valid values: @RSA_2048@ | @RSA_1024@ |@ RSA_4096@ | @EC_prime256v1@ |
-- @EC_secp384r1@ | @EC_secp521r1@
--
-- 'type'', 'awsCertificateManagerCertificateDetails_type' - The source of the certificate. For certificates that Certificate Manager
-- provides, @Type@ is @AMAZON_ISSUED@. For certificates that are imported
-- with @ImportCertificate@, @Type@ is @IMPORTED@.
--
-- Valid values: @IMPORTED@ | @AMAZON_ISSUED@ | @PRIVATE@
--
-- 'options', 'awsCertificateManagerCertificateDetails_options' - Provides a value that specifies whether to add the certificate to a
-- transparency log.
--
-- 'issuedAt', 'awsCertificateManagerCertificateDetails_issuedAt' - Indicates when the certificate was issued. Provided if the certificate
-- type is @AMAZON_ISSUED@.
--
-- Uses the @date-time@ format specified in
-- <https://tools.ietf.org/html/rfc3339#section-5.6 RFC 3339 section 5.6, Internet Date\/Time Format>.
-- The value cannot contain spaces. For example,
-- @2020-03-22T13:22:13.933Z@.
--
-- 'signatureAlgorithm', 'awsCertificateManagerCertificateDetails_signatureAlgorithm' - The algorithm that was used to sign the certificate.
--
-- 'domainValidationOptions', 'awsCertificateManagerCertificateDetails_domainValidationOptions' - Contains information about the initial validation of each domain name
-- that occurs as a result of the @RequestCertificate@ request.
--
-- Only provided if the certificate type is @AMAZON_ISSUED@.
--
-- 'issuer', 'awsCertificateManagerCertificateDetails_issuer' - The name of the certificate authority that issued and signed the
-- certificate.
--
-- 'notAfter', 'awsCertificateManagerCertificateDetails_notAfter' - The time after which the certificate becomes invalid.
--
-- Uses the @date-time@ format specified in
-- <https://tools.ietf.org/html/rfc3339#section-5.6 RFC 3339 section 5.6, Internet Date\/Time Format>.
-- The value cannot contain spaces. For example,
-- @2020-03-22T13:22:13.933Z@.
--
-- 'certificateAuthorityArn', 'awsCertificateManagerCertificateDetails_certificateAuthorityArn' - The ARN of the private certificate authority (CA) that will be used to
-- issue the certificate.
newAwsCertificateManagerCertificateDetails ::
  AwsCertificateManagerCertificateDetails
newAwsCertificateManagerCertificateDetails :: AwsCertificateManagerCertificateDetails
newAwsCertificateManagerCertificateDetails =
  AwsCertificateManagerCertificateDetails' :: Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe [Text]
-> Maybe [Text]
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe [AwsCertificateManagerCertificateExtendedKeyUsage]
-> Maybe Text
-> Maybe [AwsCertificateManagerCertificateKeyUsage]
-> Maybe Text
-> Maybe Text
-> Maybe AwsCertificateManagerCertificateRenewalSummary
-> Maybe Text
-> Maybe Text
-> Maybe AwsCertificateManagerCertificateOptions
-> Maybe Text
-> Maybe Text
-> Maybe [AwsCertificateManagerCertificateDomainValidationOption]
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> AwsCertificateManagerCertificateDetails
AwsCertificateManagerCertificateDetails'
    { $sel:subject:AwsCertificateManagerCertificateDetails' :: Maybe Text
subject =
        Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:status:AwsCertificateManagerCertificateDetails' :: Maybe Text
status = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:failureReason:AwsCertificateManagerCertificateDetails' :: Maybe Text
failureReason = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:subjectAlternativeNames:AwsCertificateManagerCertificateDetails' :: Maybe [Text]
subjectAlternativeNames =
        Maybe [Text]
forall a. Maybe a
Prelude.Nothing,
      $sel:inUseBy:AwsCertificateManagerCertificateDetails' :: Maybe [Text]
inUseBy = Maybe [Text]
forall a. Maybe a
Prelude.Nothing,
      $sel:createdAt:AwsCertificateManagerCertificateDetails' :: Maybe Text
createdAt = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:serial:AwsCertificateManagerCertificateDetails' :: Maybe Text
serial = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:renewalEligibility:AwsCertificateManagerCertificateDetails' :: Maybe Text
renewalEligibility =
        Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:extendedKeyUsages:AwsCertificateManagerCertificateDetails' :: Maybe [AwsCertificateManagerCertificateExtendedKeyUsage]
extendedKeyUsages =
        Maybe [AwsCertificateManagerCertificateExtendedKeyUsage]
forall a. Maybe a
Prelude.Nothing,
      $sel:importedAt:AwsCertificateManagerCertificateDetails' :: Maybe Text
importedAt = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:keyUsages:AwsCertificateManagerCertificateDetails' :: Maybe [AwsCertificateManagerCertificateKeyUsage]
keyUsages = Maybe [AwsCertificateManagerCertificateKeyUsage]
forall a. Maybe a
Prelude.Nothing,
      $sel:notBefore:AwsCertificateManagerCertificateDetails' :: Maybe Text
notBefore = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:domainName:AwsCertificateManagerCertificateDetails' :: Maybe Text
domainName = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:renewalSummary:AwsCertificateManagerCertificateDetails' :: Maybe AwsCertificateManagerCertificateRenewalSummary
renewalSummary = Maybe AwsCertificateManagerCertificateRenewalSummary
forall a. Maybe a
Prelude.Nothing,
      $sel:keyAlgorithm:AwsCertificateManagerCertificateDetails' :: Maybe Text
keyAlgorithm = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:type':AwsCertificateManagerCertificateDetails' :: Maybe Text
type' = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:options:AwsCertificateManagerCertificateDetails' :: Maybe AwsCertificateManagerCertificateOptions
options = Maybe AwsCertificateManagerCertificateOptions
forall a. Maybe a
Prelude.Nothing,
      $sel:issuedAt:AwsCertificateManagerCertificateDetails' :: Maybe Text
issuedAt = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:signatureAlgorithm:AwsCertificateManagerCertificateDetails' :: Maybe Text
signatureAlgorithm =
        Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:domainValidationOptions:AwsCertificateManagerCertificateDetails' :: Maybe [AwsCertificateManagerCertificateDomainValidationOption]
domainValidationOptions =
        Maybe [AwsCertificateManagerCertificateDomainValidationOption]
forall a. Maybe a
Prelude.Nothing,
      $sel:issuer:AwsCertificateManagerCertificateDetails' :: Maybe Text
issuer = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:notAfter:AwsCertificateManagerCertificateDetails' :: Maybe Text
notAfter = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:certificateAuthorityArn:AwsCertificateManagerCertificateDetails' :: Maybe Text
certificateAuthorityArn =
        Maybe Text
forall a. Maybe a
Prelude.Nothing
    }

-- | The name of the entity that is associated with the public key contained
-- in the certificate.
awsCertificateManagerCertificateDetails_subject :: Lens.Lens' AwsCertificateManagerCertificateDetails (Prelude.Maybe Prelude.Text)
awsCertificateManagerCertificateDetails_subject :: (Maybe Text -> f (Maybe Text))
-> AwsCertificateManagerCertificateDetails
-> f AwsCertificateManagerCertificateDetails
awsCertificateManagerCertificateDetails_subject = (AwsCertificateManagerCertificateDetails -> Maybe Text)
-> (AwsCertificateManagerCertificateDetails
    -> Maybe Text -> AwsCertificateManagerCertificateDetails)
-> Lens
     AwsCertificateManagerCertificateDetails
     AwsCertificateManagerCertificateDetails
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsCertificateManagerCertificateDetails' {Maybe Text
subject :: Maybe Text
$sel:subject:AwsCertificateManagerCertificateDetails' :: AwsCertificateManagerCertificateDetails -> Maybe Text
subject} -> Maybe Text
subject) (\s :: AwsCertificateManagerCertificateDetails
s@AwsCertificateManagerCertificateDetails' {} Maybe Text
a -> AwsCertificateManagerCertificateDetails
s {$sel:subject:AwsCertificateManagerCertificateDetails' :: Maybe Text
subject = Maybe Text
a} :: AwsCertificateManagerCertificateDetails)

-- | The status of the certificate.
--
-- Valid values: @PENDING_VALIDATION@ | @ISSUED@ | @INACTIVE@ | @EXPIRED@ |
-- @VALIDATION_TIMED_OUT@ | @REVOKED@ | @FAILED@
awsCertificateManagerCertificateDetails_status :: Lens.Lens' AwsCertificateManagerCertificateDetails (Prelude.Maybe Prelude.Text)
awsCertificateManagerCertificateDetails_status :: (Maybe Text -> f (Maybe Text))
-> AwsCertificateManagerCertificateDetails
-> f AwsCertificateManagerCertificateDetails
awsCertificateManagerCertificateDetails_status = (AwsCertificateManagerCertificateDetails -> Maybe Text)
-> (AwsCertificateManagerCertificateDetails
    -> Maybe Text -> AwsCertificateManagerCertificateDetails)
-> Lens
     AwsCertificateManagerCertificateDetails
     AwsCertificateManagerCertificateDetails
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsCertificateManagerCertificateDetails' {Maybe Text
status :: Maybe Text
$sel:status:AwsCertificateManagerCertificateDetails' :: AwsCertificateManagerCertificateDetails -> Maybe Text
status} -> Maybe Text
status) (\s :: AwsCertificateManagerCertificateDetails
s@AwsCertificateManagerCertificateDetails' {} Maybe Text
a -> AwsCertificateManagerCertificateDetails
s {$sel:status:AwsCertificateManagerCertificateDetails' :: Maybe Text
status = Maybe Text
a} :: AwsCertificateManagerCertificateDetails)

-- | For a failed certificate request, the reason for the failure.
--
-- Valid values: @NO_AVAILABLE_CONTACTS@ |
-- @ADDITIONAL_VERIFICATION_REQUIRED@ | @DOMAIN_NOT_ALLOWED@ |
-- @INVALID_PUBLIC_DOMAIN@ | @DOMAIN_VALIDATION_DENIED@ | @CAA_ERROR@ |
-- @PCA_LIMIT_EXCEEDED@ | @PCA_INVALID_ARN@ | @PCA_INVALID_STATE@ |
-- @PCA_REQUEST_FAILED@ | @PCA_NAME_CONSTRAINTS_VALIDATION@ |
-- @PCA_RESOURCE_NOT_FOUND@ | @PCA_INVALID_ARGS@ | @PCA_INVALID_DURATION@ |
-- @PCA_ACCESS_DENIED@ | @SLR_NOT_FOUND@ | @OTHER@
awsCertificateManagerCertificateDetails_failureReason :: Lens.Lens' AwsCertificateManagerCertificateDetails (Prelude.Maybe Prelude.Text)
awsCertificateManagerCertificateDetails_failureReason :: (Maybe Text -> f (Maybe Text))
-> AwsCertificateManagerCertificateDetails
-> f AwsCertificateManagerCertificateDetails
awsCertificateManagerCertificateDetails_failureReason = (AwsCertificateManagerCertificateDetails -> Maybe Text)
-> (AwsCertificateManagerCertificateDetails
    -> Maybe Text -> AwsCertificateManagerCertificateDetails)
-> Lens
     AwsCertificateManagerCertificateDetails
     AwsCertificateManagerCertificateDetails
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsCertificateManagerCertificateDetails' {Maybe Text
failureReason :: Maybe Text
$sel:failureReason:AwsCertificateManagerCertificateDetails' :: AwsCertificateManagerCertificateDetails -> Maybe Text
failureReason} -> Maybe Text
failureReason) (\s :: AwsCertificateManagerCertificateDetails
s@AwsCertificateManagerCertificateDetails' {} Maybe Text
a -> AwsCertificateManagerCertificateDetails
s {$sel:failureReason:AwsCertificateManagerCertificateDetails' :: Maybe Text
failureReason = Maybe Text
a} :: AwsCertificateManagerCertificateDetails)

-- | One or more domain names (subject alternative names) included in the
-- certificate. This list contains the domain names that are bound to the
-- public key that is contained in the certificate.
--
-- The subject alternative names include the canonical domain name (CN) of
-- the certificate and additional domain names that can be used to connect
-- to the website.
awsCertificateManagerCertificateDetails_subjectAlternativeNames :: Lens.Lens' AwsCertificateManagerCertificateDetails (Prelude.Maybe [Prelude.Text])
awsCertificateManagerCertificateDetails_subjectAlternativeNames :: (Maybe [Text] -> f (Maybe [Text]))
-> AwsCertificateManagerCertificateDetails
-> f AwsCertificateManagerCertificateDetails
awsCertificateManagerCertificateDetails_subjectAlternativeNames = (AwsCertificateManagerCertificateDetails -> Maybe [Text])
-> (AwsCertificateManagerCertificateDetails
    -> Maybe [Text] -> AwsCertificateManagerCertificateDetails)
-> Lens
     AwsCertificateManagerCertificateDetails
     AwsCertificateManagerCertificateDetails
     (Maybe [Text])
     (Maybe [Text])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsCertificateManagerCertificateDetails' {Maybe [Text]
subjectAlternativeNames :: Maybe [Text]
$sel:subjectAlternativeNames:AwsCertificateManagerCertificateDetails' :: AwsCertificateManagerCertificateDetails -> Maybe [Text]
subjectAlternativeNames} -> Maybe [Text]
subjectAlternativeNames) (\s :: AwsCertificateManagerCertificateDetails
s@AwsCertificateManagerCertificateDetails' {} Maybe [Text]
a -> AwsCertificateManagerCertificateDetails
s {$sel:subjectAlternativeNames:AwsCertificateManagerCertificateDetails' :: Maybe [Text]
subjectAlternativeNames = Maybe [Text]
a} :: AwsCertificateManagerCertificateDetails) ((Maybe [Text] -> f (Maybe [Text]))
 -> AwsCertificateManagerCertificateDetails
 -> f AwsCertificateManagerCertificateDetails)
-> ((Maybe [Text] -> f (Maybe [Text]))
    -> Maybe [Text] -> f (Maybe [Text]))
-> (Maybe [Text] -> f (Maybe [Text]))
-> AwsCertificateManagerCertificateDetails
-> f AwsCertificateManagerCertificateDetails
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso [Text] [Text] [Text] [Text]
-> Iso (Maybe [Text]) (Maybe [Text]) (Maybe [Text]) (Maybe [Text])
forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping AnIso [Text] [Text] [Text] [Text]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The list of ARNs for the Amazon Web Services resources that use the
-- certificate.
awsCertificateManagerCertificateDetails_inUseBy :: Lens.Lens' AwsCertificateManagerCertificateDetails (Prelude.Maybe [Prelude.Text])
awsCertificateManagerCertificateDetails_inUseBy :: (Maybe [Text] -> f (Maybe [Text]))
-> AwsCertificateManagerCertificateDetails
-> f AwsCertificateManagerCertificateDetails
awsCertificateManagerCertificateDetails_inUseBy = (AwsCertificateManagerCertificateDetails -> Maybe [Text])
-> (AwsCertificateManagerCertificateDetails
    -> Maybe [Text] -> AwsCertificateManagerCertificateDetails)
-> Lens
     AwsCertificateManagerCertificateDetails
     AwsCertificateManagerCertificateDetails
     (Maybe [Text])
     (Maybe [Text])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsCertificateManagerCertificateDetails' {Maybe [Text]
inUseBy :: Maybe [Text]
$sel:inUseBy:AwsCertificateManagerCertificateDetails' :: AwsCertificateManagerCertificateDetails -> Maybe [Text]
inUseBy} -> Maybe [Text]
inUseBy) (\s :: AwsCertificateManagerCertificateDetails
s@AwsCertificateManagerCertificateDetails' {} Maybe [Text]
a -> AwsCertificateManagerCertificateDetails
s {$sel:inUseBy:AwsCertificateManagerCertificateDetails' :: Maybe [Text]
inUseBy = Maybe [Text]
a} :: AwsCertificateManagerCertificateDetails) ((Maybe [Text] -> f (Maybe [Text]))
 -> AwsCertificateManagerCertificateDetails
 -> f AwsCertificateManagerCertificateDetails)
-> ((Maybe [Text] -> f (Maybe [Text]))
    -> Maybe [Text] -> f (Maybe [Text]))
-> (Maybe [Text] -> f (Maybe [Text]))
-> AwsCertificateManagerCertificateDetails
-> f AwsCertificateManagerCertificateDetails
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso [Text] [Text] [Text] [Text]
-> Iso (Maybe [Text]) (Maybe [Text]) (Maybe [Text]) (Maybe [Text])
forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping AnIso [Text] [Text] [Text] [Text]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Indicates when the certificate was requested.
--
-- Uses the @date-time@ format specified in
-- <https://tools.ietf.org/html/rfc3339#section-5.6 RFC 3339 section 5.6, Internet Date\/Time Format>.
-- The value cannot contain spaces. For example,
-- @2020-03-22T13:22:13.933Z@.
awsCertificateManagerCertificateDetails_createdAt :: Lens.Lens' AwsCertificateManagerCertificateDetails (Prelude.Maybe Prelude.Text)
awsCertificateManagerCertificateDetails_createdAt :: (Maybe Text -> f (Maybe Text))
-> AwsCertificateManagerCertificateDetails
-> f AwsCertificateManagerCertificateDetails
awsCertificateManagerCertificateDetails_createdAt = (AwsCertificateManagerCertificateDetails -> Maybe Text)
-> (AwsCertificateManagerCertificateDetails
    -> Maybe Text -> AwsCertificateManagerCertificateDetails)
-> Lens
     AwsCertificateManagerCertificateDetails
     AwsCertificateManagerCertificateDetails
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsCertificateManagerCertificateDetails' {Maybe Text
createdAt :: Maybe Text
$sel:createdAt:AwsCertificateManagerCertificateDetails' :: AwsCertificateManagerCertificateDetails -> Maybe Text
createdAt} -> Maybe Text
createdAt) (\s :: AwsCertificateManagerCertificateDetails
s@AwsCertificateManagerCertificateDetails' {} Maybe Text
a -> AwsCertificateManagerCertificateDetails
s {$sel:createdAt:AwsCertificateManagerCertificateDetails' :: Maybe Text
createdAt = Maybe Text
a} :: AwsCertificateManagerCertificateDetails)

-- | The serial number of the certificate.
awsCertificateManagerCertificateDetails_serial :: Lens.Lens' AwsCertificateManagerCertificateDetails (Prelude.Maybe Prelude.Text)
awsCertificateManagerCertificateDetails_serial :: (Maybe Text -> f (Maybe Text))
-> AwsCertificateManagerCertificateDetails
-> f AwsCertificateManagerCertificateDetails
awsCertificateManagerCertificateDetails_serial = (AwsCertificateManagerCertificateDetails -> Maybe Text)
-> (AwsCertificateManagerCertificateDetails
    -> Maybe Text -> AwsCertificateManagerCertificateDetails)
-> Lens
     AwsCertificateManagerCertificateDetails
     AwsCertificateManagerCertificateDetails
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsCertificateManagerCertificateDetails' {Maybe Text
serial :: Maybe Text
$sel:serial:AwsCertificateManagerCertificateDetails' :: AwsCertificateManagerCertificateDetails -> Maybe Text
serial} -> Maybe Text
serial) (\s :: AwsCertificateManagerCertificateDetails
s@AwsCertificateManagerCertificateDetails' {} Maybe Text
a -> AwsCertificateManagerCertificateDetails
s {$sel:serial:AwsCertificateManagerCertificateDetails' :: Maybe Text
serial = Maybe Text
a} :: AwsCertificateManagerCertificateDetails)

-- | Whether the certificate is eligible for renewal.
--
-- Valid values: @ELIGIBLE@ | @INELIGIBLE@
awsCertificateManagerCertificateDetails_renewalEligibility :: Lens.Lens' AwsCertificateManagerCertificateDetails (Prelude.Maybe Prelude.Text)
awsCertificateManagerCertificateDetails_renewalEligibility :: (Maybe Text -> f (Maybe Text))
-> AwsCertificateManagerCertificateDetails
-> f AwsCertificateManagerCertificateDetails
awsCertificateManagerCertificateDetails_renewalEligibility = (AwsCertificateManagerCertificateDetails -> Maybe Text)
-> (AwsCertificateManagerCertificateDetails
    -> Maybe Text -> AwsCertificateManagerCertificateDetails)
-> Lens
     AwsCertificateManagerCertificateDetails
     AwsCertificateManagerCertificateDetails
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsCertificateManagerCertificateDetails' {Maybe Text
renewalEligibility :: Maybe Text
$sel:renewalEligibility:AwsCertificateManagerCertificateDetails' :: AwsCertificateManagerCertificateDetails -> Maybe Text
renewalEligibility} -> Maybe Text
renewalEligibility) (\s :: AwsCertificateManagerCertificateDetails
s@AwsCertificateManagerCertificateDetails' {} Maybe Text
a -> AwsCertificateManagerCertificateDetails
s {$sel:renewalEligibility:AwsCertificateManagerCertificateDetails' :: Maybe Text
renewalEligibility = Maybe Text
a} :: AwsCertificateManagerCertificateDetails)

-- | Contains a list of Extended Key Usage X.509 v3 extension objects. Each
-- object specifies a purpose for which the certificate public key can be
-- used and consists of a name and an object identifier (OID).
awsCertificateManagerCertificateDetails_extendedKeyUsages :: Lens.Lens' AwsCertificateManagerCertificateDetails (Prelude.Maybe [AwsCertificateManagerCertificateExtendedKeyUsage])
awsCertificateManagerCertificateDetails_extendedKeyUsages :: (Maybe [AwsCertificateManagerCertificateExtendedKeyUsage]
 -> f (Maybe [AwsCertificateManagerCertificateExtendedKeyUsage]))
-> AwsCertificateManagerCertificateDetails
-> f AwsCertificateManagerCertificateDetails
awsCertificateManagerCertificateDetails_extendedKeyUsages = (AwsCertificateManagerCertificateDetails
 -> Maybe [AwsCertificateManagerCertificateExtendedKeyUsage])
-> (AwsCertificateManagerCertificateDetails
    -> Maybe [AwsCertificateManagerCertificateExtendedKeyUsage]
    -> AwsCertificateManagerCertificateDetails)
-> Lens
     AwsCertificateManagerCertificateDetails
     AwsCertificateManagerCertificateDetails
     (Maybe [AwsCertificateManagerCertificateExtendedKeyUsage])
     (Maybe [AwsCertificateManagerCertificateExtendedKeyUsage])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsCertificateManagerCertificateDetails' {Maybe [AwsCertificateManagerCertificateExtendedKeyUsage]
extendedKeyUsages :: Maybe [AwsCertificateManagerCertificateExtendedKeyUsage]
$sel:extendedKeyUsages:AwsCertificateManagerCertificateDetails' :: AwsCertificateManagerCertificateDetails
-> Maybe [AwsCertificateManagerCertificateExtendedKeyUsage]
extendedKeyUsages} -> Maybe [AwsCertificateManagerCertificateExtendedKeyUsage]
extendedKeyUsages) (\s :: AwsCertificateManagerCertificateDetails
s@AwsCertificateManagerCertificateDetails' {} Maybe [AwsCertificateManagerCertificateExtendedKeyUsage]
a -> AwsCertificateManagerCertificateDetails
s {$sel:extendedKeyUsages:AwsCertificateManagerCertificateDetails' :: Maybe [AwsCertificateManagerCertificateExtendedKeyUsage]
extendedKeyUsages = Maybe [AwsCertificateManagerCertificateExtendedKeyUsage]
a} :: AwsCertificateManagerCertificateDetails) ((Maybe [AwsCertificateManagerCertificateExtendedKeyUsage]
  -> f (Maybe [AwsCertificateManagerCertificateExtendedKeyUsage]))
 -> AwsCertificateManagerCertificateDetails
 -> f AwsCertificateManagerCertificateDetails)
-> ((Maybe [AwsCertificateManagerCertificateExtendedKeyUsage]
     -> f (Maybe [AwsCertificateManagerCertificateExtendedKeyUsage]))
    -> Maybe [AwsCertificateManagerCertificateExtendedKeyUsage]
    -> f (Maybe [AwsCertificateManagerCertificateExtendedKeyUsage]))
-> (Maybe [AwsCertificateManagerCertificateExtendedKeyUsage]
    -> f (Maybe [AwsCertificateManagerCertificateExtendedKeyUsage]))
-> AwsCertificateManagerCertificateDetails
-> f AwsCertificateManagerCertificateDetails
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso
  [AwsCertificateManagerCertificateExtendedKeyUsage]
  [AwsCertificateManagerCertificateExtendedKeyUsage]
  [AwsCertificateManagerCertificateExtendedKeyUsage]
  [AwsCertificateManagerCertificateExtendedKeyUsage]
-> Iso
     (Maybe [AwsCertificateManagerCertificateExtendedKeyUsage])
     (Maybe [AwsCertificateManagerCertificateExtendedKeyUsage])
     (Maybe [AwsCertificateManagerCertificateExtendedKeyUsage])
     (Maybe [AwsCertificateManagerCertificateExtendedKeyUsage])
forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping AnIso
  [AwsCertificateManagerCertificateExtendedKeyUsage]
  [AwsCertificateManagerCertificateExtendedKeyUsage]
  [AwsCertificateManagerCertificateExtendedKeyUsage]
  [AwsCertificateManagerCertificateExtendedKeyUsage]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Indicates when the certificate was imported. Provided if the certificate
-- type is @IMPORTED@.
--
-- Uses the @date-time@ format specified in
-- <https://tools.ietf.org/html/rfc3339#section-5.6 RFC 3339 section 5.6, Internet Date\/Time Format>.
-- The value cannot contain spaces. For example,
-- @2020-03-22T13:22:13.933Z@.
awsCertificateManagerCertificateDetails_importedAt :: Lens.Lens' AwsCertificateManagerCertificateDetails (Prelude.Maybe Prelude.Text)
awsCertificateManagerCertificateDetails_importedAt :: (Maybe Text -> f (Maybe Text))
-> AwsCertificateManagerCertificateDetails
-> f AwsCertificateManagerCertificateDetails
awsCertificateManagerCertificateDetails_importedAt = (AwsCertificateManagerCertificateDetails -> Maybe Text)
-> (AwsCertificateManagerCertificateDetails
    -> Maybe Text -> AwsCertificateManagerCertificateDetails)
-> Lens
     AwsCertificateManagerCertificateDetails
     AwsCertificateManagerCertificateDetails
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsCertificateManagerCertificateDetails' {Maybe Text
importedAt :: Maybe Text
$sel:importedAt:AwsCertificateManagerCertificateDetails' :: AwsCertificateManagerCertificateDetails -> Maybe Text
importedAt} -> Maybe Text
importedAt) (\s :: AwsCertificateManagerCertificateDetails
s@AwsCertificateManagerCertificateDetails' {} Maybe Text
a -> AwsCertificateManagerCertificateDetails
s {$sel:importedAt:AwsCertificateManagerCertificateDetails' :: Maybe Text
importedAt = Maybe Text
a} :: AwsCertificateManagerCertificateDetails)

-- | A list of key usage X.509 v3 extension objects.
awsCertificateManagerCertificateDetails_keyUsages :: Lens.Lens' AwsCertificateManagerCertificateDetails (Prelude.Maybe [AwsCertificateManagerCertificateKeyUsage])
awsCertificateManagerCertificateDetails_keyUsages :: (Maybe [AwsCertificateManagerCertificateKeyUsage]
 -> f (Maybe [AwsCertificateManagerCertificateKeyUsage]))
-> AwsCertificateManagerCertificateDetails
-> f AwsCertificateManagerCertificateDetails
awsCertificateManagerCertificateDetails_keyUsages = (AwsCertificateManagerCertificateDetails
 -> Maybe [AwsCertificateManagerCertificateKeyUsage])
-> (AwsCertificateManagerCertificateDetails
    -> Maybe [AwsCertificateManagerCertificateKeyUsage]
    -> AwsCertificateManagerCertificateDetails)
-> Lens
     AwsCertificateManagerCertificateDetails
     AwsCertificateManagerCertificateDetails
     (Maybe [AwsCertificateManagerCertificateKeyUsage])
     (Maybe [AwsCertificateManagerCertificateKeyUsage])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsCertificateManagerCertificateDetails' {Maybe [AwsCertificateManagerCertificateKeyUsage]
keyUsages :: Maybe [AwsCertificateManagerCertificateKeyUsage]
$sel:keyUsages:AwsCertificateManagerCertificateDetails' :: AwsCertificateManagerCertificateDetails
-> Maybe [AwsCertificateManagerCertificateKeyUsage]
keyUsages} -> Maybe [AwsCertificateManagerCertificateKeyUsage]
keyUsages) (\s :: AwsCertificateManagerCertificateDetails
s@AwsCertificateManagerCertificateDetails' {} Maybe [AwsCertificateManagerCertificateKeyUsage]
a -> AwsCertificateManagerCertificateDetails
s {$sel:keyUsages:AwsCertificateManagerCertificateDetails' :: Maybe [AwsCertificateManagerCertificateKeyUsage]
keyUsages = Maybe [AwsCertificateManagerCertificateKeyUsage]
a} :: AwsCertificateManagerCertificateDetails) ((Maybe [AwsCertificateManagerCertificateKeyUsage]
  -> f (Maybe [AwsCertificateManagerCertificateKeyUsage]))
 -> AwsCertificateManagerCertificateDetails
 -> f AwsCertificateManagerCertificateDetails)
-> ((Maybe [AwsCertificateManagerCertificateKeyUsage]
     -> f (Maybe [AwsCertificateManagerCertificateKeyUsage]))
    -> Maybe [AwsCertificateManagerCertificateKeyUsage]
    -> f (Maybe [AwsCertificateManagerCertificateKeyUsage]))
-> (Maybe [AwsCertificateManagerCertificateKeyUsage]
    -> f (Maybe [AwsCertificateManagerCertificateKeyUsage]))
-> AwsCertificateManagerCertificateDetails
-> f AwsCertificateManagerCertificateDetails
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso
  [AwsCertificateManagerCertificateKeyUsage]
  [AwsCertificateManagerCertificateKeyUsage]
  [AwsCertificateManagerCertificateKeyUsage]
  [AwsCertificateManagerCertificateKeyUsage]
-> Iso
     (Maybe [AwsCertificateManagerCertificateKeyUsage])
     (Maybe [AwsCertificateManagerCertificateKeyUsage])
     (Maybe [AwsCertificateManagerCertificateKeyUsage])
     (Maybe [AwsCertificateManagerCertificateKeyUsage])
forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping AnIso
  [AwsCertificateManagerCertificateKeyUsage]
  [AwsCertificateManagerCertificateKeyUsage]
  [AwsCertificateManagerCertificateKeyUsage]
  [AwsCertificateManagerCertificateKeyUsage]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The time before which the certificate is not valid.
--
-- Uses the @date-time@ format specified in
-- <https://tools.ietf.org/html/rfc3339#section-5.6 RFC 3339 section 5.6, Internet Date\/Time Format>.
-- The value cannot contain spaces. For example,
-- @2020-03-22T13:22:13.933Z@.
awsCertificateManagerCertificateDetails_notBefore :: Lens.Lens' AwsCertificateManagerCertificateDetails (Prelude.Maybe Prelude.Text)
awsCertificateManagerCertificateDetails_notBefore :: (Maybe Text -> f (Maybe Text))
-> AwsCertificateManagerCertificateDetails
-> f AwsCertificateManagerCertificateDetails
awsCertificateManagerCertificateDetails_notBefore = (AwsCertificateManagerCertificateDetails -> Maybe Text)
-> (AwsCertificateManagerCertificateDetails
    -> Maybe Text -> AwsCertificateManagerCertificateDetails)
-> Lens
     AwsCertificateManagerCertificateDetails
     AwsCertificateManagerCertificateDetails
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsCertificateManagerCertificateDetails' {Maybe Text
notBefore :: Maybe Text
$sel:notBefore:AwsCertificateManagerCertificateDetails' :: AwsCertificateManagerCertificateDetails -> Maybe Text
notBefore} -> Maybe Text
notBefore) (\s :: AwsCertificateManagerCertificateDetails
s@AwsCertificateManagerCertificateDetails' {} Maybe Text
a -> AwsCertificateManagerCertificateDetails
s {$sel:notBefore:AwsCertificateManagerCertificateDetails' :: Maybe Text
notBefore = Maybe Text
a} :: AwsCertificateManagerCertificateDetails)

-- | The fully qualified domain name (FQDN), such as www.example.com, that is
-- secured by the certificate.
awsCertificateManagerCertificateDetails_domainName :: Lens.Lens' AwsCertificateManagerCertificateDetails (Prelude.Maybe Prelude.Text)
awsCertificateManagerCertificateDetails_domainName :: (Maybe Text -> f (Maybe Text))
-> AwsCertificateManagerCertificateDetails
-> f AwsCertificateManagerCertificateDetails
awsCertificateManagerCertificateDetails_domainName = (AwsCertificateManagerCertificateDetails -> Maybe Text)
-> (AwsCertificateManagerCertificateDetails
    -> Maybe Text -> AwsCertificateManagerCertificateDetails)
-> Lens
     AwsCertificateManagerCertificateDetails
     AwsCertificateManagerCertificateDetails
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsCertificateManagerCertificateDetails' {Maybe Text
domainName :: Maybe Text
$sel:domainName:AwsCertificateManagerCertificateDetails' :: AwsCertificateManagerCertificateDetails -> Maybe Text
domainName} -> Maybe Text
domainName) (\s :: AwsCertificateManagerCertificateDetails
s@AwsCertificateManagerCertificateDetails' {} Maybe Text
a -> AwsCertificateManagerCertificateDetails
s {$sel:domainName:AwsCertificateManagerCertificateDetails' :: Maybe Text
domainName = Maybe Text
a} :: AwsCertificateManagerCertificateDetails)

-- | Information about the status of the Certificate Manager managed renewal
-- for the certificate. Provided only when the certificate type is
-- @AMAZON_ISSUED@.
awsCertificateManagerCertificateDetails_renewalSummary :: Lens.Lens' AwsCertificateManagerCertificateDetails (Prelude.Maybe AwsCertificateManagerCertificateRenewalSummary)
awsCertificateManagerCertificateDetails_renewalSummary :: (Maybe AwsCertificateManagerCertificateRenewalSummary
 -> f (Maybe AwsCertificateManagerCertificateRenewalSummary))
-> AwsCertificateManagerCertificateDetails
-> f AwsCertificateManagerCertificateDetails
awsCertificateManagerCertificateDetails_renewalSummary = (AwsCertificateManagerCertificateDetails
 -> Maybe AwsCertificateManagerCertificateRenewalSummary)
-> (AwsCertificateManagerCertificateDetails
    -> Maybe AwsCertificateManagerCertificateRenewalSummary
    -> AwsCertificateManagerCertificateDetails)
-> Lens
     AwsCertificateManagerCertificateDetails
     AwsCertificateManagerCertificateDetails
     (Maybe AwsCertificateManagerCertificateRenewalSummary)
     (Maybe AwsCertificateManagerCertificateRenewalSummary)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsCertificateManagerCertificateDetails' {Maybe AwsCertificateManagerCertificateRenewalSummary
renewalSummary :: Maybe AwsCertificateManagerCertificateRenewalSummary
$sel:renewalSummary:AwsCertificateManagerCertificateDetails' :: AwsCertificateManagerCertificateDetails
-> Maybe AwsCertificateManagerCertificateRenewalSummary
renewalSummary} -> Maybe AwsCertificateManagerCertificateRenewalSummary
renewalSummary) (\s :: AwsCertificateManagerCertificateDetails
s@AwsCertificateManagerCertificateDetails' {} Maybe AwsCertificateManagerCertificateRenewalSummary
a -> AwsCertificateManagerCertificateDetails
s {$sel:renewalSummary:AwsCertificateManagerCertificateDetails' :: Maybe AwsCertificateManagerCertificateRenewalSummary
renewalSummary = Maybe AwsCertificateManagerCertificateRenewalSummary
a} :: AwsCertificateManagerCertificateDetails)

-- | The algorithm that was used to generate the public-private key pair.
--
-- Valid values: @RSA_2048@ | @RSA_1024@ |@ RSA_4096@ | @EC_prime256v1@ |
-- @EC_secp384r1@ | @EC_secp521r1@
awsCertificateManagerCertificateDetails_keyAlgorithm :: Lens.Lens' AwsCertificateManagerCertificateDetails (Prelude.Maybe Prelude.Text)
awsCertificateManagerCertificateDetails_keyAlgorithm :: (Maybe Text -> f (Maybe Text))
-> AwsCertificateManagerCertificateDetails
-> f AwsCertificateManagerCertificateDetails
awsCertificateManagerCertificateDetails_keyAlgorithm = (AwsCertificateManagerCertificateDetails -> Maybe Text)
-> (AwsCertificateManagerCertificateDetails
    -> Maybe Text -> AwsCertificateManagerCertificateDetails)
-> Lens
     AwsCertificateManagerCertificateDetails
     AwsCertificateManagerCertificateDetails
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsCertificateManagerCertificateDetails' {Maybe Text
keyAlgorithm :: Maybe Text
$sel:keyAlgorithm:AwsCertificateManagerCertificateDetails' :: AwsCertificateManagerCertificateDetails -> Maybe Text
keyAlgorithm} -> Maybe Text
keyAlgorithm) (\s :: AwsCertificateManagerCertificateDetails
s@AwsCertificateManagerCertificateDetails' {} Maybe Text
a -> AwsCertificateManagerCertificateDetails
s {$sel:keyAlgorithm:AwsCertificateManagerCertificateDetails' :: Maybe Text
keyAlgorithm = Maybe Text
a} :: AwsCertificateManagerCertificateDetails)

-- | The source of the certificate. For certificates that Certificate Manager
-- provides, @Type@ is @AMAZON_ISSUED@. For certificates that are imported
-- with @ImportCertificate@, @Type@ is @IMPORTED@.
--
-- Valid values: @IMPORTED@ | @AMAZON_ISSUED@ | @PRIVATE@
awsCertificateManagerCertificateDetails_type :: Lens.Lens' AwsCertificateManagerCertificateDetails (Prelude.Maybe Prelude.Text)
awsCertificateManagerCertificateDetails_type :: (Maybe Text -> f (Maybe Text))
-> AwsCertificateManagerCertificateDetails
-> f AwsCertificateManagerCertificateDetails
awsCertificateManagerCertificateDetails_type = (AwsCertificateManagerCertificateDetails -> Maybe Text)
-> (AwsCertificateManagerCertificateDetails
    -> Maybe Text -> AwsCertificateManagerCertificateDetails)
-> Lens
     AwsCertificateManagerCertificateDetails
     AwsCertificateManagerCertificateDetails
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsCertificateManagerCertificateDetails' {Maybe Text
type' :: Maybe Text
$sel:type':AwsCertificateManagerCertificateDetails' :: AwsCertificateManagerCertificateDetails -> Maybe Text
type'} -> Maybe Text
type') (\s :: AwsCertificateManagerCertificateDetails
s@AwsCertificateManagerCertificateDetails' {} Maybe Text
a -> AwsCertificateManagerCertificateDetails
s {$sel:type':AwsCertificateManagerCertificateDetails' :: Maybe Text
type' = Maybe Text
a} :: AwsCertificateManagerCertificateDetails)

-- | Provides a value that specifies whether to add the certificate to a
-- transparency log.
awsCertificateManagerCertificateDetails_options :: Lens.Lens' AwsCertificateManagerCertificateDetails (Prelude.Maybe AwsCertificateManagerCertificateOptions)
awsCertificateManagerCertificateDetails_options :: (Maybe AwsCertificateManagerCertificateOptions
 -> f (Maybe AwsCertificateManagerCertificateOptions))
-> AwsCertificateManagerCertificateDetails
-> f AwsCertificateManagerCertificateDetails
awsCertificateManagerCertificateDetails_options = (AwsCertificateManagerCertificateDetails
 -> Maybe AwsCertificateManagerCertificateOptions)
-> (AwsCertificateManagerCertificateDetails
    -> Maybe AwsCertificateManagerCertificateOptions
    -> AwsCertificateManagerCertificateDetails)
-> Lens
     AwsCertificateManagerCertificateDetails
     AwsCertificateManagerCertificateDetails
     (Maybe AwsCertificateManagerCertificateOptions)
     (Maybe AwsCertificateManagerCertificateOptions)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsCertificateManagerCertificateDetails' {Maybe AwsCertificateManagerCertificateOptions
options :: Maybe AwsCertificateManagerCertificateOptions
$sel:options:AwsCertificateManagerCertificateDetails' :: AwsCertificateManagerCertificateDetails
-> Maybe AwsCertificateManagerCertificateOptions
options} -> Maybe AwsCertificateManagerCertificateOptions
options) (\s :: AwsCertificateManagerCertificateDetails
s@AwsCertificateManagerCertificateDetails' {} Maybe AwsCertificateManagerCertificateOptions
a -> AwsCertificateManagerCertificateDetails
s {$sel:options:AwsCertificateManagerCertificateDetails' :: Maybe AwsCertificateManagerCertificateOptions
options = Maybe AwsCertificateManagerCertificateOptions
a} :: AwsCertificateManagerCertificateDetails)

-- | Indicates when the certificate was issued. Provided if the certificate
-- type is @AMAZON_ISSUED@.
--
-- Uses the @date-time@ format specified in
-- <https://tools.ietf.org/html/rfc3339#section-5.6 RFC 3339 section 5.6, Internet Date\/Time Format>.
-- The value cannot contain spaces. For example,
-- @2020-03-22T13:22:13.933Z@.
awsCertificateManagerCertificateDetails_issuedAt :: Lens.Lens' AwsCertificateManagerCertificateDetails (Prelude.Maybe Prelude.Text)
awsCertificateManagerCertificateDetails_issuedAt :: (Maybe Text -> f (Maybe Text))
-> AwsCertificateManagerCertificateDetails
-> f AwsCertificateManagerCertificateDetails
awsCertificateManagerCertificateDetails_issuedAt = (AwsCertificateManagerCertificateDetails -> Maybe Text)
-> (AwsCertificateManagerCertificateDetails
    -> Maybe Text -> AwsCertificateManagerCertificateDetails)
-> Lens
     AwsCertificateManagerCertificateDetails
     AwsCertificateManagerCertificateDetails
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsCertificateManagerCertificateDetails' {Maybe Text
issuedAt :: Maybe Text
$sel:issuedAt:AwsCertificateManagerCertificateDetails' :: AwsCertificateManagerCertificateDetails -> Maybe Text
issuedAt} -> Maybe Text
issuedAt) (\s :: AwsCertificateManagerCertificateDetails
s@AwsCertificateManagerCertificateDetails' {} Maybe Text
a -> AwsCertificateManagerCertificateDetails
s {$sel:issuedAt:AwsCertificateManagerCertificateDetails' :: Maybe Text
issuedAt = Maybe Text
a} :: AwsCertificateManagerCertificateDetails)

-- | The algorithm that was used to sign the certificate.
awsCertificateManagerCertificateDetails_signatureAlgorithm :: Lens.Lens' AwsCertificateManagerCertificateDetails (Prelude.Maybe Prelude.Text)
awsCertificateManagerCertificateDetails_signatureAlgorithm :: (Maybe Text -> f (Maybe Text))
-> AwsCertificateManagerCertificateDetails
-> f AwsCertificateManagerCertificateDetails
awsCertificateManagerCertificateDetails_signatureAlgorithm = (AwsCertificateManagerCertificateDetails -> Maybe Text)
-> (AwsCertificateManagerCertificateDetails
    -> Maybe Text -> AwsCertificateManagerCertificateDetails)
-> Lens
     AwsCertificateManagerCertificateDetails
     AwsCertificateManagerCertificateDetails
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsCertificateManagerCertificateDetails' {Maybe Text
signatureAlgorithm :: Maybe Text
$sel:signatureAlgorithm:AwsCertificateManagerCertificateDetails' :: AwsCertificateManagerCertificateDetails -> Maybe Text
signatureAlgorithm} -> Maybe Text
signatureAlgorithm) (\s :: AwsCertificateManagerCertificateDetails
s@AwsCertificateManagerCertificateDetails' {} Maybe Text
a -> AwsCertificateManagerCertificateDetails
s {$sel:signatureAlgorithm:AwsCertificateManagerCertificateDetails' :: Maybe Text
signatureAlgorithm = Maybe Text
a} :: AwsCertificateManagerCertificateDetails)

-- | Contains information about the initial validation of each domain name
-- that occurs as a result of the @RequestCertificate@ request.
--
-- Only provided if the certificate type is @AMAZON_ISSUED@.
awsCertificateManagerCertificateDetails_domainValidationOptions :: Lens.Lens' AwsCertificateManagerCertificateDetails (Prelude.Maybe [AwsCertificateManagerCertificateDomainValidationOption])
awsCertificateManagerCertificateDetails_domainValidationOptions :: (Maybe [AwsCertificateManagerCertificateDomainValidationOption]
 -> f (Maybe
         [AwsCertificateManagerCertificateDomainValidationOption]))
-> AwsCertificateManagerCertificateDetails
-> f AwsCertificateManagerCertificateDetails
awsCertificateManagerCertificateDetails_domainValidationOptions = (AwsCertificateManagerCertificateDetails
 -> Maybe [AwsCertificateManagerCertificateDomainValidationOption])
-> (AwsCertificateManagerCertificateDetails
    -> Maybe [AwsCertificateManagerCertificateDomainValidationOption]
    -> AwsCertificateManagerCertificateDetails)
-> Lens
     AwsCertificateManagerCertificateDetails
     AwsCertificateManagerCertificateDetails
     (Maybe [AwsCertificateManagerCertificateDomainValidationOption])
     (Maybe [AwsCertificateManagerCertificateDomainValidationOption])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsCertificateManagerCertificateDetails' {Maybe [AwsCertificateManagerCertificateDomainValidationOption]
domainValidationOptions :: Maybe [AwsCertificateManagerCertificateDomainValidationOption]
$sel:domainValidationOptions:AwsCertificateManagerCertificateDetails' :: AwsCertificateManagerCertificateDetails
-> Maybe [AwsCertificateManagerCertificateDomainValidationOption]
domainValidationOptions} -> Maybe [AwsCertificateManagerCertificateDomainValidationOption]
domainValidationOptions) (\s :: AwsCertificateManagerCertificateDetails
s@AwsCertificateManagerCertificateDetails' {} Maybe [AwsCertificateManagerCertificateDomainValidationOption]
a -> AwsCertificateManagerCertificateDetails
s {$sel:domainValidationOptions:AwsCertificateManagerCertificateDetails' :: Maybe [AwsCertificateManagerCertificateDomainValidationOption]
domainValidationOptions = Maybe [AwsCertificateManagerCertificateDomainValidationOption]
a} :: AwsCertificateManagerCertificateDetails) ((Maybe [AwsCertificateManagerCertificateDomainValidationOption]
  -> f (Maybe
          [AwsCertificateManagerCertificateDomainValidationOption]))
 -> AwsCertificateManagerCertificateDetails
 -> f AwsCertificateManagerCertificateDetails)
-> ((Maybe [AwsCertificateManagerCertificateDomainValidationOption]
     -> f (Maybe
             [AwsCertificateManagerCertificateDomainValidationOption]))
    -> Maybe [AwsCertificateManagerCertificateDomainValidationOption]
    -> f (Maybe
            [AwsCertificateManagerCertificateDomainValidationOption]))
-> (Maybe [AwsCertificateManagerCertificateDomainValidationOption]
    -> f (Maybe
            [AwsCertificateManagerCertificateDomainValidationOption]))
-> AwsCertificateManagerCertificateDetails
-> f AwsCertificateManagerCertificateDetails
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso
  [AwsCertificateManagerCertificateDomainValidationOption]
  [AwsCertificateManagerCertificateDomainValidationOption]
  [AwsCertificateManagerCertificateDomainValidationOption]
  [AwsCertificateManagerCertificateDomainValidationOption]
-> Iso
     (Maybe [AwsCertificateManagerCertificateDomainValidationOption])
     (Maybe [AwsCertificateManagerCertificateDomainValidationOption])
     (Maybe [AwsCertificateManagerCertificateDomainValidationOption])
     (Maybe [AwsCertificateManagerCertificateDomainValidationOption])
forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping AnIso
  [AwsCertificateManagerCertificateDomainValidationOption]
  [AwsCertificateManagerCertificateDomainValidationOption]
  [AwsCertificateManagerCertificateDomainValidationOption]
  [AwsCertificateManagerCertificateDomainValidationOption]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The name of the certificate authority that issued and signed the
-- certificate.
awsCertificateManagerCertificateDetails_issuer :: Lens.Lens' AwsCertificateManagerCertificateDetails (Prelude.Maybe Prelude.Text)
awsCertificateManagerCertificateDetails_issuer :: (Maybe Text -> f (Maybe Text))
-> AwsCertificateManagerCertificateDetails
-> f AwsCertificateManagerCertificateDetails
awsCertificateManagerCertificateDetails_issuer = (AwsCertificateManagerCertificateDetails -> Maybe Text)
-> (AwsCertificateManagerCertificateDetails
    -> Maybe Text -> AwsCertificateManagerCertificateDetails)
-> Lens
     AwsCertificateManagerCertificateDetails
     AwsCertificateManagerCertificateDetails
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsCertificateManagerCertificateDetails' {Maybe Text
issuer :: Maybe Text
$sel:issuer:AwsCertificateManagerCertificateDetails' :: AwsCertificateManagerCertificateDetails -> Maybe Text
issuer} -> Maybe Text
issuer) (\s :: AwsCertificateManagerCertificateDetails
s@AwsCertificateManagerCertificateDetails' {} Maybe Text
a -> AwsCertificateManagerCertificateDetails
s {$sel:issuer:AwsCertificateManagerCertificateDetails' :: Maybe Text
issuer = Maybe Text
a} :: AwsCertificateManagerCertificateDetails)

-- | The time after which the certificate becomes invalid.
--
-- Uses the @date-time@ format specified in
-- <https://tools.ietf.org/html/rfc3339#section-5.6 RFC 3339 section 5.6, Internet Date\/Time Format>.
-- The value cannot contain spaces. For example,
-- @2020-03-22T13:22:13.933Z@.
awsCertificateManagerCertificateDetails_notAfter :: Lens.Lens' AwsCertificateManagerCertificateDetails (Prelude.Maybe Prelude.Text)
awsCertificateManagerCertificateDetails_notAfter :: (Maybe Text -> f (Maybe Text))
-> AwsCertificateManagerCertificateDetails
-> f AwsCertificateManagerCertificateDetails
awsCertificateManagerCertificateDetails_notAfter = (AwsCertificateManagerCertificateDetails -> Maybe Text)
-> (AwsCertificateManagerCertificateDetails
    -> Maybe Text -> AwsCertificateManagerCertificateDetails)
-> Lens
     AwsCertificateManagerCertificateDetails
     AwsCertificateManagerCertificateDetails
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsCertificateManagerCertificateDetails' {Maybe Text
notAfter :: Maybe Text
$sel:notAfter:AwsCertificateManagerCertificateDetails' :: AwsCertificateManagerCertificateDetails -> Maybe Text
notAfter} -> Maybe Text
notAfter) (\s :: AwsCertificateManagerCertificateDetails
s@AwsCertificateManagerCertificateDetails' {} Maybe Text
a -> AwsCertificateManagerCertificateDetails
s {$sel:notAfter:AwsCertificateManagerCertificateDetails' :: Maybe Text
notAfter = Maybe Text
a} :: AwsCertificateManagerCertificateDetails)

-- | The ARN of the private certificate authority (CA) that will be used to
-- issue the certificate.
awsCertificateManagerCertificateDetails_certificateAuthorityArn :: Lens.Lens' AwsCertificateManagerCertificateDetails (Prelude.Maybe Prelude.Text)
awsCertificateManagerCertificateDetails_certificateAuthorityArn :: (Maybe Text -> f (Maybe Text))
-> AwsCertificateManagerCertificateDetails
-> f AwsCertificateManagerCertificateDetails
awsCertificateManagerCertificateDetails_certificateAuthorityArn = (AwsCertificateManagerCertificateDetails -> Maybe Text)
-> (AwsCertificateManagerCertificateDetails
    -> Maybe Text -> AwsCertificateManagerCertificateDetails)
-> Lens
     AwsCertificateManagerCertificateDetails
     AwsCertificateManagerCertificateDetails
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsCertificateManagerCertificateDetails' {Maybe Text
certificateAuthorityArn :: Maybe Text
$sel:certificateAuthorityArn:AwsCertificateManagerCertificateDetails' :: AwsCertificateManagerCertificateDetails -> Maybe Text
certificateAuthorityArn} -> Maybe Text
certificateAuthorityArn) (\s :: AwsCertificateManagerCertificateDetails
s@AwsCertificateManagerCertificateDetails' {} Maybe Text
a -> AwsCertificateManagerCertificateDetails
s {$sel:certificateAuthorityArn:AwsCertificateManagerCertificateDetails' :: Maybe Text
certificateAuthorityArn = Maybe Text
a} :: AwsCertificateManagerCertificateDetails)

instance
  Core.FromJSON
    AwsCertificateManagerCertificateDetails
  where
  parseJSON :: Value -> Parser AwsCertificateManagerCertificateDetails
parseJSON =
    String
-> (Object -> Parser AwsCertificateManagerCertificateDetails)
-> Value
-> Parser AwsCertificateManagerCertificateDetails
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Core.withObject
      String
"AwsCertificateManagerCertificateDetails"
      ( \Object
x ->
          Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe [Text]
-> Maybe [Text]
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe [AwsCertificateManagerCertificateExtendedKeyUsage]
-> Maybe Text
-> Maybe [AwsCertificateManagerCertificateKeyUsage]
-> Maybe Text
-> Maybe Text
-> Maybe AwsCertificateManagerCertificateRenewalSummary
-> Maybe Text
-> Maybe Text
-> Maybe AwsCertificateManagerCertificateOptions
-> Maybe Text
-> Maybe Text
-> Maybe [AwsCertificateManagerCertificateDomainValidationOption]
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> AwsCertificateManagerCertificateDetails
AwsCertificateManagerCertificateDetails'
            (Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe [Text]
 -> Maybe [Text]
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe [AwsCertificateManagerCertificateExtendedKeyUsage]
 -> Maybe Text
 -> Maybe [AwsCertificateManagerCertificateKeyUsage]
 -> Maybe Text
 -> Maybe Text
 -> Maybe AwsCertificateManagerCertificateRenewalSummary
 -> Maybe Text
 -> Maybe Text
 -> Maybe AwsCertificateManagerCertificateOptions
 -> Maybe Text
 -> Maybe Text
 -> Maybe [AwsCertificateManagerCertificateDomainValidationOption]
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> AwsCertificateManagerCertificateDetails)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsCertificateManagerCertificateExtendedKeyUsage]
      -> Maybe Text
      -> Maybe [AwsCertificateManagerCertificateKeyUsage]
      -> Maybe Text
      -> Maybe Text
      -> Maybe AwsCertificateManagerCertificateRenewalSummary
      -> Maybe Text
      -> Maybe Text
      -> Maybe AwsCertificateManagerCertificateOptions
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsCertificateManagerCertificateDomainValidationOption]
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> AwsCertificateManagerCertificateDetails)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Subject")
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsCertificateManagerCertificateExtendedKeyUsage]
   -> Maybe Text
   -> Maybe [AwsCertificateManagerCertificateKeyUsage]
   -> Maybe Text
   -> Maybe Text
   -> Maybe AwsCertificateManagerCertificateRenewalSummary
   -> Maybe Text
   -> Maybe Text
   -> Maybe AwsCertificateManagerCertificateOptions
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsCertificateManagerCertificateDomainValidationOption]
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> AwsCertificateManagerCertificateDetails)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe [Text]
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsCertificateManagerCertificateExtendedKeyUsage]
      -> Maybe Text
      -> Maybe [AwsCertificateManagerCertificateKeyUsage]
      -> Maybe Text
      -> Maybe Text
      -> Maybe AwsCertificateManagerCertificateRenewalSummary
      -> Maybe Text
      -> Maybe Text
      -> Maybe AwsCertificateManagerCertificateOptions
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsCertificateManagerCertificateDomainValidationOption]
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> AwsCertificateManagerCertificateDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Status")
            Parser
  (Maybe Text
   -> Maybe [Text]
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsCertificateManagerCertificateExtendedKeyUsage]
   -> Maybe Text
   -> Maybe [AwsCertificateManagerCertificateKeyUsage]
   -> Maybe Text
   -> Maybe Text
   -> Maybe AwsCertificateManagerCertificateRenewalSummary
   -> Maybe Text
   -> Maybe Text
   -> Maybe AwsCertificateManagerCertificateOptions
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsCertificateManagerCertificateDomainValidationOption]
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> AwsCertificateManagerCertificateDetails)
-> Parser (Maybe Text)
-> Parser
     (Maybe [Text]
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsCertificateManagerCertificateExtendedKeyUsage]
      -> Maybe Text
      -> Maybe [AwsCertificateManagerCertificateKeyUsage]
      -> Maybe Text
      -> Maybe Text
      -> Maybe AwsCertificateManagerCertificateRenewalSummary
      -> Maybe Text
      -> Maybe Text
      -> Maybe AwsCertificateManagerCertificateOptions
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsCertificateManagerCertificateDomainValidationOption]
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> AwsCertificateManagerCertificateDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"FailureReason")
            Parser
  (Maybe [Text]
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsCertificateManagerCertificateExtendedKeyUsage]
   -> Maybe Text
   -> Maybe [AwsCertificateManagerCertificateKeyUsage]
   -> Maybe Text
   -> Maybe Text
   -> Maybe AwsCertificateManagerCertificateRenewalSummary
   -> Maybe Text
   -> Maybe Text
   -> Maybe AwsCertificateManagerCertificateOptions
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsCertificateManagerCertificateDomainValidationOption]
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> AwsCertificateManagerCertificateDetails)
-> Parser (Maybe [Text])
-> Parser
     (Maybe [Text]
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsCertificateManagerCertificateExtendedKeyUsage]
      -> Maybe Text
      -> Maybe [AwsCertificateManagerCertificateKeyUsage]
      -> Maybe Text
      -> Maybe Text
      -> Maybe AwsCertificateManagerCertificateRenewalSummary
      -> Maybe Text
      -> Maybe Text
      -> Maybe AwsCertificateManagerCertificateOptions
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsCertificateManagerCertificateDomainValidationOption]
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> AwsCertificateManagerCertificateDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( Object
x Object -> Text -> Parser (Maybe (Maybe [Text]))
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"SubjectAlternativeNames"
                            Parser (Maybe (Maybe [Text]))
-> Maybe [Text] -> Parser (Maybe [Text])
forall a. Parser (Maybe a) -> a -> Parser a
Core..!= Maybe [Text]
forall a. Monoid a => a
Prelude.mempty
                        )
            Parser
  (Maybe [Text]
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsCertificateManagerCertificateExtendedKeyUsage]
   -> Maybe Text
   -> Maybe [AwsCertificateManagerCertificateKeyUsage]
   -> Maybe Text
   -> Maybe Text
   -> Maybe AwsCertificateManagerCertificateRenewalSummary
   -> Maybe Text
   -> Maybe Text
   -> Maybe AwsCertificateManagerCertificateOptions
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsCertificateManagerCertificateDomainValidationOption]
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> AwsCertificateManagerCertificateDetails)
-> Parser (Maybe [Text])
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsCertificateManagerCertificateExtendedKeyUsage]
      -> Maybe Text
      -> Maybe [AwsCertificateManagerCertificateKeyUsage]
      -> Maybe Text
      -> Maybe Text
      -> Maybe AwsCertificateManagerCertificateRenewalSummary
      -> Maybe Text
      -> Maybe Text
      -> Maybe AwsCertificateManagerCertificateOptions
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsCertificateManagerCertificateDomainValidationOption]
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> AwsCertificateManagerCertificateDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe (Maybe [Text]))
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"InUseBy" Parser (Maybe (Maybe [Text]))
-> Maybe [Text] -> Parser (Maybe [Text])
forall a. Parser (Maybe a) -> a -> Parser a
Core..!= Maybe [Text]
forall a. Monoid a => a
Prelude.mempty)
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsCertificateManagerCertificateExtendedKeyUsage]
   -> Maybe Text
   -> Maybe [AwsCertificateManagerCertificateKeyUsage]
   -> Maybe Text
   -> Maybe Text
   -> Maybe AwsCertificateManagerCertificateRenewalSummary
   -> Maybe Text
   -> Maybe Text
   -> Maybe AwsCertificateManagerCertificateOptions
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsCertificateManagerCertificateDomainValidationOption]
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> AwsCertificateManagerCertificateDetails)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe [AwsCertificateManagerCertificateExtendedKeyUsage]
      -> Maybe Text
      -> Maybe [AwsCertificateManagerCertificateKeyUsage]
      -> Maybe Text
      -> Maybe Text
      -> Maybe AwsCertificateManagerCertificateRenewalSummary
      -> Maybe Text
      -> Maybe Text
      -> Maybe AwsCertificateManagerCertificateOptions
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsCertificateManagerCertificateDomainValidationOption]
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> AwsCertificateManagerCertificateDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"CreatedAt")
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe [AwsCertificateManagerCertificateExtendedKeyUsage]
   -> Maybe Text
   -> Maybe [AwsCertificateManagerCertificateKeyUsage]
   -> Maybe Text
   -> Maybe Text
   -> Maybe AwsCertificateManagerCertificateRenewalSummary
   -> Maybe Text
   -> Maybe Text
   -> Maybe AwsCertificateManagerCertificateOptions
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsCertificateManagerCertificateDomainValidationOption]
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> AwsCertificateManagerCertificateDetails)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe [AwsCertificateManagerCertificateExtendedKeyUsage]
      -> Maybe Text
      -> Maybe [AwsCertificateManagerCertificateKeyUsage]
      -> Maybe Text
      -> Maybe Text
      -> Maybe AwsCertificateManagerCertificateRenewalSummary
      -> Maybe Text
      -> Maybe Text
      -> Maybe AwsCertificateManagerCertificateOptions
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsCertificateManagerCertificateDomainValidationOption]
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> AwsCertificateManagerCertificateDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Serial")
            Parser
  (Maybe Text
   -> Maybe [AwsCertificateManagerCertificateExtendedKeyUsage]
   -> Maybe Text
   -> Maybe [AwsCertificateManagerCertificateKeyUsage]
   -> Maybe Text
   -> Maybe Text
   -> Maybe AwsCertificateManagerCertificateRenewalSummary
   -> Maybe Text
   -> Maybe Text
   -> Maybe AwsCertificateManagerCertificateOptions
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsCertificateManagerCertificateDomainValidationOption]
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> AwsCertificateManagerCertificateDetails)
-> Parser (Maybe Text)
-> Parser
     (Maybe [AwsCertificateManagerCertificateExtendedKeyUsage]
      -> Maybe Text
      -> Maybe [AwsCertificateManagerCertificateKeyUsage]
      -> Maybe Text
      -> Maybe Text
      -> Maybe AwsCertificateManagerCertificateRenewalSummary
      -> Maybe Text
      -> Maybe Text
      -> Maybe AwsCertificateManagerCertificateOptions
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsCertificateManagerCertificateDomainValidationOption]
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> AwsCertificateManagerCertificateDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"RenewalEligibility")
            Parser
  (Maybe [AwsCertificateManagerCertificateExtendedKeyUsage]
   -> Maybe Text
   -> Maybe [AwsCertificateManagerCertificateKeyUsage]
   -> Maybe Text
   -> Maybe Text
   -> Maybe AwsCertificateManagerCertificateRenewalSummary
   -> Maybe Text
   -> Maybe Text
   -> Maybe AwsCertificateManagerCertificateOptions
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsCertificateManagerCertificateDomainValidationOption]
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> AwsCertificateManagerCertificateDetails)
-> Parser
     (Maybe [AwsCertificateManagerCertificateExtendedKeyUsage])
-> Parser
     (Maybe Text
      -> Maybe [AwsCertificateManagerCertificateKeyUsage]
      -> Maybe Text
      -> Maybe Text
      -> Maybe AwsCertificateManagerCertificateRenewalSummary
      -> Maybe Text
      -> Maybe Text
      -> Maybe AwsCertificateManagerCertificateOptions
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsCertificateManagerCertificateDomainValidationOption]
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> AwsCertificateManagerCertificateDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( Object
x Object
-> Text
-> Parser
     (Maybe (Maybe [AwsCertificateManagerCertificateExtendedKeyUsage]))
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ExtendedKeyUsages"
                            Parser
  (Maybe (Maybe [AwsCertificateManagerCertificateExtendedKeyUsage]))
-> Maybe [AwsCertificateManagerCertificateExtendedKeyUsage]
-> Parser
     (Maybe [AwsCertificateManagerCertificateExtendedKeyUsage])
forall a. Parser (Maybe a) -> a -> Parser a
Core..!= Maybe [AwsCertificateManagerCertificateExtendedKeyUsage]
forall a. Monoid a => a
Prelude.mempty
                        )
            Parser
  (Maybe Text
   -> Maybe [AwsCertificateManagerCertificateKeyUsage]
   -> Maybe Text
   -> Maybe Text
   -> Maybe AwsCertificateManagerCertificateRenewalSummary
   -> Maybe Text
   -> Maybe Text
   -> Maybe AwsCertificateManagerCertificateOptions
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsCertificateManagerCertificateDomainValidationOption]
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> AwsCertificateManagerCertificateDetails)
-> Parser (Maybe Text)
-> Parser
     (Maybe [AwsCertificateManagerCertificateKeyUsage]
      -> Maybe Text
      -> Maybe Text
      -> Maybe AwsCertificateManagerCertificateRenewalSummary
      -> Maybe Text
      -> Maybe Text
      -> Maybe AwsCertificateManagerCertificateOptions
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsCertificateManagerCertificateDomainValidationOption]
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> AwsCertificateManagerCertificateDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ImportedAt")
            Parser
  (Maybe [AwsCertificateManagerCertificateKeyUsage]
   -> Maybe Text
   -> Maybe Text
   -> Maybe AwsCertificateManagerCertificateRenewalSummary
   -> Maybe Text
   -> Maybe Text
   -> Maybe AwsCertificateManagerCertificateOptions
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsCertificateManagerCertificateDomainValidationOption]
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> AwsCertificateManagerCertificateDetails)
-> Parser (Maybe [AwsCertificateManagerCertificateKeyUsage])
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe AwsCertificateManagerCertificateRenewalSummary
      -> Maybe Text
      -> Maybe Text
      -> Maybe AwsCertificateManagerCertificateOptions
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsCertificateManagerCertificateDomainValidationOption]
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> AwsCertificateManagerCertificateDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object
-> Text
-> Parser
     (Maybe (Maybe [AwsCertificateManagerCertificateKeyUsage]))
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"KeyUsages" Parser (Maybe (Maybe [AwsCertificateManagerCertificateKeyUsage]))
-> Maybe [AwsCertificateManagerCertificateKeyUsage]
-> Parser (Maybe [AwsCertificateManagerCertificateKeyUsage])
forall a. Parser (Maybe a) -> a -> Parser a
Core..!= Maybe [AwsCertificateManagerCertificateKeyUsage]
forall a. Monoid a => a
Prelude.mempty)
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe AwsCertificateManagerCertificateRenewalSummary
   -> Maybe Text
   -> Maybe Text
   -> Maybe AwsCertificateManagerCertificateOptions
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsCertificateManagerCertificateDomainValidationOption]
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> AwsCertificateManagerCertificateDetails)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe AwsCertificateManagerCertificateRenewalSummary
      -> Maybe Text
      -> Maybe Text
      -> Maybe AwsCertificateManagerCertificateOptions
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsCertificateManagerCertificateDomainValidationOption]
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> AwsCertificateManagerCertificateDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"NotBefore")
            Parser
  (Maybe Text
   -> Maybe AwsCertificateManagerCertificateRenewalSummary
   -> Maybe Text
   -> Maybe Text
   -> Maybe AwsCertificateManagerCertificateOptions
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsCertificateManagerCertificateDomainValidationOption]
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> AwsCertificateManagerCertificateDetails)
-> Parser (Maybe Text)
-> Parser
     (Maybe AwsCertificateManagerCertificateRenewalSummary
      -> Maybe Text
      -> Maybe Text
      -> Maybe AwsCertificateManagerCertificateOptions
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsCertificateManagerCertificateDomainValidationOption]
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> AwsCertificateManagerCertificateDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"DomainName")
            Parser
  (Maybe AwsCertificateManagerCertificateRenewalSummary
   -> Maybe Text
   -> Maybe Text
   -> Maybe AwsCertificateManagerCertificateOptions
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsCertificateManagerCertificateDomainValidationOption]
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> AwsCertificateManagerCertificateDetails)
-> Parser (Maybe AwsCertificateManagerCertificateRenewalSummary)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe AwsCertificateManagerCertificateOptions
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsCertificateManagerCertificateDomainValidationOption]
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> AwsCertificateManagerCertificateDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object
-> Text
-> Parser (Maybe AwsCertificateManagerCertificateRenewalSummary)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"RenewalSummary")
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe AwsCertificateManagerCertificateOptions
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsCertificateManagerCertificateDomainValidationOption]
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> AwsCertificateManagerCertificateDetails)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe AwsCertificateManagerCertificateOptions
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsCertificateManagerCertificateDomainValidationOption]
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> AwsCertificateManagerCertificateDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"KeyAlgorithm")
            Parser
  (Maybe Text
   -> Maybe AwsCertificateManagerCertificateOptions
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsCertificateManagerCertificateDomainValidationOption]
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> AwsCertificateManagerCertificateDetails)
-> Parser (Maybe Text)
-> Parser
     (Maybe AwsCertificateManagerCertificateOptions
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsCertificateManagerCertificateDomainValidationOption]
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> AwsCertificateManagerCertificateDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Type")
            Parser
  (Maybe AwsCertificateManagerCertificateOptions
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsCertificateManagerCertificateDomainValidationOption]
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> AwsCertificateManagerCertificateDetails)
-> Parser (Maybe AwsCertificateManagerCertificateOptions)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe [AwsCertificateManagerCertificateDomainValidationOption]
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> AwsCertificateManagerCertificateDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object
-> Text -> Parser (Maybe AwsCertificateManagerCertificateOptions)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Options")
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe [AwsCertificateManagerCertificateDomainValidationOption]
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> AwsCertificateManagerCertificateDetails)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe [AwsCertificateManagerCertificateDomainValidationOption]
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> AwsCertificateManagerCertificateDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"IssuedAt")
            Parser
  (Maybe Text
   -> Maybe [AwsCertificateManagerCertificateDomainValidationOption]
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> AwsCertificateManagerCertificateDetails)
-> Parser (Maybe Text)
-> Parser
     (Maybe [AwsCertificateManagerCertificateDomainValidationOption]
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> AwsCertificateManagerCertificateDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"SignatureAlgorithm")
            Parser
  (Maybe [AwsCertificateManagerCertificateDomainValidationOption]
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> AwsCertificateManagerCertificateDetails)
-> Parser
     (Maybe [AwsCertificateManagerCertificateDomainValidationOption])
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> AwsCertificateManagerCertificateDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( Object
x Object
-> Text
-> Parser
     (Maybe
        (Maybe [AwsCertificateManagerCertificateDomainValidationOption]))
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"DomainValidationOptions"
                            Parser
  (Maybe
     (Maybe [AwsCertificateManagerCertificateDomainValidationOption]))
-> Maybe [AwsCertificateManagerCertificateDomainValidationOption]
-> Parser
     (Maybe [AwsCertificateManagerCertificateDomainValidationOption])
forall a. Parser (Maybe a) -> a -> Parser a
Core..!= Maybe [AwsCertificateManagerCertificateDomainValidationOption]
forall a. Monoid a => a
Prelude.mempty
                        )
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> AwsCertificateManagerCertificateDetails)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text -> AwsCertificateManagerCertificateDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Issuer")
            Parser
  (Maybe Text
   -> Maybe Text -> AwsCertificateManagerCertificateDetails)
-> Parser (Maybe Text)
-> Parser (Maybe Text -> AwsCertificateManagerCertificateDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"NotAfter")
            Parser (Maybe Text -> AwsCertificateManagerCertificateDetails)
-> Parser (Maybe Text)
-> Parser AwsCertificateManagerCertificateDetails
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"CertificateAuthorityArn")
      )

instance
  Prelude.Hashable
    AwsCertificateManagerCertificateDetails

instance
  Prelude.NFData
    AwsCertificateManagerCertificateDetails

instance
  Core.ToJSON
    AwsCertificateManagerCertificateDetails
  where
  toJSON :: AwsCertificateManagerCertificateDetails -> Value
toJSON AwsCertificateManagerCertificateDetails' {Maybe [Text]
Maybe [AwsCertificateManagerCertificateExtendedKeyUsage]
Maybe [AwsCertificateManagerCertificateKeyUsage]
Maybe [AwsCertificateManagerCertificateDomainValidationOption]
Maybe Text
Maybe AwsCertificateManagerCertificateOptions
Maybe AwsCertificateManagerCertificateRenewalSummary
certificateAuthorityArn :: Maybe Text
notAfter :: Maybe Text
issuer :: Maybe Text
domainValidationOptions :: Maybe [AwsCertificateManagerCertificateDomainValidationOption]
signatureAlgorithm :: Maybe Text
issuedAt :: Maybe Text
options :: Maybe AwsCertificateManagerCertificateOptions
type' :: Maybe Text
keyAlgorithm :: Maybe Text
renewalSummary :: Maybe AwsCertificateManagerCertificateRenewalSummary
domainName :: Maybe Text
notBefore :: Maybe Text
keyUsages :: Maybe [AwsCertificateManagerCertificateKeyUsage]
importedAt :: Maybe Text
extendedKeyUsages :: Maybe [AwsCertificateManagerCertificateExtendedKeyUsage]
renewalEligibility :: Maybe Text
serial :: Maybe Text
createdAt :: Maybe Text
inUseBy :: Maybe [Text]
subjectAlternativeNames :: Maybe [Text]
failureReason :: Maybe Text
status :: Maybe Text
subject :: Maybe Text
$sel:certificateAuthorityArn:AwsCertificateManagerCertificateDetails' :: AwsCertificateManagerCertificateDetails -> Maybe Text
$sel:notAfter:AwsCertificateManagerCertificateDetails' :: AwsCertificateManagerCertificateDetails -> Maybe Text
$sel:issuer:AwsCertificateManagerCertificateDetails' :: AwsCertificateManagerCertificateDetails -> Maybe Text
$sel:domainValidationOptions:AwsCertificateManagerCertificateDetails' :: AwsCertificateManagerCertificateDetails
-> Maybe [AwsCertificateManagerCertificateDomainValidationOption]
$sel:signatureAlgorithm:AwsCertificateManagerCertificateDetails' :: AwsCertificateManagerCertificateDetails -> Maybe Text
$sel:issuedAt:AwsCertificateManagerCertificateDetails' :: AwsCertificateManagerCertificateDetails -> Maybe Text
$sel:options:AwsCertificateManagerCertificateDetails' :: AwsCertificateManagerCertificateDetails
-> Maybe AwsCertificateManagerCertificateOptions
$sel:type':AwsCertificateManagerCertificateDetails' :: AwsCertificateManagerCertificateDetails -> Maybe Text
$sel:keyAlgorithm:AwsCertificateManagerCertificateDetails' :: AwsCertificateManagerCertificateDetails -> Maybe Text
$sel:renewalSummary:AwsCertificateManagerCertificateDetails' :: AwsCertificateManagerCertificateDetails
-> Maybe AwsCertificateManagerCertificateRenewalSummary
$sel:domainName:AwsCertificateManagerCertificateDetails' :: AwsCertificateManagerCertificateDetails -> Maybe Text
$sel:notBefore:AwsCertificateManagerCertificateDetails' :: AwsCertificateManagerCertificateDetails -> Maybe Text
$sel:keyUsages:AwsCertificateManagerCertificateDetails' :: AwsCertificateManagerCertificateDetails
-> Maybe [AwsCertificateManagerCertificateKeyUsage]
$sel:importedAt:AwsCertificateManagerCertificateDetails' :: AwsCertificateManagerCertificateDetails -> Maybe Text
$sel:extendedKeyUsages:AwsCertificateManagerCertificateDetails' :: AwsCertificateManagerCertificateDetails
-> Maybe [AwsCertificateManagerCertificateExtendedKeyUsage]
$sel:renewalEligibility:AwsCertificateManagerCertificateDetails' :: AwsCertificateManagerCertificateDetails -> Maybe Text
$sel:serial:AwsCertificateManagerCertificateDetails' :: AwsCertificateManagerCertificateDetails -> Maybe Text
$sel:createdAt:AwsCertificateManagerCertificateDetails' :: AwsCertificateManagerCertificateDetails -> Maybe Text
$sel:inUseBy:AwsCertificateManagerCertificateDetails' :: AwsCertificateManagerCertificateDetails -> Maybe [Text]
$sel:subjectAlternativeNames:AwsCertificateManagerCertificateDetails' :: AwsCertificateManagerCertificateDetails -> Maybe [Text]
$sel:failureReason:AwsCertificateManagerCertificateDetails' :: AwsCertificateManagerCertificateDetails -> Maybe Text
$sel:status:AwsCertificateManagerCertificateDetails' :: AwsCertificateManagerCertificateDetails -> Maybe Text
$sel:subject:AwsCertificateManagerCertificateDetails' :: AwsCertificateManagerCertificateDetails -> Maybe Text
..} =
    [Pair] -> Value
Core.object
      ( [Maybe Pair] -> [Pair]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Text
"Subject" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
subject,
            (Text
"Status" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
status,
            (Text
"FailureReason" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
failureReason,
            (Text
"SubjectAlternativeNames" Text -> [Text] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              ([Text] -> Pair) -> Maybe [Text] -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Text]
subjectAlternativeNames,
            (Text
"InUseBy" Text -> [Text] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) ([Text] -> Pair) -> Maybe [Text] -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Text]
inUseBy,
            (Text
"CreatedAt" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
createdAt,
            (Text
"Serial" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
serial,
            (Text
"RenewalEligibility" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
renewalEligibility,
            (Text
"ExtendedKeyUsages" Text -> [AwsCertificateManagerCertificateExtendedKeyUsage] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              ([AwsCertificateManagerCertificateExtendedKeyUsage] -> Pair)
-> Maybe [AwsCertificateManagerCertificateExtendedKeyUsage]
-> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [AwsCertificateManagerCertificateExtendedKeyUsage]
extendedKeyUsages,
            (Text
"ImportedAt" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
importedAt,
            (Text
"KeyUsages" Text -> [AwsCertificateManagerCertificateKeyUsage] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) ([AwsCertificateManagerCertificateKeyUsage] -> Pair)
-> Maybe [AwsCertificateManagerCertificateKeyUsage] -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [AwsCertificateManagerCertificateKeyUsage]
keyUsages,
            (Text
"NotBefore" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
notBefore,
            (Text
"DomainName" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
domainName,
            (Text
"RenewalSummary" Text -> AwsCertificateManagerCertificateRenewalSummary -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (AwsCertificateManagerCertificateRenewalSummary -> Pair)
-> Maybe AwsCertificateManagerCertificateRenewalSummary
-> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsCertificateManagerCertificateRenewalSummary
renewalSummary,
            (Text
"KeyAlgorithm" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
keyAlgorithm,
            (Text
"Type" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
type',
            (Text
"Options" Text -> AwsCertificateManagerCertificateOptions -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (AwsCertificateManagerCertificateOptions -> Pair)
-> Maybe AwsCertificateManagerCertificateOptions -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsCertificateManagerCertificateOptions
options,
            (Text
"IssuedAt" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
issuedAt,
            (Text
"SignatureAlgorithm" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
signatureAlgorithm,
            (Text
"DomainValidationOptions" Text
-> [AwsCertificateManagerCertificateDomainValidationOption] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              ([AwsCertificateManagerCertificateDomainValidationOption] -> Pair)
-> Maybe [AwsCertificateManagerCertificateDomainValidationOption]
-> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [AwsCertificateManagerCertificateDomainValidationOption]
domainValidationOptions,
            (Text
"Issuer" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
issuer,
            (Text
"NotAfter" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
notAfter,
            (Text
"CertificateAuthorityArn" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
certificateAuthorityArn
          ]
      )