/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Lightsail { namespace Model { /** *

Describes a load balancer SSL/TLS certificate.

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

See Also:

AWS * API Reference

*/ class LoadBalancerTlsCertificate { public: AWS_LIGHTSAIL_API LoadBalancerTlsCertificate(); AWS_LIGHTSAIL_API LoadBalancerTlsCertificate(Aws::Utils::Json::JsonView jsonValue); AWS_LIGHTSAIL_API LoadBalancerTlsCertificate& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_LIGHTSAIL_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

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

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

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

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

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

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

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

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

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

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

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

*/ inline LoadBalancerTlsCertificate& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

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

*/ inline LoadBalancerTlsCertificate& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

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

*/ inline LoadBalancerTlsCertificate& WithName(const char* value) { SetName(value); return *this;} /** *

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

*/ inline const Aws::String& GetArn() const{ return m_arn; } /** *

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

*/ inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } /** *

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

*/ inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } /** *

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

*/ inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } /** *

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

*/ inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } /** *

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

*/ inline LoadBalancerTlsCertificate& WithArn(const Aws::String& value) { SetArn(value); return *this;} /** *

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

*/ inline LoadBalancerTlsCertificate& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} /** *

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

*/ inline LoadBalancerTlsCertificate& WithArn(const char* value) { SetArn(value); return *this;} /** *

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.

*/ inline const Aws::String& GetSupportCode() const{ return m_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.

*/ inline bool SupportCodeHasBeenSet() const { return m_supportCodeHasBeenSet; } /** *

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.

*/ inline void SetSupportCode(const Aws::String& value) { m_supportCodeHasBeenSet = true; m_supportCode = value; } /** *

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.

*/ inline void SetSupportCode(Aws::String&& value) { m_supportCodeHasBeenSet = true; m_supportCode = std::move(value); } /** *

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.

*/ inline void SetSupportCode(const char* value) { m_supportCodeHasBeenSet = true; m_supportCode.assign(value); } /** *

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.

*/ inline LoadBalancerTlsCertificate& WithSupportCode(const Aws::String& value) { SetSupportCode(value); return *this;} /** *

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.

*/ inline LoadBalancerTlsCertificate& WithSupportCode(Aws::String&& value) { SetSupportCode(std::move(value)); return *this;} /** *

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.

*/ inline LoadBalancerTlsCertificate& WithSupportCode(const char* value) { SetSupportCode(value); return *this;} /** *

The time when you created your SSL/TLS certificate.

*/ inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } /** *

The time when you created your SSL/TLS certificate.

*/ inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } /** *

The time when you created your SSL/TLS certificate.

*/ inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } /** *

The time when you created your SSL/TLS certificate.

*/ inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } /** *

The time when you created your SSL/TLS certificate.

*/ inline LoadBalancerTlsCertificate& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} /** *

The time when you created your SSL/TLS certificate.

*/ inline LoadBalancerTlsCertificate& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} /** *

The Amazon Web Services Region and Availability Zone where you created your * certificate.

*/ inline const ResourceLocation& GetLocation() const{ return m_location; } /** *

The Amazon Web Services Region and Availability Zone where you created your * certificate.

*/ inline bool LocationHasBeenSet() const { return m_locationHasBeenSet; } /** *

The Amazon Web Services Region and Availability Zone where you created your * certificate.

*/ inline void SetLocation(const ResourceLocation& value) { m_locationHasBeenSet = true; m_location = value; } /** *

The Amazon Web Services Region and Availability Zone where you created your * certificate.

*/ inline void SetLocation(ResourceLocation&& value) { m_locationHasBeenSet = true; m_location = std::move(value); } /** *

The Amazon Web Services Region and Availability Zone where you created your * certificate.

*/ inline LoadBalancerTlsCertificate& WithLocation(const ResourceLocation& value) { SetLocation(value); return *this;} /** *

The Amazon Web Services Region and Availability Zone where you created your * certificate.

*/ inline LoadBalancerTlsCertificate& WithLocation(ResourceLocation&& value) { SetLocation(std::move(value)); return *this;} /** *

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

*/ inline const ResourceType& GetResourceType() const{ return m_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

*/ inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; } /** *

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

*/ inline void SetResourceType(const ResourceType& value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; } /** *

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

*/ inline void SetResourceType(ResourceType&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::move(value); } /** *

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

*/ inline LoadBalancerTlsCertificate& WithResourceType(const ResourceType& value) { SetResourceType(value); return *this;} /** *

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

*/ inline LoadBalancerTlsCertificate& WithResourceType(ResourceType&& value) { SetResourceType(std::move(value)); return *this;} /** *

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

*/ inline const Aws::Vector& GetTags() const{ return m_tags; } /** *

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

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

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

*/ inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

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

*/ inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

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

*/ inline LoadBalancerTlsCertificate& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} /** *

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

*/ inline LoadBalancerTlsCertificate& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} /** *

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

*/ inline LoadBalancerTlsCertificate& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *

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

*/ inline LoadBalancerTlsCertificate& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } /** *

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

*/ inline const Aws::String& GetLoadBalancerName() const{ return m_loadBalancerName; } /** *

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

*/ inline bool LoadBalancerNameHasBeenSet() const { return m_loadBalancerNameHasBeenSet; } /** *

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

*/ inline void SetLoadBalancerName(const Aws::String& value) { m_loadBalancerNameHasBeenSet = true; m_loadBalancerName = value; } /** *

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

*/ inline void SetLoadBalancerName(Aws::String&& value) { m_loadBalancerNameHasBeenSet = true; m_loadBalancerName = std::move(value); } /** *

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

*/ inline void SetLoadBalancerName(const char* value) { m_loadBalancerNameHasBeenSet = true; m_loadBalancerName.assign(value); } /** *

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

*/ inline LoadBalancerTlsCertificate& WithLoadBalancerName(const Aws::String& value) { SetLoadBalancerName(value); return *this;} /** *

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

*/ inline LoadBalancerTlsCertificate& WithLoadBalancerName(Aws::String&& value) { SetLoadBalancerName(std::move(value)); return *this;} /** *

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

*/ inline LoadBalancerTlsCertificate& WithLoadBalancerName(const char* value) { SetLoadBalancerName(value); return *this;} /** *

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

*/ inline bool GetIsAttached() const{ return m_isAttached; } /** *

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

*/ inline bool IsAttachedHasBeenSet() const { return m_isAttachedHasBeenSet; } /** *

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

*/ inline void SetIsAttached(bool value) { m_isAttachedHasBeenSet = true; m_isAttached = value; } /** *

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

*/ inline LoadBalancerTlsCertificate& WithIsAttached(bool value) { SetIsAttached(value); return *this;} /** *

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

*/ inline const LoadBalancerTlsCertificateStatus& GetStatus() const{ return m_status; } /** *

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

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

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

*/ inline void SetStatus(const LoadBalancerTlsCertificateStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** *

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

*/ inline void SetStatus(LoadBalancerTlsCertificateStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

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

*/ inline LoadBalancerTlsCertificate& WithStatus(const LoadBalancerTlsCertificateStatus& value) { SetStatus(value); return *this;} /** *

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

*/ inline LoadBalancerTlsCertificate& WithStatus(LoadBalancerTlsCertificateStatus&& value) { SetStatus(std::move(value)); return *this;} /** *

The domain name for your SSL/TLS certificate.

*/ inline const Aws::String& GetDomainName() const{ return m_domainName; } /** *

The domain name for your SSL/TLS certificate.

*/ inline bool DomainNameHasBeenSet() const { return m_domainNameHasBeenSet; } /** *

The domain name for your SSL/TLS certificate.

*/ inline void SetDomainName(const Aws::String& value) { m_domainNameHasBeenSet = true; m_domainName = value; } /** *

The domain name for your SSL/TLS certificate.

*/ inline void SetDomainName(Aws::String&& value) { m_domainNameHasBeenSet = true; m_domainName = std::move(value); } /** *

The domain name for your SSL/TLS certificate.

*/ inline void SetDomainName(const char* value) { m_domainNameHasBeenSet = true; m_domainName.assign(value); } /** *

The domain name for your SSL/TLS certificate.

*/ inline LoadBalancerTlsCertificate& WithDomainName(const Aws::String& value) { SetDomainName(value); return *this;} /** *

The domain name for your SSL/TLS certificate.

*/ inline LoadBalancerTlsCertificate& WithDomainName(Aws::String&& value) { SetDomainName(std::move(value)); return *this;} /** *

The domain name for your SSL/TLS certificate.

*/ inline LoadBalancerTlsCertificate& WithDomainName(const char* value) { SetDomainName(value); return *this;} /** *

An array of LoadBalancerTlsCertificateDomainValidationRecord objects * describing the records.

*/ inline const Aws::Vector& GetDomainValidationRecords() const{ return m_domainValidationRecords; } /** *

An array of LoadBalancerTlsCertificateDomainValidationRecord objects * describing the records.

*/ inline bool DomainValidationRecordsHasBeenSet() const { return m_domainValidationRecordsHasBeenSet; } /** *

An array of LoadBalancerTlsCertificateDomainValidationRecord objects * describing the records.

*/ inline void SetDomainValidationRecords(const Aws::Vector& value) { m_domainValidationRecordsHasBeenSet = true; m_domainValidationRecords = value; } /** *

An array of LoadBalancerTlsCertificateDomainValidationRecord objects * describing the records.

*/ inline void SetDomainValidationRecords(Aws::Vector&& value) { m_domainValidationRecordsHasBeenSet = true; m_domainValidationRecords = std::move(value); } /** *

An array of LoadBalancerTlsCertificateDomainValidationRecord objects * describing the records.

*/ inline LoadBalancerTlsCertificate& WithDomainValidationRecords(const Aws::Vector& value) { SetDomainValidationRecords(value); return *this;} /** *

An array of LoadBalancerTlsCertificateDomainValidationRecord objects * describing the records.

*/ inline LoadBalancerTlsCertificate& WithDomainValidationRecords(Aws::Vector&& value) { SetDomainValidationRecords(std::move(value)); return *this;} /** *

An array of LoadBalancerTlsCertificateDomainValidationRecord objects * describing the records.

*/ inline LoadBalancerTlsCertificate& AddDomainValidationRecords(const LoadBalancerTlsCertificateDomainValidationRecord& value) { m_domainValidationRecordsHasBeenSet = true; m_domainValidationRecords.push_back(value); return *this; } /** *

An array of LoadBalancerTlsCertificateDomainValidationRecord objects * describing the records.

*/ inline LoadBalancerTlsCertificate& AddDomainValidationRecords(LoadBalancerTlsCertificateDomainValidationRecord&& value) { m_domainValidationRecordsHasBeenSet = true; m_domainValidationRecords.push_back(std::move(value)); return *this; } /** *

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 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 VirusTotal. To correct the * problem, search for your domain name on the VirusTotal website. If your * domain is reported as suspicious, see 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 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.

*/ inline const LoadBalancerTlsCertificateFailureReason& GetFailureReason() const{ return m_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 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 VirusTotal. To correct the * problem, search for your domain name on the VirusTotal website. If your * domain is reported as suspicious, see 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 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.

*/ inline bool FailureReasonHasBeenSet() const { return m_failureReasonHasBeenSet; } /** *

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 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 VirusTotal. To correct the * problem, search for your domain name on the VirusTotal website. If your * domain is reported as suspicious, see 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 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.

*/ inline void SetFailureReason(const LoadBalancerTlsCertificateFailureReason& value) { m_failureReasonHasBeenSet = true; m_failureReason = value; } /** *

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 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 VirusTotal. To correct the * problem, search for your domain name on the VirusTotal website. If your * domain is reported as suspicious, see 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 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.

*/ inline void SetFailureReason(LoadBalancerTlsCertificateFailureReason&& value) { m_failureReasonHasBeenSet = true; m_failureReason = std::move(value); } /** *

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 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 VirusTotal. To correct the * problem, search for your domain name on the VirusTotal website. If your * domain is reported as suspicious, see 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 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.

*/ inline LoadBalancerTlsCertificate& WithFailureReason(const LoadBalancerTlsCertificateFailureReason& value) { SetFailureReason(value); return *this;} /** *

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 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 VirusTotal. To correct the * problem, search for your domain name on the VirusTotal website. If your * domain is reported as suspicious, see 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 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.

*/ inline LoadBalancerTlsCertificate& WithFailureReason(LoadBalancerTlsCertificateFailureReason&& value) { SetFailureReason(std::move(value)); return *this;} /** *

The time when the SSL/TLS certificate was issued.

*/ inline const Aws::Utils::DateTime& GetIssuedAt() const{ return m_issuedAt; } /** *

The time when the SSL/TLS certificate was issued.

*/ inline bool IssuedAtHasBeenSet() const { return m_issuedAtHasBeenSet; } /** *

The time when the SSL/TLS certificate was issued.

*/ inline void SetIssuedAt(const Aws::Utils::DateTime& value) { m_issuedAtHasBeenSet = true; m_issuedAt = value; } /** *

The time when the SSL/TLS certificate was issued.

*/ inline void SetIssuedAt(Aws::Utils::DateTime&& value) { m_issuedAtHasBeenSet = true; m_issuedAt = std::move(value); } /** *

The time when the SSL/TLS certificate was issued.

*/ inline LoadBalancerTlsCertificate& WithIssuedAt(const Aws::Utils::DateTime& value) { SetIssuedAt(value); return *this;} /** *

The time when the SSL/TLS certificate was issued.

*/ inline LoadBalancerTlsCertificate& WithIssuedAt(Aws::Utils::DateTime&& value) { SetIssuedAt(std::move(value)); return *this;} /** *

The issuer of the certificate.

*/ inline const Aws::String& GetIssuer() const{ return m_issuer; } /** *

The issuer of the certificate.

*/ inline bool IssuerHasBeenSet() const { return m_issuerHasBeenSet; } /** *

The issuer of the certificate.

*/ inline void SetIssuer(const Aws::String& value) { m_issuerHasBeenSet = true; m_issuer = value; } /** *

The issuer of the certificate.

*/ inline void SetIssuer(Aws::String&& value) { m_issuerHasBeenSet = true; m_issuer = std::move(value); } /** *

The issuer of the certificate.

*/ inline void SetIssuer(const char* value) { m_issuerHasBeenSet = true; m_issuer.assign(value); } /** *

The issuer of the certificate.

*/ inline LoadBalancerTlsCertificate& WithIssuer(const Aws::String& value) { SetIssuer(value); return *this;} /** *

The issuer of the certificate.

*/ inline LoadBalancerTlsCertificate& WithIssuer(Aws::String&& value) { SetIssuer(std::move(value)); return *this;} /** *

The issuer of the certificate.

*/ inline LoadBalancerTlsCertificate& WithIssuer(const char* value) { SetIssuer(value); return *this;} /** *

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

*/ inline const Aws::String& GetKeyAlgorithm() const{ return m_keyAlgorithm; } /** *

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

*/ inline bool KeyAlgorithmHasBeenSet() const { return m_keyAlgorithmHasBeenSet; } /** *

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

*/ inline void SetKeyAlgorithm(const Aws::String& value) { m_keyAlgorithmHasBeenSet = true; m_keyAlgorithm = value; } /** *

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

*/ inline void SetKeyAlgorithm(Aws::String&& value) { m_keyAlgorithmHasBeenSet = true; m_keyAlgorithm = std::move(value); } /** *

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

*/ inline void SetKeyAlgorithm(const char* value) { m_keyAlgorithmHasBeenSet = true; m_keyAlgorithm.assign(value); } /** *

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

*/ inline LoadBalancerTlsCertificate& WithKeyAlgorithm(const Aws::String& value) { SetKeyAlgorithm(value); return *this;} /** *

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

*/ inline LoadBalancerTlsCertificate& WithKeyAlgorithm(Aws::String&& value) { SetKeyAlgorithm(std::move(value)); return *this;} /** *

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

*/ inline LoadBalancerTlsCertificate& WithKeyAlgorithm(const char* value) { SetKeyAlgorithm(value); return *this;} /** *

The timestamp when the SSL/TLS certificate expires.

*/ inline const Aws::Utils::DateTime& GetNotAfter() const{ return m_notAfter; } /** *

The timestamp when the SSL/TLS certificate expires.

*/ inline bool NotAfterHasBeenSet() const { return m_notAfterHasBeenSet; } /** *

The timestamp when the SSL/TLS certificate expires.

*/ inline void SetNotAfter(const Aws::Utils::DateTime& value) { m_notAfterHasBeenSet = true; m_notAfter = value; } /** *

The timestamp when the SSL/TLS certificate expires.

*/ inline void SetNotAfter(Aws::Utils::DateTime&& value) { m_notAfterHasBeenSet = true; m_notAfter = std::move(value); } /** *

The timestamp when the SSL/TLS certificate expires.

*/ inline LoadBalancerTlsCertificate& WithNotAfter(const Aws::Utils::DateTime& value) { SetNotAfter(value); return *this;} /** *

The timestamp when the SSL/TLS certificate expires.

*/ inline LoadBalancerTlsCertificate& WithNotAfter(Aws::Utils::DateTime&& value) { SetNotAfter(std::move(value)); return *this;} /** *

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

*/ inline const Aws::Utils::DateTime& GetNotBefore() const{ return m_notBefore; } /** *

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

*/ inline bool NotBeforeHasBeenSet() const { return m_notBeforeHasBeenSet; } /** *

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

*/ inline void SetNotBefore(const Aws::Utils::DateTime& value) { m_notBeforeHasBeenSet = true; m_notBefore = value; } /** *

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

*/ inline void SetNotBefore(Aws::Utils::DateTime&& value) { m_notBeforeHasBeenSet = true; m_notBefore = std::move(value); } /** *

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

*/ inline LoadBalancerTlsCertificate& WithNotBefore(const Aws::Utils::DateTime& value) { SetNotBefore(value); return *this;} /** *

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

*/ inline LoadBalancerTlsCertificate& WithNotBefore(Aws::Utils::DateTime&& value) { SetNotBefore(std::move(value)); return *this;} /** *

An object that describes the status of the certificate renewal managed by * Lightsail.

*/ inline const LoadBalancerTlsCertificateRenewalSummary& GetRenewalSummary() const{ return m_renewalSummary; } /** *

An object that describes the status of the certificate renewal managed by * Lightsail.

*/ inline bool RenewalSummaryHasBeenSet() const { return m_renewalSummaryHasBeenSet; } /** *

An object that describes the status of the certificate renewal managed by * Lightsail.

*/ inline void SetRenewalSummary(const LoadBalancerTlsCertificateRenewalSummary& value) { m_renewalSummaryHasBeenSet = true; m_renewalSummary = value; } /** *

An object that describes the status of the certificate renewal managed by * Lightsail.

*/ inline void SetRenewalSummary(LoadBalancerTlsCertificateRenewalSummary&& value) { m_renewalSummaryHasBeenSet = true; m_renewalSummary = std::move(value); } /** *

An object that describes the status of the certificate renewal managed by * Lightsail.

*/ inline LoadBalancerTlsCertificate& WithRenewalSummary(const LoadBalancerTlsCertificateRenewalSummary& value) { SetRenewalSummary(value); return *this;} /** *

An object that describes the status of the certificate renewal managed by * Lightsail.

*/ inline LoadBalancerTlsCertificate& WithRenewalSummary(LoadBalancerTlsCertificateRenewalSummary&& value) { SetRenewalSummary(std::move(value)); return *this;} /** *

The reason the certificate was revoked. This value is present only when the * certificate status is REVOKED.

*/ inline const LoadBalancerTlsCertificateRevocationReason& GetRevocationReason() const{ return m_revocationReason; } /** *

The reason the certificate was revoked. This value is present only when the * certificate status is REVOKED.

*/ inline bool RevocationReasonHasBeenSet() const { return m_revocationReasonHasBeenSet; } /** *

The reason the certificate was revoked. This value is present only when the * certificate status is REVOKED.

*/ inline void SetRevocationReason(const LoadBalancerTlsCertificateRevocationReason& value) { m_revocationReasonHasBeenSet = true; m_revocationReason = value; } /** *

The reason the certificate was revoked. This value is present only when the * certificate status is REVOKED.

*/ inline void SetRevocationReason(LoadBalancerTlsCertificateRevocationReason&& value) { m_revocationReasonHasBeenSet = true; m_revocationReason = std::move(value); } /** *

The reason the certificate was revoked. This value is present only when the * certificate status is REVOKED.

*/ inline LoadBalancerTlsCertificate& WithRevocationReason(const LoadBalancerTlsCertificateRevocationReason& value) { SetRevocationReason(value); return *this;} /** *

The reason the certificate was revoked. This value is present only when the * certificate status is REVOKED.

*/ inline LoadBalancerTlsCertificate& WithRevocationReason(LoadBalancerTlsCertificateRevocationReason&& value) { SetRevocationReason(std::move(value)); return *this;} /** *

The timestamp when the certificate was revoked. This value is present only * when the certificate status is REVOKED.

*/ inline const Aws::Utils::DateTime& GetRevokedAt() const{ return m_revokedAt; } /** *

The timestamp when the certificate was revoked. This value is present only * when the certificate status is REVOKED.

*/ inline bool RevokedAtHasBeenSet() const { return m_revokedAtHasBeenSet; } /** *

The timestamp when the certificate was revoked. This value is present only * when the certificate status is REVOKED.

*/ inline void SetRevokedAt(const Aws::Utils::DateTime& value) { m_revokedAtHasBeenSet = true; m_revokedAt = value; } /** *

The timestamp when the certificate was revoked. This value is present only * when the certificate status is REVOKED.

*/ inline void SetRevokedAt(Aws::Utils::DateTime&& value) { m_revokedAtHasBeenSet = true; m_revokedAt = std::move(value); } /** *

The timestamp when the certificate was revoked. This value is present only * when the certificate status is REVOKED.

*/ inline LoadBalancerTlsCertificate& WithRevokedAt(const Aws::Utils::DateTime& value) { SetRevokedAt(value); return *this;} /** *

The timestamp when the certificate was revoked. This value is present only * when the certificate status is REVOKED.

*/ inline LoadBalancerTlsCertificate& WithRevokedAt(Aws::Utils::DateTime&& value) { SetRevokedAt(std::move(value)); return *this;} /** *

The serial number of the certificate.

*/ inline const Aws::String& GetSerial() const{ return m_serial; } /** *

The serial number of the certificate.

*/ inline bool SerialHasBeenSet() const { return m_serialHasBeenSet; } /** *

The serial number of the certificate.

*/ inline void SetSerial(const Aws::String& value) { m_serialHasBeenSet = true; m_serial = value; } /** *

The serial number of the certificate.

*/ inline void SetSerial(Aws::String&& value) { m_serialHasBeenSet = true; m_serial = std::move(value); } /** *

The serial number of the certificate.

*/ inline void SetSerial(const char* value) { m_serialHasBeenSet = true; m_serial.assign(value); } /** *

The serial number of the certificate.

*/ inline LoadBalancerTlsCertificate& WithSerial(const Aws::String& value) { SetSerial(value); return *this;} /** *

The serial number of the certificate.

*/ inline LoadBalancerTlsCertificate& WithSerial(Aws::String&& value) { SetSerial(std::move(value)); return *this;} /** *

The serial number of the certificate.

*/ inline LoadBalancerTlsCertificate& WithSerial(const char* value) { SetSerial(value); return *this;} /** *

The algorithm that was used to sign the certificate.

*/ inline const Aws::String& GetSignatureAlgorithm() const{ return m_signatureAlgorithm; } /** *

The algorithm that was used to sign the certificate.

*/ inline bool SignatureAlgorithmHasBeenSet() const { return m_signatureAlgorithmHasBeenSet; } /** *

The algorithm that was used to sign the certificate.

*/ inline void SetSignatureAlgorithm(const Aws::String& value) { m_signatureAlgorithmHasBeenSet = true; m_signatureAlgorithm = value; } /** *

The algorithm that was used to sign the certificate.

*/ inline void SetSignatureAlgorithm(Aws::String&& value) { m_signatureAlgorithmHasBeenSet = true; m_signatureAlgorithm = std::move(value); } /** *

The algorithm that was used to sign the certificate.

*/ inline void SetSignatureAlgorithm(const char* value) { m_signatureAlgorithmHasBeenSet = true; m_signatureAlgorithm.assign(value); } /** *

The algorithm that was used to sign the certificate.

*/ inline LoadBalancerTlsCertificate& WithSignatureAlgorithm(const Aws::String& value) { SetSignatureAlgorithm(value); return *this;} /** *

The algorithm that was used to sign the certificate.

*/ inline LoadBalancerTlsCertificate& WithSignatureAlgorithm(Aws::String&& value) { SetSignatureAlgorithm(std::move(value)); return *this;} /** *

The algorithm that was used to sign the certificate.

*/ inline LoadBalancerTlsCertificate& WithSignatureAlgorithm(const char* value) { SetSignatureAlgorithm(value); return *this;} /** *

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

*/ inline const Aws::String& GetSubject() const{ return m_subject; } /** *

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

*/ inline bool SubjectHasBeenSet() const { return m_subjectHasBeenSet; } /** *

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

*/ inline void SetSubject(const Aws::String& value) { m_subjectHasBeenSet = true; m_subject = value; } /** *

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

*/ inline void SetSubject(Aws::String&& value) { m_subjectHasBeenSet = true; m_subject = std::move(value); } /** *

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

*/ inline void SetSubject(const char* value) { m_subjectHasBeenSet = true; m_subject.assign(value); } /** *

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

*/ inline LoadBalancerTlsCertificate& WithSubject(const Aws::String& value) { SetSubject(value); return *this;} /** *

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

*/ inline LoadBalancerTlsCertificate& WithSubject(Aws::String&& value) { SetSubject(std::move(value)); return *this;} /** *

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

*/ inline LoadBalancerTlsCertificate& WithSubject(const char* value) { SetSubject(value); return *this;} /** *

An array of strings that specify the alternate domains (e.g., * example2.com) and subdomains (e.g., blog.example.com) * for the certificate.

*/ inline const Aws::Vector& GetSubjectAlternativeNames() const{ return m_subjectAlternativeNames; } /** *

An array of strings that specify the alternate domains (e.g., * example2.com) and subdomains (e.g., blog.example.com) * for the certificate.

*/ inline bool SubjectAlternativeNamesHasBeenSet() const { return m_subjectAlternativeNamesHasBeenSet; } /** *

An array of strings that specify the alternate domains (e.g., * example2.com) and subdomains (e.g., blog.example.com) * for the certificate.

*/ inline void SetSubjectAlternativeNames(const Aws::Vector& value) { m_subjectAlternativeNamesHasBeenSet = true; m_subjectAlternativeNames = value; } /** *

An array of strings that specify the alternate domains (e.g., * example2.com) and subdomains (e.g., blog.example.com) * for the certificate.

*/ inline void SetSubjectAlternativeNames(Aws::Vector&& value) { m_subjectAlternativeNamesHasBeenSet = true; m_subjectAlternativeNames = std::move(value); } /** *

An array of strings that specify the alternate domains (e.g., * example2.com) and subdomains (e.g., blog.example.com) * for the certificate.

*/ inline LoadBalancerTlsCertificate& WithSubjectAlternativeNames(const Aws::Vector& value) { SetSubjectAlternativeNames(value); return *this;} /** *

An array of strings that specify the alternate domains (e.g., * example2.com) and subdomains (e.g., blog.example.com) * for the certificate.

*/ inline LoadBalancerTlsCertificate& WithSubjectAlternativeNames(Aws::Vector&& value) { SetSubjectAlternativeNames(std::move(value)); return *this;} /** *

An array of strings that specify the alternate domains (e.g., * example2.com) and subdomains (e.g., blog.example.com) * for the certificate.

*/ inline LoadBalancerTlsCertificate& AddSubjectAlternativeNames(const Aws::String& value) { m_subjectAlternativeNamesHasBeenSet = true; m_subjectAlternativeNames.push_back(value); return *this; } /** *

An array of strings that specify the alternate domains (e.g., * example2.com) and subdomains (e.g., blog.example.com) * for the certificate.

*/ inline LoadBalancerTlsCertificate& AddSubjectAlternativeNames(Aws::String&& value) { m_subjectAlternativeNamesHasBeenSet = true; m_subjectAlternativeNames.push_back(std::move(value)); return *this; } /** *

An array of strings that specify the alternate domains (e.g., * example2.com) and subdomains (e.g., blog.example.com) * for the certificate.

*/ inline LoadBalancerTlsCertificate& AddSubjectAlternativeNames(const char* value) { m_subjectAlternativeNamesHasBeenSet = true; m_subjectAlternativeNames.push_back(value); return *this; } private: Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_arn; bool m_arnHasBeenSet = false; Aws::String m_supportCode; bool m_supportCodeHasBeenSet = false; Aws::Utils::DateTime m_createdAt; bool m_createdAtHasBeenSet = false; ResourceLocation m_location; bool m_locationHasBeenSet = false; ResourceType m_resourceType; bool m_resourceTypeHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; Aws::String m_loadBalancerName; bool m_loadBalancerNameHasBeenSet = false; bool m_isAttached; bool m_isAttachedHasBeenSet = false; LoadBalancerTlsCertificateStatus m_status; bool m_statusHasBeenSet = false; Aws::String m_domainName; bool m_domainNameHasBeenSet = false; Aws::Vector m_domainValidationRecords; bool m_domainValidationRecordsHasBeenSet = false; LoadBalancerTlsCertificateFailureReason m_failureReason; bool m_failureReasonHasBeenSet = false; Aws::Utils::DateTime m_issuedAt; bool m_issuedAtHasBeenSet = false; Aws::String m_issuer; bool m_issuerHasBeenSet = false; Aws::String m_keyAlgorithm; bool m_keyAlgorithmHasBeenSet = false; Aws::Utils::DateTime m_notAfter; bool m_notAfterHasBeenSet = false; Aws::Utils::DateTime m_notBefore; bool m_notBeforeHasBeenSet = false; LoadBalancerTlsCertificateRenewalSummary m_renewalSummary; bool m_renewalSummaryHasBeenSet = false; LoadBalancerTlsCertificateRevocationReason m_revocationReason; bool m_revocationReasonHasBeenSet = false; Aws::Utils::DateTime m_revokedAt; bool m_revokedAtHasBeenSet = false; Aws::String m_serial; bool m_serialHasBeenSet = false; Aws::String m_signatureAlgorithm; bool m_signatureAlgorithmHasBeenSet = false; Aws::String m_subject; bool m_subjectHasBeenSet = false; Aws::Vector m_subjectAlternativeNames; bool m_subjectAlternativeNamesHasBeenSet = false; }; } // namespace Model } // namespace Lightsail } // namespace Aws