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

Information about the DNSSEC key.

You get this from your DNS provider * and then give it to Route 53 (by using AssociateDelegationSignerToDomain) * to pass it to the registry to establish the chain of trust.

See * Also:

AWS * API Reference

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

The number of the public key’s cryptographic algorithm according to an IANA * assignment.

If Route 53 is your DNS service, set this to 13.

For * more information about enabling DNSSEC signing, see Enabling * DNSSEC signing and establishing a chain of trust.

*/ inline int GetAlgorithm() const{ return m_algorithm; } /** *

The number of the public key’s cryptographic algorithm according to an IANA * assignment.

If Route 53 is your DNS service, set this to 13.

For * more information about enabling DNSSEC signing, see Enabling * DNSSEC signing and establishing a chain of trust.

*/ inline bool AlgorithmHasBeenSet() const { return m_algorithmHasBeenSet; } /** *

The number of the public key’s cryptographic algorithm according to an IANA * assignment.

If Route 53 is your DNS service, set this to 13.

For * more information about enabling DNSSEC signing, see Enabling * DNSSEC signing and establishing a chain of trust.

*/ inline void SetAlgorithm(int value) { m_algorithmHasBeenSet = true; m_algorithm = value; } /** *

The number of the public key’s cryptographic algorithm according to an IANA * assignment.

If Route 53 is your DNS service, set this to 13.

For * more information about enabling DNSSEC signing, see Enabling * DNSSEC signing and establishing a chain of trust.

*/ inline DnssecKey& WithAlgorithm(int value) { SetAlgorithm(value); return *this;} /** *

Defines the type of key. It can be either a KSK (key-signing-key, value 257) * or ZSK (zone-signing-key, value 256). Using KSK is always encouraged. Only use * ZSK if your DNS provider isn't Route 53 and you don’t have KSK available.

*

If you have KSK and ZSK keys, always use KSK to create a delegations signer * (DS) record. If you have ZSK keys only – use ZSK to create a DS record.

*/ inline int GetFlags() const{ return m_flags; } /** *

Defines the type of key. It can be either a KSK (key-signing-key, value 257) * or ZSK (zone-signing-key, value 256). Using KSK is always encouraged. Only use * ZSK if your DNS provider isn't Route 53 and you don’t have KSK available.

*

If you have KSK and ZSK keys, always use KSK to create a delegations signer * (DS) record. If you have ZSK keys only – use ZSK to create a DS record.

*/ inline bool FlagsHasBeenSet() const { return m_flagsHasBeenSet; } /** *

Defines the type of key. It can be either a KSK (key-signing-key, value 257) * or ZSK (zone-signing-key, value 256). Using KSK is always encouraged. Only use * ZSK if your DNS provider isn't Route 53 and you don’t have KSK available.

*

If you have KSK and ZSK keys, always use KSK to create a delegations signer * (DS) record. If you have ZSK keys only – use ZSK to create a DS record.

*/ inline void SetFlags(int value) { m_flagsHasBeenSet = true; m_flags = value; } /** *

Defines the type of key. It can be either a KSK (key-signing-key, value 257) * or ZSK (zone-signing-key, value 256). Using KSK is always encouraged. Only use * ZSK if your DNS provider isn't Route 53 and you don’t have KSK available.

*

If you have KSK and ZSK keys, always use KSK to create a delegations signer * (DS) record. If you have ZSK keys only – use ZSK to create a DS record.

*/ inline DnssecKey& WithFlags(int value) { SetFlags(value); return *this;} /** *

The base64-encoded public key part of the key pair that is passed to the * registry .

*/ inline const Aws::String& GetPublicKey() const{ return m_publicKey; } /** *

The base64-encoded public key part of the key pair that is passed to the * registry .

*/ inline bool PublicKeyHasBeenSet() const { return m_publicKeyHasBeenSet; } /** *

The base64-encoded public key part of the key pair that is passed to the * registry .

*/ inline void SetPublicKey(const Aws::String& value) { m_publicKeyHasBeenSet = true; m_publicKey = value; } /** *

The base64-encoded public key part of the key pair that is passed to the * registry .

*/ inline void SetPublicKey(Aws::String&& value) { m_publicKeyHasBeenSet = true; m_publicKey = std::move(value); } /** *

The base64-encoded public key part of the key pair that is passed to the * registry .

*/ inline void SetPublicKey(const char* value) { m_publicKeyHasBeenSet = true; m_publicKey.assign(value); } /** *

The base64-encoded public key part of the key pair that is passed to the * registry .

*/ inline DnssecKey& WithPublicKey(const Aws::String& value) { SetPublicKey(value); return *this;} /** *

The base64-encoded public key part of the key pair that is passed to the * registry .

*/ inline DnssecKey& WithPublicKey(Aws::String&& value) { SetPublicKey(std::move(value)); return *this;} /** *

The base64-encoded public key part of the key pair that is passed to the * registry .

*/ inline DnssecKey& WithPublicKey(const char* value) { SetPublicKey(value); return *this;} /** *

The number of the DS digest algorithm according to an IANA assignment.

*

For more information, see IANA * for DNSSEC Delegation Signer (DS) Resource Record (RR) Type Digest Algorithms. *

*/ inline int GetDigestType() const{ return m_digestType; } /** *

The number of the DS digest algorithm according to an IANA assignment.

*

For more information, see IANA * for DNSSEC Delegation Signer (DS) Resource Record (RR) Type Digest Algorithms. *

*/ inline bool DigestTypeHasBeenSet() const { return m_digestTypeHasBeenSet; } /** *

The number of the DS digest algorithm according to an IANA assignment.

*

For more information, see IANA * for DNSSEC Delegation Signer (DS) Resource Record (RR) Type Digest Algorithms. *

*/ inline void SetDigestType(int value) { m_digestTypeHasBeenSet = true; m_digestType = value; } /** *

The number of the DS digest algorithm according to an IANA assignment.

*

For more information, see IANA * for DNSSEC Delegation Signer (DS) Resource Record (RR) Type Digest Algorithms. *

*/ inline DnssecKey& WithDigestType(int value) { SetDigestType(value); return *this;} /** *

The delegation signer digest.

Digest is calculated from the public * key provided using specified digest algorithm and this digest is the actual * value returned from the registry nameservers as the value of DS records.

*/ inline const Aws::String& GetDigest() const{ return m_digest; } /** *

The delegation signer digest.

Digest is calculated from the public * key provided using specified digest algorithm and this digest is the actual * value returned from the registry nameservers as the value of DS records.

*/ inline bool DigestHasBeenSet() const { return m_digestHasBeenSet; } /** *

The delegation signer digest.

Digest is calculated from the public * key provided using specified digest algorithm and this digest is the actual * value returned from the registry nameservers as the value of DS records.

*/ inline void SetDigest(const Aws::String& value) { m_digestHasBeenSet = true; m_digest = value; } /** *

The delegation signer digest.

Digest is calculated from the public * key provided using specified digest algorithm and this digest is the actual * value returned from the registry nameservers as the value of DS records.

*/ inline void SetDigest(Aws::String&& value) { m_digestHasBeenSet = true; m_digest = std::move(value); } /** *

The delegation signer digest.

Digest is calculated from the public * key provided using specified digest algorithm and this digest is the actual * value returned from the registry nameservers as the value of DS records.

*/ inline void SetDigest(const char* value) { m_digestHasBeenSet = true; m_digest.assign(value); } /** *

The delegation signer digest.

Digest is calculated from the public * key provided using specified digest algorithm and this digest is the actual * value returned from the registry nameservers as the value of DS records.

*/ inline DnssecKey& WithDigest(const Aws::String& value) { SetDigest(value); return *this;} /** *

The delegation signer digest.

Digest is calculated from the public * key provided using specified digest algorithm and this digest is the actual * value returned from the registry nameservers as the value of DS records.

*/ inline DnssecKey& WithDigest(Aws::String&& value) { SetDigest(std::move(value)); return *this;} /** *

The delegation signer digest.

Digest is calculated from the public * key provided using specified digest algorithm and this digest is the actual * value returned from the registry nameservers as the value of DS records.

*/ inline DnssecKey& WithDigest(const char* value) { SetDigest(value); return *this;} /** *

A numeric identification of the DNSKEY record referred to by this DS record. *

*/ inline int GetKeyTag() const{ return m_keyTag; } /** *

A numeric identification of the DNSKEY record referred to by this DS record. *

*/ inline bool KeyTagHasBeenSet() const { return m_keyTagHasBeenSet; } /** *

A numeric identification of the DNSKEY record referred to by this DS record. *

*/ inline void SetKeyTag(int value) { m_keyTagHasBeenSet = true; m_keyTag = value; } /** *

A numeric identification of the DNSKEY record referred to by this DS record. *

*/ inline DnssecKey& WithKeyTag(int value) { SetKeyTag(value); return *this;} /** *

An ID assigned to each DS record created by AssociateDelegationSignerToDomain. *

*/ inline const Aws::String& GetId() const{ return m_id; } /** *

An ID assigned to each DS record created by AssociateDelegationSignerToDomain. *

*/ inline bool IdHasBeenSet() const { return m_idHasBeenSet; } /** *

An ID assigned to each DS record created by AssociateDelegationSignerToDomain. *

*/ inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } /** *

An ID assigned to each DS record created by AssociateDelegationSignerToDomain. *

*/ inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } /** *

An ID assigned to each DS record created by AssociateDelegationSignerToDomain. *

*/ inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } /** *

An ID assigned to each DS record created by AssociateDelegationSignerToDomain. *

*/ inline DnssecKey& WithId(const Aws::String& value) { SetId(value); return *this;} /** *

An ID assigned to each DS record created by AssociateDelegationSignerToDomain. *

*/ inline DnssecKey& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} /** *

An ID assigned to each DS record created by AssociateDelegationSignerToDomain. *

*/ inline DnssecKey& WithId(const char* value) { SetId(value); return *this;} private: int m_algorithm; bool m_algorithmHasBeenSet = false; int m_flags; bool m_flagsHasBeenSet = false; Aws::String m_publicKey; bool m_publicKeyHasBeenSet = false; int m_digestType; bool m_digestTypeHasBeenSet = false; Aws::String m_digest; bool m_digestHasBeenSet = false; int m_keyTag; bool m_keyTagHasBeenSet = false; Aws::String m_id; bool m_idHasBeenSet = false; }; } // namespace Model } // namespace Route53Domains } // namespace Aws