{-# 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. arn :: Prelude.Maybe Prelude.Text, -- | The time when you created your SSL\/TLS certificate. createdAt :: Prelude.Maybe Data.POSIX, -- | The domain name for your SSL\/TLS certificate. domainName :: Prelude.Maybe Prelude.Text, -- | An array of LoadBalancerTlsCertificateDomainValidationRecord objects -- describing the records. 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 -- 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 -- . To correct the -- problem, search for your domain name on the -- website. If -- your domain is reported as suspicious, see -- -- 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 -- 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. failureReason :: Prelude.Maybe LoadBalancerTlsCertificateFailureReason, -- | When @true@, the SSL\/TLS certificate is attached to the Lightsail load -- balancer. isAttached :: Prelude.Maybe Prelude.Bool, -- | The time when the SSL\/TLS certificate was issued. issuedAt :: Prelude.Maybe Data.POSIX, -- | The issuer of the certificate. issuer :: Prelude.Maybe Prelude.Text, -- | The algorithm used to generate the key pair (the public and private -- key). keyAlgorithm :: Prelude.Maybe Prelude.Text, -- | The load balancer name where your SSL\/TLS certificate is attached. loadBalancerName :: Prelude.Maybe Prelude.Text, -- | The Amazon Web Services Region and Availability Zone where you created -- your certificate. location :: Prelude.Maybe ResourceLocation, -- | The name of the SSL\/TLS certificate (e.g., @my-certificate@). name :: Prelude.Maybe Prelude.Text, -- | The timestamp when the SSL\/TLS certificate expires. notAfter :: Prelude.Maybe Data.POSIX, -- | The timestamp when the SSL\/TLS certificate is first valid. notBefore :: Prelude.Maybe Data.POSIX, -- | An object that describes the status of the certificate renewal managed -- by Lightsail. 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 resourceType :: Prelude.Maybe ResourceType, -- | The reason the certificate was revoked. This value is present only when -- the certificate status is @REVOKED@. revocationReason :: Prelude.Maybe LoadBalancerTlsCertificateRevocationReason, -- | The timestamp when the certificate was revoked. This value is present -- only when the certificate status is @REVOKED@. revokedAt :: Prelude.Maybe Data.POSIX, -- | The serial number of the certificate. serial :: Prelude.Maybe Prelude.Text, -- | The algorithm that was used to sign the certificate. signatureAlgorithm :: Prelude.Maybe Prelude.Text, -- | The validation status of the SSL\/TLS certificate. Valid values are -- below. status :: Prelude.Maybe LoadBalancerTlsCertificateStatus, -- | The name of the entity that is associated with the public key contained -- in the certificate. 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. 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. supportCode :: Prelude.Maybe Prelude.Text, -- | The tag keys and optional values for the resource. For more information -- about tags in Lightsail, see the -- . tags :: Prelude.Maybe [Tag] } deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic) -- | -- Create a value of 'LoadBalancerTlsCertificate' with all optional fields omitted. -- -- Use or 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 -- 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 -- . To correct the -- problem, search for your domain name on the -- website. If -- your domain is reported as suspicious, see -- -- 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 -- 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 -- . newLoadBalancerTlsCertificate :: LoadBalancerTlsCertificate newLoadBalancerTlsCertificate = LoadBalancerTlsCertificate' { arn = Prelude.Nothing, createdAt = Prelude.Nothing, domainName = Prelude.Nothing, domainValidationRecords = Prelude.Nothing, failureReason = Prelude.Nothing, isAttached = Prelude.Nothing, issuedAt = Prelude.Nothing, issuer = Prelude.Nothing, keyAlgorithm = Prelude.Nothing, loadBalancerName = Prelude.Nothing, location = Prelude.Nothing, name = Prelude.Nothing, notAfter = Prelude.Nothing, notBefore = Prelude.Nothing, renewalSummary = Prelude.Nothing, resourceType = Prelude.Nothing, revocationReason = Prelude.Nothing, revokedAt = Prelude.Nothing, serial = Prelude.Nothing, signatureAlgorithm = Prelude.Nothing, status = Prelude.Nothing, subject = Prelude.Nothing, subjectAlternativeNames = Prelude.Nothing, supportCode = Prelude.Nothing, tags = Prelude.Nothing } -- | The Amazon Resource Name (ARN) of the SSL\/TLS certificate. loadBalancerTlsCertificate_arn :: Lens.Lens' LoadBalancerTlsCertificate (Prelude.Maybe Prelude.Text) loadBalancerTlsCertificate_arn = Lens.lens (\LoadBalancerTlsCertificate' {arn} -> arn) (\s@LoadBalancerTlsCertificate' {} a -> s {arn = a} :: LoadBalancerTlsCertificate) -- | The time when you created your SSL\/TLS certificate. loadBalancerTlsCertificate_createdAt :: Lens.Lens' LoadBalancerTlsCertificate (Prelude.Maybe Prelude.UTCTime) loadBalancerTlsCertificate_createdAt = Lens.lens (\LoadBalancerTlsCertificate' {createdAt} -> createdAt) (\s@LoadBalancerTlsCertificate' {} a -> s {createdAt = a} :: LoadBalancerTlsCertificate) Prelude.. Lens.mapping Data._Time -- | The domain name for your SSL\/TLS certificate. loadBalancerTlsCertificate_domainName :: Lens.Lens' LoadBalancerTlsCertificate (Prelude.Maybe Prelude.Text) loadBalancerTlsCertificate_domainName = Lens.lens (\LoadBalancerTlsCertificate' {domainName} -> domainName) (\s@LoadBalancerTlsCertificate' {} a -> s {domainName = a} :: LoadBalancerTlsCertificate) -- | An array of LoadBalancerTlsCertificateDomainValidationRecord objects -- describing the records. loadBalancerTlsCertificate_domainValidationRecords :: Lens.Lens' LoadBalancerTlsCertificate (Prelude.Maybe [LoadBalancerTlsCertificateDomainValidationRecord]) loadBalancerTlsCertificate_domainValidationRecords = Lens.lens (\LoadBalancerTlsCertificate' {domainValidationRecords} -> domainValidationRecords) (\s@LoadBalancerTlsCertificate' {} a -> s {domainValidationRecords = a} :: LoadBalancerTlsCertificate) Prelude.. Lens.mapping 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 -- 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 -- . To correct the -- problem, search for your domain name on the -- website. If -- your domain is reported as suspicious, see -- -- 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 -- 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.lens (\LoadBalancerTlsCertificate' {failureReason} -> failureReason) (\s@LoadBalancerTlsCertificate' {} a -> s {failureReason = 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.lens (\LoadBalancerTlsCertificate' {isAttached} -> isAttached) (\s@LoadBalancerTlsCertificate' {} a -> s {isAttached = a} :: LoadBalancerTlsCertificate) -- | The time when the SSL\/TLS certificate was issued. loadBalancerTlsCertificate_issuedAt :: Lens.Lens' LoadBalancerTlsCertificate (Prelude.Maybe Prelude.UTCTime) loadBalancerTlsCertificate_issuedAt = Lens.lens (\LoadBalancerTlsCertificate' {issuedAt} -> issuedAt) (\s@LoadBalancerTlsCertificate' {} a -> s {issuedAt = a} :: LoadBalancerTlsCertificate) Prelude.. Lens.mapping Data._Time -- | The issuer of the certificate. loadBalancerTlsCertificate_issuer :: Lens.Lens' LoadBalancerTlsCertificate (Prelude.Maybe Prelude.Text) loadBalancerTlsCertificate_issuer = Lens.lens (\LoadBalancerTlsCertificate' {issuer} -> issuer) (\s@LoadBalancerTlsCertificate' {} a -> s {issuer = 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.lens (\LoadBalancerTlsCertificate' {keyAlgorithm} -> keyAlgorithm) (\s@LoadBalancerTlsCertificate' {} a -> s {keyAlgorithm = 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.lens (\LoadBalancerTlsCertificate' {loadBalancerName} -> loadBalancerName) (\s@LoadBalancerTlsCertificate' {} a -> s {loadBalancerName = 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.lens (\LoadBalancerTlsCertificate' {location} -> location) (\s@LoadBalancerTlsCertificate' {} a -> s {location = 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.lens (\LoadBalancerTlsCertificate' {name} -> name) (\s@LoadBalancerTlsCertificate' {} a -> s {name = a} :: LoadBalancerTlsCertificate) -- | The timestamp when the SSL\/TLS certificate expires. loadBalancerTlsCertificate_notAfter :: Lens.Lens' LoadBalancerTlsCertificate (Prelude.Maybe Prelude.UTCTime) loadBalancerTlsCertificate_notAfter = Lens.lens (\LoadBalancerTlsCertificate' {notAfter} -> notAfter) (\s@LoadBalancerTlsCertificate' {} a -> s {notAfter = a} :: LoadBalancerTlsCertificate) Prelude.. Lens.mapping Data._Time -- | The timestamp when the SSL\/TLS certificate is first valid. loadBalancerTlsCertificate_notBefore :: Lens.Lens' LoadBalancerTlsCertificate (Prelude.Maybe Prelude.UTCTime) loadBalancerTlsCertificate_notBefore = Lens.lens (\LoadBalancerTlsCertificate' {notBefore} -> notBefore) (\s@LoadBalancerTlsCertificate' {} a -> s {notBefore = a} :: LoadBalancerTlsCertificate) Prelude.. Lens.mapping 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.lens (\LoadBalancerTlsCertificate' {renewalSummary} -> renewalSummary) (\s@LoadBalancerTlsCertificate' {} a -> s {renewalSummary = 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.lens (\LoadBalancerTlsCertificate' {resourceType} -> resourceType) (\s@LoadBalancerTlsCertificate' {} a -> s {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.lens (\LoadBalancerTlsCertificate' {revocationReason} -> revocationReason) (\s@LoadBalancerTlsCertificate' {} a -> s {revocationReason = 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.lens (\LoadBalancerTlsCertificate' {revokedAt} -> revokedAt) (\s@LoadBalancerTlsCertificate' {} a -> s {revokedAt = a} :: LoadBalancerTlsCertificate) Prelude.. Lens.mapping Data._Time -- | The serial number of the certificate. loadBalancerTlsCertificate_serial :: Lens.Lens' LoadBalancerTlsCertificate (Prelude.Maybe Prelude.Text) loadBalancerTlsCertificate_serial = Lens.lens (\LoadBalancerTlsCertificate' {serial} -> serial) (\s@LoadBalancerTlsCertificate' {} a -> s {serial = a} :: LoadBalancerTlsCertificate) -- | The algorithm that was used to sign the certificate. loadBalancerTlsCertificate_signatureAlgorithm :: Lens.Lens' LoadBalancerTlsCertificate (Prelude.Maybe Prelude.Text) loadBalancerTlsCertificate_signatureAlgorithm = Lens.lens (\LoadBalancerTlsCertificate' {signatureAlgorithm} -> signatureAlgorithm) (\s@LoadBalancerTlsCertificate' {} a -> s {signatureAlgorithm = 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.lens (\LoadBalancerTlsCertificate' {status} -> status) (\s@LoadBalancerTlsCertificate' {} a -> s {status = 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.lens (\LoadBalancerTlsCertificate' {subject} -> subject) (\s@LoadBalancerTlsCertificate' {} a -> s {subject = 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.lens (\LoadBalancerTlsCertificate' {subjectAlternativeNames} -> subjectAlternativeNames) (\s@LoadBalancerTlsCertificate' {} a -> s {subjectAlternativeNames = a} :: LoadBalancerTlsCertificate) Prelude.. Lens.mapping 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.lens (\LoadBalancerTlsCertificate' {supportCode} -> supportCode) (\s@LoadBalancerTlsCertificate' {} a -> s {supportCode = a} :: LoadBalancerTlsCertificate) -- | The tag keys and optional values for the resource. For more information -- about tags in Lightsail, see the -- . loadBalancerTlsCertificate_tags :: Lens.Lens' LoadBalancerTlsCertificate (Prelude.Maybe [Tag]) loadBalancerTlsCertificate_tags = Lens.lens (\LoadBalancerTlsCertificate' {tags} -> tags) (\s@LoadBalancerTlsCertificate' {} a -> s {tags = a} :: LoadBalancerTlsCertificate) Prelude.. Lens.mapping Lens.coerced instance Data.FromJSON LoadBalancerTlsCertificate where parseJSON = Data.withObject "LoadBalancerTlsCertificate" ( \x -> LoadBalancerTlsCertificate' Prelude.<$> (x Data..:? "arn") Prelude.<*> (x Data..:? "createdAt") Prelude.<*> (x Data..:? "domainName") Prelude.<*> ( x Data..:? "domainValidationRecords" Data..!= Prelude.mempty ) Prelude.<*> (x Data..:? "failureReason") Prelude.<*> (x Data..:? "isAttached") Prelude.<*> (x Data..:? "issuedAt") Prelude.<*> (x Data..:? "issuer") Prelude.<*> (x Data..:? "keyAlgorithm") Prelude.<*> (x Data..:? "loadBalancerName") Prelude.<*> (x Data..:? "location") Prelude.<*> (x Data..:? "name") Prelude.<*> (x Data..:? "notAfter") Prelude.<*> (x Data..:? "notBefore") Prelude.<*> (x Data..:? "renewalSummary") Prelude.<*> (x Data..:? "resourceType") Prelude.<*> (x Data..:? "revocationReason") Prelude.<*> (x Data..:? "revokedAt") Prelude.<*> (x Data..:? "serial") Prelude.<*> (x Data..:? "signatureAlgorithm") Prelude.<*> (x Data..:? "status") Prelude.<*> (x Data..:? "subject") Prelude.<*> ( x Data..:? "subjectAlternativeNames" Data..!= Prelude.mempty ) Prelude.<*> (x Data..:? "supportCode") Prelude.<*> (x Data..:? "tags" Data..!= Prelude.mempty) ) instance Prelude.Hashable LoadBalancerTlsCertificate where hashWithSalt _salt LoadBalancerTlsCertificate' {..} = _salt `Prelude.hashWithSalt` arn `Prelude.hashWithSalt` createdAt `Prelude.hashWithSalt` domainName `Prelude.hashWithSalt` domainValidationRecords `Prelude.hashWithSalt` failureReason `Prelude.hashWithSalt` isAttached `Prelude.hashWithSalt` issuedAt `Prelude.hashWithSalt` issuer `Prelude.hashWithSalt` keyAlgorithm `Prelude.hashWithSalt` loadBalancerName `Prelude.hashWithSalt` location `Prelude.hashWithSalt` name `Prelude.hashWithSalt` notAfter `Prelude.hashWithSalt` notBefore `Prelude.hashWithSalt` renewalSummary `Prelude.hashWithSalt` resourceType `Prelude.hashWithSalt` revocationReason `Prelude.hashWithSalt` revokedAt `Prelude.hashWithSalt` serial `Prelude.hashWithSalt` signatureAlgorithm `Prelude.hashWithSalt` status `Prelude.hashWithSalt` subject `Prelude.hashWithSalt` subjectAlternativeNames `Prelude.hashWithSalt` supportCode `Prelude.hashWithSalt` tags instance Prelude.NFData LoadBalancerTlsCertificate where rnf LoadBalancerTlsCertificate' {..} = Prelude.rnf arn `Prelude.seq` Prelude.rnf createdAt `Prelude.seq` Prelude.rnf domainName `Prelude.seq` Prelude.rnf domainValidationRecords `Prelude.seq` Prelude.rnf failureReason `Prelude.seq` Prelude.rnf isAttached `Prelude.seq` Prelude.rnf issuedAt `Prelude.seq` Prelude.rnf issuer `Prelude.seq` Prelude.rnf keyAlgorithm `Prelude.seq` Prelude.rnf loadBalancerName `Prelude.seq` Prelude.rnf location `Prelude.seq` Prelude.rnf name `Prelude.seq` Prelude.rnf notAfter `Prelude.seq` Prelude.rnf notBefore `Prelude.seq` Prelude.rnf renewalSummary `Prelude.seq` Prelude.rnf resourceType `Prelude.seq` Prelude.rnf revocationReason `Prelude.seq` Prelude.rnf revokedAt `Prelude.seq` Prelude.rnf serial `Prelude.seq` Prelude.rnf signatureAlgorithm `Prelude.seq` Prelude.rnf status `Prelude.seq` Prelude.rnf subject `Prelude.seq` Prelude.rnf subjectAlternativeNames `Prelude.seq` Prelude.rnf supportCode `Prelude.seq` Prelude.rnf tags