/** * 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 Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace AppStream { namespace Model { /** *

Describes a user in the user pool and the associated stack.

See * Also:

AWS * API Reference

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

The name of the stack that is associated with the user.

*/ inline const Aws::String& GetStackName() const{ return m_stackName; } /** *

The name of the stack that is associated with the user.

*/ inline bool StackNameHasBeenSet() const { return m_stackNameHasBeenSet; } /** *

The name of the stack that is associated with the user.

*/ inline void SetStackName(const Aws::String& value) { m_stackNameHasBeenSet = true; m_stackName = value; } /** *

The name of the stack that is associated with the user.

*/ inline void SetStackName(Aws::String&& value) { m_stackNameHasBeenSet = true; m_stackName = std::move(value); } /** *

The name of the stack that is associated with the user.

*/ inline void SetStackName(const char* value) { m_stackNameHasBeenSet = true; m_stackName.assign(value); } /** *

The name of the stack that is associated with the user.

*/ inline UserStackAssociation& WithStackName(const Aws::String& value) { SetStackName(value); return *this;} /** *

The name of the stack that is associated with the user.

*/ inline UserStackAssociation& WithStackName(Aws::String&& value) { SetStackName(std::move(value)); return *this;} /** *

The name of the stack that is associated with the user.

*/ inline UserStackAssociation& WithStackName(const char* value) { SetStackName(value); return *this;} /** *

The email address of the user who is associated with the stack.

*

Users' email addresses are case-sensitive.

*/ inline const Aws::String& GetUserName() const{ return m_userName; } /** *

The email address of the user who is associated with the stack.

*

Users' email addresses are case-sensitive.

*/ inline bool UserNameHasBeenSet() const { return m_userNameHasBeenSet; } /** *

The email address of the user who is associated with the stack.

*

Users' email addresses are case-sensitive.

*/ inline void SetUserName(const Aws::String& value) { m_userNameHasBeenSet = true; m_userName = value; } /** *

The email address of the user who is associated with the stack.

*

Users' email addresses are case-sensitive.

*/ inline void SetUserName(Aws::String&& value) { m_userNameHasBeenSet = true; m_userName = std::move(value); } /** *

The email address of the user who is associated with the stack.

*

Users' email addresses are case-sensitive.

*/ inline void SetUserName(const char* value) { m_userNameHasBeenSet = true; m_userName.assign(value); } /** *

The email address of the user who is associated with the stack.

*

Users' email addresses are case-sensitive.

*/ inline UserStackAssociation& WithUserName(const Aws::String& value) { SetUserName(value); return *this;} /** *

The email address of the user who is associated with the stack.

*

Users' email addresses are case-sensitive.

*/ inline UserStackAssociation& WithUserName(Aws::String&& value) { SetUserName(std::move(value)); return *this;} /** *

The email address of the user who is associated with the stack.

*

Users' email addresses are case-sensitive.

*/ inline UserStackAssociation& WithUserName(const char* value) { SetUserName(value); return *this;} /** *

The authentication type for the user.

*/ inline const AuthenticationType& GetAuthenticationType() const{ return m_authenticationType; } /** *

The authentication type for the user.

*/ inline bool AuthenticationTypeHasBeenSet() const { return m_authenticationTypeHasBeenSet; } /** *

The authentication type for the user.

*/ inline void SetAuthenticationType(const AuthenticationType& value) { m_authenticationTypeHasBeenSet = true; m_authenticationType = value; } /** *

The authentication type for the user.

*/ inline void SetAuthenticationType(AuthenticationType&& value) { m_authenticationTypeHasBeenSet = true; m_authenticationType = std::move(value); } /** *

The authentication type for the user.

*/ inline UserStackAssociation& WithAuthenticationType(const AuthenticationType& value) { SetAuthenticationType(value); return *this;} /** *

The authentication type for the user.

*/ inline UserStackAssociation& WithAuthenticationType(AuthenticationType&& value) { SetAuthenticationType(std::move(value)); return *this;} /** *

Specifies whether a welcome email is sent to a user after the user is created * in the user pool.

*/ inline bool GetSendEmailNotification() const{ return m_sendEmailNotification; } /** *

Specifies whether a welcome email is sent to a user after the user is created * in the user pool.

*/ inline bool SendEmailNotificationHasBeenSet() const { return m_sendEmailNotificationHasBeenSet; } /** *

Specifies whether a welcome email is sent to a user after the user is created * in the user pool.

*/ inline void SetSendEmailNotification(bool value) { m_sendEmailNotificationHasBeenSet = true; m_sendEmailNotification = value; } /** *

Specifies whether a welcome email is sent to a user after the user is created * in the user pool.

*/ inline UserStackAssociation& WithSendEmailNotification(bool value) { SetSendEmailNotification(value); return *this;} private: Aws::String m_stackName; bool m_stackNameHasBeenSet = false; Aws::String m_userName; bool m_userNameHasBeenSet = false; AuthenticationType m_authenticationType; bool m_authenticationTypeHasBeenSet = false; bool m_sendEmailNotification; bool m_sendEmailNotificationHasBeenSet = false; }; } // namespace Model } // namespace AppStream } // namespace Aws