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

Describes the permissions.

See Also:

AWS * API Reference

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

The role of the user.

*/ inline const RoleType& GetRole() const{ return m_role; } /** *

The role of the user.

*/ inline bool RoleHasBeenSet() const { return m_roleHasBeenSet; } /** *

The role of the user.

*/ inline void SetRole(const RoleType& value) { m_roleHasBeenSet = true; m_role = value; } /** *

The role of the user.

*/ inline void SetRole(RoleType&& value) { m_roleHasBeenSet = true; m_role = std::move(value); } /** *

The role of the user.

*/ inline PermissionInfo& WithRole(const RoleType& value) { SetRole(value); return *this;} /** *

The role of the user.

*/ inline PermissionInfo& WithRole(RoleType&& value) { SetRole(std::move(value)); return *this;} /** *

The type of permissions.

*/ inline const RolePermissionType& GetType() const{ return m_type; } /** *

The type of permissions.

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

The type of permissions.

*/ inline void SetType(const RolePermissionType& value) { m_typeHasBeenSet = true; m_type = value; } /** *

The type of permissions.

*/ inline void SetType(RolePermissionType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

The type of permissions.

*/ inline PermissionInfo& WithType(const RolePermissionType& value) { SetType(value); return *this;} /** *

The type of permissions.

*/ inline PermissionInfo& WithType(RolePermissionType&& value) { SetType(std::move(value)); return *this;} private: RoleType m_role; bool m_roleHasBeenSet = false; RolePermissionType m_type; bool m_typeHasBeenSet = false; }; } // namespace Model } // namespace WorkDocs } // namespace Aws