/** * 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 { /** *

An Access Control List. You can authenticate users with Access Contol Lists. * ACLs enable you to control cluster access by grouping users. These Access * control lists are designed as a way to organize access to * clusters.

See Also:

AWS API * Reference

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

The name of the Access Control List

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

The name of the Access Control List

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

The name of the Access Control List

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

The name of the Access Control List

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

The name of the Access Control List

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

The name of the Access Control List

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

The name of the Access Control List

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

The name of the Access Control List

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

The list of user names that belong to the ACL.

*/ inline const Aws::Vector& GetUserNames() const{ return m_userNames; } /** *

The list of user names that belong to the ACL.

*/ inline bool UserNamesHasBeenSet() const { return m_userNamesHasBeenSet; } /** *

The list of user names that belong to the ACL.

*/ inline void SetUserNames(const Aws::Vector& value) { m_userNamesHasBeenSet = true; m_userNames = value; } /** *

The list of user names that belong to the ACL.

*/ inline void SetUserNames(Aws::Vector&& value) { m_userNamesHasBeenSet = true; m_userNames = std::move(value); } /** *

The list of user names that belong to the ACL.

*/ inline ACL& WithUserNames(const Aws::Vector& value) { SetUserNames(value); return *this;} /** *

The list of user names that belong to the ACL.

*/ inline ACL& WithUserNames(Aws::Vector&& value) { SetUserNames(std::move(value)); return *this;} /** *

The list of user names that belong to the ACL.

*/ inline ACL& AddUserNames(const Aws::String& value) { m_userNamesHasBeenSet = true; m_userNames.push_back(value); return *this; } /** *

The list of user names that belong to the ACL.

*/ inline ACL& AddUserNames(Aws::String&& value) { m_userNamesHasBeenSet = true; m_userNames.push_back(std::move(value)); return *this; } /** *

The list of user names that belong to the ACL.

*/ inline ACL& AddUserNames(const char* value) { m_userNamesHasBeenSet = true; m_userNames.push_back(value); return *this; } /** *

The minimum engine version supported for the ACL

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

The minimum engine version supported for the ACL

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

The minimum engine version supported for the ACL

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

The minimum engine version supported for the ACL

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

The minimum engine version supported for the ACL

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

The minimum engine version supported for the ACL

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

The minimum engine version supported for the ACL

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

The minimum engine version supported for the ACL

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

A list of updates being applied to the ACL.

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

A list of updates being applied to the ACL.

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

A list of updates being applied to the ACL.

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

A list of updates being applied to the ACL.

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

A list of updates being applied to the ACL.

*/ inline ACL& WithPendingChanges(const ACLPendingChanges& value) { SetPendingChanges(value); return *this;} /** *

A list of updates being applied to the ACL.

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

A list of clusters associated with the ACL.

*/ inline const Aws::Vector& GetClusters() const{ return m_clusters; } /** *

A list of clusters associated with the ACL.

*/ inline bool ClustersHasBeenSet() const { return m_clustersHasBeenSet; } /** *

A list of clusters associated with the ACL.

*/ inline void SetClusters(const Aws::Vector& value) { m_clustersHasBeenSet = true; m_clusters = value; } /** *

A list of clusters associated with the ACL.

*/ inline void SetClusters(Aws::Vector&& value) { m_clustersHasBeenSet = true; m_clusters = std::move(value); } /** *

A list of clusters associated with the ACL.

*/ inline ACL& WithClusters(const Aws::Vector& value) { SetClusters(value); return *this;} /** *

A list of clusters associated with the ACL.

*/ inline ACL& WithClusters(Aws::Vector&& value) { SetClusters(std::move(value)); return *this;} /** *

A list of clusters associated with the ACL.

*/ inline ACL& AddClusters(const Aws::String& value) { m_clustersHasBeenSet = true; m_clusters.push_back(value); return *this; } /** *

A list of clusters associated with the ACL.

*/ inline ACL& AddClusters(Aws::String&& value) { m_clustersHasBeenSet = true; m_clusters.push_back(std::move(value)); return *this; } /** *

A list of clusters associated with the ACL.

*/ inline ACL& AddClusters(const char* value) { m_clustersHasBeenSet = true; m_clusters.push_back(value); return *this; } /** *

The Amazon Resource Name (ARN) of the ACL

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

The Amazon Resource Name (ARN) of the ACL

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

The Amazon Resource Name (ARN) of the ACL

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

The Amazon Resource Name (ARN) of the ACL

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

The Amazon Resource Name (ARN) of the ACL

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

The Amazon Resource Name (ARN) of the ACL

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

The Amazon Resource Name (ARN) of the ACL

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

The Amazon Resource Name (ARN) of the ACL

*/ inline ACL& 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::Vector m_userNames; bool m_userNamesHasBeenSet = false; Aws::String m_minimumEngineVersion; bool m_minimumEngineVersionHasBeenSet = false; ACLPendingChanges m_pendingChanges; bool m_pendingChangesHasBeenSet = false; Aws::Vector m_clusters; bool m_clustersHasBeenSet = false; Aws::String m_aRN; bool m_aRNHasBeenSet = false; }; } // namespace Model } // namespace MemoryDB } // namespace Aws