/** * 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 SageMaker { namespace Model { /** *

A collection of settings that configure user interaction with the * RStudioServerPro app.

See Also:

AWS * API Reference

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

Indicates whether the current user has access to the * RStudioServerPro app.

*/ inline const RStudioServerProAccessStatus& GetAccessStatus() const{ return m_accessStatus; } /** *

Indicates whether the current user has access to the * RStudioServerPro app.

*/ inline bool AccessStatusHasBeenSet() const { return m_accessStatusHasBeenSet; } /** *

Indicates whether the current user has access to the * RStudioServerPro app.

*/ inline void SetAccessStatus(const RStudioServerProAccessStatus& value) { m_accessStatusHasBeenSet = true; m_accessStatus = value; } /** *

Indicates whether the current user has access to the * RStudioServerPro app.

*/ inline void SetAccessStatus(RStudioServerProAccessStatus&& value) { m_accessStatusHasBeenSet = true; m_accessStatus = std::move(value); } /** *

Indicates whether the current user has access to the * RStudioServerPro app.

*/ inline RStudioServerProAppSettings& WithAccessStatus(const RStudioServerProAccessStatus& value) { SetAccessStatus(value); return *this;} /** *

Indicates whether the current user has access to the * RStudioServerPro app.

*/ inline RStudioServerProAppSettings& WithAccessStatus(RStudioServerProAccessStatus&& value) { SetAccessStatus(std::move(value)); return *this;} /** *

The level of permissions that the user has within the * RStudioServerPro app. This value defaults to `User`. The `Admin` * value allows the user access to the RStudio Administrative Dashboard.

*/ inline const RStudioServerProUserGroup& GetUserGroup() const{ return m_userGroup; } /** *

The level of permissions that the user has within the * RStudioServerPro app. This value defaults to `User`. The `Admin` * value allows the user access to the RStudio Administrative Dashboard.

*/ inline bool UserGroupHasBeenSet() const { return m_userGroupHasBeenSet; } /** *

The level of permissions that the user has within the * RStudioServerPro app. This value defaults to `User`. The `Admin` * value allows the user access to the RStudio Administrative Dashboard.

*/ inline void SetUserGroup(const RStudioServerProUserGroup& value) { m_userGroupHasBeenSet = true; m_userGroup = value; } /** *

The level of permissions that the user has within the * RStudioServerPro app. This value defaults to `User`. The `Admin` * value allows the user access to the RStudio Administrative Dashboard.

*/ inline void SetUserGroup(RStudioServerProUserGroup&& value) { m_userGroupHasBeenSet = true; m_userGroup = std::move(value); } /** *

The level of permissions that the user has within the * RStudioServerPro app. This value defaults to `User`. The `Admin` * value allows the user access to the RStudio Administrative Dashboard.

*/ inline RStudioServerProAppSettings& WithUserGroup(const RStudioServerProUserGroup& value) { SetUserGroup(value); return *this;} /** *

The level of permissions that the user has within the * RStudioServerPro app. This value defaults to `User`. The `Admin` * value allows the user access to the RStudio Administrative Dashboard.

*/ inline RStudioServerProAppSettings& WithUserGroup(RStudioServerProUserGroup&& value) { SetUserGroup(std::move(value)); return *this;} private: RStudioServerProAccessStatus m_accessStatus; bool m_accessStatusHasBeenSet = false; RStudioServerProUserGroup m_userGroup; bool m_userGroupHasBeenSet = false; }; } // namespace Model } // namespace SageMaker } // namespace Aws