/** * 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 OpsWorks { namespace Model { /** *

Contains the data needed by RDP clients such as the Microsoft Remote Desktop * Connection to log in to the instance.

See Also:

AWS * API Reference

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

The user name.

*/ inline const Aws::String& GetUsername() const{ return m_username; } /** *

The user name.

*/ inline bool UsernameHasBeenSet() const { return m_usernameHasBeenSet; } /** *

The user name.

*/ inline void SetUsername(const Aws::String& value) { m_usernameHasBeenSet = true; m_username = value; } /** *

The user name.

*/ inline void SetUsername(Aws::String&& value) { m_usernameHasBeenSet = true; m_username = std::move(value); } /** *

The user name.

*/ inline void SetUsername(const char* value) { m_usernameHasBeenSet = true; m_username.assign(value); } /** *

The user name.

*/ inline TemporaryCredential& WithUsername(const Aws::String& value) { SetUsername(value); return *this;} /** *

The user name.

*/ inline TemporaryCredential& WithUsername(Aws::String&& value) { SetUsername(std::move(value)); return *this;} /** *

The user name.

*/ inline TemporaryCredential& WithUsername(const char* value) { SetUsername(value); return *this;} /** *

The password.

*/ inline const Aws::String& GetPassword() const{ return m_password; } /** *

The password.

*/ inline bool PasswordHasBeenSet() const { return m_passwordHasBeenSet; } /** *

The password.

*/ inline void SetPassword(const Aws::String& value) { m_passwordHasBeenSet = true; m_password = value; } /** *

The password.

*/ inline void SetPassword(Aws::String&& value) { m_passwordHasBeenSet = true; m_password = std::move(value); } /** *

The password.

*/ inline void SetPassword(const char* value) { m_passwordHasBeenSet = true; m_password.assign(value); } /** *

The password.

*/ inline TemporaryCredential& WithPassword(const Aws::String& value) { SetPassword(value); return *this;} /** *

The password.

*/ inline TemporaryCredential& WithPassword(Aws::String&& value) { SetPassword(std::move(value)); return *this;} /** *

The password.

*/ inline TemporaryCredential& WithPassword(const char* value) { SetPassword(value); return *this;} /** *

The length of time (in minutes) that the grant is valid. When the grant * expires, at the end of this period, the user will no longer be able to use the * credentials to log in. If they are logged in at the time, they will be * automatically logged out.

*/ inline int GetValidForInMinutes() const{ return m_validForInMinutes; } /** *

The length of time (in minutes) that the grant is valid. When the grant * expires, at the end of this period, the user will no longer be able to use the * credentials to log in. If they are logged in at the time, they will be * automatically logged out.

*/ inline bool ValidForInMinutesHasBeenSet() const { return m_validForInMinutesHasBeenSet; } /** *

The length of time (in minutes) that the grant is valid. When the grant * expires, at the end of this period, the user will no longer be able to use the * credentials to log in. If they are logged in at the time, they will be * automatically logged out.

*/ inline void SetValidForInMinutes(int value) { m_validForInMinutesHasBeenSet = true; m_validForInMinutes = value; } /** *

The length of time (in minutes) that the grant is valid. When the grant * expires, at the end of this period, the user will no longer be able to use the * credentials to log in. If they are logged in at the time, they will be * automatically logged out.

*/ inline TemporaryCredential& WithValidForInMinutes(int value) { SetValidForInMinutes(value); return *this;} /** *

The instance's AWS OpsWorks Stacks ID.

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

The instance's AWS OpsWorks Stacks ID.

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

The instance's AWS OpsWorks Stacks ID.

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

The instance's AWS OpsWorks Stacks ID.

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

The instance's AWS OpsWorks Stacks ID.

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

The instance's AWS OpsWorks Stacks ID.

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

The instance's AWS OpsWorks Stacks ID.

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

The instance's AWS OpsWorks Stacks ID.

*/ inline TemporaryCredential& WithInstanceId(const char* value) { SetInstanceId(value); return *this;} private: Aws::String m_username; bool m_usernameHasBeenSet = false; Aws::String m_password; bool m_passwordHasBeenSet = false; int m_validForInMinutes; bool m_validForInMinutesHasBeenSet = false; Aws::String m_instanceId; bool m_instanceIdHasBeenSet = false; }; } // namespace Model } // namespace OpsWorks } // namespace Aws