/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.certificatemanager.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *

* Contains metadata about an ACM certificate. This structure is returned in the response to a * DescribeCertificate request. *

* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class CertificateDetail implements Serializable, Cloneable, StructuredPojo { /** *

* The Amazon Resource Name (ARN) of the certificate. For more information about ARNs, see Amazon Resource Names * (ARNs) in the Amazon Web Services General Reference. *

*/ private String certificateArn; /** *

* The fully qualified domain name for the certificate, such as www.example.com or example.com. *

*/ private String domainName; /** *

* One or more domain names (subject alternative names) 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 (CN) of the certificate and additional domain names that can be used to connect * to the website. *

*/ private java.util.List subjectAlternativeNames; /** *

* Contains information about the initial validation of each domain name that occurs as a result of the * RequestCertificate request. This field exists only when the certificate type is AMAZON_ISSUED * . *

*/ private java.util.List domainValidationOptions; /** *

* The serial number of the certificate. *

*/ private String serial; /** *

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

*/ private String subject; /** *

* The name of the certificate authority that issued and signed the certificate. *

*/ private String issuer; /** *

* The time at which the certificate was requested. *

*/ private java.util.Date createdAt; /** *

* The time at which the certificate was issued. This value exists only when the certificate type is * AMAZON_ISSUED. *

*/ private java.util.Date issuedAt; /** *

* The date and time when the certificate was imported. This value exists only when the certificate type is * IMPORTED. *

*/ private java.util.Date importedAt; /** *

* The status of the certificate. *

*

* A certificate enters status PENDING_VALIDATION upon being requested, unless it fails for any of the reasons given * in the troubleshooting topic Certificate request * fails. ACM makes repeated attempts to validate a certificate for 72 hours and then times out. If a * certificate shows status FAILED or VALIDATION_TIMED_OUT, delete the request, correct the issue with DNS validation or Email validation, and try * again. If validation succeeds, the certificate enters status ISSUED. *

*/ private String status; /** *

* The time at which the certificate was revoked. This value exists only when the certificate status is * REVOKED. *

*/ private java.util.Date revokedAt; /** *

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

*/ private String revocationReason; /** *

* The time before which the certificate is not valid. *

*/ private java.util.Date notBefore; /** *

* The time after which the certificate is not valid. *

*/ private java.util.Date notAfter; /** *

* The algorithm that was used to generate the public-private key pair. *

*/ private String keyAlgorithm; /** *

* The algorithm that was used to sign the certificate. *

*/ private String signatureAlgorithm; /** *

* A list of ARNs for the Amazon Web Services resources that are using the certificate. A certificate can be used by * multiple Amazon Web Services resources. *

*/ private java.util.List inUseBy; /** *

* The reason the certificate request failed. This value exists only when the certificate status is * FAILED. For more information, see Certificate * Request Failed in the Certificate Manager User Guide. *

*/ private String failureReason; /** *

* The source of the certificate. For certificates provided by ACM, this value is AMAZON_ISSUED. For * certificates that you imported with ImportCertificate, this value is IMPORTED. ACM does not * provide managed renewal for * imported certificates. For more information about the differences between certificates that you import and those * that ACM provides, see Importing Certificates in the * Certificate Manager User Guide. *

*/ private String type; /** *

* Contains information about the status of ACM's managed renewal for the certificate. * This field exists only when the certificate type is AMAZON_ISSUED. *

*/ private RenewalSummary renewalSummary; /** *

* A list of Key Usage X.509 v3 extension objects. Each object is a string value that identifies the purpose of the * public key contained in the certificate. Possible extension values include DIGITAL_SIGNATURE, KEY_ENCHIPHERMENT, * NON_REPUDIATION, and more. *

*/ private java.util.List keyUsages; /** *

* Contains a list of Extended Key Usage X.509 v3 extension objects. Each object specifies a purpose for which the * certificate public key can be used and consists of a name and an object identifier (OID). *

*/ private java.util.List extendedKeyUsages; /** *

* The Amazon Resource Name (ARN) of the private certificate authority (CA) that issued the certificate. This has * the following format: *

*

* arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 *

*/ private String certificateAuthorityArn; /** *

* Specifies whether the certificate is eligible for renewal. At this time, only exported private certificates can * be renewed with the RenewCertificate command. *

*/ private String renewalEligibility; /** *

* Value that specifies whether to add the certificate to a transparency log. Certificate transparency makes it * possible to detect SSL certificates that have been mistakenly or maliciously issued. A browser might respond to * certificate that has not been logged by showing an error message. The logs are cryptographically secure. *

*/ private CertificateOptions options; /** *

* The Amazon Resource Name (ARN) of the certificate. For more information about ARNs, see Amazon Resource Names * (ARNs) in the Amazon Web Services General Reference. *

* * @param certificateArn * The Amazon Resource Name (ARN) of the certificate. For more information about ARNs, see Amazon Resource Names * (ARNs) in the Amazon Web Services General Reference. */ public void setCertificateArn(String certificateArn) { this.certificateArn = certificateArn; } /** *

* The Amazon Resource Name (ARN) of the certificate. For more information about ARNs, see Amazon Resource Names * (ARNs) in the Amazon Web Services General Reference. *

* * @return The Amazon Resource Name (ARN) of the certificate. For more information about ARNs, see Amazon Resource Names * (ARNs) in the Amazon Web Services General Reference. */ public String getCertificateArn() { return this.certificateArn; } /** *

* The Amazon Resource Name (ARN) of the certificate. For more information about ARNs, see Amazon Resource Names * (ARNs) in the Amazon Web Services General Reference. *

* * @param certificateArn * The Amazon Resource Name (ARN) of the certificate. For more information about ARNs, see Amazon Resource Names * (ARNs) in the Amazon Web Services General Reference. * @return Returns a reference to this object so that method calls can be chained together. */ public CertificateDetail withCertificateArn(String certificateArn) { setCertificateArn(certificateArn); return this; } /** *

* The fully qualified domain name for the certificate, such as www.example.com or example.com. *

* * @param domainName * The fully qualified domain name for the certificate, such as www.example.com or example.com. */ public void setDomainName(String domainName) { this.domainName = domainName; } /** *

* The fully qualified domain name for the certificate, such as www.example.com or example.com. *

* * @return The fully qualified domain name for the certificate, such as www.example.com or example.com. */ public String getDomainName() { return this.domainName; } /** *

* The fully qualified domain name for the certificate, such as www.example.com or example.com. *

* * @param domainName * The fully qualified domain name for the certificate, such as www.example.com or example.com. * @return Returns a reference to this object so that method calls can be chained together. */ public CertificateDetail withDomainName(String domainName) { setDomainName(domainName); return this; } /** *

* One or more domain names (subject alternative names) 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 (CN) of the certificate and additional domain names that can be used to connect * to the website. *

* * @return One or more domain names (subject alternative names) 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 (CN) of the certificate and additional domain names * that can be used to connect to the website. */ public java.util.List getSubjectAlternativeNames() { return subjectAlternativeNames; } /** *

* One or more domain names (subject alternative names) 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 (CN) of the certificate and additional domain names that can be used to connect * to the website. *

* * @param subjectAlternativeNames * One or more domain names (subject alternative names) 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 (CN) of the certificate and additional domain names * that can be used to connect to the website. */ public void setSubjectAlternativeNames(java.util.Collection subjectAlternativeNames) { if (subjectAlternativeNames == null) { this.subjectAlternativeNames = null; return; } this.subjectAlternativeNames = new java.util.ArrayList(subjectAlternativeNames); } /** *

* One or more domain names (subject alternative names) 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 (CN) of the certificate and additional domain names that can be used to connect * to the website. *

*

* NOTE: This method appends the values to the existing list (if any). Use * {@link #setSubjectAlternativeNames(java.util.Collection)} or * {@link #withSubjectAlternativeNames(java.util.Collection)} if you want to override the existing values. *

* * @param subjectAlternativeNames * One or more domain names (subject alternative names) 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 (CN) of the certificate and additional domain names * that can be used to connect to the website. * @return Returns a reference to this object so that method calls can be chained together. */ public CertificateDetail withSubjectAlternativeNames(String... subjectAlternativeNames) { if (this.subjectAlternativeNames == null) { setSubjectAlternativeNames(new java.util.ArrayList(subjectAlternativeNames.length)); } for (String ele : subjectAlternativeNames) { this.subjectAlternativeNames.add(ele); } return this; } /** *

* One or more domain names (subject alternative names) 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 (CN) of the certificate and additional domain names that can be used to connect * to the website. *

* * @param subjectAlternativeNames * One or more domain names (subject alternative names) 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 (CN) of the certificate and additional domain names * that can be used to connect to the website. * @return Returns a reference to this object so that method calls can be chained together. */ public CertificateDetail withSubjectAlternativeNames(java.util.Collection subjectAlternativeNames) { setSubjectAlternativeNames(subjectAlternativeNames); return this; } /** *

* Contains information about the initial validation of each domain name that occurs as a result of the * RequestCertificate request. This field exists only when the certificate type is AMAZON_ISSUED * . *

* * @return Contains information about the initial validation of each domain name that occurs as a result of the * RequestCertificate request. This field exists only when the certificate type is * AMAZON_ISSUED. */ public java.util.List getDomainValidationOptions() { return domainValidationOptions; } /** *

* Contains information about the initial validation of each domain name that occurs as a result of the * RequestCertificate request. This field exists only when the certificate type is AMAZON_ISSUED * . *

* * @param domainValidationOptions * Contains information about the initial validation of each domain name that occurs as a result of the * RequestCertificate request. This field exists only when the certificate type is * AMAZON_ISSUED. */ public void setDomainValidationOptions(java.util.Collection domainValidationOptions) { if (domainValidationOptions == null) { this.domainValidationOptions = null; return; } this.domainValidationOptions = new java.util.ArrayList(domainValidationOptions); } /** *

* Contains information about the initial validation of each domain name that occurs as a result of the * RequestCertificate request. This field exists only when the certificate type is AMAZON_ISSUED * . *

*

* NOTE: This method appends the values to the existing list (if any). Use * {@link #setDomainValidationOptions(java.util.Collection)} or * {@link #withDomainValidationOptions(java.util.Collection)} if you want to override the existing values. *

* * @param domainValidationOptions * Contains information about the initial validation of each domain name that occurs as a result of the * RequestCertificate request. This field exists only when the certificate type is * AMAZON_ISSUED. * @return Returns a reference to this object so that method calls can be chained together. */ public CertificateDetail withDomainValidationOptions(DomainValidation... domainValidationOptions) { if (this.domainValidationOptions == null) { setDomainValidationOptions(new java.util.ArrayList(domainValidationOptions.length)); } for (DomainValidation ele : domainValidationOptions) { this.domainValidationOptions.add(ele); } return this; } /** *

* Contains information about the initial validation of each domain name that occurs as a result of the * RequestCertificate request. This field exists only when the certificate type is AMAZON_ISSUED * . *

* * @param domainValidationOptions * Contains information about the initial validation of each domain name that occurs as a result of the * RequestCertificate request. This field exists only when the certificate type is * AMAZON_ISSUED. * @return Returns a reference to this object so that method calls can be chained together. */ public CertificateDetail withDomainValidationOptions(java.util.Collection domainValidationOptions) { setDomainValidationOptions(domainValidationOptions); return this; } /** *

* The serial number of the certificate. *

* * @param serial * The serial number of the certificate. */ public void setSerial(String serial) { this.serial = serial; } /** *

* The serial number of the certificate. *

* * @return The serial number of the certificate. */ public String getSerial() { return this.serial; } /** *

* The serial number of the certificate. *

* * @param serial * The serial number of the certificate. * @return Returns a reference to this object so that method calls can be chained together. */ public CertificateDetail withSerial(String serial) { setSerial(serial); return this; } /** *

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

* * @param subject * The name of the entity that is associated with the public key contained in the certificate. */ public void setSubject(String subject) { this.subject = subject; } /** *

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

* * @return The name of the entity that is associated with the public key contained in the certificate. */ public String getSubject() { return this.subject; } /** *

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

* * @param subject * The name of the entity that is associated with the public key contained in the certificate. * @return Returns a reference to this object so that method calls can be chained together. */ public CertificateDetail withSubject(String subject) { setSubject(subject); return this; } /** *

* The name of the certificate authority that issued and signed the certificate. *

* * @param issuer * The name of the certificate authority that issued and signed the certificate. */ public void setIssuer(String issuer) { this.issuer = issuer; } /** *

* The name of the certificate authority that issued and signed the certificate. *

* * @return The name of the certificate authority that issued and signed the certificate. */ public String getIssuer() { return this.issuer; } /** *

* The name of the certificate authority that issued and signed the certificate. *

* * @param issuer * The name of the certificate authority that issued and signed the certificate. * @return Returns a reference to this object so that method calls can be chained together. */ public CertificateDetail withIssuer(String issuer) { setIssuer(issuer); return this; } /** *

* The time at which the certificate was requested. *

* * @param createdAt * The time at which the certificate was requested. */ public void setCreatedAt(java.util.Date createdAt) { this.createdAt = createdAt; } /** *

* The time at which the certificate was requested. *

* * @return The time at which the certificate was requested. */ public java.util.Date getCreatedAt() { return this.createdAt; } /** *

* The time at which the certificate was requested. *

* * @param createdAt * The time at which the certificate was requested. * @return Returns a reference to this object so that method calls can be chained together. */ public CertificateDetail withCreatedAt(java.util.Date createdAt) { setCreatedAt(createdAt); return this; } /** *

* The time at which the certificate was issued. This value exists only when the certificate type is * AMAZON_ISSUED. *

* * @param issuedAt * The time at which the certificate was issued. This value exists only when the certificate type is * AMAZON_ISSUED. */ public void setIssuedAt(java.util.Date issuedAt) { this.issuedAt = issuedAt; } /** *

* The time at which the certificate was issued. This value exists only when the certificate type is * AMAZON_ISSUED. *

* * @return The time at which the certificate was issued. This value exists only when the certificate type is * AMAZON_ISSUED. */ public java.util.Date getIssuedAt() { return this.issuedAt; } /** *

* The time at which the certificate was issued. This value exists only when the certificate type is * AMAZON_ISSUED. *

* * @param issuedAt * The time at which the certificate was issued. This value exists only when the certificate type is * AMAZON_ISSUED. * @return Returns a reference to this object so that method calls can be chained together. */ public CertificateDetail withIssuedAt(java.util.Date issuedAt) { setIssuedAt(issuedAt); return this; } /** *

* The date and time when the certificate was imported. This value exists only when the certificate type is * IMPORTED. *

* * @param importedAt * The date and time when the certificate was imported. This value exists only when the certificate type is * IMPORTED. */ public void setImportedAt(java.util.Date importedAt) { this.importedAt = importedAt; } /** *

* The date and time when the certificate was imported. This value exists only when the certificate type is * IMPORTED. *

* * @return The date and time when the certificate was imported. This value exists only when the certificate type is * IMPORTED. */ public java.util.Date getImportedAt() { return this.importedAt; } /** *

* The date and time when the certificate was imported. This value exists only when the certificate type is * IMPORTED. *

* * @param importedAt * The date and time when the certificate was imported. This value exists only when the certificate type is * IMPORTED. * @return Returns a reference to this object so that method calls can be chained together. */ public CertificateDetail withImportedAt(java.util.Date importedAt) { setImportedAt(importedAt); return this; } /** *

* The status of the certificate. *

*

* A certificate enters status PENDING_VALIDATION upon being requested, unless it fails for any of the reasons given * in the troubleshooting topic Certificate request * fails. ACM makes repeated attempts to validate a certificate for 72 hours and then times out. If a * certificate shows status FAILED or VALIDATION_TIMED_OUT, delete the request, correct the issue with DNS validation or Email validation, and try * again. If validation succeeds, the certificate enters status ISSUED. *

* * @param status * The status of the certificate.

*

* A certificate enters status PENDING_VALIDATION upon being requested, unless it fails for any of the * reasons given in the troubleshooting topic Certificate request * fails. ACM makes repeated attempts to validate a certificate for 72 hours and then times out. If a * certificate shows status FAILED or VALIDATION_TIMED_OUT, delete the request, correct the issue with DNS validation or Email validation, and * try again. If validation succeeds, the certificate enters status ISSUED. * @see CertificateStatus */ public void setStatus(String status) { this.status = status; } /** *

* The status of the certificate. *

*

* A certificate enters status PENDING_VALIDATION upon being requested, unless it fails for any of the reasons given * in the troubleshooting topic Certificate request * fails. ACM makes repeated attempts to validate a certificate for 72 hours and then times out. If a * certificate shows status FAILED or VALIDATION_TIMED_OUT, delete the request, correct the issue with DNS validation or Email validation, and try * again. If validation succeeds, the certificate enters status ISSUED. *

* * @return The status of the certificate.

*

* A certificate enters status PENDING_VALIDATION upon being requested, unless it fails for any of the * reasons given in the troubleshooting topic Certificate request * fails. ACM makes repeated attempts to validate a certificate for 72 hours and then times out. If a * certificate shows status FAILED or VALIDATION_TIMED_OUT, delete the request, correct the issue with DNS validation or Email validation, and * try again. If validation succeeds, the certificate enters status ISSUED. * @see CertificateStatus */ public String getStatus() { return this.status; } /** *

* The status of the certificate. *

*

* A certificate enters status PENDING_VALIDATION upon being requested, unless it fails for any of the reasons given * in the troubleshooting topic Certificate request * fails. ACM makes repeated attempts to validate a certificate for 72 hours and then times out. If a * certificate shows status FAILED or VALIDATION_TIMED_OUT, delete the request, correct the issue with DNS validation or Email validation, and try * again. If validation succeeds, the certificate enters status ISSUED. *

* * @param status * The status of the certificate.

*

* A certificate enters status PENDING_VALIDATION upon being requested, unless it fails for any of the * reasons given in the troubleshooting topic Certificate request * fails. ACM makes repeated attempts to validate a certificate for 72 hours and then times out. If a * certificate shows status FAILED or VALIDATION_TIMED_OUT, delete the request, correct the issue with DNS validation or Email validation, and * try again. If validation succeeds, the certificate enters status ISSUED. * @return Returns a reference to this object so that method calls can be chained together. * @see CertificateStatus */ public CertificateDetail withStatus(String status) { setStatus(status); return this; } /** *

* The status of the certificate. *

*

* A certificate enters status PENDING_VALIDATION upon being requested, unless it fails for any of the reasons given * in the troubleshooting topic Certificate request * fails. ACM makes repeated attempts to validate a certificate for 72 hours and then times out. If a * certificate shows status FAILED or VALIDATION_TIMED_OUT, delete the request, correct the issue with DNS validation or Email validation, and try * again. If validation succeeds, the certificate enters status ISSUED. *

* * @param status * The status of the certificate.

*

* A certificate enters status PENDING_VALIDATION upon being requested, unless it fails for any of the * reasons given in the troubleshooting topic Certificate request * fails. ACM makes repeated attempts to validate a certificate for 72 hours and then times out. If a * certificate shows status FAILED or VALIDATION_TIMED_OUT, delete the request, correct the issue with DNS validation or Email validation, and * try again. If validation succeeds, the certificate enters status ISSUED. * @see CertificateStatus */ public void setStatus(CertificateStatus status) { withStatus(status); } /** *

* The status of the certificate. *

*

* A certificate enters status PENDING_VALIDATION upon being requested, unless it fails for any of the reasons given * in the troubleshooting topic Certificate request * fails. ACM makes repeated attempts to validate a certificate for 72 hours and then times out. If a * certificate shows status FAILED or VALIDATION_TIMED_OUT, delete the request, correct the issue with DNS validation or Email validation, and try * again. If validation succeeds, the certificate enters status ISSUED. *

* * @param status * The status of the certificate.

*

* A certificate enters status PENDING_VALIDATION upon being requested, unless it fails for any of the * reasons given in the troubleshooting topic Certificate request * fails. ACM makes repeated attempts to validate a certificate for 72 hours and then times out. If a * certificate shows status FAILED or VALIDATION_TIMED_OUT, delete the request, correct the issue with DNS validation or Email validation, and * try again. If validation succeeds, the certificate enters status ISSUED. * @return Returns a reference to this object so that method calls can be chained together. * @see CertificateStatus */ public CertificateDetail withStatus(CertificateStatus status) { this.status = status.toString(); return this; } /** *

* The time at which the certificate was revoked. This value exists only when the certificate status is * REVOKED. *

* * @param revokedAt * The time at which the certificate was revoked. This value exists only when the certificate status is * REVOKED. */ public void setRevokedAt(java.util.Date revokedAt) { this.revokedAt = revokedAt; } /** *

* The time at which the certificate was revoked. This value exists only when the certificate status is * REVOKED. *

* * @return The time at which the certificate was revoked. This value exists only when the certificate status is * REVOKED. */ public java.util.Date getRevokedAt() { return this.revokedAt; } /** *

* The time at which the certificate was revoked. This value exists only when the certificate status is * REVOKED. *

* * @param revokedAt * The time at which the certificate was revoked. This value exists only when the certificate status is * REVOKED. * @return Returns a reference to this object so that method calls can be chained together. */ public CertificateDetail withRevokedAt(java.util.Date revokedAt) { setRevokedAt(revokedAt); return this; } /** *

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

* * @param revocationReason * The reason the certificate was revoked. This value exists only when the certificate status is * REVOKED. * @see RevocationReason */ public void setRevocationReason(String revocationReason) { this.revocationReason = revocationReason; } /** *

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

* * @return The reason the certificate was revoked. This value exists only when the certificate status is * REVOKED. * @see RevocationReason */ public String getRevocationReason() { return this.revocationReason; } /** *

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

* * @param revocationReason * The reason the certificate was revoked. This value exists only when the certificate status is * REVOKED. * @return Returns a reference to this object so that method calls can be chained together. * @see RevocationReason */ public CertificateDetail withRevocationReason(String revocationReason) { setRevocationReason(revocationReason); return this; } /** *

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

* * @param revocationReason * The reason the certificate was revoked. This value exists only when the certificate status is * REVOKED. * @see RevocationReason */ public void setRevocationReason(RevocationReason revocationReason) { withRevocationReason(revocationReason); } /** *

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

* * @param revocationReason * The reason the certificate was revoked. This value exists only when the certificate status is * REVOKED. * @return Returns a reference to this object so that method calls can be chained together. * @see RevocationReason */ public CertificateDetail withRevocationReason(RevocationReason revocationReason) { this.revocationReason = revocationReason.toString(); return this; } /** *

* The time before which the certificate is not valid. *

* * @param notBefore * The time before which the certificate is not valid. */ public void setNotBefore(java.util.Date notBefore) { this.notBefore = notBefore; } /** *

* The time before which the certificate is not valid. *

* * @return The time before which the certificate is not valid. */ public java.util.Date getNotBefore() { return this.notBefore; } /** *

* The time before which the certificate is not valid. *

* * @param notBefore * The time before which the certificate is not valid. * @return Returns a reference to this object so that method calls can be chained together. */ public CertificateDetail withNotBefore(java.util.Date notBefore) { setNotBefore(notBefore); return this; } /** *

* The time after which the certificate is not valid. *

* * @param notAfter * The time after which the certificate is not valid. */ public void setNotAfter(java.util.Date notAfter) { this.notAfter = notAfter; } /** *

* The time after which the certificate is not valid. *

* * @return The time after which the certificate is not valid. */ public java.util.Date getNotAfter() { return this.notAfter; } /** *

* The time after which the certificate is not valid. *

* * @param notAfter * The time after which the certificate is not valid. * @return Returns a reference to this object so that method calls can be chained together. */ public CertificateDetail withNotAfter(java.util.Date notAfter) { setNotAfter(notAfter); return this; } /** *

* The algorithm that was used to generate the public-private key pair. *

* * @param keyAlgorithm * The algorithm that was used to generate the public-private key pair. * @see KeyAlgorithm */ public void setKeyAlgorithm(String keyAlgorithm) { this.keyAlgorithm = keyAlgorithm; } /** *

* The algorithm that was used to generate the public-private key pair. *

* * @return The algorithm that was used to generate the public-private key pair. * @see KeyAlgorithm */ public String getKeyAlgorithm() { return this.keyAlgorithm; } /** *

* The algorithm that was used to generate the public-private key pair. *

* * @param keyAlgorithm * The algorithm that was used to generate the public-private key pair. * @return Returns a reference to this object so that method calls can be chained together. * @see KeyAlgorithm */ public CertificateDetail withKeyAlgorithm(String keyAlgorithm) { setKeyAlgorithm(keyAlgorithm); return this; } /** *

* The algorithm that was used to generate the public-private key pair. *

* * @param keyAlgorithm * The algorithm that was used to generate the public-private key pair. * @see KeyAlgorithm */ public void setKeyAlgorithm(KeyAlgorithm keyAlgorithm) { withKeyAlgorithm(keyAlgorithm); } /** *

* The algorithm that was used to generate the public-private key pair. *

* * @param keyAlgorithm * The algorithm that was used to generate the public-private key pair. * @return Returns a reference to this object so that method calls can be chained together. * @see KeyAlgorithm */ public CertificateDetail withKeyAlgorithm(KeyAlgorithm keyAlgorithm) { this.keyAlgorithm = keyAlgorithm.toString(); return this; } /** *

* The algorithm that was used to sign the certificate. *

* * @param signatureAlgorithm * The algorithm that was used to sign the certificate. */ public void setSignatureAlgorithm(String signatureAlgorithm) { this.signatureAlgorithm = signatureAlgorithm; } /** *

* The algorithm that was used to sign the certificate. *

* * @return The algorithm that was used to sign the certificate. */ public String getSignatureAlgorithm() { return this.signatureAlgorithm; } /** *

* The algorithm that was used to sign the certificate. *

* * @param signatureAlgorithm * The algorithm that was used to sign the certificate. * @return Returns a reference to this object so that method calls can be chained together. */ public CertificateDetail withSignatureAlgorithm(String signatureAlgorithm) { setSignatureAlgorithm(signatureAlgorithm); return this; } /** *

* A list of ARNs for the Amazon Web Services resources that are using the certificate. A certificate can be used by * multiple Amazon Web Services resources. *

* * @return A list of ARNs for the Amazon Web Services resources that are using the certificate. A certificate can be * used by multiple Amazon Web Services resources. */ public java.util.List getInUseBy() { return inUseBy; } /** *

* A list of ARNs for the Amazon Web Services resources that are using the certificate. A certificate can be used by * multiple Amazon Web Services resources. *

* * @param inUseBy * A list of ARNs for the Amazon Web Services resources that are using the certificate. A certificate can be * used by multiple Amazon Web Services resources. */ public void setInUseBy(java.util.Collection inUseBy) { if (inUseBy == null) { this.inUseBy = null; return; } this.inUseBy = new java.util.ArrayList(inUseBy); } /** *

* A list of ARNs for the Amazon Web Services resources that are using the certificate. A certificate can be used by * multiple Amazon Web Services resources. *

*

* NOTE: This method appends the values to the existing list (if any). Use * {@link #setInUseBy(java.util.Collection)} or {@link #withInUseBy(java.util.Collection)} if you want to override * the existing values. *

* * @param inUseBy * A list of ARNs for the Amazon Web Services resources that are using the certificate. A certificate can be * used by multiple Amazon Web Services resources. * @return Returns a reference to this object so that method calls can be chained together. */ public CertificateDetail withInUseBy(String... inUseBy) { if (this.inUseBy == null) { setInUseBy(new java.util.ArrayList(inUseBy.length)); } for (String ele : inUseBy) { this.inUseBy.add(ele); } return this; } /** *

* A list of ARNs for the Amazon Web Services resources that are using the certificate. A certificate can be used by * multiple Amazon Web Services resources. *

* * @param inUseBy * A list of ARNs for the Amazon Web Services resources that are using the certificate. A certificate can be * used by multiple Amazon Web Services resources. * @return Returns a reference to this object so that method calls can be chained together. */ public CertificateDetail withInUseBy(java.util.Collection inUseBy) { setInUseBy(inUseBy); return this; } /** *

* The reason the certificate request failed. This value exists only when the certificate status is * FAILED. For more information, see Certificate * Request Failed in the Certificate Manager User Guide. *

* * @param failureReason * The reason the certificate request failed. This value exists only when the certificate status is * FAILED. For more information, see Certificate Request Failed in the Certificate Manager User Guide. * @see FailureReason */ public void setFailureReason(String failureReason) { this.failureReason = failureReason; } /** *

* The reason the certificate request failed. This value exists only when the certificate status is * FAILED. For more information, see Certificate * Request Failed in the Certificate Manager User Guide. *

* * @return The reason the certificate request failed. This value exists only when the certificate status is * FAILED. For more information, see Certificate Request Failed in the Certificate Manager User Guide. * @see FailureReason */ public String getFailureReason() { return this.failureReason; } /** *

* The reason the certificate request failed. This value exists only when the certificate status is * FAILED. For more information, see Certificate * Request Failed in the Certificate Manager User Guide. *

* * @param failureReason * The reason the certificate request failed. This value exists only when the certificate status is * FAILED. For more information, see Certificate Request Failed in the Certificate Manager User Guide. * @return Returns a reference to this object so that method calls can be chained together. * @see FailureReason */ public CertificateDetail withFailureReason(String failureReason) { setFailureReason(failureReason); return this; } /** *

* The reason the certificate request failed. This value exists only when the certificate status is * FAILED. For more information, see Certificate * Request Failed in the Certificate Manager User Guide. *

* * @param failureReason * The reason the certificate request failed. This value exists only when the certificate status is * FAILED. For more information, see Certificate Request Failed in the Certificate Manager User Guide. * @see FailureReason */ public void setFailureReason(FailureReason failureReason) { withFailureReason(failureReason); } /** *

* The reason the certificate request failed. This value exists only when the certificate status is * FAILED. For more information, see Certificate * Request Failed in the Certificate Manager User Guide. *

* * @param failureReason * The reason the certificate request failed. This value exists only when the certificate status is * FAILED. For more information, see Certificate Request Failed in the Certificate Manager User Guide. * @return Returns a reference to this object so that method calls can be chained together. * @see FailureReason */ public CertificateDetail withFailureReason(FailureReason failureReason) { this.failureReason = failureReason.toString(); return this; } /** *

* The source of the certificate. For certificates provided by ACM, this value is AMAZON_ISSUED. For * certificates that you imported with ImportCertificate, this value is IMPORTED. ACM does not * provide managed renewal for * imported certificates. For more information about the differences between certificates that you import and those * that ACM provides, see Importing Certificates in the * Certificate Manager User Guide. *

* * @param type * The source of the certificate. For certificates provided by ACM, this value is AMAZON_ISSUED. * For certificates that you imported with ImportCertificate, this value is IMPORTED. ACM * does not provide managed * renewal for imported certificates. For more information about the differences between certificates * that you import and those that ACM provides, see Importing Certificates * in the Certificate Manager User Guide. * @see CertificateType */ public void setType(String type) { this.type = type; } /** *

* The source of the certificate. For certificates provided by ACM, this value is AMAZON_ISSUED. For * certificates that you imported with ImportCertificate, this value is IMPORTED. ACM does not * provide managed renewal for * imported certificates. For more information about the differences between certificates that you import and those * that ACM provides, see Importing Certificates in the * Certificate Manager User Guide. *

* * @return The source of the certificate. For certificates provided by ACM, this value is AMAZON_ISSUED * . For certificates that you imported with ImportCertificate, this value is IMPORTED. * ACM does not provide managed * renewal for imported certificates. For more information about the differences between certificates * that you import and those that ACM provides, see Importing * Certificates in the Certificate Manager User Guide. * @see CertificateType */ public String getType() { return this.type; } /** *

* The source of the certificate. For certificates provided by ACM, this value is AMAZON_ISSUED. For * certificates that you imported with ImportCertificate, this value is IMPORTED. ACM does not * provide managed renewal for * imported certificates. For more information about the differences between certificates that you import and those * that ACM provides, see Importing Certificates in the * Certificate Manager User Guide. *

* * @param type * The source of the certificate. For certificates provided by ACM, this value is AMAZON_ISSUED. * For certificates that you imported with ImportCertificate, this value is IMPORTED. ACM * does not provide managed * renewal for imported certificates. For more information about the differences between certificates * that you import and those that ACM provides, see Importing Certificates * in the Certificate Manager User Guide. * @return Returns a reference to this object so that method calls can be chained together. * @see CertificateType */ public CertificateDetail withType(String type) { setType(type); return this; } /** *

* The source of the certificate. For certificates provided by ACM, this value is AMAZON_ISSUED. For * certificates that you imported with ImportCertificate, this value is IMPORTED. ACM does not * provide managed renewal for * imported certificates. For more information about the differences between certificates that you import and those * that ACM provides, see Importing Certificates in the * Certificate Manager User Guide. *

* * @param type * The source of the certificate. For certificates provided by ACM, this value is AMAZON_ISSUED. * For certificates that you imported with ImportCertificate, this value is IMPORTED. ACM * does not provide managed * renewal for imported certificates. For more information about the differences between certificates * that you import and those that ACM provides, see Importing Certificates * in the Certificate Manager User Guide. * @see CertificateType */ public void setType(CertificateType type) { withType(type); } /** *

* The source of the certificate. For certificates provided by ACM, this value is AMAZON_ISSUED. For * certificates that you imported with ImportCertificate, this value is IMPORTED. ACM does not * provide managed renewal for * imported certificates. For more information about the differences between certificates that you import and those * that ACM provides, see Importing Certificates in the * Certificate Manager User Guide. *

* * @param type * The source of the certificate. For certificates provided by ACM, this value is AMAZON_ISSUED. * For certificates that you imported with ImportCertificate, this value is IMPORTED. ACM * does not provide managed * renewal for imported certificates. For more information about the differences between certificates * that you import and those that ACM provides, see Importing Certificates * in the Certificate Manager User Guide. * @return Returns a reference to this object so that method calls can be chained together. * @see CertificateType */ public CertificateDetail withType(CertificateType type) { this.type = type.toString(); return this; } /** *

* Contains information about the status of ACM's managed renewal for the certificate. * This field exists only when the certificate type is AMAZON_ISSUED. *

* * @param renewalSummary * Contains information about the status of ACM's managed renewal for the * certificate. This field exists only when the certificate type is AMAZON_ISSUED. */ public void setRenewalSummary(RenewalSummary renewalSummary) { this.renewalSummary = renewalSummary; } /** *

* Contains information about the status of ACM's managed renewal for the certificate. * This field exists only when the certificate type is AMAZON_ISSUED. *

* * @return Contains information about the status of ACM's managed renewal for the * certificate. This field exists only when the certificate type is AMAZON_ISSUED. */ public RenewalSummary getRenewalSummary() { return this.renewalSummary; } /** *

* Contains information about the status of ACM's managed renewal for the certificate. * This field exists only when the certificate type is AMAZON_ISSUED. *

* * @param renewalSummary * Contains information about the status of ACM's managed renewal for the * certificate. This field exists only when the certificate type is AMAZON_ISSUED. * @return Returns a reference to this object so that method calls can be chained together. */ public CertificateDetail withRenewalSummary(RenewalSummary renewalSummary) { setRenewalSummary(renewalSummary); return this; } /** *

* A list of Key Usage X.509 v3 extension objects. Each object is a string value that identifies the purpose of the * public key contained in the certificate. Possible extension values include DIGITAL_SIGNATURE, KEY_ENCHIPHERMENT, * NON_REPUDIATION, and more. *

* * @return A list of Key Usage X.509 v3 extension objects. Each object is a string value that identifies the purpose * of the public key contained in the certificate. Possible extension values include DIGITAL_SIGNATURE, * KEY_ENCHIPHERMENT, NON_REPUDIATION, and more. */ public java.util.List getKeyUsages() { return keyUsages; } /** *

* A list of Key Usage X.509 v3 extension objects. Each object is a string value that identifies the purpose of the * public key contained in the certificate. Possible extension values include DIGITAL_SIGNATURE, KEY_ENCHIPHERMENT, * NON_REPUDIATION, and more. *

* * @param keyUsages * A list of Key Usage X.509 v3 extension objects. Each object is a string value that identifies the purpose * of the public key contained in the certificate. Possible extension values include DIGITAL_SIGNATURE, * KEY_ENCHIPHERMENT, NON_REPUDIATION, and more. */ public void setKeyUsages(java.util.Collection keyUsages) { if (keyUsages == null) { this.keyUsages = null; return; } this.keyUsages = new java.util.ArrayList(keyUsages); } /** *

* A list of Key Usage X.509 v3 extension objects. Each object is a string value that identifies the purpose of the * public key contained in the certificate. Possible extension values include DIGITAL_SIGNATURE, KEY_ENCHIPHERMENT, * NON_REPUDIATION, and more. *

*

* NOTE: This method appends the values to the existing list (if any). Use * {@link #setKeyUsages(java.util.Collection)} or {@link #withKeyUsages(java.util.Collection)} if you want to * override the existing values. *

* * @param keyUsages * A list of Key Usage X.509 v3 extension objects. Each object is a string value that identifies the purpose * of the public key contained in the certificate. Possible extension values include DIGITAL_SIGNATURE, * KEY_ENCHIPHERMENT, NON_REPUDIATION, and more. * @return Returns a reference to this object so that method calls can be chained together. */ public CertificateDetail withKeyUsages(KeyUsage... keyUsages) { if (this.keyUsages == null) { setKeyUsages(new java.util.ArrayList(keyUsages.length)); } for (KeyUsage ele : keyUsages) { this.keyUsages.add(ele); } return this; } /** *

* A list of Key Usage X.509 v3 extension objects. Each object is a string value that identifies the purpose of the * public key contained in the certificate. Possible extension values include DIGITAL_SIGNATURE, KEY_ENCHIPHERMENT, * NON_REPUDIATION, and more. *

* * @param keyUsages * A list of Key Usage X.509 v3 extension objects. Each object is a string value that identifies the purpose * of the public key contained in the certificate. Possible extension values include DIGITAL_SIGNATURE, * KEY_ENCHIPHERMENT, NON_REPUDIATION, and more. * @return Returns a reference to this object so that method calls can be chained together. */ public CertificateDetail withKeyUsages(java.util.Collection keyUsages) { setKeyUsages(keyUsages); return this; } /** *

* Contains a list of Extended Key Usage X.509 v3 extension objects. Each object specifies a purpose for which the * certificate public key can be used and consists of a name and an object identifier (OID). *

* * @return Contains a list of Extended Key Usage X.509 v3 extension objects. Each object specifies a purpose for * which the certificate public key can be used and consists of a name and an object identifier (OID). */ public java.util.List getExtendedKeyUsages() { return extendedKeyUsages; } /** *

* Contains a list of Extended Key Usage X.509 v3 extension objects. Each object specifies a purpose for which the * certificate public key can be used and consists of a name and an object identifier (OID). *

* * @param extendedKeyUsages * Contains a list of Extended Key Usage X.509 v3 extension objects. Each object specifies a purpose for * which the certificate public key can be used and consists of a name and an object identifier (OID). */ public void setExtendedKeyUsages(java.util.Collection extendedKeyUsages) { if (extendedKeyUsages == null) { this.extendedKeyUsages = null; return; } this.extendedKeyUsages = new java.util.ArrayList(extendedKeyUsages); } /** *

* Contains a list of Extended Key Usage X.509 v3 extension objects. Each object specifies a purpose for which the * certificate public key can be used and consists of a name and an object identifier (OID). *

*

* NOTE: This method appends the values to the existing list (if any). Use * {@link #setExtendedKeyUsages(java.util.Collection)} or {@link #withExtendedKeyUsages(java.util.Collection)} if * you want to override the existing values. *

* * @param extendedKeyUsages * Contains a list of Extended Key Usage X.509 v3 extension objects. Each object specifies a purpose for * which the certificate public key can be used and consists of a name and an object identifier (OID). * @return Returns a reference to this object so that method calls can be chained together. */ public CertificateDetail withExtendedKeyUsages(ExtendedKeyUsage... extendedKeyUsages) { if (this.extendedKeyUsages == null) { setExtendedKeyUsages(new java.util.ArrayList(extendedKeyUsages.length)); } for (ExtendedKeyUsage ele : extendedKeyUsages) { this.extendedKeyUsages.add(ele); } return this; } /** *

* Contains a list of Extended Key Usage X.509 v3 extension objects. Each object specifies a purpose for which the * certificate public key can be used and consists of a name and an object identifier (OID). *

* * @param extendedKeyUsages * Contains a list of Extended Key Usage X.509 v3 extension objects. Each object specifies a purpose for * which the certificate public key can be used and consists of a name and an object identifier (OID). * @return Returns a reference to this object so that method calls can be chained together. */ public CertificateDetail withExtendedKeyUsages(java.util.Collection extendedKeyUsages) { setExtendedKeyUsages(extendedKeyUsages); return this; } /** *

* The Amazon Resource Name (ARN) of the private certificate authority (CA) that issued the certificate. This has * the following format: *

*

* arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 *

* * @param certificateAuthorityArn * The Amazon Resource Name (ARN) of the private certificate authority (CA) that issued the certificate. This * has the following format:

*

* arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 */ public void setCertificateAuthorityArn(String certificateAuthorityArn) { this.certificateAuthorityArn = certificateAuthorityArn; } /** *

* The Amazon Resource Name (ARN) of the private certificate authority (CA) that issued the certificate. This has * the following format: *

*

* arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 *

* * @return The Amazon Resource Name (ARN) of the private certificate authority (CA) that issued the certificate. * This has the following format:

*

* arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 */ public String getCertificateAuthorityArn() { return this.certificateAuthorityArn; } /** *

* The Amazon Resource Name (ARN) of the private certificate authority (CA) that issued the certificate. This has * the following format: *

*

* arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 *

* * @param certificateAuthorityArn * The Amazon Resource Name (ARN) of the private certificate authority (CA) that issued the certificate. This * has the following format:

*

* arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 * @return Returns a reference to this object so that method calls can be chained together. */ public CertificateDetail withCertificateAuthorityArn(String certificateAuthorityArn) { setCertificateAuthorityArn(certificateAuthorityArn); return this; } /** *

* Specifies whether the certificate is eligible for renewal. At this time, only exported private certificates can * be renewed with the RenewCertificate command. *

* * @param renewalEligibility * Specifies whether the certificate is eligible for renewal. At this time, only exported private * certificates can be renewed with the RenewCertificate command. * @see RenewalEligibility */ public void setRenewalEligibility(String renewalEligibility) { this.renewalEligibility = renewalEligibility; } /** *

* Specifies whether the certificate is eligible for renewal. At this time, only exported private certificates can * be renewed with the RenewCertificate command. *

* * @return Specifies whether the certificate is eligible for renewal. At this time, only exported private * certificates can be renewed with the RenewCertificate command. * @see RenewalEligibility */ public String getRenewalEligibility() { return this.renewalEligibility; } /** *

* Specifies whether the certificate is eligible for renewal. At this time, only exported private certificates can * be renewed with the RenewCertificate command. *

* * @param renewalEligibility * Specifies whether the certificate is eligible for renewal. At this time, only exported private * certificates can be renewed with the RenewCertificate command. * @return Returns a reference to this object so that method calls can be chained together. * @see RenewalEligibility */ public CertificateDetail withRenewalEligibility(String renewalEligibility) { setRenewalEligibility(renewalEligibility); return this; } /** *

* Specifies whether the certificate is eligible for renewal. At this time, only exported private certificates can * be renewed with the RenewCertificate command. *

* * @param renewalEligibility * Specifies whether the certificate is eligible for renewal. At this time, only exported private * certificates can be renewed with the RenewCertificate command. * @see RenewalEligibility */ public void setRenewalEligibility(RenewalEligibility renewalEligibility) { withRenewalEligibility(renewalEligibility); } /** *

* Specifies whether the certificate is eligible for renewal. At this time, only exported private certificates can * be renewed with the RenewCertificate command. *

* * @param renewalEligibility * Specifies whether the certificate is eligible for renewal. At this time, only exported private * certificates can be renewed with the RenewCertificate command. * @return Returns a reference to this object so that method calls can be chained together. * @see RenewalEligibility */ public CertificateDetail withRenewalEligibility(RenewalEligibility renewalEligibility) { this.renewalEligibility = renewalEligibility.toString(); return this; } /** *

* Value that specifies whether to add the certificate to a transparency log. Certificate transparency makes it * possible to detect SSL certificates that have been mistakenly or maliciously issued. A browser might respond to * certificate that has not been logged by showing an error message. The logs are cryptographically secure. *

* * @param options * Value that specifies whether to add the certificate to a transparency log. Certificate transparency makes * it possible to detect SSL certificates that have been mistakenly or maliciously issued. A browser might * respond to certificate that has not been logged by showing an error message. The logs are * cryptographically secure. */ public void setOptions(CertificateOptions options) { this.options = options; } /** *

* Value that specifies whether to add the certificate to a transparency log. Certificate transparency makes it * possible to detect SSL certificates that have been mistakenly or maliciously issued. A browser might respond to * certificate that has not been logged by showing an error message. The logs are cryptographically secure. *

* * @return Value that specifies whether to add the certificate to a transparency log. Certificate transparency makes * it possible to detect SSL certificates that have been mistakenly or maliciously issued. A browser might * respond to certificate that has not been logged by showing an error message. The logs are * cryptographically secure. */ public CertificateOptions getOptions() { return this.options; } /** *

* Value that specifies whether to add the certificate to a transparency log. Certificate transparency makes it * possible to detect SSL certificates that have been mistakenly or maliciously issued. A browser might respond to * certificate that has not been logged by showing an error message. The logs are cryptographically secure. *

* * @param options * Value that specifies whether to add the certificate to a transparency log. Certificate transparency makes * it possible to detect SSL certificates that have been mistakenly or maliciously issued. A browser might * respond to certificate that has not been logged by showing an error message. The logs are * cryptographically secure. * @return Returns a reference to this object so that method calls can be chained together. */ public CertificateDetail withOptions(CertificateOptions options) { setOptions(options); return this; } /** * 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. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getCertificateArn() != null) sb.append("CertificateArn: ").append(getCertificateArn()).append(","); if (getDomainName() != null) sb.append("DomainName: ").append(getDomainName()).append(","); if (getSubjectAlternativeNames() != null) sb.append("SubjectAlternativeNames: ").append(getSubjectAlternativeNames()).append(","); if (getDomainValidationOptions() != null) sb.append("DomainValidationOptions: ").append(getDomainValidationOptions()).append(","); if (getSerial() != null) sb.append("Serial: ").append(getSerial()).append(","); if (getSubject() != null) sb.append("Subject: ").append(getSubject()).append(","); if (getIssuer() != null) sb.append("Issuer: ").append(getIssuer()).append(","); if (getCreatedAt() != null) sb.append("CreatedAt: ").append(getCreatedAt()).append(","); if (getIssuedAt() != null) sb.append("IssuedAt: ").append(getIssuedAt()).append(","); if (getImportedAt() != null) sb.append("ImportedAt: ").append(getImportedAt()).append(","); if (getStatus() != null) sb.append("Status: ").append(getStatus()).append(","); if (getRevokedAt() != null) sb.append("RevokedAt: ").append(getRevokedAt()).append(","); if (getRevocationReason() != null) sb.append("RevocationReason: ").append(getRevocationReason()).append(","); if (getNotBefore() != null) sb.append("NotBefore: ").append(getNotBefore()).append(","); if (getNotAfter() != null) sb.append("NotAfter: ").append(getNotAfter()).append(","); if (getKeyAlgorithm() != null) sb.append("KeyAlgorithm: ").append(getKeyAlgorithm()).append(","); if (getSignatureAlgorithm() != null) sb.append("SignatureAlgorithm: ").append(getSignatureAlgorithm()).append(","); if (getInUseBy() != null) sb.append("InUseBy: ").append(getInUseBy()).append(","); if (getFailureReason() != null) sb.append("FailureReason: ").append(getFailureReason()).append(","); if (getType() != null) sb.append("Type: ").append(getType()).append(","); if (getRenewalSummary() != null) sb.append("RenewalSummary: ").append(getRenewalSummary()).append(","); if (getKeyUsages() != null) sb.append("KeyUsages: ").append(getKeyUsages()).append(","); if (getExtendedKeyUsages() != null) sb.append("ExtendedKeyUsages: ").append(getExtendedKeyUsages()).append(","); if (getCertificateAuthorityArn() != null) sb.append("CertificateAuthorityArn: ").append(getCertificateAuthorityArn()).append(","); if (getRenewalEligibility() != null) sb.append("RenewalEligibility: ").append(getRenewalEligibility()).append(","); if (getOptions() != null) sb.append("Options: ").append(getOptions()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof CertificateDetail == false) return false; CertificateDetail other = (CertificateDetail) obj; if (other.getCertificateArn() == null ^ this.getCertificateArn() == null) return false; if (other.getCertificateArn() != null && other.getCertificateArn().equals(this.getCertificateArn()) == false) return false; if (other.getDomainName() == null ^ this.getDomainName() == null) return false; if (other.getDomainName() != null && other.getDomainName().equals(this.getDomainName()) == false) return false; if (other.getSubjectAlternativeNames() == null ^ this.getSubjectAlternativeNames() == null) return false; if (other.getSubjectAlternativeNames() != null && other.getSubjectAlternativeNames().equals(this.getSubjectAlternativeNames()) == false) return false; if (other.getDomainValidationOptions() == null ^ this.getDomainValidationOptions() == null) return false; if (other.getDomainValidationOptions() != null && other.getDomainValidationOptions().equals(this.getDomainValidationOptions()) == false) return false; if (other.getSerial() == null ^ this.getSerial() == null) return false; if (other.getSerial() != null && other.getSerial().equals(this.getSerial()) == false) return false; if (other.getSubject() == null ^ this.getSubject() == null) return false; if (other.getSubject() != null && other.getSubject().equals(this.getSubject()) == false) return false; if (other.getIssuer() == null ^ this.getIssuer() == null) return false; if (other.getIssuer() != null && other.getIssuer().equals(this.getIssuer()) == false) return false; if (other.getCreatedAt() == null ^ this.getCreatedAt() == null) return false; if (other.getCreatedAt() != null && other.getCreatedAt().equals(this.getCreatedAt()) == false) return false; if (other.getIssuedAt() == null ^ this.getIssuedAt() == null) return false; if (other.getIssuedAt() != null && other.getIssuedAt().equals(this.getIssuedAt()) == false) return false; if (other.getImportedAt() == null ^ this.getImportedAt() == null) return false; if (other.getImportedAt() != null && other.getImportedAt().equals(this.getImportedAt()) == false) return false; if (other.getStatus() == null ^ this.getStatus() == null) return false; if (other.getStatus() != null && other.getStatus().equals(this.getStatus()) == false) return false; if (other.getRevokedAt() == null ^ this.getRevokedAt() == null) return false; if (other.getRevokedAt() != null && other.getRevokedAt().equals(this.getRevokedAt()) == false) return false; if (other.getRevocationReason() == null ^ this.getRevocationReason() == null) return false; if (other.getRevocationReason() != null && other.getRevocationReason().equals(this.getRevocationReason()) == false) return false; if (other.getNotBefore() == null ^ this.getNotBefore() == null) return false; if (other.getNotBefore() != null && other.getNotBefore().equals(this.getNotBefore()) == false) return false; if (other.getNotAfter() == null ^ this.getNotAfter() == null) return false; if (other.getNotAfter() != null && other.getNotAfter().equals(this.getNotAfter()) == false) return false; if (other.getKeyAlgorithm() == null ^ this.getKeyAlgorithm() == null) return false; if (other.getKeyAlgorithm() != null && other.getKeyAlgorithm().equals(this.getKeyAlgorithm()) == false) return false; if (other.getSignatureAlgorithm() == null ^ this.getSignatureAlgorithm() == null) return false; if (other.getSignatureAlgorithm() != null && other.getSignatureAlgorithm().equals(this.getSignatureAlgorithm()) == false) return false; if (other.getInUseBy() == null ^ this.getInUseBy() == null) return false; if (other.getInUseBy() != null && other.getInUseBy().equals(this.getInUseBy()) == false) return false; if (other.getFailureReason() == null ^ this.getFailureReason() == null) return false; if (other.getFailureReason() != null && other.getFailureReason().equals(this.getFailureReason()) == false) return false; if (other.getType() == null ^ this.getType() == null) return false; if (other.getType() != null && other.getType().equals(this.getType()) == false) return false; if (other.getRenewalSummary() == null ^ this.getRenewalSummary() == null) return false; if (other.getRenewalSummary() != null && other.getRenewalSummary().equals(this.getRenewalSummary()) == false) return false; if (other.getKeyUsages() == null ^ this.getKeyUsages() == null) return false; if (other.getKeyUsages() != null && other.getKeyUsages().equals(this.getKeyUsages()) == false) return false; if (other.getExtendedKeyUsages() == null ^ this.getExtendedKeyUsages() == null) return false; if (other.getExtendedKeyUsages() != null && other.getExtendedKeyUsages().equals(this.getExtendedKeyUsages()) == false) return false; if (other.getCertificateAuthorityArn() == null ^ this.getCertificateAuthorityArn() == null) return false; if (other.getCertificateAuthorityArn() != null && other.getCertificateAuthorityArn().equals(this.getCertificateAuthorityArn()) == false) return false; if (other.getRenewalEligibility() == null ^ this.getRenewalEligibility() == null) return false; if (other.getRenewalEligibility() != null && other.getRenewalEligibility().equals(this.getRenewalEligibility()) == false) return false; if (other.getOptions() == null ^ this.getOptions() == null) return false; if (other.getOptions() != null && other.getOptions().equals(this.getOptions()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getCertificateArn() == null) ? 0 : getCertificateArn().hashCode()); hashCode = prime * hashCode + ((getDomainName() == null) ? 0 : getDomainName().hashCode()); hashCode = prime * hashCode + ((getSubjectAlternativeNames() == null) ? 0 : getSubjectAlternativeNames().hashCode()); hashCode = prime * hashCode + ((getDomainValidationOptions() == null) ? 0 : getDomainValidationOptions().hashCode()); hashCode = prime * hashCode + ((getSerial() == null) ? 0 : getSerial().hashCode()); hashCode = prime * hashCode + ((getSubject() == null) ? 0 : getSubject().hashCode()); hashCode = prime * hashCode + ((getIssuer() == null) ? 0 : getIssuer().hashCode()); hashCode = prime * hashCode + ((getCreatedAt() == null) ? 0 : getCreatedAt().hashCode()); hashCode = prime * hashCode + ((getIssuedAt() == null) ? 0 : getIssuedAt().hashCode()); hashCode = prime * hashCode + ((getImportedAt() == null) ? 0 : getImportedAt().hashCode()); hashCode = prime * hashCode + ((getStatus() == null) ? 0 : getStatus().hashCode()); hashCode = prime * hashCode + ((getRevokedAt() == null) ? 0 : getRevokedAt().hashCode()); hashCode = prime * hashCode + ((getRevocationReason() == null) ? 0 : getRevocationReason().hashCode()); hashCode = prime * hashCode + ((getNotBefore() == null) ? 0 : getNotBefore().hashCode()); hashCode = prime * hashCode + ((getNotAfter() == null) ? 0 : getNotAfter().hashCode()); hashCode = prime * hashCode + ((getKeyAlgorithm() == null) ? 0 : getKeyAlgorithm().hashCode()); hashCode = prime * hashCode + ((getSignatureAlgorithm() == null) ? 0 : getSignatureAlgorithm().hashCode()); hashCode = prime * hashCode + ((getInUseBy() == null) ? 0 : getInUseBy().hashCode()); hashCode = prime * hashCode + ((getFailureReason() == null) ? 0 : getFailureReason().hashCode()); hashCode = prime * hashCode + ((getType() == null) ? 0 : getType().hashCode()); hashCode = prime * hashCode + ((getRenewalSummary() == null) ? 0 : getRenewalSummary().hashCode()); hashCode = prime * hashCode + ((getKeyUsages() == null) ? 0 : getKeyUsages().hashCode()); hashCode = prime * hashCode + ((getExtendedKeyUsages() == null) ? 0 : getExtendedKeyUsages().hashCode()); hashCode = prime * hashCode + ((getCertificateAuthorityArn() == null) ? 0 : getCertificateAuthorityArn().hashCode()); hashCode = prime * hashCode + ((getRenewalEligibility() == null) ? 0 : getRenewalEligibility().hashCode()); hashCode = prime * hashCode + ((getOptions() == null) ? 0 : getOptions().hashCode()); return hashCode; } @Override public CertificateDetail clone() { try { return (CertificateDetail) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } @com.amazonaws.annotation.SdkInternalApi @Override public void marshall(ProtocolMarshaller protocolMarshaller) { com.amazonaws.services.certificatemanager.model.transform.CertificateDetailMarshaller.getInstance().marshall(this, protocolMarshaller); } }