/* * 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.route53.model; import java.io.Serializable; import javax.annotation.Generated; /** *

* A key-signing key (KSK) is a complex type that represents a public/private key pair. The private key is used to * generate a digital signature for the zone signing key (ZSK). The public key is stored in the DNS and is used to * authenticate the ZSK. A KSK is always associated with a hosted zone; it cannot exist by itself. *

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

* A string used to identify a key-signing key (KSK). Name can include numbers, letters, and * underscores (_). Name must be unique for each key-signing key in the same hosted zone. *

*/ private String name; /** *

* The Amazon resource name (ARN) used to identify the customer managed key in Key Management Service (KMS). The * KmsArn must be unique for each key-signing key (KSK) in a single hosted zone. *

*

* You must configure the customer managed key as follows: *

*
*
Status
*
*

* Enabled *

*
*
Key spec
*
*

* ECC_NIST_P256 *

*
*
Key usage
*
*

* Sign and verify *

*
*
Key policy
*
*

* The key policy must give permission for the following actions: *

* *

* The key policy must also include the Amazon Route 53 service in the principal for your account. Specify the * following: *

* *
*
*

* For more information about working with the customer managed key in KMS, see Key Management Service concepts. *

*/ private String kmsArn; /** *

* An integer that specifies how the key is used. For key-signing key (KSK), this value is always 257. *

*/ private Integer flag; /** *

* A string used to represent the signing algorithm. This value must follow the guidelines provided by RFC-8624 Section 3.1. *

*/ private String signingAlgorithmMnemonic; /** *

* An integer used to represent the signing algorithm. This value must follow the guidelines provided by RFC-8624 Section 3.1. *

*/ private Integer signingAlgorithmType; /** *

* A string used to represent the delegation signer digest algorithm. This value must follow the guidelines provided * by RFC-8624 Section 3.3. *

*/ private String digestAlgorithmMnemonic; /** *

* An integer used to represent the delegation signer digest algorithm. This value must follow the guidelines * provided by RFC-8624 Section 3.3. *

*/ private Integer digestAlgorithmType; /** *

* An integer used to identify the DNSSEC record for the domain name. The process used to calculate the value is * described in RFC-4034 Appendix B. *

*/ private Integer keyTag; /** *

* A cryptographic digest of a DNSKEY resource record (RR). DNSKEY records are used to publish the public key that * resolvers can use to verify DNSSEC signatures that are used to secure certain kinds of information provided by * the DNS system. *

*/ private String digestValue; /** *

* The public key, represented as a Base64 encoding, as required by RFC-4034 Page 5. *

*/ private String publicKey; /** *

* A string that represents a delegation signer (DS) record. *

*/ private String dSRecord; /** *

* A string that represents a DNSKEY record. *

*/ private String dNSKEYRecord; /** *

* A string that represents the current key-signing key (KSK) status. *

*

* Status can have one of the following values: *

*
*
ACTIVE
*
*

* The KSK is being used for signing. *

*
*
INACTIVE
*
*

* The KSK is not being used for signing. *

*
*
DELETING
*
*

* The KSK is in the process of being deleted. *

*
*
ACTION_NEEDED
*
*

* There is a problem with the KSK that requires you to take action to resolve. For example, the customer managed * key might have been deleted, or the permissions for the customer managed key might have been changed. *

*
*
INTERNAL_FAILURE
*
*

* There was an error during a request. Before you can continue to work with DNSSEC signing, including actions that * involve this KSK, you must correct the problem. For example, you may need to activate or deactivate the KSK. *

*
*
*/ private String status; /** *

* The status message provided for the following key-signing key (KSK) statuses: ACTION_NEEDED or * INTERNAL_FAILURE. The status message includes information about what the problem might be and steps * that you can take to correct the issue. *

*/ private String statusMessage; /** *

* The date when the key-signing key (KSK) was created. *

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

* The last time that the key-signing key (KSK) was changed. *

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

* A string used to identify a key-signing key (KSK). Name can include numbers, letters, and * underscores (_). Name must be unique for each key-signing key in the same hosted zone. *

* * @param name * A string used to identify a key-signing key (KSK). Name can include numbers, letters, and * underscores (_). Name must be unique for each key-signing key in the same hosted zone. */ public void setName(String name) { this.name = name; } /** *

* A string used to identify a key-signing key (KSK). Name can include numbers, letters, and * underscores (_). Name must be unique for each key-signing key in the same hosted zone. *

* * @return A string used to identify a key-signing key (KSK). Name can include numbers, letters, and * underscores (_). Name must be unique for each key-signing key in the same hosted zone. */ public String getName() { return this.name; } /** *

* A string used to identify a key-signing key (KSK). Name can include numbers, letters, and * underscores (_). Name must be unique for each key-signing key in the same hosted zone. *

* * @param name * A string used to identify a key-signing key (KSK). Name can include numbers, letters, and * underscores (_). Name must be unique for each key-signing key in the same hosted zone. * @return Returns a reference to this object so that method calls can be chained together. */ public KeySigningKey withName(String name) { setName(name); return this; } /** *

* The Amazon resource name (ARN) used to identify the customer managed key in Key Management Service (KMS). The * KmsArn must be unique for each key-signing key (KSK) in a single hosted zone. *

*

* You must configure the customer managed key as follows: *

*
*
Status
*
*

* Enabled *

*
*
Key spec
*
*

* ECC_NIST_P256 *

*
*
Key usage
*
*

* Sign and verify *

*
*
Key policy
*
*

* The key policy must give permission for the following actions: *

* *

* The key policy must also include the Amazon Route 53 service in the principal for your account. Specify the * following: *

* *
*
*

* For more information about working with the customer managed key in KMS, see Key Management Service concepts. *

* * @param kmsArn * The Amazon resource name (ARN) used to identify the customer managed key in Key Management Service (KMS). * The KmsArn must be unique for each key-signing key (KSK) in a single hosted zone.

*

* You must configure the customer managed key as follows: *

*
*
Status
*
*

* Enabled *

*
*
Key spec
*
*

* ECC_NIST_P256 *

*
*
Key usage
*
*

* Sign and verify *

*
*
Key policy
*
*

* The key policy must give permission for the following actions: *

* *

* The key policy must also include the Amazon Route 53 service in the principal for your account. Specify * the following: *

* *
*
*

* For more information about working with the customer managed key in KMS, see Key Management Service * concepts. */ public void setKmsArn(String kmsArn) { this.kmsArn = kmsArn; } /** *

* The Amazon resource name (ARN) used to identify the customer managed key in Key Management Service (KMS). The * KmsArn must be unique for each key-signing key (KSK) in a single hosted zone. *

*

* You must configure the customer managed key as follows: *

*
*
Status
*
*

* Enabled *

*
*
Key spec
*
*

* ECC_NIST_P256 *

*
*
Key usage
*
*

* Sign and verify *

*
*
Key policy
*
*

* The key policy must give permission for the following actions: *

* *

* The key policy must also include the Amazon Route 53 service in the principal for your account. Specify the * following: *

* *
*
*

* For more information about working with the customer managed key in KMS, see Key Management Service concepts. *

* * @return The Amazon resource name (ARN) used to identify the customer managed key in Key Management Service (KMS). * The KmsArn must be unique for each key-signing key (KSK) in a single hosted zone.

*

* You must configure the customer managed key as follows: *

*
*
Status
*
*

* Enabled *

*
*
Key spec
*
*

* ECC_NIST_P256 *

*
*
Key usage
*
*

* Sign and verify *

*
*
Key policy
*
*

* The key policy must give permission for the following actions: *

* *

* The key policy must also include the Amazon Route 53 service in the principal for your account. Specify * the following: *

* *
*
*

* For more information about working with the customer managed key in KMS, see Key Management Service * concepts. */ public String getKmsArn() { return this.kmsArn; } /** *

* The Amazon resource name (ARN) used to identify the customer managed key in Key Management Service (KMS). The * KmsArn must be unique for each key-signing key (KSK) in a single hosted zone. *

*

* You must configure the customer managed key as follows: *

*
*
Status
*
*

* Enabled *

*
*
Key spec
*
*

* ECC_NIST_P256 *

*
*
Key usage
*
*

* Sign and verify *

*
*
Key policy
*
*

* The key policy must give permission for the following actions: *

* *

* The key policy must also include the Amazon Route 53 service in the principal for your account. Specify the * following: *

* *
*
*

* For more information about working with the customer managed key in KMS, see Key Management Service concepts. *

* * @param kmsArn * The Amazon resource name (ARN) used to identify the customer managed key in Key Management Service (KMS). * The KmsArn must be unique for each key-signing key (KSK) in a single hosted zone.

*

* You must configure the customer managed key as follows: *

*
*
Status
*
*

* Enabled *

*
*
Key spec
*
*

* ECC_NIST_P256 *

*
*
Key usage
*
*

* Sign and verify *

*
*
Key policy
*
*

* The key policy must give permission for the following actions: *

* *

* The key policy must also include the Amazon Route 53 service in the principal for your account. Specify * the following: *

* *
*
*

* For more information about working with the customer managed key in KMS, see Key Management Service * concepts. * @return Returns a reference to this object so that method calls can be chained together. */ public KeySigningKey withKmsArn(String kmsArn) { setKmsArn(kmsArn); return this; } /** *

* An integer that specifies how the key is used. For key-signing key (KSK), this value is always 257. *

* * @param flag * An integer that specifies how the key is used. For key-signing key (KSK), this value is always 257. */ public void setFlag(Integer flag) { this.flag = flag; } /** *

* An integer that specifies how the key is used. For key-signing key (KSK), this value is always 257. *

* * @return An integer that specifies how the key is used. For key-signing key (KSK), this value is always 257. */ public Integer getFlag() { return this.flag; } /** *

* An integer that specifies how the key is used. For key-signing key (KSK), this value is always 257. *

* * @param flag * An integer that specifies how the key is used. For key-signing key (KSK), this value is always 257. * @return Returns a reference to this object so that method calls can be chained together. */ public KeySigningKey withFlag(Integer flag) { setFlag(flag); return this; } /** *

* A string used to represent the signing algorithm. This value must follow the guidelines provided by RFC-8624 Section 3.1. *

* * @param signingAlgorithmMnemonic * A string used to represent the signing algorithm. This value must follow the guidelines provided by RFC-8624 Section 3.1. */ public void setSigningAlgorithmMnemonic(String signingAlgorithmMnemonic) { this.signingAlgorithmMnemonic = signingAlgorithmMnemonic; } /** *

* A string used to represent the signing algorithm. This value must follow the guidelines provided by RFC-8624 Section 3.1. *

* * @return A string used to represent the signing algorithm. This value must follow the guidelines provided by RFC-8624 Section 3.1. */ public String getSigningAlgorithmMnemonic() { return this.signingAlgorithmMnemonic; } /** *

* A string used to represent the signing algorithm. This value must follow the guidelines provided by RFC-8624 Section 3.1. *

* * @param signingAlgorithmMnemonic * A string used to represent the signing algorithm. This value must follow the guidelines provided by RFC-8624 Section 3.1. * @return Returns a reference to this object so that method calls can be chained together. */ public KeySigningKey withSigningAlgorithmMnemonic(String signingAlgorithmMnemonic) { setSigningAlgorithmMnemonic(signingAlgorithmMnemonic); return this; } /** *

* An integer used to represent the signing algorithm. This value must follow the guidelines provided by RFC-8624 Section 3.1. *

* * @param signingAlgorithmType * An integer used to represent the signing algorithm. This value must follow the guidelines provided by RFC-8624 Section 3.1. */ public void setSigningAlgorithmType(Integer signingAlgorithmType) { this.signingAlgorithmType = signingAlgorithmType; } /** *

* An integer used to represent the signing algorithm. This value must follow the guidelines provided by RFC-8624 Section 3.1. *

* * @return An integer used to represent the signing algorithm. This value must follow the guidelines provided by RFC-8624 Section 3.1. */ public Integer getSigningAlgorithmType() { return this.signingAlgorithmType; } /** *

* An integer used to represent the signing algorithm. This value must follow the guidelines provided by RFC-8624 Section 3.1. *

* * @param signingAlgorithmType * An integer used to represent the signing algorithm. This value must follow the guidelines provided by RFC-8624 Section 3.1. * @return Returns a reference to this object so that method calls can be chained together. */ public KeySigningKey withSigningAlgorithmType(Integer signingAlgorithmType) { setSigningAlgorithmType(signingAlgorithmType); return this; } /** *

* A string used to represent the delegation signer digest algorithm. This value must follow the guidelines provided * by RFC-8624 Section 3.3. *

* * @param digestAlgorithmMnemonic * A string used to represent the delegation signer digest algorithm. This value must follow the guidelines * provided by RFC-8624 Section 3.3. */ public void setDigestAlgorithmMnemonic(String digestAlgorithmMnemonic) { this.digestAlgorithmMnemonic = digestAlgorithmMnemonic; } /** *

* A string used to represent the delegation signer digest algorithm. This value must follow the guidelines provided * by RFC-8624 Section 3.3. *

* * @return A string used to represent the delegation signer digest algorithm. This value must follow the guidelines * provided by RFC-8624 Section 3.3. */ public String getDigestAlgorithmMnemonic() { return this.digestAlgorithmMnemonic; } /** *

* A string used to represent the delegation signer digest algorithm. This value must follow the guidelines provided * by RFC-8624 Section 3.3. *

* * @param digestAlgorithmMnemonic * A string used to represent the delegation signer digest algorithm. This value must follow the guidelines * provided by RFC-8624 Section 3.3. * @return Returns a reference to this object so that method calls can be chained together. */ public KeySigningKey withDigestAlgorithmMnemonic(String digestAlgorithmMnemonic) { setDigestAlgorithmMnemonic(digestAlgorithmMnemonic); return this; } /** *

* An integer used to represent the delegation signer digest algorithm. This value must follow the guidelines * provided by RFC-8624 Section 3.3. *

* * @param digestAlgorithmType * An integer used to represent the delegation signer digest algorithm. This value must follow the guidelines * provided by RFC-8624 Section 3.3. */ public void setDigestAlgorithmType(Integer digestAlgorithmType) { this.digestAlgorithmType = digestAlgorithmType; } /** *

* An integer used to represent the delegation signer digest algorithm. This value must follow the guidelines * provided by RFC-8624 Section 3.3. *

* * @return An integer used to represent the delegation signer digest algorithm. This value must follow the * guidelines provided by RFC-8624 Section * 3.3. */ public Integer getDigestAlgorithmType() { return this.digestAlgorithmType; } /** *

* An integer used to represent the delegation signer digest algorithm. This value must follow the guidelines * provided by RFC-8624 Section 3.3. *

* * @param digestAlgorithmType * An integer used to represent the delegation signer digest algorithm. This value must follow the guidelines * provided by RFC-8624 Section 3.3. * @return Returns a reference to this object so that method calls can be chained together. */ public KeySigningKey withDigestAlgorithmType(Integer digestAlgorithmType) { setDigestAlgorithmType(digestAlgorithmType); return this; } /** *

* An integer used to identify the DNSSEC record for the domain name. The process used to calculate the value is * described in RFC-4034 Appendix B. *

* * @param keyTag * An integer used to identify the DNSSEC record for the domain name. The process used to calculate the value * is described in RFC-4034 Appendix B. */ public void setKeyTag(Integer keyTag) { this.keyTag = keyTag; } /** *

* An integer used to identify the DNSSEC record for the domain name. The process used to calculate the value is * described in RFC-4034 Appendix B. *

* * @return An integer used to identify the DNSSEC record for the domain name. The process used to calculate the * value is described in RFC-4034 Appendix B. */ public Integer getKeyTag() { return this.keyTag; } /** *

* An integer used to identify the DNSSEC record for the domain name. The process used to calculate the value is * described in RFC-4034 Appendix B. *

* * @param keyTag * An integer used to identify the DNSSEC record for the domain name. The process used to calculate the value * is described in RFC-4034 Appendix B. * @return Returns a reference to this object so that method calls can be chained together. */ public KeySigningKey withKeyTag(Integer keyTag) { setKeyTag(keyTag); return this; } /** *

* A cryptographic digest of a DNSKEY resource record (RR). DNSKEY records are used to publish the public key that * resolvers can use to verify DNSSEC signatures that are used to secure certain kinds of information provided by * the DNS system. *

* * @param digestValue * A cryptographic digest of a DNSKEY resource record (RR). DNSKEY records are used to publish the public key * that resolvers can use to verify DNSSEC signatures that are used to secure certain kinds of information * provided by the DNS system. */ public void setDigestValue(String digestValue) { this.digestValue = digestValue; } /** *

* A cryptographic digest of a DNSKEY resource record (RR). DNSKEY records are used to publish the public key that * resolvers can use to verify DNSSEC signatures that are used to secure certain kinds of information provided by * the DNS system. *

* * @return A cryptographic digest of a DNSKEY resource record (RR). DNSKEY records are used to publish the public * key that resolvers can use to verify DNSSEC signatures that are used to secure certain kinds of * information provided by the DNS system. */ public String getDigestValue() { return this.digestValue; } /** *

* A cryptographic digest of a DNSKEY resource record (RR). DNSKEY records are used to publish the public key that * resolvers can use to verify DNSSEC signatures that are used to secure certain kinds of information provided by * the DNS system. *

* * @param digestValue * A cryptographic digest of a DNSKEY resource record (RR). DNSKEY records are used to publish the public key * that resolvers can use to verify DNSSEC signatures that are used to secure certain kinds of information * provided by the DNS system. * @return Returns a reference to this object so that method calls can be chained together. */ public KeySigningKey withDigestValue(String digestValue) { setDigestValue(digestValue); return this; } /** *

* The public key, represented as a Base64 encoding, as required by RFC-4034 Page 5. *

* * @param publicKey * The public key, represented as a Base64 encoding, as required by RFC-4034 Page 5. */ public void setPublicKey(String publicKey) { this.publicKey = publicKey; } /** *

* The public key, represented as a Base64 encoding, as required by RFC-4034 Page 5. *

* * @return The public key, represented as a Base64 encoding, as required by RFC-4034 Page 5. */ public String getPublicKey() { return this.publicKey; } /** *

* The public key, represented as a Base64 encoding, as required by RFC-4034 Page 5. *

* * @param publicKey * The public key, represented as a Base64 encoding, as required by RFC-4034 Page 5. * @return Returns a reference to this object so that method calls can be chained together. */ public KeySigningKey withPublicKey(String publicKey) { setPublicKey(publicKey); return this; } /** *

* A string that represents a delegation signer (DS) record. *

* * @param dSRecord * A string that represents a delegation signer (DS) record. */ public void setDSRecord(String dSRecord) { this.dSRecord = dSRecord; } /** *

* A string that represents a delegation signer (DS) record. *

* * @return A string that represents a delegation signer (DS) record. */ public String getDSRecord() { return this.dSRecord; } /** *

* A string that represents a delegation signer (DS) record. *

* * @param dSRecord * A string that represents a delegation signer (DS) record. * @return Returns a reference to this object so that method calls can be chained together. */ public KeySigningKey withDSRecord(String dSRecord) { setDSRecord(dSRecord); return this; } /** *

* A string that represents a DNSKEY record. *

* * @param dNSKEYRecord * A string that represents a DNSKEY record. */ public void setDNSKEYRecord(String dNSKEYRecord) { this.dNSKEYRecord = dNSKEYRecord; } /** *

* A string that represents a DNSKEY record. *

* * @return A string that represents a DNSKEY record. */ public String getDNSKEYRecord() { return this.dNSKEYRecord; } /** *

* A string that represents a DNSKEY record. *

* * @param dNSKEYRecord * A string that represents a DNSKEY record. * @return Returns a reference to this object so that method calls can be chained together. */ public KeySigningKey withDNSKEYRecord(String dNSKEYRecord) { setDNSKEYRecord(dNSKEYRecord); return this; } /** *

* A string that represents the current key-signing key (KSK) status. *

*

* Status can have one of the following values: *

*
*
ACTIVE
*
*

* The KSK is being used for signing. *

*
*
INACTIVE
*
*

* The KSK is not being used for signing. *

*
*
DELETING
*
*

* The KSK is in the process of being deleted. *

*
*
ACTION_NEEDED
*
*

* There is a problem with the KSK that requires you to take action to resolve. For example, the customer managed * key might have been deleted, or the permissions for the customer managed key might have been changed. *

*
*
INTERNAL_FAILURE
*
*

* There was an error during a request. Before you can continue to work with DNSSEC signing, including actions that * involve this KSK, you must correct the problem. For example, you may need to activate or deactivate the KSK. *

*
*
* * @param status * A string that represents the current key-signing key (KSK) status.

*

* Status can have one of the following values: *

*
*
ACTIVE
*
*

* The KSK is being used for signing. *

*
*
INACTIVE
*
*

* The KSK is not being used for signing. *

*
*
DELETING
*
*

* The KSK is in the process of being deleted. *

*
*
ACTION_NEEDED
*
*

* There is a problem with the KSK that requires you to take action to resolve. For example, the customer * managed key might have been deleted, or the permissions for the customer managed key might have been * changed. *

*
*
INTERNAL_FAILURE
*
*

* There was an error during a request. Before you can continue to work with DNSSEC signing, including * actions that involve this KSK, you must correct the problem. For example, you may need to activate or * deactivate the KSK. *

*
*/ public void setStatus(String status) { this.status = status; } /** *

* A string that represents the current key-signing key (KSK) status. *

*

* Status can have one of the following values: *

*
*
ACTIVE
*
*

* The KSK is being used for signing. *

*
*
INACTIVE
*
*

* The KSK is not being used for signing. *

*
*
DELETING
*
*

* The KSK is in the process of being deleted. *

*
*
ACTION_NEEDED
*
*

* There is a problem with the KSK that requires you to take action to resolve. For example, the customer managed * key might have been deleted, or the permissions for the customer managed key might have been changed. *

*
*
INTERNAL_FAILURE
*
*

* There was an error during a request. Before you can continue to work with DNSSEC signing, including actions that * involve this KSK, you must correct the problem. For example, you may need to activate or deactivate the KSK. *

*
*
* * @return A string that represents the current key-signing key (KSK) status.

*

* Status can have one of the following values: *

*
*
ACTIVE
*
*

* The KSK is being used for signing. *

*
*
INACTIVE
*
*

* The KSK is not being used for signing. *

*
*
DELETING
*
*

* The KSK is in the process of being deleted. *

*
*
ACTION_NEEDED
*
*

* There is a problem with the KSK that requires you to take action to resolve. For example, the customer * managed key might have been deleted, or the permissions for the customer managed key might have been * changed. *

*
*
INTERNAL_FAILURE
*
*

* There was an error during a request. Before you can continue to work with DNSSEC signing, including * actions that involve this KSK, you must correct the problem. For example, you may need to activate or * deactivate the KSK. *

*
*/ public String getStatus() { return this.status; } /** *

* A string that represents the current key-signing key (KSK) status. *

*

* Status can have one of the following values: *

*
*
ACTIVE
*
*

* The KSK is being used for signing. *

*
*
INACTIVE
*
*

* The KSK is not being used for signing. *

*
*
DELETING
*
*

* The KSK is in the process of being deleted. *

*
*
ACTION_NEEDED
*
*

* There is a problem with the KSK that requires you to take action to resolve. For example, the customer managed * key might have been deleted, or the permissions for the customer managed key might have been changed. *

*
*
INTERNAL_FAILURE
*
*

* There was an error during a request. Before you can continue to work with DNSSEC signing, including actions that * involve this KSK, you must correct the problem. For example, you may need to activate or deactivate the KSK. *

*
*
* * @param status * A string that represents the current key-signing key (KSK) status.

*

* Status can have one of the following values: *

*
*
ACTIVE
*
*

* The KSK is being used for signing. *

*
*
INACTIVE
*
*

* The KSK is not being used for signing. *

*
*
DELETING
*
*

* The KSK is in the process of being deleted. *

*
*
ACTION_NEEDED
*
*

* There is a problem with the KSK that requires you to take action to resolve. For example, the customer * managed key might have been deleted, or the permissions for the customer managed key might have been * changed. *

*
*
INTERNAL_FAILURE
*
*

* There was an error during a request. Before you can continue to work with DNSSEC signing, including * actions that involve this KSK, you must correct the problem. For example, you may need to activate or * deactivate the KSK. *

*
* @return Returns a reference to this object so that method calls can be chained together. */ public KeySigningKey withStatus(String status) { setStatus(status); return this; } /** *

* The status message provided for the following key-signing key (KSK) statuses: ACTION_NEEDED or * INTERNAL_FAILURE. The status message includes information about what the problem might be and steps * that you can take to correct the issue. *

* * @param statusMessage * The status message provided for the following key-signing key (KSK) statuses: ACTION_NEEDED * or INTERNAL_FAILURE. The status message includes information about what the problem might be * and steps that you can take to correct the issue. */ public void setStatusMessage(String statusMessage) { this.statusMessage = statusMessage; } /** *

* The status message provided for the following key-signing key (KSK) statuses: ACTION_NEEDED or * INTERNAL_FAILURE. The status message includes information about what the problem might be and steps * that you can take to correct the issue. *

* * @return The status message provided for the following key-signing key (KSK) statuses: ACTION_NEEDED * or INTERNAL_FAILURE. The status message includes information about what the problem might be * and steps that you can take to correct the issue. */ public String getStatusMessage() { return this.statusMessage; } /** *

* The status message provided for the following key-signing key (KSK) statuses: ACTION_NEEDED or * INTERNAL_FAILURE. The status message includes information about what the problem might be and steps * that you can take to correct the issue. *

* * @param statusMessage * The status message provided for the following key-signing key (KSK) statuses: ACTION_NEEDED * or INTERNAL_FAILURE. The status message includes information about what the problem might be * and steps that you can take to correct the issue. * @return Returns a reference to this object so that method calls can be chained together. */ public KeySigningKey withStatusMessage(String statusMessage) { setStatusMessage(statusMessage); return this; } /** *

* The date when the key-signing key (KSK) was created. *

* * @param createdDate * The date when the key-signing key (KSK) was created. */ public void setCreatedDate(java.util.Date createdDate) { this.createdDate = createdDate; } /** *

* The date when the key-signing key (KSK) was created. *

* * @return The date when the key-signing key (KSK) was created. */ public java.util.Date getCreatedDate() { return this.createdDate; } /** *

* The date when the key-signing key (KSK) was created. *

* * @param createdDate * The date when the key-signing key (KSK) was created. * @return Returns a reference to this object so that method calls can be chained together. */ public KeySigningKey withCreatedDate(java.util.Date createdDate) { setCreatedDate(createdDate); return this; } /** *

* The last time that the key-signing key (KSK) was changed. *

* * @param lastModifiedDate * The last time that the key-signing key (KSK) was changed. */ public void setLastModifiedDate(java.util.Date lastModifiedDate) { this.lastModifiedDate = lastModifiedDate; } /** *

* The last time that the key-signing key (KSK) was changed. *

* * @return The last time that the key-signing key (KSK) was changed. */ public java.util.Date getLastModifiedDate() { return this.lastModifiedDate; } /** *

* The last time that the key-signing key (KSK) was changed. *

* * @param lastModifiedDate * The last time that the key-signing key (KSK) was changed. * @return Returns a reference to this object so that method calls can be chained together. */ public KeySigningKey withLastModifiedDate(java.util.Date lastModifiedDate) { setLastModifiedDate(lastModifiedDate); 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 (getName() != null) sb.append("Name: ").append(getName()).append(","); if (getKmsArn() != null) sb.append("KmsArn: ").append(getKmsArn()).append(","); if (getFlag() != null) sb.append("Flag: ").append(getFlag()).append(","); if (getSigningAlgorithmMnemonic() != null) sb.append("SigningAlgorithmMnemonic: ").append(getSigningAlgorithmMnemonic()).append(","); if (getSigningAlgorithmType() != null) sb.append("SigningAlgorithmType: ").append(getSigningAlgorithmType()).append(","); if (getDigestAlgorithmMnemonic() != null) sb.append("DigestAlgorithmMnemonic: ").append(getDigestAlgorithmMnemonic()).append(","); if (getDigestAlgorithmType() != null) sb.append("DigestAlgorithmType: ").append(getDigestAlgorithmType()).append(","); if (getKeyTag() != null) sb.append("KeyTag: ").append(getKeyTag()).append(","); if (getDigestValue() != null) sb.append("DigestValue: ").append(getDigestValue()).append(","); if (getPublicKey() != null) sb.append("PublicKey: ").append(getPublicKey()).append(","); if (getDSRecord() != null) sb.append("DSRecord: ").append(getDSRecord()).append(","); if (getDNSKEYRecord() != null) sb.append("DNSKEYRecord: ").append(getDNSKEYRecord()).append(","); if (getStatus() != null) sb.append("Status: ").append(getStatus()).append(","); if (getStatusMessage() != null) sb.append("StatusMessage: ").append(getStatusMessage()).append(","); if (getCreatedDate() != null) sb.append("CreatedDate: ").append(getCreatedDate()).append(","); if (getLastModifiedDate() != null) sb.append("LastModifiedDate: ").append(getLastModifiedDate()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof KeySigningKey == false) return false; KeySigningKey other = (KeySigningKey) obj; if (other.getName() == null ^ this.getName() == null) return false; if (other.getName() != null && other.getName().equals(this.getName()) == false) return false; if (other.getKmsArn() == null ^ this.getKmsArn() == null) return false; if (other.getKmsArn() != null && other.getKmsArn().equals(this.getKmsArn()) == false) return false; if (other.getFlag() == null ^ this.getFlag() == null) return false; if (other.getFlag() != null && other.getFlag().equals(this.getFlag()) == false) return false; if (other.getSigningAlgorithmMnemonic() == null ^ this.getSigningAlgorithmMnemonic() == null) return false; if (other.getSigningAlgorithmMnemonic() != null && other.getSigningAlgorithmMnemonic().equals(this.getSigningAlgorithmMnemonic()) == false) return false; if (other.getSigningAlgorithmType() == null ^ this.getSigningAlgorithmType() == null) return false; if (other.getSigningAlgorithmType() != null && other.getSigningAlgorithmType().equals(this.getSigningAlgorithmType()) == false) return false; if (other.getDigestAlgorithmMnemonic() == null ^ this.getDigestAlgorithmMnemonic() == null) return false; if (other.getDigestAlgorithmMnemonic() != null && other.getDigestAlgorithmMnemonic().equals(this.getDigestAlgorithmMnemonic()) == false) return false; if (other.getDigestAlgorithmType() == null ^ this.getDigestAlgorithmType() == null) return false; if (other.getDigestAlgorithmType() != null && other.getDigestAlgorithmType().equals(this.getDigestAlgorithmType()) == false) return false; if (other.getKeyTag() == null ^ this.getKeyTag() == null) return false; if (other.getKeyTag() != null && other.getKeyTag().equals(this.getKeyTag()) == false) return false; if (other.getDigestValue() == null ^ this.getDigestValue() == null) return false; if (other.getDigestValue() != null && other.getDigestValue().equals(this.getDigestValue()) == false) return false; if (other.getPublicKey() == null ^ this.getPublicKey() == null) return false; if (other.getPublicKey() != null && other.getPublicKey().equals(this.getPublicKey()) == false) return false; if (other.getDSRecord() == null ^ this.getDSRecord() == null) return false; if (other.getDSRecord() != null && other.getDSRecord().equals(this.getDSRecord()) == false) return false; if (other.getDNSKEYRecord() == null ^ this.getDNSKEYRecord() == null) return false; if (other.getDNSKEYRecord() != null && other.getDNSKEYRecord().equals(this.getDNSKEYRecord()) == 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.getStatusMessage() == null ^ this.getStatusMessage() == null) return false; if (other.getStatusMessage() != null && other.getStatusMessage().equals(this.getStatusMessage()) == false) return false; if (other.getCreatedDate() == null ^ this.getCreatedDate() == null) return false; if (other.getCreatedDate() != null && other.getCreatedDate().equals(this.getCreatedDate()) == false) return false; if (other.getLastModifiedDate() == null ^ this.getLastModifiedDate() == null) return false; if (other.getLastModifiedDate() != null && other.getLastModifiedDate().equals(this.getLastModifiedDate()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getName() == null) ? 0 : getName().hashCode()); hashCode = prime * hashCode + ((getKmsArn() == null) ? 0 : getKmsArn().hashCode()); hashCode = prime * hashCode + ((getFlag() == null) ? 0 : getFlag().hashCode()); hashCode = prime * hashCode + ((getSigningAlgorithmMnemonic() == null) ? 0 : getSigningAlgorithmMnemonic().hashCode()); hashCode = prime * hashCode + ((getSigningAlgorithmType() == null) ? 0 : getSigningAlgorithmType().hashCode()); hashCode = prime * hashCode + ((getDigestAlgorithmMnemonic() == null) ? 0 : getDigestAlgorithmMnemonic().hashCode()); hashCode = prime * hashCode + ((getDigestAlgorithmType() == null) ? 0 : getDigestAlgorithmType().hashCode()); hashCode = prime * hashCode + ((getKeyTag() == null) ? 0 : getKeyTag().hashCode()); hashCode = prime * hashCode + ((getDigestValue() == null) ? 0 : getDigestValue().hashCode()); hashCode = prime * hashCode + ((getPublicKey() == null) ? 0 : getPublicKey().hashCode()); hashCode = prime * hashCode + ((getDSRecord() == null) ? 0 : getDSRecord().hashCode()); hashCode = prime * hashCode + ((getDNSKEYRecord() == null) ? 0 : getDNSKEYRecord().hashCode()); hashCode = prime * hashCode + ((getStatus() == null) ? 0 : getStatus().hashCode()); hashCode = prime * hashCode + ((getStatusMessage() == null) ? 0 : getStatusMessage().hashCode()); hashCode = prime * hashCode + ((getCreatedDate() == null) ? 0 : getCreatedDate().hashCode()); hashCode = prime * hashCode + ((getLastModifiedDate() == null) ? 0 : getLastModifiedDate().hashCode()); return hashCode; } @Override public KeySigningKey clone() { try { return (KeySigningKey) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } }