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

Describes the default values that are used to create WorkSpaces. For more * information, see Update * Directory Details for Your WorkSpaces.

See Also:

AWS * API Reference

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

Specifies whether the directory is enabled for Amazon WorkDocs.

*/ inline bool GetEnableWorkDocs() const{ return m_enableWorkDocs; } /** *

Specifies whether the directory is enabled for Amazon WorkDocs.

*/ inline bool EnableWorkDocsHasBeenSet() const { return m_enableWorkDocsHasBeenSet; } /** *

Specifies whether the directory is enabled for Amazon WorkDocs.

*/ inline void SetEnableWorkDocs(bool value) { m_enableWorkDocsHasBeenSet = true; m_enableWorkDocs = value; } /** *

Specifies whether the directory is enabled for Amazon WorkDocs.

*/ inline DefaultWorkspaceCreationProperties& WithEnableWorkDocs(bool value) { SetEnableWorkDocs(value); return *this;} /** *

Specifies whether to automatically assign an Elastic public IP address to * WorkSpaces in this directory by default. If enabled, the Elastic public IP * address allows outbound internet access from your WorkSpaces when you’re using * an internet gateway in the Amazon VPC in which your WorkSpaces are located. If * you're using a Network Address Translation (NAT) gateway for outbound internet * access from your VPC, or if your WorkSpaces are in public subnets and you * manually assign them Elastic IP addresses, you should disable this setting. This * setting applies to new WorkSpaces that you launch or to existing WorkSpaces that * you rebuild. For more information, see * Configure a VPC for Amazon WorkSpaces.

*/ inline bool GetEnableInternetAccess() const{ return m_enableInternetAccess; } /** *

Specifies whether to automatically assign an Elastic public IP address to * WorkSpaces in this directory by default. If enabled, the Elastic public IP * address allows outbound internet access from your WorkSpaces when you’re using * an internet gateway in the Amazon VPC in which your WorkSpaces are located. If * you're using a Network Address Translation (NAT) gateway for outbound internet * access from your VPC, or if your WorkSpaces are in public subnets and you * manually assign them Elastic IP addresses, you should disable this setting. This * setting applies to new WorkSpaces that you launch or to existing WorkSpaces that * you rebuild. For more information, see * Configure a VPC for Amazon WorkSpaces.

*/ inline bool EnableInternetAccessHasBeenSet() const { return m_enableInternetAccessHasBeenSet; } /** *

Specifies whether to automatically assign an Elastic public IP address to * WorkSpaces in this directory by default. If enabled, the Elastic public IP * address allows outbound internet access from your WorkSpaces when you’re using * an internet gateway in the Amazon VPC in which your WorkSpaces are located. If * you're using a Network Address Translation (NAT) gateway for outbound internet * access from your VPC, or if your WorkSpaces are in public subnets and you * manually assign them Elastic IP addresses, you should disable this setting. This * setting applies to new WorkSpaces that you launch or to existing WorkSpaces that * you rebuild. For more information, see * Configure a VPC for Amazon WorkSpaces.

*/ inline void SetEnableInternetAccess(bool value) { m_enableInternetAccessHasBeenSet = true; m_enableInternetAccess = value; } /** *

Specifies whether to automatically assign an Elastic public IP address to * WorkSpaces in this directory by default. If enabled, the Elastic public IP * address allows outbound internet access from your WorkSpaces when you’re using * an internet gateway in the Amazon VPC in which your WorkSpaces are located. If * you're using a Network Address Translation (NAT) gateway for outbound internet * access from your VPC, or if your WorkSpaces are in public subnets and you * manually assign them Elastic IP addresses, you should disable this setting. This * setting applies to new WorkSpaces that you launch or to existing WorkSpaces that * you rebuild. For more information, see * Configure a VPC for Amazon WorkSpaces.

*/ inline DefaultWorkspaceCreationProperties& WithEnableInternetAccess(bool value) { SetEnableInternetAccess(value); return *this;} /** *

The organizational unit (OU) in the directory for the WorkSpace machine * accounts.

*/ inline const Aws::String& GetDefaultOu() const{ return m_defaultOu; } /** *

The organizational unit (OU) in the directory for the WorkSpace machine * accounts.

*/ inline bool DefaultOuHasBeenSet() const { return m_defaultOuHasBeenSet; } /** *

The organizational unit (OU) in the directory for the WorkSpace machine * accounts.

*/ inline void SetDefaultOu(const Aws::String& value) { m_defaultOuHasBeenSet = true; m_defaultOu = value; } /** *

The organizational unit (OU) in the directory for the WorkSpace machine * accounts.

*/ inline void SetDefaultOu(Aws::String&& value) { m_defaultOuHasBeenSet = true; m_defaultOu = std::move(value); } /** *

The organizational unit (OU) in the directory for the WorkSpace machine * accounts.

*/ inline void SetDefaultOu(const char* value) { m_defaultOuHasBeenSet = true; m_defaultOu.assign(value); } /** *

The organizational unit (OU) in the directory for the WorkSpace machine * accounts.

*/ inline DefaultWorkspaceCreationProperties& WithDefaultOu(const Aws::String& value) { SetDefaultOu(value); return *this;} /** *

The organizational unit (OU) in the directory for the WorkSpace machine * accounts.

*/ inline DefaultWorkspaceCreationProperties& WithDefaultOu(Aws::String&& value) { SetDefaultOu(std::move(value)); return *this;} /** *

The organizational unit (OU) in the directory for the WorkSpace machine * accounts.

*/ inline DefaultWorkspaceCreationProperties& WithDefaultOu(const char* value) { SetDefaultOu(value); return *this;} /** *

The identifier of the default security group to apply to WorkSpaces when they * are created. For more information, see * Security Groups for Your WorkSpaces.

*/ inline const Aws::String& GetCustomSecurityGroupId() const{ return m_customSecurityGroupId; } /** *

The identifier of the default security group to apply to WorkSpaces when they * are created. For more information, see * Security Groups for Your WorkSpaces.

*/ inline bool CustomSecurityGroupIdHasBeenSet() const { return m_customSecurityGroupIdHasBeenSet; } /** *

The identifier of the default security group to apply to WorkSpaces when they * are created. For more information, see * Security Groups for Your WorkSpaces.

*/ inline void SetCustomSecurityGroupId(const Aws::String& value) { m_customSecurityGroupIdHasBeenSet = true; m_customSecurityGroupId = value; } /** *

The identifier of the default security group to apply to WorkSpaces when they * are created. For more information, see * Security Groups for Your WorkSpaces.

*/ inline void SetCustomSecurityGroupId(Aws::String&& value) { m_customSecurityGroupIdHasBeenSet = true; m_customSecurityGroupId = std::move(value); } /** *

The identifier of the default security group to apply to WorkSpaces when they * are created. For more information, see * Security Groups for Your WorkSpaces.

*/ inline void SetCustomSecurityGroupId(const char* value) { m_customSecurityGroupIdHasBeenSet = true; m_customSecurityGroupId.assign(value); } /** *

The identifier of the default security group to apply to WorkSpaces when they * are created. For more information, see * Security Groups for Your WorkSpaces.

*/ inline DefaultWorkspaceCreationProperties& WithCustomSecurityGroupId(const Aws::String& value) { SetCustomSecurityGroupId(value); return *this;} /** *

The identifier of the default security group to apply to WorkSpaces when they * are created. For more information, see * Security Groups for Your WorkSpaces.

*/ inline DefaultWorkspaceCreationProperties& WithCustomSecurityGroupId(Aws::String&& value) { SetCustomSecurityGroupId(std::move(value)); return *this;} /** *

The identifier of the default security group to apply to WorkSpaces when they * are created. For more information, see * Security Groups for Your WorkSpaces.

*/ inline DefaultWorkspaceCreationProperties& WithCustomSecurityGroupId(const char* value) { SetCustomSecurityGroupId(value); return *this;} /** *

Specifies whether WorkSpace users are local administrators on their * WorkSpaces.

*/ inline bool GetUserEnabledAsLocalAdministrator() const{ return m_userEnabledAsLocalAdministrator; } /** *

Specifies whether WorkSpace users are local administrators on their * WorkSpaces.

*/ inline bool UserEnabledAsLocalAdministratorHasBeenSet() const { return m_userEnabledAsLocalAdministratorHasBeenSet; } /** *

Specifies whether WorkSpace users are local administrators on their * WorkSpaces.

*/ inline void SetUserEnabledAsLocalAdministrator(bool value) { m_userEnabledAsLocalAdministratorHasBeenSet = true; m_userEnabledAsLocalAdministrator = value; } /** *

Specifies whether WorkSpace users are local administrators on their * WorkSpaces.

*/ inline DefaultWorkspaceCreationProperties& WithUserEnabledAsLocalAdministrator(bool value) { SetUserEnabledAsLocalAdministrator(value); return *this;} /** *

Specifies whether maintenance mode is enabled for WorkSpaces. For more * information, see WorkSpace * Maintenance.

*/ inline bool GetEnableMaintenanceMode() const{ return m_enableMaintenanceMode; } /** *

Specifies whether maintenance mode is enabled for WorkSpaces. For more * information, see WorkSpace * Maintenance.

*/ inline bool EnableMaintenanceModeHasBeenSet() const { return m_enableMaintenanceModeHasBeenSet; } /** *

Specifies whether maintenance mode is enabled for WorkSpaces. For more * information, see WorkSpace * Maintenance.

*/ inline void SetEnableMaintenanceMode(bool value) { m_enableMaintenanceModeHasBeenSet = true; m_enableMaintenanceMode = value; } /** *

Specifies whether maintenance mode is enabled for WorkSpaces. For more * information, see WorkSpace * Maintenance.

*/ inline DefaultWorkspaceCreationProperties& WithEnableMaintenanceMode(bool value) { SetEnableMaintenanceMode(value); return *this;} private: bool m_enableWorkDocs; bool m_enableWorkDocsHasBeenSet = false; bool m_enableInternetAccess; bool m_enableInternetAccessHasBeenSet = false; Aws::String m_defaultOu; bool m_defaultOuHasBeenSet = false; Aws::String m_customSecurityGroupId; bool m_customSecurityGroupIdHasBeenSet = false; bool m_userEnabledAsLocalAdministrator; bool m_userEnabledAsLocalAdministratorHasBeenSet = false; bool m_enableMaintenanceMode; bool m_enableMaintenanceModeHasBeenSet = false; }; } // namespace Model } // namespace WorkSpaces } // namespace Aws