{-# 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.Lightsail.Types.LoadBalancerTlsCertificate
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
module Amazonka.Lightsail.Types.LoadBalancerTlsCertificate where

import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.Lightsail.Types.LoadBalancerTlsCertificateDomainValidationRecord
import Amazonka.Lightsail.Types.LoadBalancerTlsCertificateFailureReason
import Amazonka.Lightsail.Types.LoadBalancerTlsCertificateRenewalSummary
import Amazonka.Lightsail.Types.LoadBalancerTlsCertificateRevocationReason
import Amazonka.Lightsail.Types.LoadBalancerTlsCertificateStatus
import Amazonka.Lightsail.Types.ResourceLocation
import Amazonka.Lightsail.Types.ResourceType
import Amazonka.Lightsail.Types.Tag
import qualified Amazonka.Prelude as Prelude

-- | Describes a load balancer SSL\/TLS certificate.
--
-- TLS is just an updated, more secure version of Secure Socket Layer
-- (SSL).
--
-- /See:/ 'newLoadBalancerTlsCertificate' smart constructor.
data LoadBalancerTlsCertificate = LoadBalancerTlsCertificate'
  { -- | The Amazon Resource Name (ARN) of the SSL\/TLS certificate.
    LoadBalancerTlsCertificate -> Maybe Text
arn :: Prelude.Maybe Prelude.Text,
    -- | The time when you created your SSL\/TLS certificate.
    LoadBalancerTlsCertificate -> Maybe POSIX
createdAt :: Prelude.Maybe Data.POSIX,
    -- | The domain name for your SSL\/TLS certificate.
    LoadBalancerTlsCertificate -> Maybe Text
domainName :: Prelude.Maybe Prelude.Text,
    -- | An array of LoadBalancerTlsCertificateDomainValidationRecord objects
    -- describing the records.
    LoadBalancerTlsCertificate
-> Maybe [LoadBalancerTlsCertificateDomainValidationRecord]
domainValidationRecords :: Prelude.Maybe [LoadBalancerTlsCertificateDomainValidationRecord],
    -- | The validation failure reason, if any, of the certificate.
    --
    -- The following failure reasons are possible:
    --
    -- -   __@NO_AVAILABLE_CONTACTS@__ - This failure applies to email
    --     validation, which is not available for Lightsail certificates.
    --
    -- -   __@ADDITIONAL_VERIFICATION_REQUIRED@__ - Lightsail requires
    --     additional information to process this certificate request. This can
    --     happen as a fraud-protection measure, such as when the domain ranks
    --     within the Alexa top 1000 websites. To provide the required
    --     information, use the
    --     <https://console.aws.amazon.com/support/home AWS Support Center> to
    --     contact AWS Support.
    --
    --     You cannot request a certificate for Amazon-owned domain names such
    --     as those ending in amazonaws.com, cloudfront.net, or
    --     elasticbeanstalk.com.
    --
    -- -   __@DOMAIN_NOT_ALLOWED@__ - One or more of the domain names in the
    --     certificate request was reported as an unsafe domain by
    --     <https://www.virustotal.com/gui/home/url VirusTotal>. To correct the
    --     problem, search for your domain name on the
    --     <https://www.virustotal.com/gui/home/url VirusTotal> website. If
    --     your domain is reported as suspicious, see
    --     <https://developers.google.com/web/fundamentals/security/hacked Google Help for Hacked Websites>
    --     to learn what you can do.
    --
    --     If you believe that the result is a false positive, notify the
    --     organization that is reporting the domain. VirusTotal is an
    --     aggregate of several antivirus and URL scanners and cannot remove
    --     your domain from a block list itself. After you correct the problem
    --     and the VirusTotal registry has been updated, request a new
    --     certificate.
    --
    --     If you see this error and your domain is not included in the
    --     VirusTotal list, visit the
    --     <https://console.aws.amazon.com/support/home AWS Support Center> and
    --     create a case.
    --
    -- -   __@INVALID_PUBLIC_DOMAIN@__ - One or more of the domain names in the
    --     certificate request is not valid. Typically, this is because a
    --     domain name in the request is not a valid top-level domain. Try to
    --     request a certificate again, correcting any spelling errors or typos
    --     that were in the failed request, and ensure that all domain names in
    --     the request are for valid top-level domains. For example, you cannot
    --     request a certificate for @example.invalidpublicdomain@ because
    --     @invalidpublicdomain@ is not a valid top-level domain.
    --
    -- -   __@OTHER@__ - Typically, this failure occurs when there is a
    --     typographical error in one or more of the domain names in the
    --     certificate request. Try to request a certificate again, correcting
    --     any spelling errors or typos that were in the failed request.
    LoadBalancerTlsCertificate
-> Maybe LoadBalancerTlsCertificateFailureReason
failureReason :: Prelude.Maybe LoadBalancerTlsCertificateFailureReason,
    -- | When @true@, the SSL\/TLS certificate is attached to the Lightsail load
    -- balancer.
    LoadBalancerTlsCertificate -> Maybe Bool
isAttached :: Prelude.Maybe Prelude.Bool,
    -- | The time when the SSL\/TLS certificate was issued.
    LoadBalancerTlsCertificate -> Maybe POSIX
issuedAt :: Prelude.Maybe Data.POSIX,
    -- | The issuer of the certificate.
    LoadBalancerTlsCertificate -> Maybe Text
issuer :: Prelude.Maybe Prelude.Text,
    -- | The algorithm used to generate the key pair (the public and private
    -- key).
    LoadBalancerTlsCertificate -> Maybe Text
keyAlgorithm :: Prelude.Maybe Prelude.Text,
    -- | The load balancer name where your SSL\/TLS certificate is attached.
    LoadBalancerTlsCertificate -> Maybe Text
loadBalancerName :: Prelude.Maybe Prelude.Text,
    -- | The Amazon Web Services Region and Availability Zone where you created
    -- your certificate.
    LoadBalancerTlsCertificate -> Maybe ResourceLocation
location :: Prelude.Maybe ResourceLocation,
    -- | The name of the SSL\/TLS certificate (e.g., @my-certificate@).
    LoadBalancerTlsCertificate -> Maybe Text
name :: Prelude.Maybe Prelude.Text,
    -- | The timestamp when the SSL\/TLS certificate expires.
    LoadBalancerTlsCertificate -> Maybe POSIX
notAfter :: Prelude.Maybe Data.POSIX,
    -- | The timestamp when the SSL\/TLS certificate is first valid.
    LoadBalancerTlsCertificate -> Maybe POSIX
notBefore :: Prelude.Maybe Data.POSIX,
    -- | An object that describes the status of the certificate renewal managed
    -- by Lightsail.
    LoadBalancerTlsCertificate
-> Maybe LoadBalancerTlsCertificateRenewalSummary
renewalSummary :: Prelude.Maybe LoadBalancerTlsCertificateRenewalSummary,
    -- | The resource type (e.g., @LoadBalancerTlsCertificate@).
    --
    -- -   __@Instance@__ - A Lightsail instance (a virtual private server)
    --
    -- -   __@StaticIp@__ - A static IP address
    --
    -- -   __@KeyPair@__ - The key pair used to connect to a Lightsail instance
    --
    -- -   __@InstanceSnapshot@__ - A Lightsail instance snapshot
    --
    -- -   __@Domain@__ - A DNS zone
    --
    -- -   __@PeeredVpc@__ - A peered VPC
    --
    -- -   __@LoadBalancer@__ - A Lightsail load balancer
    --
    -- -   __@LoadBalancerTlsCertificate@__ - An SSL\/TLS certificate
    --     associated with a Lightsail load balancer
    --
    -- -   __@Disk@__ - A Lightsail block storage disk
    --
    -- -   __@DiskSnapshot@__ - A block storage disk snapshot
    LoadBalancerTlsCertificate -> Maybe ResourceType
resourceType :: Prelude.Maybe ResourceType,
    -- | The reason the certificate was revoked. This value is present only when
    -- the certificate status is @REVOKED@.
    LoadBalancerTlsCertificate
-> Maybe LoadBalancerTlsCertificateRevocationReason
revocationReason :: Prelude.Maybe LoadBalancerTlsCertificateRevocationReason,
    -- | The timestamp when the certificate was revoked. This value is present
    -- only when the certificate status is @REVOKED@.
    LoadBalancerTlsCertificate -> Maybe POSIX
revokedAt :: Prelude.Maybe Data.POSIX,
    -- | The serial number of the certificate.
    LoadBalancerTlsCertificate -> Maybe Text
serial :: Prelude.Maybe Prelude.Text,
    -- | The algorithm that was used to sign the certificate.
    LoadBalancerTlsCertificate -> Maybe Text
signatureAlgorithm :: Prelude.Maybe Prelude.Text,
    -- | The validation status of the SSL\/TLS certificate. Valid values are
    -- below.
    LoadBalancerTlsCertificate
-> Maybe LoadBalancerTlsCertificateStatus
status :: Prelude.Maybe LoadBalancerTlsCertificateStatus,
    -- | The name of the entity that is associated with the public key contained
    -- in the certificate.
    LoadBalancerTlsCertificate -> Maybe Text
subject :: Prelude.Maybe Prelude.Text,
    -- | An array of strings that specify the alternate domains (e.g.,
    -- @example2.com@) and subdomains (e.g., @blog.example.com@) for the
    -- certificate.
    LoadBalancerTlsCertificate -> Maybe [Text]
subjectAlternativeNames :: Prelude.Maybe [Prelude.Text],
    -- | The support code. Include this code in your email to support when you
    -- have questions about your Lightsail load balancer or SSL\/TLS
    -- certificate. This code enables our support team to look up your
    -- Lightsail information more easily.
    LoadBalancerTlsCertificate -> Maybe Text
supportCode :: Prelude.Maybe Prelude.Text,
    -- | The tag keys and optional values for the resource. For more information
    -- about tags in Lightsail, see the
    -- <https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tags Amazon Lightsail Developer Guide>.
    LoadBalancerTlsCertificate -> Maybe [Tag]
tags :: Prelude.Maybe [Tag]
  }
  deriving (LoadBalancerTlsCertificate -> LoadBalancerTlsCertificate -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: LoadBalancerTlsCertificate -> LoadBalancerTlsCertificate -> Bool
$c/= :: LoadBalancerTlsCertificate -> LoadBalancerTlsCertificate -> Bool
== :: LoadBalancerTlsCertificate -> LoadBalancerTlsCertificate -> Bool
$c== :: LoadBalancerTlsCertificate -> LoadBalancerTlsCertificate -> Bool
Prelude.Eq, ReadPrec [LoadBalancerTlsCertificate]
ReadPrec LoadBalancerTlsCertificate
Int -> ReadS LoadBalancerTlsCertificate
ReadS [LoadBalancerTlsCertificate]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [LoadBalancerTlsCertificate]
$creadListPrec :: ReadPrec [LoadBalancerTlsCertificate]
readPrec :: ReadPrec LoadBalancerTlsCertificate
$creadPrec :: ReadPrec LoadBalancerTlsCertificate
readList :: ReadS [LoadBalancerTlsCertificate]
$creadList :: ReadS [LoadBalancerTlsCertificate]
readsPrec :: Int -> ReadS LoadBalancerTlsCertificate
$creadsPrec :: Int -> ReadS LoadBalancerTlsCertificate
Prelude.Read, Int -> LoadBalancerTlsCertificate -> ShowS
[LoadBalancerTlsCertificate] -> ShowS
LoadBalancerTlsCertificate -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [LoadBalancerTlsCertificate] -> ShowS
$cshowList :: [LoadBalancerTlsCertificate] -> ShowS
show :: LoadBalancerTlsCertificate -> String
$cshow :: LoadBalancerTlsCertificate -> String
showsPrec :: Int -> LoadBalancerTlsCertificate -> ShowS
$cshowsPrec :: Int -> LoadBalancerTlsCertificate -> ShowS
Prelude.Show, forall x.
Rep LoadBalancerTlsCertificate x -> LoadBalancerTlsCertificate
forall x.
LoadBalancerTlsCertificate -> Rep LoadBalancerTlsCertificate x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep LoadBalancerTlsCertificate x -> LoadBalancerTlsCertificate
$cfrom :: forall x.
LoadBalancerTlsCertificate -> Rep LoadBalancerTlsCertificate x
Prelude.Generic)

-- |
-- Create a value of 'LoadBalancerTlsCertificate' 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:
--
-- 'arn', 'loadBalancerTlsCertificate_arn' - The Amazon Resource Name (ARN) of the SSL\/TLS certificate.
--
-- 'createdAt', 'loadBalancerTlsCertificate_createdAt' - The time when you created your SSL\/TLS certificate.
--
-- 'domainName', 'loadBalancerTlsCertificate_domainName' - The domain name for your SSL\/TLS certificate.
--
-- 'domainValidationRecords', 'loadBalancerTlsCertificate_domainValidationRecords' - An array of LoadBalancerTlsCertificateDomainValidationRecord objects
-- describing the records.
--
-- 'failureReason', 'loadBalancerTlsCertificate_failureReason' - The validation failure reason, if any, of the certificate.
--
-- The following failure reasons are possible:
--
-- -   __@NO_AVAILABLE_CONTACTS@__ - This failure applies to email
--     validation, which is not available for Lightsail certificates.
--
-- -   __@ADDITIONAL_VERIFICATION_REQUIRED@__ - Lightsail requires
--     additional information to process this certificate request. This can
--     happen as a fraud-protection measure, such as when the domain ranks
--     within the Alexa top 1000 websites. To provide the required
--     information, use the
--     <https://console.aws.amazon.com/support/home AWS Support Center> to
--     contact AWS Support.
--
--     You cannot request a certificate for Amazon-owned domain names such
--     as those ending in amazonaws.com, cloudfront.net, or
--     elasticbeanstalk.com.
--
-- -   __@DOMAIN_NOT_ALLOWED@__ - One or more of the domain names in the
--     certificate request was reported as an unsafe domain by
--     <https://www.virustotal.com/gui/home/url VirusTotal>. To correct the
--     problem, search for your domain name on the
--     <https://www.virustotal.com/gui/home/url VirusTotal> website. If
--     your domain is reported as suspicious, see
--     <https://developers.google.com/web/fundamentals/security/hacked Google Help for Hacked Websites>
--     to learn what you can do.
--
--     If you believe that the result is a false positive, notify the
--     organization that is reporting the domain. VirusTotal is an
--     aggregate of several antivirus and URL scanners and cannot remove
--     your domain from a block list itself. After you correct the problem
--     and the VirusTotal registry has been updated, request a new
--     certificate.
--
--     If you see this error and your domain is not included in the
--     VirusTotal list, visit the
--     <https://console.aws.amazon.com/support/home AWS Support Center> and
--     create a case.
--
-- -   __@INVALID_PUBLIC_DOMAIN@__ - One or more of the domain names in the
--     certificate request is not valid. Typically, this is because a
--     domain name in the request is not a valid top-level domain. Try to
--     request a certificate again, correcting any spelling errors or typos
--     that were in the failed request, and ensure that all domain names in
--     the request are for valid top-level domains. For example, you cannot
--     request a certificate for @example.invalidpublicdomain@ because
--     @invalidpublicdomain@ is not a valid top-level domain.
--
-- -   __@OTHER@__ - Typically, this failure occurs when there is a
--     typographical error in one or more of the domain names in the
--     certificate request. Try to request a certificate again, correcting
--     any spelling errors or typos that were in the failed request.
--
-- 'isAttached', 'loadBalancerTlsCertificate_isAttached' - When @true@, the SSL\/TLS certificate is attached to the Lightsail load
-- balancer.
--
-- 'issuedAt', 'loadBalancerTlsCertificate_issuedAt' - The time when the SSL\/TLS certificate was issued.
--
-- 'issuer', 'loadBalancerTlsCertificate_issuer' - The issuer of the certificate.
--
-- 'keyAlgorithm', 'loadBalancerTlsCertificate_keyAlgorithm' - The algorithm used to generate the key pair (the public and private
-- key).
--
-- 'loadBalancerName', 'loadBalancerTlsCertificate_loadBalancerName' - The load balancer name where your SSL\/TLS certificate is attached.
--
-- 'location', 'loadBalancerTlsCertificate_location' - The Amazon Web Services Region and Availability Zone where you created
-- your certificate.
--
-- 'name', 'loadBalancerTlsCertificate_name' - The name of the SSL\/TLS certificate (e.g., @my-certificate@).
--
-- 'notAfter', 'loadBalancerTlsCertificate_notAfter' - The timestamp when the SSL\/TLS certificate expires.
--
-- 'notBefore', 'loadBalancerTlsCertificate_notBefore' - The timestamp when the SSL\/TLS certificate is first valid.
--
-- 'renewalSummary', 'loadBalancerTlsCertificate_renewalSummary' - An object that describes the status of the certificate renewal managed
-- by Lightsail.
--
-- 'resourceType', 'loadBalancerTlsCertificate_resourceType' - The resource type (e.g., @LoadBalancerTlsCertificate@).
--
-- -   __@Instance@__ - A Lightsail instance (a virtual private server)
--
-- -   __@StaticIp@__ - A static IP address
--
-- -   __@KeyPair@__ - The key pair used to connect to a Lightsail instance
--
-- -   __@InstanceSnapshot@__ - A Lightsail instance snapshot
--
-- -   __@Domain@__ - A DNS zone
--
-- -   __@PeeredVpc@__ - A peered VPC
--
-- -   __@LoadBalancer@__ - A Lightsail load balancer
--
-- -   __@LoadBalancerTlsCertificate@__ - An SSL\/TLS certificate
--     associated with a Lightsail load balancer
--
-- -   __@Disk@__ - A Lightsail block storage disk
--
-- -   __@DiskSnapshot@__ - A block storage disk snapshot
--
-- 'revocationReason', 'loadBalancerTlsCertificate_revocationReason' - The reason the certificate was revoked. This value is present only when
-- the certificate status is @REVOKED@.
--
-- 'revokedAt', 'loadBalancerTlsCertificate_revokedAt' - The timestamp when the certificate was revoked. This value is present
-- only when the certificate status is @REVOKED@.
--
-- 'serial', 'loadBalancerTlsCertificate_serial' - The serial number of the certificate.
--
-- 'signatureAlgorithm', 'loadBalancerTlsCertificate_signatureAlgorithm' - The algorithm that was used to sign the certificate.
--
-- 'status', 'loadBalancerTlsCertificate_status' - The validation status of the SSL\/TLS certificate. Valid values are
-- below.
--
-- 'subject', 'loadBalancerTlsCertificate_subject' - The name of the entity that is associated with the public key contained
-- in the certificate.
--
-- 'subjectAlternativeNames', 'loadBalancerTlsCertificate_subjectAlternativeNames' - An array of strings that specify the alternate domains (e.g.,
-- @example2.com@) and subdomains (e.g., @blog.example.com@) for the
-- certificate.
--
-- 'supportCode', 'loadBalancerTlsCertificate_supportCode' - The support code. Include this code in your email to support when you
-- have questions about your Lightsail load balancer or SSL\/TLS
-- certificate. This code enables our support team to look up your
-- Lightsail information more easily.
--
-- 'tags', 'loadBalancerTlsCertificate_tags' - The tag keys and optional values for the resource. For more information
-- about tags in Lightsail, see the
-- <https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tags Amazon Lightsail Developer Guide>.
newLoadBalancerTlsCertificate ::
  LoadBalancerTlsCertificate
newLoadBalancerTlsCertificate :: LoadBalancerTlsCertificate
newLoadBalancerTlsCertificate =
  LoadBalancerTlsCertificate'
    { $sel:arn:LoadBalancerTlsCertificate' :: Maybe Text
arn = forall a. Maybe a
Prelude.Nothing,
      $sel:createdAt:LoadBalancerTlsCertificate' :: Maybe POSIX
createdAt = forall a. Maybe a
Prelude.Nothing,
      $sel:domainName:LoadBalancerTlsCertificate' :: Maybe Text
domainName = forall a. Maybe a
Prelude.Nothing,
      $sel:domainValidationRecords:LoadBalancerTlsCertificate' :: Maybe [LoadBalancerTlsCertificateDomainValidationRecord]
domainValidationRecords = forall a. Maybe a
Prelude.Nothing,
      $sel:failureReason:LoadBalancerTlsCertificate' :: Maybe LoadBalancerTlsCertificateFailureReason
failureReason = forall a. Maybe a
Prelude.Nothing,
      $sel:isAttached:LoadBalancerTlsCertificate' :: Maybe Bool
isAttached = forall a. Maybe a
Prelude.Nothing,
      $sel:issuedAt:LoadBalancerTlsCertificate' :: Maybe POSIX
issuedAt = forall a. Maybe a
Prelude.Nothing,
      $sel:issuer:LoadBalancerTlsCertificate' :: Maybe Text
issuer = forall a. Maybe a
Prelude.Nothing,
      $sel:keyAlgorithm:LoadBalancerTlsCertificate' :: Maybe Text
keyAlgorithm = forall a. Maybe a
Prelude.Nothing,
      $sel:loadBalancerName:LoadBalancerTlsCertificate' :: Maybe Text
loadBalancerName = forall a. Maybe a
Prelude.Nothing,
      $sel:location:LoadBalancerTlsCertificate' :: Maybe ResourceLocation
location = forall a. Maybe a
Prelude.Nothing,
      $sel:name:LoadBalancerTlsCertificate' :: Maybe Text
name = forall a. Maybe a
Prelude.Nothing,
      $sel:notAfter:LoadBalancerTlsCertificate' :: Maybe POSIX
notAfter = forall a. Maybe a
Prelude.Nothing,
      $sel:notBefore:LoadBalancerTlsCertificate' :: Maybe POSIX
notBefore = forall a. Maybe a
Prelude.Nothing,
      $sel:renewalSummary:LoadBalancerTlsCertificate' :: Maybe LoadBalancerTlsCertificateRenewalSummary
renewalSummary = forall a. Maybe a
Prelude.Nothing,
      $sel:resourceType:LoadBalancerTlsCertificate' :: Maybe ResourceType
resourceType = forall a. Maybe a
Prelude.Nothing,
      $sel:revocationReason:LoadBalancerTlsCertificate' :: Maybe LoadBalancerTlsCertificateRevocationReason
revocationReason = forall a. Maybe a
Prelude.Nothing,
      $sel:revokedAt:LoadBalancerTlsCertificate' :: Maybe POSIX
revokedAt = forall a. Maybe a
Prelude.Nothing,
      $sel:serial:LoadBalancerTlsCertificate' :: Maybe Text
serial = forall a. Maybe a
Prelude.Nothing,
      $sel:signatureAlgorithm:LoadBalancerTlsCertificate' :: Maybe Text
signatureAlgorithm = forall a. Maybe a
Prelude.Nothing,
      $sel:status:LoadBalancerTlsCertificate' :: Maybe LoadBalancerTlsCertificateStatus
status = forall a. Maybe a
Prelude.Nothing,
      $sel:subject:LoadBalancerTlsCertificate' :: Maybe Text
subject = forall a. Maybe a
Prelude.Nothing,
      $sel:subjectAlternativeNames:LoadBalancerTlsCertificate' :: Maybe [Text]
subjectAlternativeNames = forall a. Maybe a
Prelude.Nothing,
      $sel:supportCode:LoadBalancerTlsCertificate' :: Maybe Text
supportCode = forall a. Maybe a
Prelude.Nothing,
      $sel:tags:LoadBalancerTlsCertificate' :: Maybe [Tag]
tags = forall a. Maybe a
Prelude.Nothing
    }

-- | The Amazon Resource Name (ARN) of the SSL\/TLS certificate.
loadBalancerTlsCertificate_arn :: Lens.Lens' LoadBalancerTlsCertificate (Prelude.Maybe Prelude.Text)
loadBalancerTlsCertificate_arn :: Lens' LoadBalancerTlsCertificate (Maybe Text)
loadBalancerTlsCertificate_arn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LoadBalancerTlsCertificate' {Maybe Text
arn :: Maybe Text
$sel:arn:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate -> Maybe Text
arn} -> Maybe Text
arn) (\s :: LoadBalancerTlsCertificate
s@LoadBalancerTlsCertificate' {} Maybe Text
a -> LoadBalancerTlsCertificate
s {$sel:arn:LoadBalancerTlsCertificate' :: Maybe Text
arn = Maybe Text
a} :: LoadBalancerTlsCertificate)

-- | The time when you created your SSL\/TLS certificate.
loadBalancerTlsCertificate_createdAt :: Lens.Lens' LoadBalancerTlsCertificate (Prelude.Maybe Prelude.UTCTime)
loadBalancerTlsCertificate_createdAt :: Lens' LoadBalancerTlsCertificate (Maybe UTCTime)
loadBalancerTlsCertificate_createdAt = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LoadBalancerTlsCertificate' {Maybe POSIX
createdAt :: Maybe POSIX
$sel:createdAt:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate -> Maybe POSIX
createdAt} -> Maybe POSIX
createdAt) (\s :: LoadBalancerTlsCertificate
s@LoadBalancerTlsCertificate' {} Maybe POSIX
a -> LoadBalancerTlsCertificate
s {$sel:createdAt:LoadBalancerTlsCertificate' :: Maybe POSIX
createdAt = Maybe POSIX
a} :: LoadBalancerTlsCertificate) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. 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 forall (a :: Format). Iso' (Time a) UTCTime
Data._Time

-- | The domain name for your SSL\/TLS certificate.
loadBalancerTlsCertificate_domainName :: Lens.Lens' LoadBalancerTlsCertificate (Prelude.Maybe Prelude.Text)
loadBalancerTlsCertificate_domainName :: Lens' LoadBalancerTlsCertificate (Maybe Text)
loadBalancerTlsCertificate_domainName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LoadBalancerTlsCertificate' {Maybe Text
domainName :: Maybe Text
$sel:domainName:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate -> Maybe Text
domainName} -> Maybe Text
domainName) (\s :: LoadBalancerTlsCertificate
s@LoadBalancerTlsCertificate' {} Maybe Text
a -> LoadBalancerTlsCertificate
s {$sel:domainName:LoadBalancerTlsCertificate' :: Maybe Text
domainName = Maybe Text
a} :: LoadBalancerTlsCertificate)

-- | An array of LoadBalancerTlsCertificateDomainValidationRecord objects
-- describing the records.
loadBalancerTlsCertificate_domainValidationRecords :: Lens.Lens' LoadBalancerTlsCertificate (Prelude.Maybe [LoadBalancerTlsCertificateDomainValidationRecord])
loadBalancerTlsCertificate_domainValidationRecords :: Lens'
  LoadBalancerTlsCertificate
  (Maybe [LoadBalancerTlsCertificateDomainValidationRecord])
loadBalancerTlsCertificate_domainValidationRecords = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LoadBalancerTlsCertificate' {Maybe [LoadBalancerTlsCertificateDomainValidationRecord]
domainValidationRecords :: Maybe [LoadBalancerTlsCertificateDomainValidationRecord]
$sel:domainValidationRecords:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate
-> Maybe [LoadBalancerTlsCertificateDomainValidationRecord]
domainValidationRecords} -> Maybe [LoadBalancerTlsCertificateDomainValidationRecord]
domainValidationRecords) (\s :: LoadBalancerTlsCertificate
s@LoadBalancerTlsCertificate' {} Maybe [LoadBalancerTlsCertificateDomainValidationRecord]
a -> LoadBalancerTlsCertificate
s {$sel:domainValidationRecords:LoadBalancerTlsCertificate' :: Maybe [LoadBalancerTlsCertificateDomainValidationRecord]
domainValidationRecords = Maybe [LoadBalancerTlsCertificateDomainValidationRecord]
a} :: LoadBalancerTlsCertificate) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. 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 forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The validation failure reason, if any, of the certificate.
--
-- The following failure reasons are possible:
--
-- -   __@NO_AVAILABLE_CONTACTS@__ - This failure applies to email
--     validation, which is not available for Lightsail certificates.
--
-- -   __@ADDITIONAL_VERIFICATION_REQUIRED@__ - Lightsail requires
--     additional information to process this certificate request. This can
--     happen as a fraud-protection measure, such as when the domain ranks
--     within the Alexa top 1000 websites. To provide the required
--     information, use the
--     <https://console.aws.amazon.com/support/home AWS Support Center> to
--     contact AWS Support.
--
--     You cannot request a certificate for Amazon-owned domain names such
--     as those ending in amazonaws.com, cloudfront.net, or
--     elasticbeanstalk.com.
--
-- -   __@DOMAIN_NOT_ALLOWED@__ - One or more of the domain names in the
--     certificate request was reported as an unsafe domain by
--     <https://www.virustotal.com/gui/home/url VirusTotal>. To correct the
--     problem, search for your domain name on the
--     <https://www.virustotal.com/gui/home/url VirusTotal> website. If
--     your domain is reported as suspicious, see
--     <https://developers.google.com/web/fundamentals/security/hacked Google Help for Hacked Websites>
--     to learn what you can do.
--
--     If you believe that the result is a false positive, notify the
--     organization that is reporting the domain. VirusTotal is an
--     aggregate of several antivirus and URL scanners and cannot remove
--     your domain from a block list itself. After you correct the problem
--     and the VirusTotal registry has been updated, request a new
--     certificate.
--
--     If you see this error and your domain is not included in the
--     VirusTotal list, visit the
--     <https://console.aws.amazon.com/support/home AWS Support Center> and
--     create a case.
--
-- -   __@INVALID_PUBLIC_DOMAIN@__ - One or more of the domain names in the
--     certificate request is not valid. Typically, this is because a
--     domain name in the request is not a valid top-level domain. Try to
--     request a certificate again, correcting any spelling errors or typos
--     that were in the failed request, and ensure that all domain names in
--     the request are for valid top-level domains. For example, you cannot
--     request a certificate for @example.invalidpublicdomain@ because
--     @invalidpublicdomain@ is not a valid top-level domain.
--
-- -   __@OTHER@__ - Typically, this failure occurs when there is a
--     typographical error in one or more of the domain names in the
--     certificate request. Try to request a certificate again, correcting
--     any spelling errors or typos that were in the failed request.
loadBalancerTlsCertificate_failureReason :: Lens.Lens' LoadBalancerTlsCertificate (Prelude.Maybe LoadBalancerTlsCertificateFailureReason)
loadBalancerTlsCertificate_failureReason :: Lens'
  LoadBalancerTlsCertificate
  (Maybe LoadBalancerTlsCertificateFailureReason)
loadBalancerTlsCertificate_failureReason = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LoadBalancerTlsCertificate' {Maybe LoadBalancerTlsCertificateFailureReason
failureReason :: Maybe LoadBalancerTlsCertificateFailureReason
$sel:failureReason:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate
-> Maybe LoadBalancerTlsCertificateFailureReason
failureReason} -> Maybe LoadBalancerTlsCertificateFailureReason
failureReason) (\s :: LoadBalancerTlsCertificate
s@LoadBalancerTlsCertificate' {} Maybe LoadBalancerTlsCertificateFailureReason
a -> LoadBalancerTlsCertificate
s {$sel:failureReason:LoadBalancerTlsCertificate' :: Maybe LoadBalancerTlsCertificateFailureReason
failureReason = Maybe LoadBalancerTlsCertificateFailureReason
a} :: LoadBalancerTlsCertificate)

-- | When @true@, the SSL\/TLS certificate is attached to the Lightsail load
-- balancer.
loadBalancerTlsCertificate_isAttached :: Lens.Lens' LoadBalancerTlsCertificate (Prelude.Maybe Prelude.Bool)
loadBalancerTlsCertificate_isAttached :: Lens' LoadBalancerTlsCertificate (Maybe Bool)
loadBalancerTlsCertificate_isAttached = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LoadBalancerTlsCertificate' {Maybe Bool
isAttached :: Maybe Bool
$sel:isAttached:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate -> Maybe Bool
isAttached} -> Maybe Bool
isAttached) (\s :: LoadBalancerTlsCertificate
s@LoadBalancerTlsCertificate' {} Maybe Bool
a -> LoadBalancerTlsCertificate
s {$sel:isAttached:LoadBalancerTlsCertificate' :: Maybe Bool
isAttached = Maybe Bool
a} :: LoadBalancerTlsCertificate)

-- | The time when the SSL\/TLS certificate was issued.
loadBalancerTlsCertificate_issuedAt :: Lens.Lens' LoadBalancerTlsCertificate (Prelude.Maybe Prelude.UTCTime)
loadBalancerTlsCertificate_issuedAt :: Lens' LoadBalancerTlsCertificate (Maybe UTCTime)
loadBalancerTlsCertificate_issuedAt = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LoadBalancerTlsCertificate' {Maybe POSIX
issuedAt :: Maybe POSIX
$sel:issuedAt:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate -> Maybe POSIX
issuedAt} -> Maybe POSIX
issuedAt) (\s :: LoadBalancerTlsCertificate
s@LoadBalancerTlsCertificate' {} Maybe POSIX
a -> LoadBalancerTlsCertificate
s {$sel:issuedAt:LoadBalancerTlsCertificate' :: Maybe POSIX
issuedAt = Maybe POSIX
a} :: LoadBalancerTlsCertificate) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. 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 forall (a :: Format). Iso' (Time a) UTCTime
Data._Time

-- | The issuer of the certificate.
loadBalancerTlsCertificate_issuer :: Lens.Lens' LoadBalancerTlsCertificate (Prelude.Maybe Prelude.Text)
loadBalancerTlsCertificate_issuer :: Lens' LoadBalancerTlsCertificate (Maybe Text)
loadBalancerTlsCertificate_issuer = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LoadBalancerTlsCertificate' {Maybe Text
issuer :: Maybe Text
$sel:issuer:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate -> Maybe Text
issuer} -> Maybe Text
issuer) (\s :: LoadBalancerTlsCertificate
s@LoadBalancerTlsCertificate' {} Maybe Text
a -> LoadBalancerTlsCertificate
s {$sel:issuer:LoadBalancerTlsCertificate' :: Maybe Text
issuer = Maybe Text
a} :: LoadBalancerTlsCertificate)

-- | The algorithm used to generate the key pair (the public and private
-- key).
loadBalancerTlsCertificate_keyAlgorithm :: Lens.Lens' LoadBalancerTlsCertificate (Prelude.Maybe Prelude.Text)
loadBalancerTlsCertificate_keyAlgorithm :: Lens' LoadBalancerTlsCertificate (Maybe Text)
loadBalancerTlsCertificate_keyAlgorithm = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LoadBalancerTlsCertificate' {Maybe Text
keyAlgorithm :: Maybe Text
$sel:keyAlgorithm:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate -> Maybe Text
keyAlgorithm} -> Maybe Text
keyAlgorithm) (\s :: LoadBalancerTlsCertificate
s@LoadBalancerTlsCertificate' {} Maybe Text
a -> LoadBalancerTlsCertificate
s {$sel:keyAlgorithm:LoadBalancerTlsCertificate' :: Maybe Text
keyAlgorithm = Maybe Text
a} :: LoadBalancerTlsCertificate)

-- | The load balancer name where your SSL\/TLS certificate is attached.
loadBalancerTlsCertificate_loadBalancerName :: Lens.Lens' LoadBalancerTlsCertificate (Prelude.Maybe Prelude.Text)
loadBalancerTlsCertificate_loadBalancerName :: Lens' LoadBalancerTlsCertificate (Maybe Text)
loadBalancerTlsCertificate_loadBalancerName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LoadBalancerTlsCertificate' {Maybe Text
loadBalancerName :: Maybe Text
$sel:loadBalancerName:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate -> Maybe Text
loadBalancerName} -> Maybe Text
loadBalancerName) (\s :: LoadBalancerTlsCertificate
s@LoadBalancerTlsCertificate' {} Maybe Text
a -> LoadBalancerTlsCertificate
s {$sel:loadBalancerName:LoadBalancerTlsCertificate' :: Maybe Text
loadBalancerName = Maybe Text
a} :: LoadBalancerTlsCertificate)

-- | The Amazon Web Services Region and Availability Zone where you created
-- your certificate.
loadBalancerTlsCertificate_location :: Lens.Lens' LoadBalancerTlsCertificate (Prelude.Maybe ResourceLocation)
loadBalancerTlsCertificate_location :: Lens' LoadBalancerTlsCertificate (Maybe ResourceLocation)
loadBalancerTlsCertificate_location = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LoadBalancerTlsCertificate' {Maybe ResourceLocation
location :: Maybe ResourceLocation
$sel:location:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate -> Maybe ResourceLocation
location} -> Maybe ResourceLocation
location) (\s :: LoadBalancerTlsCertificate
s@LoadBalancerTlsCertificate' {} Maybe ResourceLocation
a -> LoadBalancerTlsCertificate
s {$sel:location:LoadBalancerTlsCertificate' :: Maybe ResourceLocation
location = Maybe ResourceLocation
a} :: LoadBalancerTlsCertificate)

-- | The name of the SSL\/TLS certificate (e.g., @my-certificate@).
loadBalancerTlsCertificate_name :: Lens.Lens' LoadBalancerTlsCertificate (Prelude.Maybe Prelude.Text)
loadBalancerTlsCertificate_name :: Lens' LoadBalancerTlsCertificate (Maybe Text)
loadBalancerTlsCertificate_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LoadBalancerTlsCertificate' {Maybe Text
name :: Maybe Text
$sel:name:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate -> Maybe Text
name} -> Maybe Text
name) (\s :: LoadBalancerTlsCertificate
s@LoadBalancerTlsCertificate' {} Maybe Text
a -> LoadBalancerTlsCertificate
s {$sel:name:LoadBalancerTlsCertificate' :: Maybe Text
name = Maybe Text
a} :: LoadBalancerTlsCertificate)

-- | The timestamp when the SSL\/TLS certificate expires.
loadBalancerTlsCertificate_notAfter :: Lens.Lens' LoadBalancerTlsCertificate (Prelude.Maybe Prelude.UTCTime)
loadBalancerTlsCertificate_notAfter :: Lens' LoadBalancerTlsCertificate (Maybe UTCTime)
loadBalancerTlsCertificate_notAfter = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LoadBalancerTlsCertificate' {Maybe POSIX
notAfter :: Maybe POSIX
$sel:notAfter:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate -> Maybe POSIX
notAfter} -> Maybe POSIX
notAfter) (\s :: LoadBalancerTlsCertificate
s@LoadBalancerTlsCertificate' {} Maybe POSIX
a -> LoadBalancerTlsCertificate
s {$sel:notAfter:LoadBalancerTlsCertificate' :: Maybe POSIX
notAfter = Maybe POSIX
a} :: LoadBalancerTlsCertificate) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. 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 forall (a :: Format). Iso' (Time a) UTCTime
Data._Time

-- | The timestamp when the SSL\/TLS certificate is first valid.
loadBalancerTlsCertificate_notBefore :: Lens.Lens' LoadBalancerTlsCertificate (Prelude.Maybe Prelude.UTCTime)
loadBalancerTlsCertificate_notBefore :: Lens' LoadBalancerTlsCertificate (Maybe UTCTime)
loadBalancerTlsCertificate_notBefore = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LoadBalancerTlsCertificate' {Maybe POSIX
notBefore :: Maybe POSIX
$sel:notBefore:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate -> Maybe POSIX
notBefore} -> Maybe POSIX
notBefore) (\s :: LoadBalancerTlsCertificate
s@LoadBalancerTlsCertificate' {} Maybe POSIX
a -> LoadBalancerTlsCertificate
s {$sel:notBefore:LoadBalancerTlsCertificate' :: Maybe POSIX
notBefore = Maybe POSIX
a} :: LoadBalancerTlsCertificate) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. 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 forall (a :: Format). Iso' (Time a) UTCTime
Data._Time

-- | An object that describes the status of the certificate renewal managed
-- by Lightsail.
loadBalancerTlsCertificate_renewalSummary :: Lens.Lens' LoadBalancerTlsCertificate (Prelude.Maybe LoadBalancerTlsCertificateRenewalSummary)
loadBalancerTlsCertificate_renewalSummary :: Lens'
  LoadBalancerTlsCertificate
  (Maybe LoadBalancerTlsCertificateRenewalSummary)
loadBalancerTlsCertificate_renewalSummary = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LoadBalancerTlsCertificate' {Maybe LoadBalancerTlsCertificateRenewalSummary
renewalSummary :: Maybe LoadBalancerTlsCertificateRenewalSummary
$sel:renewalSummary:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate
-> Maybe LoadBalancerTlsCertificateRenewalSummary
renewalSummary} -> Maybe LoadBalancerTlsCertificateRenewalSummary
renewalSummary) (\s :: LoadBalancerTlsCertificate
s@LoadBalancerTlsCertificate' {} Maybe LoadBalancerTlsCertificateRenewalSummary
a -> LoadBalancerTlsCertificate
s {$sel:renewalSummary:LoadBalancerTlsCertificate' :: Maybe LoadBalancerTlsCertificateRenewalSummary
renewalSummary = Maybe LoadBalancerTlsCertificateRenewalSummary
a} :: LoadBalancerTlsCertificate)

-- | The resource type (e.g., @LoadBalancerTlsCertificate@).
--
-- -   __@Instance@__ - A Lightsail instance (a virtual private server)
--
-- -   __@StaticIp@__ - A static IP address
--
-- -   __@KeyPair@__ - The key pair used to connect to a Lightsail instance
--
-- -   __@InstanceSnapshot@__ - A Lightsail instance snapshot
--
-- -   __@Domain@__ - A DNS zone
--
-- -   __@PeeredVpc@__ - A peered VPC
--
-- -   __@LoadBalancer@__ - A Lightsail load balancer
--
-- -   __@LoadBalancerTlsCertificate@__ - An SSL\/TLS certificate
--     associated with a Lightsail load balancer
--
-- -   __@Disk@__ - A Lightsail block storage disk
--
-- -   __@DiskSnapshot@__ - A block storage disk snapshot
loadBalancerTlsCertificate_resourceType :: Lens.Lens' LoadBalancerTlsCertificate (Prelude.Maybe ResourceType)
loadBalancerTlsCertificate_resourceType :: Lens' LoadBalancerTlsCertificate (Maybe ResourceType)
loadBalancerTlsCertificate_resourceType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LoadBalancerTlsCertificate' {Maybe ResourceType
resourceType :: Maybe ResourceType
$sel:resourceType:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate -> Maybe ResourceType
resourceType} -> Maybe ResourceType
resourceType) (\s :: LoadBalancerTlsCertificate
s@LoadBalancerTlsCertificate' {} Maybe ResourceType
a -> LoadBalancerTlsCertificate
s {$sel:resourceType:LoadBalancerTlsCertificate' :: Maybe ResourceType
resourceType = Maybe ResourceType
a} :: LoadBalancerTlsCertificate)

-- | The reason the certificate was revoked. This value is present only when
-- the certificate status is @REVOKED@.
loadBalancerTlsCertificate_revocationReason :: Lens.Lens' LoadBalancerTlsCertificate (Prelude.Maybe LoadBalancerTlsCertificateRevocationReason)
loadBalancerTlsCertificate_revocationReason :: Lens'
  LoadBalancerTlsCertificate
  (Maybe LoadBalancerTlsCertificateRevocationReason)
loadBalancerTlsCertificate_revocationReason = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LoadBalancerTlsCertificate' {Maybe LoadBalancerTlsCertificateRevocationReason
revocationReason :: Maybe LoadBalancerTlsCertificateRevocationReason
$sel:revocationReason:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate
-> Maybe LoadBalancerTlsCertificateRevocationReason
revocationReason} -> Maybe LoadBalancerTlsCertificateRevocationReason
revocationReason) (\s :: LoadBalancerTlsCertificate
s@LoadBalancerTlsCertificate' {} Maybe LoadBalancerTlsCertificateRevocationReason
a -> LoadBalancerTlsCertificate
s {$sel:revocationReason:LoadBalancerTlsCertificate' :: Maybe LoadBalancerTlsCertificateRevocationReason
revocationReason = Maybe LoadBalancerTlsCertificateRevocationReason
a} :: LoadBalancerTlsCertificate)

-- | The timestamp when the certificate was revoked. This value is present
-- only when the certificate status is @REVOKED@.
loadBalancerTlsCertificate_revokedAt :: Lens.Lens' LoadBalancerTlsCertificate (Prelude.Maybe Prelude.UTCTime)
loadBalancerTlsCertificate_revokedAt :: Lens' LoadBalancerTlsCertificate (Maybe UTCTime)
loadBalancerTlsCertificate_revokedAt = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LoadBalancerTlsCertificate' {Maybe POSIX
revokedAt :: Maybe POSIX
$sel:revokedAt:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate -> Maybe POSIX
revokedAt} -> Maybe POSIX
revokedAt) (\s :: LoadBalancerTlsCertificate
s@LoadBalancerTlsCertificate' {} Maybe POSIX
a -> LoadBalancerTlsCertificate
s {$sel:revokedAt:LoadBalancerTlsCertificate' :: Maybe POSIX
revokedAt = Maybe POSIX
a} :: LoadBalancerTlsCertificate) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. 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 forall (a :: Format). Iso' (Time a) UTCTime
Data._Time

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

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

-- | The validation status of the SSL\/TLS certificate. Valid values are
-- below.
loadBalancerTlsCertificate_status :: Lens.Lens' LoadBalancerTlsCertificate (Prelude.Maybe LoadBalancerTlsCertificateStatus)
loadBalancerTlsCertificate_status :: Lens'
  LoadBalancerTlsCertificate (Maybe LoadBalancerTlsCertificateStatus)
loadBalancerTlsCertificate_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LoadBalancerTlsCertificate' {Maybe LoadBalancerTlsCertificateStatus
status :: Maybe LoadBalancerTlsCertificateStatus
$sel:status:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate
-> Maybe LoadBalancerTlsCertificateStatus
status} -> Maybe LoadBalancerTlsCertificateStatus
status) (\s :: LoadBalancerTlsCertificate
s@LoadBalancerTlsCertificate' {} Maybe LoadBalancerTlsCertificateStatus
a -> LoadBalancerTlsCertificate
s {$sel:status:LoadBalancerTlsCertificate' :: Maybe LoadBalancerTlsCertificateStatus
status = Maybe LoadBalancerTlsCertificateStatus
a} :: LoadBalancerTlsCertificate)

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

-- | An array of strings that specify the alternate domains (e.g.,
-- @example2.com@) and subdomains (e.g., @blog.example.com@) for the
-- certificate.
loadBalancerTlsCertificate_subjectAlternativeNames :: Lens.Lens' LoadBalancerTlsCertificate (Prelude.Maybe [Prelude.Text])
loadBalancerTlsCertificate_subjectAlternativeNames :: Lens' LoadBalancerTlsCertificate (Maybe [Text])
loadBalancerTlsCertificate_subjectAlternativeNames = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LoadBalancerTlsCertificate' {Maybe [Text]
subjectAlternativeNames :: Maybe [Text]
$sel:subjectAlternativeNames:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate -> Maybe [Text]
subjectAlternativeNames} -> Maybe [Text]
subjectAlternativeNames) (\s :: LoadBalancerTlsCertificate
s@LoadBalancerTlsCertificate' {} Maybe [Text]
a -> LoadBalancerTlsCertificate
s {$sel:subjectAlternativeNames:LoadBalancerTlsCertificate' :: Maybe [Text]
subjectAlternativeNames = Maybe [Text]
a} :: LoadBalancerTlsCertificate) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. 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 forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The support code. Include this code in your email to support when you
-- have questions about your Lightsail load balancer or SSL\/TLS
-- certificate. This code enables our support team to look up your
-- Lightsail information more easily.
loadBalancerTlsCertificate_supportCode :: Lens.Lens' LoadBalancerTlsCertificate (Prelude.Maybe Prelude.Text)
loadBalancerTlsCertificate_supportCode :: Lens' LoadBalancerTlsCertificate (Maybe Text)
loadBalancerTlsCertificate_supportCode = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LoadBalancerTlsCertificate' {Maybe Text
supportCode :: Maybe Text
$sel:supportCode:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate -> Maybe Text
supportCode} -> Maybe Text
supportCode) (\s :: LoadBalancerTlsCertificate
s@LoadBalancerTlsCertificate' {} Maybe Text
a -> LoadBalancerTlsCertificate
s {$sel:supportCode:LoadBalancerTlsCertificate' :: Maybe Text
supportCode = Maybe Text
a} :: LoadBalancerTlsCertificate)

-- | The tag keys and optional values for the resource. For more information
-- about tags in Lightsail, see the
-- <https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tags Amazon Lightsail Developer Guide>.
loadBalancerTlsCertificate_tags :: Lens.Lens' LoadBalancerTlsCertificate (Prelude.Maybe [Tag])
loadBalancerTlsCertificate_tags :: Lens' LoadBalancerTlsCertificate (Maybe [Tag])
loadBalancerTlsCertificate_tags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LoadBalancerTlsCertificate' {Maybe [Tag]
tags :: Maybe [Tag]
$sel:tags:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate -> Maybe [Tag]
tags} -> Maybe [Tag]
tags) (\s :: LoadBalancerTlsCertificate
s@LoadBalancerTlsCertificate' {} Maybe [Tag]
a -> LoadBalancerTlsCertificate
s {$sel:tags:LoadBalancerTlsCertificate' :: Maybe [Tag]
tags = Maybe [Tag]
a} :: LoadBalancerTlsCertificate) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. 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 forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

instance Data.FromJSON LoadBalancerTlsCertificate where
  parseJSON :: Value -> Parser LoadBalancerTlsCertificate
parseJSON =
    forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
      String
"LoadBalancerTlsCertificate"
      ( \Object
x ->
          Maybe Text
-> Maybe POSIX
-> Maybe Text
-> Maybe [LoadBalancerTlsCertificateDomainValidationRecord]
-> Maybe LoadBalancerTlsCertificateFailureReason
-> Maybe Bool
-> Maybe POSIX
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe ResourceLocation
-> Maybe Text
-> Maybe POSIX
-> Maybe POSIX
-> Maybe LoadBalancerTlsCertificateRenewalSummary
-> Maybe ResourceType
-> Maybe LoadBalancerTlsCertificateRevocationReason
-> Maybe POSIX
-> Maybe Text
-> Maybe Text
-> Maybe LoadBalancerTlsCertificateStatus
-> Maybe Text
-> Maybe [Text]
-> Maybe Text
-> Maybe [Tag]
-> LoadBalancerTlsCertificate
LoadBalancerTlsCertificate'
            forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"arn")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"createdAt")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"domainName")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( Object
x
                            forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"domainValidationRecords"
                            forall a. Parser (Maybe a) -> a -> Parser a
Data..!= forall a. Monoid a => a
Prelude.mempty
                        )
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"failureReason")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"isAttached")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"issuedAt")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"issuer")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"keyAlgorithm")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"loadBalancerName")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"location")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"name")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"notAfter")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"notBefore")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"renewalSummary")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"resourceType")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"revocationReason")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"revokedAt")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"serial")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"signatureAlgorithm")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"status")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"subject")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( Object
x
                            forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"subjectAlternativeNames"
                            forall a. Parser (Maybe a) -> a -> Parser a
Data..!= forall a. Monoid a => a
Prelude.mempty
                        )
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"supportCode")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"tags" forall a. Parser (Maybe a) -> a -> Parser a
Data..!= forall a. Monoid a => a
Prelude.mempty)
      )

instance Prelude.Hashable LoadBalancerTlsCertificate where
  hashWithSalt :: Int -> LoadBalancerTlsCertificate -> Int
hashWithSalt Int
_salt LoadBalancerTlsCertificate' {Maybe Bool
Maybe [Text]
Maybe [LoadBalancerTlsCertificateDomainValidationRecord]
Maybe [Tag]
Maybe Text
Maybe POSIX
Maybe LoadBalancerTlsCertificateFailureReason
Maybe LoadBalancerTlsCertificateRenewalSummary
Maybe LoadBalancerTlsCertificateRevocationReason
Maybe LoadBalancerTlsCertificateStatus
Maybe ResourceLocation
Maybe ResourceType
tags :: Maybe [Tag]
supportCode :: Maybe Text
subjectAlternativeNames :: Maybe [Text]
subject :: Maybe Text
status :: Maybe LoadBalancerTlsCertificateStatus
signatureAlgorithm :: Maybe Text
serial :: Maybe Text
revokedAt :: Maybe POSIX
revocationReason :: Maybe LoadBalancerTlsCertificateRevocationReason
resourceType :: Maybe ResourceType
renewalSummary :: Maybe LoadBalancerTlsCertificateRenewalSummary
notBefore :: Maybe POSIX
notAfter :: Maybe POSIX
name :: Maybe Text
location :: Maybe ResourceLocation
loadBalancerName :: Maybe Text
keyAlgorithm :: Maybe Text
issuer :: Maybe Text
issuedAt :: Maybe POSIX
isAttached :: Maybe Bool
failureReason :: Maybe LoadBalancerTlsCertificateFailureReason
domainValidationRecords :: Maybe [LoadBalancerTlsCertificateDomainValidationRecord]
domainName :: Maybe Text
createdAt :: Maybe POSIX
arn :: Maybe Text
$sel:tags:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate -> Maybe [Tag]
$sel:supportCode:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate -> Maybe Text
$sel:subjectAlternativeNames:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate -> Maybe [Text]
$sel:subject:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate -> Maybe Text
$sel:status:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate
-> Maybe LoadBalancerTlsCertificateStatus
$sel:signatureAlgorithm:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate -> Maybe Text
$sel:serial:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate -> Maybe Text
$sel:revokedAt:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate -> Maybe POSIX
$sel:revocationReason:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate
-> Maybe LoadBalancerTlsCertificateRevocationReason
$sel:resourceType:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate -> Maybe ResourceType
$sel:renewalSummary:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate
-> Maybe LoadBalancerTlsCertificateRenewalSummary
$sel:notBefore:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate -> Maybe POSIX
$sel:notAfter:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate -> Maybe POSIX
$sel:name:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate -> Maybe Text
$sel:location:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate -> Maybe ResourceLocation
$sel:loadBalancerName:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate -> Maybe Text
$sel:keyAlgorithm:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate -> Maybe Text
$sel:issuer:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate -> Maybe Text
$sel:issuedAt:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate -> Maybe POSIX
$sel:isAttached:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate -> Maybe Bool
$sel:failureReason:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate
-> Maybe LoadBalancerTlsCertificateFailureReason
$sel:domainValidationRecords:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate
-> Maybe [LoadBalancerTlsCertificateDomainValidationRecord]
$sel:domainName:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate -> Maybe Text
$sel:createdAt:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate -> Maybe POSIX
$sel:arn:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate -> Maybe Text
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
arn
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
createdAt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
domainName
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [LoadBalancerTlsCertificateDomainValidationRecord]
domainValidationRecords
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe LoadBalancerTlsCertificateFailureReason
failureReason
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
isAttached
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
issuedAt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
issuer
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
keyAlgorithm
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
loadBalancerName
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ResourceLocation
location
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
name
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
notAfter
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
notBefore
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe LoadBalancerTlsCertificateRenewalSummary
renewalSummary
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ResourceType
resourceType
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe LoadBalancerTlsCertificateRevocationReason
revocationReason
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
revokedAt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
serial
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
signatureAlgorithm
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe LoadBalancerTlsCertificateStatus
status
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
subject
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Text]
subjectAlternativeNames
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
supportCode
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Tag]
tags

instance Prelude.NFData LoadBalancerTlsCertificate where
  rnf :: LoadBalancerTlsCertificate -> ()
rnf LoadBalancerTlsCertificate' {Maybe Bool
Maybe [Text]
Maybe [LoadBalancerTlsCertificateDomainValidationRecord]
Maybe [Tag]
Maybe Text
Maybe POSIX
Maybe LoadBalancerTlsCertificateFailureReason
Maybe LoadBalancerTlsCertificateRenewalSummary
Maybe LoadBalancerTlsCertificateRevocationReason
Maybe LoadBalancerTlsCertificateStatus
Maybe ResourceLocation
Maybe ResourceType
tags :: Maybe [Tag]
supportCode :: Maybe Text
subjectAlternativeNames :: Maybe [Text]
subject :: Maybe Text
status :: Maybe LoadBalancerTlsCertificateStatus
signatureAlgorithm :: Maybe Text
serial :: Maybe Text
revokedAt :: Maybe POSIX
revocationReason :: Maybe LoadBalancerTlsCertificateRevocationReason
resourceType :: Maybe ResourceType
renewalSummary :: Maybe LoadBalancerTlsCertificateRenewalSummary
notBefore :: Maybe POSIX
notAfter :: Maybe POSIX
name :: Maybe Text
location :: Maybe ResourceLocation
loadBalancerName :: Maybe Text
keyAlgorithm :: Maybe Text
issuer :: Maybe Text
issuedAt :: Maybe POSIX
isAttached :: Maybe Bool
failureReason :: Maybe LoadBalancerTlsCertificateFailureReason
domainValidationRecords :: Maybe [LoadBalancerTlsCertificateDomainValidationRecord]
domainName :: Maybe Text
createdAt :: Maybe POSIX
arn :: Maybe Text
$sel:tags:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate -> Maybe [Tag]
$sel:supportCode:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate -> Maybe Text
$sel:subjectAlternativeNames:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate -> Maybe [Text]
$sel:subject:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate -> Maybe Text
$sel:status:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate
-> Maybe LoadBalancerTlsCertificateStatus
$sel:signatureAlgorithm:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate -> Maybe Text
$sel:serial:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate -> Maybe Text
$sel:revokedAt:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate -> Maybe POSIX
$sel:revocationReason:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate
-> Maybe LoadBalancerTlsCertificateRevocationReason
$sel:resourceType:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate -> Maybe ResourceType
$sel:renewalSummary:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate
-> Maybe LoadBalancerTlsCertificateRenewalSummary
$sel:notBefore:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate -> Maybe POSIX
$sel:notAfter:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate -> Maybe POSIX
$sel:name:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate -> Maybe Text
$sel:location:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate -> Maybe ResourceLocation
$sel:loadBalancerName:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate -> Maybe Text
$sel:keyAlgorithm:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate -> Maybe Text
$sel:issuer:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate -> Maybe Text
$sel:issuedAt:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate -> Maybe POSIX
$sel:isAttached:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate -> Maybe Bool
$sel:failureReason:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate
-> Maybe LoadBalancerTlsCertificateFailureReason
$sel:domainValidationRecords:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate
-> Maybe [LoadBalancerTlsCertificateDomainValidationRecord]
$sel:domainName:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate -> Maybe Text
$sel:createdAt:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate -> Maybe POSIX
$sel:arn:LoadBalancerTlsCertificate' :: LoadBalancerTlsCertificate -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
arn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
createdAt
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
domainName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [LoadBalancerTlsCertificateDomainValidationRecord]
domainValidationRecords
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe LoadBalancerTlsCertificateFailureReason
failureReason
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
isAttached
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
issuedAt
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
issuer
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
keyAlgorithm
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
loadBalancerName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ResourceLocation
location
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
name
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
notAfter
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
notBefore
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe LoadBalancerTlsCertificateRenewalSummary
renewalSummary
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ResourceType
resourceType
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe LoadBalancerTlsCertificateRevocationReason
revocationReason
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
revokedAt
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
serial
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
signatureAlgorithm
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe LoadBalancerTlsCertificateStatus
status
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
subject
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe [Text]
subjectAlternativeNames
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe Text
supportCode
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Tag]
tags