import { _ResourceLocation, _UnmarshalledResourceLocation } from "./_ResourceLocation"; import { _Tag, _UnmarshalledTag } from "./_Tag"; import { _LoadBalancerTlsCertificateDomainValidationRecord, _UnmarshalledLoadBalancerTlsCertificateDomainValidationRecord } from "./_LoadBalancerTlsCertificateDomainValidationRecord"; import { _LoadBalancerTlsCertificateRenewalSummary, _UnmarshalledLoadBalancerTlsCertificateRenewalSummary } from "./_LoadBalancerTlsCertificateRenewalSummary"; /** *

Describes a load balancer SSL/TLS certificate.

TLS is just an updated, more secure version of Secure Socket Layer (SSL).

*/ export interface _LoadBalancerTlsCertificate { /** *

The name of the SSL/TLS certificate (e.g., my-certificate).

*/ name?: string; /** *

The Amazon Resource Name (ARN) of the SSL/TLS certificate.

*/ arn?: string; /** *

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?: string; /** *

The time when you created your SSL/TLS certificate.

*/ createdAt?: Date | string | number; /** *

The AWS Region and Availability Zone where you created your certificate.

*/ location?: _ResourceLocation; /** *

The resource type (e.g., LoadBalancerTlsCertificate).

*/ resourceType?: "Instance" | "StaticIp" | "KeyPair" | "InstanceSnapshot" | "Domain" | "PeeredVpc" | "LoadBalancer" | "LoadBalancerTlsCertificate" | "Disk" | "DiskSnapshot" | "RelationalDatabase" | "RelationalDatabaseSnapshot" | "ExportSnapshotRecord" | "CloudFormationStackRecord" | string; /** *

The tag keys and optional values for the resource. For more information about tags in Lightsail, see the Lightsail Dev Guide.

*/ tags?: Array<_Tag> | Iterable<_Tag>; /** *

The load balancer name where your SSL/TLS certificate is attached.

*/ loadBalancerName?: string; /** *

When true, the SSL/TLS certificate is attached to the Lightsail load balancer.

*/ isAttached?: boolean; /** *

The status of the SSL/TLS certificate. Valid values are below.

*/ status?: "PENDING_VALIDATION" | "ISSUED" | "INACTIVE" | "EXPIRED" | "VALIDATION_TIMED_OUT" | "REVOKED" | "FAILED" | "UNKNOWN" | string; /** *

The domain name for your SSL/TLS certificate.

*/ domainName?: string; /** *

An array of LoadBalancerTlsCertificateDomainValidationRecord objects describing the records.

*/ domainValidationRecords?: Array<_LoadBalancerTlsCertificateDomainValidationRecord> | Iterable<_LoadBalancerTlsCertificateDomainValidationRecord>; /** *

The reason for the SSL/TLS certificate validation failure.

*/ failureReason?: "NO_AVAILABLE_CONTACTS" | "ADDITIONAL_VERIFICATION_REQUIRED" | "DOMAIN_NOT_ALLOWED" | "INVALID_PUBLIC_DOMAIN" | "OTHER" | string; /** *

The time when the SSL/TLS certificate was issued.

*/ issuedAt?: Date | string | number; /** *

The issuer of the certificate.

*/ issuer?: string; /** *

The algorithm that was used to generate the key pair (the public and private key).

*/ keyAlgorithm?: string; /** *

The timestamp when the SSL/TLS certificate expires.

*/ notAfter?: Date | string | number; /** *

The timestamp when the SSL/TLS certificate is first valid.

*/ notBefore?: Date | string | number; /** *

An object containing information about the status of Lightsail's managed renewal for the certificate.

*/ renewalSummary?: _LoadBalancerTlsCertificateRenewalSummary; /** *

The reason the certificate was revoked. Valid values are below.

*/ revocationReason?: "UNSPECIFIED" | "KEY_COMPROMISE" | "CA_COMPROMISE" | "AFFILIATION_CHANGED" | "SUPERCEDED" | "CESSATION_OF_OPERATION" | "CERTIFICATE_HOLD" | "REMOVE_FROM_CRL" | "PRIVILEGE_WITHDRAWN" | "A_A_COMPROMISE" | string; /** *

The timestamp when the SSL/TLS certificate was revoked.

*/ revokedAt?: Date | string | number; /** *

The serial number of the certificate.

*/ serial?: string; /** *

The algorithm that was used to sign the certificate.

*/ signatureAlgorithm?: string; /** *

The name of the entity that is associated with the public key contained in the certificate.

*/ subject?: string; /** *

One or more domains or subdomains included in the certificate. This list contains the domain names that are bound to the public key that is contained in the certificate. The subject alternative names include the canonical domain name (CNAME) of the certificate and additional domain names that can be used to connect to the website, such as example.com, www.example.com, or m.example.com.

*/ subjectAlternativeNames?: Array | Iterable; } export interface _UnmarshalledLoadBalancerTlsCertificate extends _LoadBalancerTlsCertificate { /** *

The time when you created your SSL/TLS certificate.

*/ createdAt?: Date; /** *

The AWS Region and Availability Zone where you created your certificate.

*/ location?: _UnmarshalledResourceLocation; /** *

The tag keys and optional values for the resource. For more information about tags in Lightsail, see the Lightsail Dev Guide.

*/ tags?: Array<_UnmarshalledTag>; /** *

An array of LoadBalancerTlsCertificateDomainValidationRecord objects describing the records.

*/ domainValidationRecords?: Array<_UnmarshalledLoadBalancerTlsCertificateDomainValidationRecord>; /** *

The time when the SSL/TLS certificate was issued.

*/ issuedAt?: Date; /** *

The timestamp when the SSL/TLS certificate expires.

*/ notAfter?: Date; /** *

The timestamp when the SSL/TLS certificate is first valid.

*/ notBefore?: Date; /** *

An object containing information about the status of Lightsail's managed renewal for the certificate.

*/ renewalSummary?: _UnmarshalledLoadBalancerTlsCertificateRenewalSummary; /** *

The timestamp when the SSL/TLS certificate was revoked.

*/ revokedAt?: Date; /** *

One or more domains or subdomains included in the certificate. This list contains the domain names that are bound to the public key that is contained in the certificate. The subject alternative names include the canonical domain name (CNAME) of the certificate and additional domain names that can be used to connect to the website, such as example.com, www.example.com, or m.example.com.

*/ subjectAlternativeNames?: Array; }