/** * 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 MemoryDB { namespace Model { /** */ class UpdateACLRequest : public MemoryDBRequest { public: AWS_MEMORYDB_API UpdateACLRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "UpdateACL"; } AWS_MEMORYDB_API Aws::String SerializePayload() const override; AWS_MEMORYDB_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The name of the Access Control List

*/ inline const Aws::String& GetACLName() const{ return m_aCLName; } /** *

The name of the Access Control List

*/ inline bool ACLNameHasBeenSet() const { return m_aCLNameHasBeenSet; } /** *

The name of the Access Control List

*/ inline void SetACLName(const Aws::String& value) { m_aCLNameHasBeenSet = true; m_aCLName = value; } /** *

The name of the Access Control List

*/ inline void SetACLName(Aws::String&& value) { m_aCLNameHasBeenSet = true; m_aCLName = std::move(value); } /** *

The name of the Access Control List

*/ inline void SetACLName(const char* value) { m_aCLNameHasBeenSet = true; m_aCLName.assign(value); } /** *

The name of the Access Control List

*/ inline UpdateACLRequest& WithACLName(const Aws::String& value) { SetACLName(value); return *this;} /** *

The name of the Access Control List

*/ inline UpdateACLRequest& WithACLName(Aws::String&& value) { SetACLName(std::move(value)); return *this;} /** *

The name of the Access Control List

*/ inline UpdateACLRequest& WithACLName(const char* value) { SetACLName(value); return *this;} /** *

The list of users to add to the Access Control List

*/ inline const Aws::Vector& GetUserNamesToAdd() const{ return m_userNamesToAdd; } /** *

The list of users to add to the Access Control List

*/ inline bool UserNamesToAddHasBeenSet() const { return m_userNamesToAddHasBeenSet; } /** *

The list of users to add to the Access Control List

*/ inline void SetUserNamesToAdd(const Aws::Vector& value) { m_userNamesToAddHasBeenSet = true; m_userNamesToAdd = value; } /** *

The list of users to add to the Access Control List

*/ inline void SetUserNamesToAdd(Aws::Vector&& value) { m_userNamesToAddHasBeenSet = true; m_userNamesToAdd = std::move(value); } /** *

The list of users to add to the Access Control List

*/ inline UpdateACLRequest& WithUserNamesToAdd(const Aws::Vector& value) { SetUserNamesToAdd(value); return *this;} /** *

The list of users to add to the Access Control List

*/ inline UpdateACLRequest& WithUserNamesToAdd(Aws::Vector&& value) { SetUserNamesToAdd(std::move(value)); return *this;} /** *

The list of users to add to the Access Control List

*/ inline UpdateACLRequest& AddUserNamesToAdd(const Aws::String& value) { m_userNamesToAddHasBeenSet = true; m_userNamesToAdd.push_back(value); return *this; } /** *

The list of users to add to the Access Control List

*/ inline UpdateACLRequest& AddUserNamesToAdd(Aws::String&& value) { m_userNamesToAddHasBeenSet = true; m_userNamesToAdd.push_back(std::move(value)); return *this; } /** *

The list of users to add to the Access Control List

*/ inline UpdateACLRequest& AddUserNamesToAdd(const char* value) { m_userNamesToAddHasBeenSet = true; m_userNamesToAdd.push_back(value); return *this; } /** *

The list of users to remove from the Access Control List

*/ inline const Aws::Vector& GetUserNamesToRemove() const{ return m_userNamesToRemove; } /** *

The list of users to remove from the Access Control List

*/ inline bool UserNamesToRemoveHasBeenSet() const { return m_userNamesToRemoveHasBeenSet; } /** *

The list of users to remove from the Access Control List

*/ inline void SetUserNamesToRemove(const Aws::Vector& value) { m_userNamesToRemoveHasBeenSet = true; m_userNamesToRemove = value; } /** *

The list of users to remove from the Access Control List

*/ inline void SetUserNamesToRemove(Aws::Vector&& value) { m_userNamesToRemoveHasBeenSet = true; m_userNamesToRemove = std::move(value); } /** *

The list of users to remove from the Access Control List

*/ inline UpdateACLRequest& WithUserNamesToRemove(const Aws::Vector& value) { SetUserNamesToRemove(value); return *this;} /** *

The list of users to remove from the Access Control List

*/ inline UpdateACLRequest& WithUserNamesToRemove(Aws::Vector&& value) { SetUserNamesToRemove(std::move(value)); return *this;} /** *

The list of users to remove from the Access Control List

*/ inline UpdateACLRequest& AddUserNamesToRemove(const Aws::String& value) { m_userNamesToRemoveHasBeenSet = true; m_userNamesToRemove.push_back(value); return *this; } /** *

The list of users to remove from the Access Control List

*/ inline UpdateACLRequest& AddUserNamesToRemove(Aws::String&& value) { m_userNamesToRemoveHasBeenSet = true; m_userNamesToRemove.push_back(std::move(value)); return *this; } /** *

The list of users to remove from the Access Control List

*/ inline UpdateACLRequest& AddUserNamesToRemove(const char* value) { m_userNamesToRemoveHasBeenSet = true; m_userNamesToRemove.push_back(value); return *this; } private: Aws::String m_aCLName; bool m_aCLNameHasBeenSet = false; Aws::Vector m_userNamesToAdd; bool m_userNamesToAddHasBeenSet = false; Aws::Vector m_userNamesToRemove; bool m_userNamesToRemoveHasBeenSet = false; }; } // namespace Model } // namespace MemoryDB } // namespace Aws