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

Describes the credentials for the service account used by the fleet or image * builder to connect to the directory.

See Also:

AWS * API Reference

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

The user name of the account. This account must have the following * privileges: create computer objects, join computers to the domain, and * change/reset the password on descendant computer objects for the organizational * units specified.

*/ inline const Aws::String& GetAccountName() const{ return m_accountName; } /** *

The user name of the account. This account must have the following * privileges: create computer objects, join computers to the domain, and * change/reset the password on descendant computer objects for the organizational * units specified.

*/ inline bool AccountNameHasBeenSet() const { return m_accountNameHasBeenSet; } /** *

The user name of the account. This account must have the following * privileges: create computer objects, join computers to the domain, and * change/reset the password on descendant computer objects for the organizational * units specified.

*/ inline void SetAccountName(const Aws::String& value) { m_accountNameHasBeenSet = true; m_accountName = value; } /** *

The user name of the account. This account must have the following * privileges: create computer objects, join computers to the domain, and * change/reset the password on descendant computer objects for the organizational * units specified.

*/ inline void SetAccountName(Aws::String&& value) { m_accountNameHasBeenSet = true; m_accountName = std::move(value); } /** *

The user name of the account. This account must have the following * privileges: create computer objects, join computers to the domain, and * change/reset the password on descendant computer objects for the organizational * units specified.

*/ inline void SetAccountName(const char* value) { m_accountNameHasBeenSet = true; m_accountName.assign(value); } /** *

The user name of the account. This account must have the following * privileges: create computer objects, join computers to the domain, and * change/reset the password on descendant computer objects for the organizational * units specified.

*/ inline ServiceAccountCredentials& WithAccountName(const Aws::String& value) { SetAccountName(value); return *this;} /** *

The user name of the account. This account must have the following * privileges: create computer objects, join computers to the domain, and * change/reset the password on descendant computer objects for the organizational * units specified.

*/ inline ServiceAccountCredentials& WithAccountName(Aws::String&& value) { SetAccountName(std::move(value)); return *this;} /** *

The user name of the account. This account must have the following * privileges: create computer objects, join computers to the domain, and * change/reset the password on descendant computer objects for the organizational * units specified.

*/ inline ServiceAccountCredentials& WithAccountName(const char* value) { SetAccountName(value); return *this;} /** *

The password for the account.

*/ inline const Aws::String& GetAccountPassword() const{ return m_accountPassword; } /** *

The password for the account.

*/ inline bool AccountPasswordHasBeenSet() const { return m_accountPasswordHasBeenSet; } /** *

The password for the account.

*/ inline void SetAccountPassword(const Aws::String& value) { m_accountPasswordHasBeenSet = true; m_accountPassword = value; } /** *

The password for the account.

*/ inline void SetAccountPassword(Aws::String&& value) { m_accountPasswordHasBeenSet = true; m_accountPassword = std::move(value); } /** *

The password for the account.

*/ inline void SetAccountPassword(const char* value) { m_accountPasswordHasBeenSet = true; m_accountPassword.assign(value); } /** *

The password for the account.

*/ inline ServiceAccountCredentials& WithAccountPassword(const Aws::String& value) { SetAccountPassword(value); return *this;} /** *

The password for the account.

*/ inline ServiceAccountCredentials& WithAccountPassword(Aws::String&& value) { SetAccountPassword(std::move(value)); return *this;} /** *

The password for the account.

*/ inline ServiceAccountCredentials& WithAccountPassword(const char* value) { SetAccountPassword(value); return *this;} private: Aws::String m_accountName; bool m_accountNameHasBeenSet = false; Aws::String m_accountPassword; bool m_accountPasswordHasBeenSet = false; }; } // namespace Model } // namespace AppStream } // namespace Aws