/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include 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
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::VectorThe 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::VectorThe names of the Access Control Lists to which the user belongs
*/ inline void SetACLNames(Aws::VectorThe names of the Access Control Lists to which the user belongs
*/ inline User& WithACLNames(const Aws::VectorThe names of the Access Control Lists to which the user belongs
*/ inline User& WithACLNames(Aws::VectorThe 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