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

Describes a key pair.

See Also:

AWS API * Reference

*/ class KeyPairInfo { public: AWS_EC2_API KeyPairInfo(); AWS_EC2_API KeyPairInfo(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_EC2_API KeyPairInfo& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const; /** *

The ID of the key pair.

*/ inline const Aws::String& GetKeyPairId() const{ return m_keyPairId; } /** *

The ID of the key pair.

*/ inline bool KeyPairIdHasBeenSet() const { return m_keyPairIdHasBeenSet; } /** *

The ID of the key pair.

*/ inline void SetKeyPairId(const Aws::String& value) { m_keyPairIdHasBeenSet = true; m_keyPairId = value; } /** *

The ID of the key pair.

*/ inline void SetKeyPairId(Aws::String&& value) { m_keyPairIdHasBeenSet = true; m_keyPairId = std::move(value); } /** *

The ID of the key pair.

*/ inline void SetKeyPairId(const char* value) { m_keyPairIdHasBeenSet = true; m_keyPairId.assign(value); } /** *

The ID of the key pair.

*/ inline KeyPairInfo& WithKeyPairId(const Aws::String& value) { SetKeyPairId(value); return *this;} /** *

The ID of the key pair.

*/ inline KeyPairInfo& WithKeyPairId(Aws::String&& value) { SetKeyPairId(std::move(value)); return *this;} /** *

The ID of the key pair.

*/ inline KeyPairInfo& WithKeyPairId(const char* value) { SetKeyPairId(value); return *this;} /** *

If you used CreateKeyPair to create the key pair:

  • For * RSA key pairs, the key fingerprint is the SHA-1 digest of the DER encoded * private key.

  • For ED25519 key pairs, the key fingerprint is the * base64-encoded SHA-256 digest, which is the default for OpenSSH, starting with * OpenSSH 6.8.

  • *

If you used ImportKeyPair to provide Amazon Web Services the * public key:

  • For RSA key pairs, the key fingerprint is the MD5 * public key fingerprint as specified in section 4 of RFC4716.

  • *

    For ED25519 key pairs, the key fingerprint is the base64-encoded SHA-256 * digest, which is the default for OpenSSH, starting with OpenSSH 6.8.

*/ inline const Aws::String& GetKeyFingerprint() const{ return m_keyFingerprint; } /** *

If you used CreateKeyPair to create the key pair:

  • For * RSA key pairs, the key fingerprint is the SHA-1 digest of the DER encoded * private key.

  • For ED25519 key pairs, the key fingerprint is the * base64-encoded SHA-256 digest, which is the default for OpenSSH, starting with * OpenSSH 6.8.

  • *

If you used ImportKeyPair to provide Amazon Web Services the * public key:

  • For RSA key pairs, the key fingerprint is the MD5 * public key fingerprint as specified in section 4 of RFC4716.

  • *

    For ED25519 key pairs, the key fingerprint is the base64-encoded SHA-256 * digest, which is the default for OpenSSH, starting with OpenSSH 6.8.

*/ inline bool KeyFingerprintHasBeenSet() const { return m_keyFingerprintHasBeenSet; } /** *

If you used CreateKeyPair to create the key pair:

  • For * RSA key pairs, the key fingerprint is the SHA-1 digest of the DER encoded * private key.

  • For ED25519 key pairs, the key fingerprint is the * base64-encoded SHA-256 digest, which is the default for OpenSSH, starting with * OpenSSH 6.8.

  • *

If you used ImportKeyPair to provide Amazon Web Services the * public key:

  • For RSA key pairs, the key fingerprint is the MD5 * public key fingerprint as specified in section 4 of RFC4716.

  • *

    For ED25519 key pairs, the key fingerprint is the base64-encoded SHA-256 * digest, which is the default for OpenSSH, starting with OpenSSH 6.8.

*/ inline void SetKeyFingerprint(const Aws::String& value) { m_keyFingerprintHasBeenSet = true; m_keyFingerprint = value; } /** *

If you used CreateKeyPair to create the key pair:

  • For * RSA key pairs, the key fingerprint is the SHA-1 digest of the DER encoded * private key.

  • For ED25519 key pairs, the key fingerprint is the * base64-encoded SHA-256 digest, which is the default for OpenSSH, starting with * OpenSSH 6.8.

  • *

If you used ImportKeyPair to provide Amazon Web Services the * public key:

  • For RSA key pairs, the key fingerprint is the MD5 * public key fingerprint as specified in section 4 of RFC4716.

  • *

    For ED25519 key pairs, the key fingerprint is the base64-encoded SHA-256 * digest, which is the default for OpenSSH, starting with OpenSSH 6.8.

*/ inline void SetKeyFingerprint(Aws::String&& value) { m_keyFingerprintHasBeenSet = true; m_keyFingerprint = std::move(value); } /** *

If you used CreateKeyPair to create the key pair:

  • For * RSA key pairs, the key fingerprint is the SHA-1 digest of the DER encoded * private key.

  • For ED25519 key pairs, the key fingerprint is the * base64-encoded SHA-256 digest, which is the default for OpenSSH, starting with * OpenSSH 6.8.

  • *

If you used ImportKeyPair to provide Amazon Web Services the * public key:

  • For RSA key pairs, the key fingerprint is the MD5 * public key fingerprint as specified in section 4 of RFC4716.

  • *

    For ED25519 key pairs, the key fingerprint is the base64-encoded SHA-256 * digest, which is the default for OpenSSH, starting with OpenSSH 6.8.

*/ inline void SetKeyFingerprint(const char* value) { m_keyFingerprintHasBeenSet = true; m_keyFingerprint.assign(value); } /** *

If you used CreateKeyPair to create the key pair:

  • For * RSA key pairs, the key fingerprint is the SHA-1 digest of the DER encoded * private key.

  • For ED25519 key pairs, the key fingerprint is the * base64-encoded SHA-256 digest, which is the default for OpenSSH, starting with * OpenSSH 6.8.

  • *

If you used ImportKeyPair to provide Amazon Web Services the * public key:

  • For RSA key pairs, the key fingerprint is the MD5 * public key fingerprint as specified in section 4 of RFC4716.

  • *

    For ED25519 key pairs, the key fingerprint is the base64-encoded SHA-256 * digest, which is the default for OpenSSH, starting with OpenSSH 6.8.

*/ inline KeyPairInfo& WithKeyFingerprint(const Aws::String& value) { SetKeyFingerprint(value); return *this;} /** *

If you used CreateKeyPair to create the key pair:

  • For * RSA key pairs, the key fingerprint is the SHA-1 digest of the DER encoded * private key.

  • For ED25519 key pairs, the key fingerprint is the * base64-encoded SHA-256 digest, which is the default for OpenSSH, starting with * OpenSSH 6.8.

  • *

If you used ImportKeyPair to provide Amazon Web Services the * public key:

  • For RSA key pairs, the key fingerprint is the MD5 * public key fingerprint as specified in section 4 of RFC4716.

  • *

    For ED25519 key pairs, the key fingerprint is the base64-encoded SHA-256 * digest, which is the default for OpenSSH, starting with OpenSSH 6.8.

*/ inline KeyPairInfo& WithKeyFingerprint(Aws::String&& value) { SetKeyFingerprint(std::move(value)); return *this;} /** *

If you used CreateKeyPair to create the key pair:

  • For * RSA key pairs, the key fingerprint is the SHA-1 digest of the DER encoded * private key.

  • For ED25519 key pairs, the key fingerprint is the * base64-encoded SHA-256 digest, which is the default for OpenSSH, starting with * OpenSSH 6.8.

  • *

If you used ImportKeyPair to provide Amazon Web Services the * public key:

  • For RSA key pairs, the key fingerprint is the MD5 * public key fingerprint as specified in section 4 of RFC4716.

  • *

    For ED25519 key pairs, the key fingerprint is the base64-encoded SHA-256 * digest, which is the default for OpenSSH, starting with OpenSSH 6.8.

*/ inline KeyPairInfo& WithKeyFingerprint(const char* value) { SetKeyFingerprint(value); return *this;} /** *

The name of the key pair.

*/ inline const Aws::String& GetKeyName() const{ return m_keyName; } /** *

The name of the key pair.

*/ inline bool KeyNameHasBeenSet() const { return m_keyNameHasBeenSet; } /** *

The name of the key pair.

*/ inline void SetKeyName(const Aws::String& value) { m_keyNameHasBeenSet = true; m_keyName = value; } /** *

The name of the key pair.

*/ inline void SetKeyName(Aws::String&& value) { m_keyNameHasBeenSet = true; m_keyName = std::move(value); } /** *

The name of the key pair.

*/ inline void SetKeyName(const char* value) { m_keyNameHasBeenSet = true; m_keyName.assign(value); } /** *

The name of the key pair.

*/ inline KeyPairInfo& WithKeyName(const Aws::String& value) { SetKeyName(value); return *this;} /** *

The name of the key pair.

*/ inline KeyPairInfo& WithKeyName(Aws::String&& value) { SetKeyName(std::move(value)); return *this;} /** *

The name of the key pair.

*/ inline KeyPairInfo& WithKeyName(const char* value) { SetKeyName(value); return *this;} /** *

The type of key pair.

*/ inline const KeyType& GetKeyType() const{ return m_keyType; } /** *

The type of key pair.

*/ inline bool KeyTypeHasBeenSet() const { return m_keyTypeHasBeenSet; } /** *

The type of key pair.

*/ inline void SetKeyType(const KeyType& value) { m_keyTypeHasBeenSet = true; m_keyType = value; } /** *

The type of key pair.

*/ inline void SetKeyType(KeyType&& value) { m_keyTypeHasBeenSet = true; m_keyType = std::move(value); } /** *

The type of key pair.

*/ inline KeyPairInfo& WithKeyType(const KeyType& value) { SetKeyType(value); return *this;} /** *

The type of key pair.

*/ inline KeyPairInfo& WithKeyType(KeyType&& value) { SetKeyType(std::move(value)); return *this;} /** *

Any tags applied to the key pair.

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

Any tags applied to the key pair.

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

Any tags applied to the key pair.

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

Any tags applied to the key pair.

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

Any tags applied to the key pair.

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

Any tags applied to the key pair.

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

Any tags applied to the key pair.

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

Any tags applied to the key pair.

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

The public key material.

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

The public key material.

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

The public key material.

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

The public key material.

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

The public key material.

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

The public key material.

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

The public key material.

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

The public key material.

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

If you used Amazon EC2 to create the key pair, this is the date and time when * the key was created, in ISO 8601 date-time * format, in the UTC time zone.

If you imported an existing key pair to * Amazon EC2, this is the date and time the key was imported, in ISO 8601 date-time * format, in the UTC time zone.

*/ inline const Aws::Utils::DateTime& GetCreateTime() const{ return m_createTime; } /** *

If you used Amazon EC2 to create the key pair, this is the date and time when * the key was created, in ISO 8601 date-time * format, in the UTC time zone.

If you imported an existing key pair to * Amazon EC2, this is the date and time the key was imported, in ISO 8601 date-time * format, in the UTC time zone.

*/ inline bool CreateTimeHasBeenSet() const { return m_createTimeHasBeenSet; } /** *

If you used Amazon EC2 to create the key pair, this is the date and time when * the key was created, in ISO 8601 date-time * format, in the UTC time zone.

If you imported an existing key pair to * Amazon EC2, this is the date and time the key was imported, in ISO 8601 date-time * format, in the UTC time zone.

*/ inline void SetCreateTime(const Aws::Utils::DateTime& value) { m_createTimeHasBeenSet = true; m_createTime = value; } /** *

If you used Amazon EC2 to create the key pair, this is the date and time when * the key was created, in ISO 8601 date-time * format, in the UTC time zone.

If you imported an existing key pair to * Amazon EC2, this is the date and time the key was imported, in ISO 8601 date-time * format, in the UTC time zone.

*/ inline void SetCreateTime(Aws::Utils::DateTime&& value) { m_createTimeHasBeenSet = true; m_createTime = std::move(value); } /** *

If you used Amazon EC2 to create the key pair, this is the date and time when * the key was created, in ISO 8601 date-time * format, in the UTC time zone.

If you imported an existing key pair to * Amazon EC2, this is the date and time the key was imported, in ISO 8601 date-time * format, in the UTC time zone.

*/ inline KeyPairInfo& WithCreateTime(const Aws::Utils::DateTime& value) { SetCreateTime(value); return *this;} /** *

If you used Amazon EC2 to create the key pair, this is the date and time when * the key was created, in ISO 8601 date-time * format, in the UTC time zone.

If you imported an existing key pair to * Amazon EC2, this is the date and time the key was imported, in ISO 8601 date-time * format, in the UTC time zone.

*/ inline KeyPairInfo& WithCreateTime(Aws::Utils::DateTime&& value) { SetCreateTime(std::move(value)); return *this;} private: Aws::String m_keyPairId; bool m_keyPairIdHasBeenSet = false; Aws::String m_keyFingerprint; bool m_keyFingerprintHasBeenSet = false; Aws::String m_keyName; bool m_keyNameHasBeenSet = false; KeyType m_keyType; bool m_keyTypeHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; Aws::String m_publicKey; bool m_publicKeyHasBeenSet = false; Aws::Utils::DateTime m_createTime; bool m_createTimeHasBeenSet = false; }; } // namespace Model } // namespace EC2 } // namespace Aws