/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace ElastiCache { namespace Model { class UserGroup { public: AWS_ELASTICACHE_API UserGroup(); AWS_ELASTICACHE_API UserGroup(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_ELASTICACHE_API UserGroup& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_ELASTICACHE_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; AWS_ELASTICACHE_API void OutputToStream(Aws::OStream& oStream, const char* location) const; /** *

The ID of the user group.

*/ inline const Aws::String& GetUserGroupId() const{ return m_userGroupId; } /** *

The ID of the user group.

*/ inline bool UserGroupIdHasBeenSet() const { return m_userGroupIdHasBeenSet; } /** *

The ID of the user group.

*/ inline void SetUserGroupId(const Aws::String& value) { m_userGroupIdHasBeenSet = true; m_userGroupId = value; } /** *

The ID of the user group.

*/ inline void SetUserGroupId(Aws::String&& value) { m_userGroupIdHasBeenSet = true; m_userGroupId = std::move(value); } /** *

The ID of the user group.

*/ inline void SetUserGroupId(const char* value) { m_userGroupIdHasBeenSet = true; m_userGroupId.assign(value); } /** *

The ID of the user group.

*/ inline UserGroup& WithUserGroupId(const Aws::String& value) { SetUserGroupId(value); return *this;} /** *

The ID of the user group.

*/ inline UserGroup& WithUserGroupId(Aws::String&& value) { SetUserGroupId(std::move(value)); return *this;} /** *

The ID of the user group.

*/ inline UserGroup& WithUserGroupId(const char* value) { SetUserGroupId(value); return *this;} /** *

Indicates user group status. Can be "creating", "active", "modifying", * "deleting".

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

Indicates user group status. Can be "creating", "active", "modifying", * "deleting".

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

Indicates user group status. Can be "creating", "active", "modifying", * "deleting".

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

Indicates user group status. Can be "creating", "active", "modifying", * "deleting".

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

Indicates user group status. Can be "creating", "active", "modifying", * "deleting".

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

Indicates user group status. Can be "creating", "active", "modifying", * "deleting".

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

Indicates user group status. Can be "creating", "active", "modifying", * "deleting".

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

Indicates user group status. Can be "creating", "active", "modifying", * "deleting".

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

The current supported value is Redis.

*/ inline const Aws::String& GetEngine() const{ return m_engine; } /** *

The current supported value is Redis.

*/ inline bool EngineHasBeenSet() const { return m_engineHasBeenSet; } /** *

The current supported value is Redis.

*/ inline void SetEngine(const Aws::String& value) { m_engineHasBeenSet = true; m_engine = value; } /** *

The current supported value is Redis.

*/ inline void SetEngine(Aws::String&& value) { m_engineHasBeenSet = true; m_engine = std::move(value); } /** *

The current supported value is Redis.

*/ inline void SetEngine(const char* value) { m_engineHasBeenSet = true; m_engine.assign(value); } /** *

The current supported value is Redis.

*/ inline UserGroup& WithEngine(const Aws::String& value) { SetEngine(value); return *this;} /** *

The current supported value is Redis.

*/ inline UserGroup& WithEngine(Aws::String&& value) { SetEngine(std::move(value)); return *this;} /** *

The current supported value is Redis.

*/ inline UserGroup& WithEngine(const char* value) { SetEngine(value); return *this;} /** *

The list of user IDs that belong to the user group.

*/ inline const Aws::Vector& GetUserIds() const{ return m_userIds; } /** *

The list of user IDs that belong to the user group.

*/ inline bool UserIdsHasBeenSet() const { return m_userIdsHasBeenSet; } /** *

The list of user IDs that belong to the user group.

*/ inline void SetUserIds(const Aws::Vector& value) { m_userIdsHasBeenSet = true; m_userIds = value; } /** *

The list of user IDs that belong to the user group.

*/ inline void SetUserIds(Aws::Vector&& value) { m_userIdsHasBeenSet = true; m_userIds = std::move(value); } /** *

The list of user IDs that belong to the user group.

*/ inline UserGroup& WithUserIds(const Aws::Vector& value) { SetUserIds(value); return *this;} /** *

The list of user IDs that belong to the user group.

*/ inline UserGroup& WithUserIds(Aws::Vector&& value) { SetUserIds(std::move(value)); return *this;} /** *

The list of user IDs that belong to the user group.

*/ inline UserGroup& AddUserIds(const Aws::String& value) { m_userIdsHasBeenSet = true; m_userIds.push_back(value); return *this; } /** *

The list of user IDs that belong to the user group.

*/ inline UserGroup& AddUserIds(Aws::String&& value) { m_userIdsHasBeenSet = true; m_userIds.push_back(std::move(value)); return *this; } /** *

The list of user IDs that belong to the user group.

*/ inline UserGroup& AddUserIds(const char* value) { m_userIdsHasBeenSet = true; m_userIds.push_back(value); return *this; } /** *

The minimum engine version required, which is Redis 6.0

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

The minimum engine version required, which is Redis 6.0

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

The minimum engine version required, which is Redis 6.0

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

The minimum engine version required, which is Redis 6.0

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

The minimum engine version required, which is Redis 6.0

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

The minimum engine version required, which is Redis 6.0

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

The minimum engine version required, which is Redis 6.0

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

The minimum engine version required, which is Redis 6.0

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

A list of updates being applied to the user group.

*/ inline const UserGroupPendingChanges& GetPendingChanges() const{ return m_pendingChanges; } /** *

A list of updates being applied to the user group.

*/ inline bool PendingChangesHasBeenSet() const { return m_pendingChangesHasBeenSet; } /** *

A list of updates being applied to the user group.

*/ inline void SetPendingChanges(const UserGroupPendingChanges& value) { m_pendingChangesHasBeenSet = true; m_pendingChanges = value; } /** *

A list of updates being applied to the user group.

*/ inline void SetPendingChanges(UserGroupPendingChanges&& value) { m_pendingChangesHasBeenSet = true; m_pendingChanges = std::move(value); } /** *

A list of updates being applied to the user group.

*/ inline UserGroup& WithPendingChanges(const UserGroupPendingChanges& value) { SetPendingChanges(value); return *this;} /** *

A list of updates being applied to the user group.

*/ inline UserGroup& WithPendingChanges(UserGroupPendingChanges&& value) { SetPendingChanges(std::move(value)); return *this;} /** *

A list of replication groups that the user group can access.

*/ inline const Aws::Vector& GetReplicationGroups() const{ return m_replicationGroups; } /** *

A list of replication groups that the user group can access.

*/ inline bool ReplicationGroupsHasBeenSet() const { return m_replicationGroupsHasBeenSet; } /** *

A list of replication groups that the user group can access.

*/ inline void SetReplicationGroups(const Aws::Vector& value) { m_replicationGroupsHasBeenSet = true; m_replicationGroups = value; } /** *

A list of replication groups that the user group can access.

*/ inline void SetReplicationGroups(Aws::Vector&& value) { m_replicationGroupsHasBeenSet = true; m_replicationGroups = std::move(value); } /** *

A list of replication groups that the user group can access.

*/ inline UserGroup& WithReplicationGroups(const Aws::Vector& value) { SetReplicationGroups(value); return *this;} /** *

A list of replication groups that the user group can access.

*/ inline UserGroup& WithReplicationGroups(Aws::Vector&& value) { SetReplicationGroups(std::move(value)); return *this;} /** *

A list of replication groups that the user group can access.

*/ inline UserGroup& AddReplicationGroups(const Aws::String& value) { m_replicationGroupsHasBeenSet = true; m_replicationGroups.push_back(value); return *this; } /** *

A list of replication groups that the user group can access.

*/ inline UserGroup& AddReplicationGroups(Aws::String&& value) { m_replicationGroupsHasBeenSet = true; m_replicationGroups.push_back(std::move(value)); return *this; } /** *

A list of replication groups that the user group can access.

*/ inline UserGroup& AddReplicationGroups(const char* value) { m_replicationGroupsHasBeenSet = true; m_replicationGroups.push_back(value); return *this; } /** *

The Amazon Resource Name (ARN) of the user group.

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

The Amazon Resource Name (ARN) of the user group.

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

The Amazon Resource Name (ARN) of the user group.

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

The Amazon Resource Name (ARN) of the user group.

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

The Amazon Resource Name (ARN) of the user group.

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

The Amazon Resource Name (ARN) of the user group.

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

The Amazon Resource Name (ARN) of the user group.

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

The Amazon Resource Name (ARN) of the user group.

*/ inline UserGroup& WithARN(const char* value) { SetARN(value); return *this;} inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } inline UserGroup& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} inline UserGroup& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} private: Aws::String m_userGroupId; bool m_userGroupIdHasBeenSet = false; Aws::String m_status; bool m_statusHasBeenSet = false; Aws::String m_engine; bool m_engineHasBeenSet = false; Aws::Vector m_userIds; bool m_userIdsHasBeenSet = false; Aws::String m_minimumEngineVersion; bool m_minimumEngineVersionHasBeenSet = false; UserGroupPendingChanges m_pendingChanges; bool m_pendingChangesHasBeenSet = false; Aws::Vector m_replicationGroups; bool m_replicationGroupsHasBeenSet = false; Aws::String m_aRN; bool m_aRNHasBeenSet = false; ResponseMetadata m_responseMetadata; }; } // namespace Model } // namespace ElastiCache } // namespace Aws