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

You create users and assign them specific permissions by using an access * string. You assign the users to Access Control Lists aligned with a specific * role (administrators, human resources) that are then deployed to one or more * MemoryDB clusters.

See Also:

AWS API * Reference

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

The name of the user

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name of the user

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The name of the user

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The name of the user

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The name of the user

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The name of the user

*/ inline User& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of the user

*/ inline User& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name of the user

*/ inline User& WithName(const char* value) { SetName(value); return *this;} /** *

Indicates the user status. Can be "active", "modifying" or "deleting".

*/ inline const Aws::String& GetStatus() const{ return m_status; } /** *

Indicates the user status. Can be "active", "modifying" or "deleting".

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

Indicates the user status. Can be "active", "modifying" or "deleting".

*/ inline void SetStatus(const Aws::String& value) { m_statusHasBeenSet = true; m_status = value; } /** *

Indicates the user status. Can be "active", "modifying" or "deleting".

*/ inline void SetStatus(Aws::String&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

Indicates the user status. Can be "active", "modifying" or "deleting".

*/ inline void SetStatus(const char* value) { m_statusHasBeenSet = true; m_status.assign(value); } /** *

Indicates the user status. Can be "active", "modifying" or "deleting".

*/ inline User& WithStatus(const Aws::String& value) { SetStatus(value); return *this;} /** *

Indicates the user status. Can be "active", "modifying" or "deleting".

*/ inline User& WithStatus(Aws::String&& value) { SetStatus(std::move(value)); return *this;} /** *

Indicates the user status. Can be "active", "modifying" or "deleting".

*/ inline User& WithStatus(const char* value) { SetStatus(value); return *this;} /** *

Access permissions string used for this user.

*/ inline const Aws::String& GetAccessString() const{ return m_accessString; } /** *

Access permissions string used for this user.

*/ inline bool AccessStringHasBeenSet() const { return m_accessStringHasBeenSet; } /** *

Access permissions string used for this user.

*/ inline void SetAccessString(const Aws::String& value) { m_accessStringHasBeenSet = true; m_accessString = value; } /** *

Access permissions string used for this user.

*/ inline void SetAccessString(Aws::String&& value) { m_accessStringHasBeenSet = true; m_accessString = std::move(value); } /** *

Access permissions string used for this user.

*/ inline void SetAccessString(const char* value) { m_accessStringHasBeenSet = true; m_accessString.assign(value); } /** *

Access permissions string used for this user.

*/ inline User& WithAccessString(const Aws::String& value) { SetAccessString(value); return *this;} /** *

Access permissions string used for this user.

*/ inline User& WithAccessString(Aws::String&& value) { SetAccessString(std::move(value)); return *this;} /** *

Access permissions string used for this user.

*/ inline User& WithAccessString(const char* value) { SetAccessString(value); return *this;} /** *

The names of the Access Control Lists to which the user belongs

*/ inline const Aws::Vector& GetACLNames() const{ return m_aCLNames; } /** *

The names of the Access Control Lists to which the user belongs

*/ inline bool ACLNamesHasBeenSet() const { return m_aCLNamesHasBeenSet; } /** *

The names of the Access Control Lists to which the user belongs

*/ inline void SetACLNames(const Aws::Vector& value) { m_aCLNamesHasBeenSet = true; m_aCLNames = value; } /** *

The names of the Access Control Lists to which the user belongs

*/ inline void SetACLNames(Aws::Vector&& value) { m_aCLNamesHasBeenSet = true; m_aCLNames = std::move(value); } /** *

The names of the Access Control Lists to which the user belongs

*/ inline User& WithACLNames(const Aws::Vector& value) { SetACLNames(value); return *this;} /** *

The names of the Access Control Lists to which the user belongs

*/ inline User& WithACLNames(Aws::Vector&& value) { SetACLNames(std::move(value)); return *this;} /** *

The names of the Access Control Lists to which the user belongs

*/ inline User& AddACLNames(const Aws::String& value) { m_aCLNamesHasBeenSet = true; m_aCLNames.push_back(value); return *this; } /** *

The names of the Access Control Lists to which the user belongs

*/ inline User& AddACLNames(Aws::String&& value) { m_aCLNamesHasBeenSet = true; m_aCLNames.push_back(std::move(value)); return *this; } /** *

The names of the Access Control Lists to which the user belongs

*/ inline User& AddACLNames(const char* value) { m_aCLNamesHasBeenSet = true; m_aCLNames.push_back(value); return *this; } /** *

The minimum engine version supported for the user

*/ inline const Aws::String& GetMinimumEngineVersion() const{ return m_minimumEngineVersion; } /** *

The minimum engine version supported for the user

*/ inline bool MinimumEngineVersionHasBeenSet() const { return m_minimumEngineVersionHasBeenSet; } /** *

The minimum engine version supported for the user

*/ inline void SetMinimumEngineVersion(const Aws::String& value) { m_minimumEngineVersionHasBeenSet = true; m_minimumEngineVersion = value; } /** *

The minimum engine version supported for the user

*/ inline void SetMinimumEngineVersion(Aws::String&& value) { m_minimumEngineVersionHasBeenSet = true; m_minimumEngineVersion = std::move(value); } /** *

The minimum engine version supported for the user

*/ inline void SetMinimumEngineVersion(const char* value) { m_minimumEngineVersionHasBeenSet = true; m_minimumEngineVersion.assign(value); } /** *

The minimum engine version supported for the user

*/ inline User& WithMinimumEngineVersion(const Aws::String& value) { SetMinimumEngineVersion(value); return *this;} /** *

The minimum engine version supported for the user

*/ inline User& WithMinimumEngineVersion(Aws::String&& value) { SetMinimumEngineVersion(std::move(value)); return *this;} /** *

The minimum engine version supported for the user

*/ inline User& WithMinimumEngineVersion(const char* value) { SetMinimumEngineVersion(value); return *this;} /** *

Denotes whether the user requires a password to authenticate.

*/ inline const Authentication& GetAuthentication() const{ return m_authentication; } /** *

Denotes whether the user requires a password to authenticate.

*/ inline bool AuthenticationHasBeenSet() const { return m_authenticationHasBeenSet; } /** *

Denotes whether the user requires a password to authenticate.

*/ inline void SetAuthentication(const Authentication& value) { m_authenticationHasBeenSet = true; m_authentication = value; } /** *

Denotes whether the user requires a password to authenticate.

*/ inline void SetAuthentication(Authentication&& value) { m_authenticationHasBeenSet = true; m_authentication = std::move(value); } /** *

Denotes whether the user requires a password to authenticate.

*/ inline User& WithAuthentication(const Authentication& value) { SetAuthentication(value); return *this;} /** *

Denotes whether the user requires a password to authenticate.

*/ inline User& WithAuthentication(Authentication&& value) { SetAuthentication(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the user.

*/ inline const Aws::String& GetARN() const{ return m_aRN; } /** *

The Amazon Resource Name (ARN) of the user.

*/ inline bool ARNHasBeenSet() const { return m_aRNHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the user.

*/ inline void SetARN(const Aws::String& value) { m_aRNHasBeenSet = true; m_aRN = value; } /** *

The Amazon Resource Name (ARN) of the user.

*/ inline void SetARN(Aws::String&& value) { m_aRNHasBeenSet = true; m_aRN = std::move(value); } /** *

The Amazon Resource Name (ARN) of the user.

*/ inline void SetARN(const char* value) { m_aRNHasBeenSet = true; m_aRN.assign(value); } /** *

The Amazon Resource Name (ARN) of the user.

*/ inline User& WithARN(const Aws::String& value) { SetARN(value); return *this;} /** *

The Amazon Resource Name (ARN) of the user.

*/ inline User& WithARN(Aws::String&& value) { SetARN(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the user.

*/ inline User& WithARN(const char* value) { SetARN(value); return *this;} private: Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_status; bool m_statusHasBeenSet = false; Aws::String m_accessString; bool m_accessStringHasBeenSet = false; Aws::Vector m_aCLNames; bool m_aCLNamesHasBeenSet = false; Aws::String m_minimumEngineVersion; bool m_minimumEngineVersionHasBeenSet = false; Authentication m_authentication; bool m_authenticationHasBeenSet = false; Aws::String m_aRN; bool m_aRNHasBeenSet = false; }; } // namespace Model } // namespace MemoryDB } // namespace Aws