/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace EC2InstanceConnect { namespace Model { /** */ class SendSerialConsoleSSHPublicKeyRequest : public EC2InstanceConnectRequest { public: AWS_EC2INSTANCECONNECT_API SendSerialConsoleSSHPublicKeyRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "SendSerialConsoleSSHPublicKey"; } AWS_EC2INSTANCECONNECT_API Aws::String SerializePayload() const override; AWS_EC2INSTANCECONNECT_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The ID of the EC2 instance.

*/ inline const Aws::String& GetInstanceId() const{ return m_instanceId; } /** *

The ID of the EC2 instance.

*/ inline bool InstanceIdHasBeenSet() const { return m_instanceIdHasBeenSet; } /** *

The ID of the EC2 instance.

*/ inline void SetInstanceId(const Aws::String& value) { m_instanceIdHasBeenSet = true; m_instanceId = value; } /** *

The ID of the EC2 instance.

*/ inline void SetInstanceId(Aws::String&& value) { m_instanceIdHasBeenSet = true; m_instanceId = std::move(value); } /** *

The ID of the EC2 instance.

*/ inline void SetInstanceId(const char* value) { m_instanceIdHasBeenSet = true; m_instanceId.assign(value); } /** *

The ID of the EC2 instance.

*/ inline SendSerialConsoleSSHPublicKeyRequest& WithInstanceId(const Aws::String& value) { SetInstanceId(value); return *this;} /** *

The ID of the EC2 instance.

*/ inline SendSerialConsoleSSHPublicKeyRequest& WithInstanceId(Aws::String&& value) { SetInstanceId(std::move(value)); return *this;} /** *

The ID of the EC2 instance.

*/ inline SendSerialConsoleSSHPublicKeyRequest& WithInstanceId(const char* value) { SetInstanceId(value); return *this;} /** *

The serial port of the EC2 instance. Currently only port 0 is supported.

*

Default: 0

*/ inline int GetSerialPort() const{ return m_serialPort; } /** *

The serial port of the EC2 instance. Currently only port 0 is supported.

*

Default: 0

*/ inline bool SerialPortHasBeenSet() const { return m_serialPortHasBeenSet; } /** *

The serial port of the EC2 instance. Currently only port 0 is supported.

*

Default: 0

*/ inline void SetSerialPort(int value) { m_serialPortHasBeenSet = true; m_serialPort = value; } /** *

The serial port of the EC2 instance. Currently only port 0 is supported.

*

Default: 0

*/ inline SendSerialConsoleSSHPublicKeyRequest& WithSerialPort(int value) { SetSerialPort(value); return *this;} /** *

The public key material. To use the public key, you must have the matching * private key. For information about the supported key formats and lengths, see Requirements * for key pairs in the Amazon EC2 User Guide.

*/ inline const Aws::String& GetSSHPublicKey() const{ return m_sSHPublicKey; } /** *

The public key material. To use the public key, you must have the matching * private key. For information about the supported key formats and lengths, see Requirements * for key pairs in the Amazon EC2 User Guide.

*/ inline bool SSHPublicKeyHasBeenSet() const { return m_sSHPublicKeyHasBeenSet; } /** *

The public key material. To use the public key, you must have the matching * private key. For information about the supported key formats and lengths, see Requirements * for key pairs in the Amazon EC2 User Guide.

*/ inline void SetSSHPublicKey(const Aws::String& value) { m_sSHPublicKeyHasBeenSet = true; m_sSHPublicKey = value; } /** *

The public key material. To use the public key, you must have the matching * private key. For information about the supported key formats and lengths, see Requirements * for key pairs in the Amazon EC2 User Guide.

*/ inline void SetSSHPublicKey(Aws::String&& value) { m_sSHPublicKeyHasBeenSet = true; m_sSHPublicKey = std::move(value); } /** *

The public key material. To use the public key, you must have the matching * private key. For information about the supported key formats and lengths, see Requirements * for key pairs in the Amazon EC2 User Guide.

*/ inline void SetSSHPublicKey(const char* value) { m_sSHPublicKeyHasBeenSet = true; m_sSHPublicKey.assign(value); } /** *

The public key material. To use the public key, you must have the matching * private key. For information about the supported key formats and lengths, see Requirements * for key pairs in the Amazon EC2 User Guide.

*/ inline SendSerialConsoleSSHPublicKeyRequest& WithSSHPublicKey(const Aws::String& value) { SetSSHPublicKey(value); return *this;} /** *

The public key material. To use the public key, you must have the matching * private key. For information about the supported key formats and lengths, see Requirements * for key pairs in the Amazon EC2 User Guide.

*/ inline SendSerialConsoleSSHPublicKeyRequest& WithSSHPublicKey(Aws::String&& value) { SetSSHPublicKey(std::move(value)); return *this;} /** *

The public key material. To use the public key, you must have the matching * private key. For information about the supported key formats and lengths, see Requirements * for key pairs in the Amazon EC2 User Guide.

*/ inline SendSerialConsoleSSHPublicKeyRequest& WithSSHPublicKey(const char* value) { SetSSHPublicKey(value); return *this;} private: Aws::String m_instanceId; bool m_instanceIdHasBeenSet = false; int m_serialPort; bool m_serialPortHasBeenSet = false; Aws::String m_sSHPublicKey; bool m_sSHPublicKeyHasBeenSet = false; }; } // namespace Model } // namespace EC2InstanceConnect } // namespace Aws