java.lang.Object
software.amazon.awssdk.services.lightsail.model.Certificate
All Implemented Interfaces:
Serializable, SdkPojo, ToCopyableBuilder<Certificate.Builder,Certificate>

@Generated("software.amazon.awssdk:codegen") public final class Certificate extends Object implements SdkPojo, Serializable, ToCopyableBuilder<Certificate.Builder,Certificate>

Describes the full details of an Amazon Lightsail SSL/TLS certificate.

To get a summary of a certificate, use the GetCertificates action and omit includeCertificateDetails from your request. The response will include only the certificate Amazon Resource Name (ARN), certificate name, domain name, and tags.

See Also:
  • Method Details

    • arn

      public final String arn()

      The Amazon Resource Name (ARN) of the certificate.

      Returns:
      The Amazon Resource Name (ARN) of the certificate.
    • name

      public final String name()

      The name of the certificate (my-certificate).

      Returns:
      The name of the certificate (my-certificate).
    • domainName

      public final String domainName()

      The domain name of the certificate.

      Returns:
      The domain name of the certificate.
    • status

      public final CertificateStatus status()

      The validation status of the certificate.

      If the service returns an enum value that is not available in the current SDK version, status will return CertificateStatus.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from statusAsString().

      Returns:
      The validation status of the certificate.
      See Also:
    • statusAsString

      public final String statusAsString()

      The validation status of the certificate.

      If the service returns an enum value that is not available in the current SDK version, status will return CertificateStatus.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from statusAsString().

      Returns:
      The validation status of the certificate.
      See Also:
    • serialNumber

      public final String serialNumber()

      The serial number of the certificate.

      Returns:
      The serial number of the certificate.
    • hasSubjectAlternativeNames

      public final boolean hasSubjectAlternativeNames()
      For responses, this returns true if the service returned a value for the SubjectAlternativeNames property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • subjectAlternativeNames

      public final List<String> subjectAlternativeNames()

      An array of strings that specify the alternate domains (example2.com) and subdomains ( blog.example.com) of the certificate.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasSubjectAlternativeNames() method.

      Returns:
      An array of strings that specify the alternate domains (example2.com) and subdomains ( blog.example.com) of the certificate.
    • hasDomainValidationRecords

      public final boolean hasDomainValidationRecords()
      For responses, this returns true if the service returned a value for the DomainValidationRecords property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • domainValidationRecords

      public final List<DomainValidationRecord> domainValidationRecords()

      An array of objects that describe the domain validation records of the certificate.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasDomainValidationRecords() method.

      Returns:
      An array of objects that describe the domain validation records of the certificate.
    • requestFailureReason

      public final String requestFailureReason()

      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 Amazon Web Services Support Center to contact Amazon Web Services 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 Amazon Web Services 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.

      Returns:
      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 Amazon Web Services Support Center to contact Amazon Web Services 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 Amazon Web Services 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.

    • inUseResourceCount

      public final Integer inUseResourceCount()

      The number of Lightsail resources that the certificate is attached to.

      Returns:
      The number of Lightsail resources that the certificate is attached to.
    • keyAlgorithm

      public final String keyAlgorithm()

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

      Returns:
      The algorithm used to generate the key pair (the public and private key) of the certificate.
    • createdAt

      public final Instant createdAt()

      The timestamp when the certificate was created.

      Returns:
      The timestamp when the certificate was created.
    • issuedAt

      public final Instant issuedAt()

      The timestamp when the certificate was issued.

      Returns:
      The timestamp when the certificate was issued.
    • issuerCA

      public final String issuerCA()

      The certificate authority that issued the certificate.

      Returns:
      The certificate authority that issued the certificate.
    • notBefore

      public final Instant notBefore()

      The timestamp when the certificate is first valid.

      Returns:
      The timestamp when the certificate is first valid.
    • notAfter

      public final Instant notAfter()

      The timestamp when the certificate expires.

      Returns:
      The timestamp when the certificate expires.
    • eligibleToRenew

      public final String eligibleToRenew()

      The renewal eligibility of the certificate.

      Returns:
      The renewal eligibility of the certificate.
    • renewalSummary

      public final RenewalSummary renewalSummary()

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

      Returns:
      An object that describes the status of the certificate renewal managed by Lightsail.
    • revokedAt

      public final Instant revokedAt()

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

      Returns:
      The timestamp when the certificate was revoked. This value is present only when the certificate status is REVOKED.
    • revocationReason

      public final String revocationReason()

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

      Returns:
      The reason the certificate was revoked. This value is present only when the certificate status is REVOKED.
    • hasTags

      public final boolean hasTags()
      For responses, this returns true if the service returned a value for the Tags property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • tags

      public final List<Tag> tags()

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

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasTags() method.

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

      public final String supportCode()

      The support code. Include this code in your email to support when you have questions about your Lightsail certificate. This code enables our support team to look up your Lightsail information more easily.

      Returns:
      The support code. Include this code in your email to support when you have questions about your Lightsail certificate. This code enables our support team to look up your Lightsail information more easily.
    • toBuilder

      public Certificate.Builder toBuilder()
      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<Certificate.Builder,Certificate>
      Returns:
      a builder for type T
    • builder

      public static Certificate.Builder builder()
    • serializableBuilderClass

      public static Class<? extends Certificate.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class Object
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String toString()
      Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.