/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Describes the default properties that are used for creating WorkSpaces. For
* more information, see Update
* Directory Details for Your WorkSpaces. See Also:
AWS
* API Reference
Indicates whether Amazon WorkDocs is enabled for your WorkSpaces.
*If WorkDocs is already enabled for a WorkSpaces directory and you disable it, * new WorkSpaces launched in the directory will not have WorkDocs enabled. * However, WorkDocs remains enabled for any existing WorkSpaces, unless you either * disable users' access to WorkDocs or you delete the WorkDocs site. To disable * users' access to WorkDocs, see Disabling * Users in the Amazon WorkDocs Administration Guide. To delete a * WorkDocs site, see Deleting * a Site in the Amazon WorkDocs Administration Guide.
If you * enable WorkDocs on a directory that already has existing WorkSpaces, the * existing WorkSpaces and any new WorkSpaces that are launched in the directory * will have WorkDocs enabled.
*/ inline bool GetEnableWorkDocs() const{ return m_enableWorkDocs; } /** *Indicates whether Amazon WorkDocs is enabled for your WorkSpaces.
*If WorkDocs is already enabled for a WorkSpaces directory and you disable it, * new WorkSpaces launched in the directory will not have WorkDocs enabled. * However, WorkDocs remains enabled for any existing WorkSpaces, unless you either * disable users' access to WorkDocs or you delete the WorkDocs site. To disable * users' access to WorkDocs, see Disabling * Users in the Amazon WorkDocs Administration Guide. To delete a * WorkDocs site, see Deleting * a Site in the Amazon WorkDocs Administration Guide.
If you * enable WorkDocs on a directory that already has existing WorkSpaces, the * existing WorkSpaces and any new WorkSpaces that are launched in the directory * will have WorkDocs enabled.
*/ inline bool EnableWorkDocsHasBeenSet() const { return m_enableWorkDocsHasBeenSet; } /** *Indicates whether Amazon WorkDocs is enabled for your WorkSpaces.
*If WorkDocs is already enabled for a WorkSpaces directory and you disable it, * new WorkSpaces launched in the directory will not have WorkDocs enabled. * However, WorkDocs remains enabled for any existing WorkSpaces, unless you either * disable users' access to WorkDocs or you delete the WorkDocs site. To disable * users' access to WorkDocs, see Disabling * Users in the Amazon WorkDocs Administration Guide. To delete a * WorkDocs site, see Deleting * a Site in the Amazon WorkDocs Administration Guide.
If you * enable WorkDocs on a directory that already has existing WorkSpaces, the * existing WorkSpaces and any new WorkSpaces that are launched in the directory * will have WorkDocs enabled.
*/ inline void SetEnableWorkDocs(bool value) { m_enableWorkDocsHasBeenSet = true; m_enableWorkDocs = value; } /** *Indicates whether Amazon WorkDocs is enabled for your WorkSpaces.
*If WorkDocs is already enabled for a WorkSpaces directory and you disable it, * new WorkSpaces launched in the directory will not have WorkDocs enabled. * However, WorkDocs remains enabled for any existing WorkSpaces, unless you either * disable users' access to WorkDocs or you delete the WorkDocs site. To disable * users' access to WorkDocs, see Disabling * Users in the Amazon WorkDocs Administration Guide. To delete a * WorkDocs site, see Deleting * a Site in the Amazon WorkDocs Administration Guide.
If you * enable WorkDocs on a directory that already has existing WorkSpaces, the * existing WorkSpaces and any new WorkSpaces that are launched in the directory * will have WorkDocs enabled.
*/ inline WorkspaceCreationProperties& WithEnableWorkDocs(bool value) { SetEnableWorkDocs(value); return *this;} /** *Indicates whether internet access is enabled for your WorkSpaces.
*/ inline bool GetEnableInternetAccess() const{ return m_enableInternetAccess; } /** *Indicates whether internet access is enabled for your WorkSpaces.
*/ inline bool EnableInternetAccessHasBeenSet() const { return m_enableInternetAccessHasBeenSet; } /** *Indicates whether internet access is enabled for your WorkSpaces.
*/ inline void SetEnableInternetAccess(bool value) { m_enableInternetAccessHasBeenSet = true; m_enableInternetAccess = value; } /** *Indicates whether internet access is enabled for your WorkSpaces.
*/ inline WorkspaceCreationProperties& WithEnableInternetAccess(bool value) { SetEnableInternetAccess(value); return *this;} /** *The default organizational unit (OU) for your WorkSpaces directories. This
* string must be the full Lightweight Directory Access Protocol (LDAP)
* distinguished name for the target domain and OU. It must be in the form
* "OU=value,DC=value,DC=value"
, where
* value is any string of characters, and the number of domain components
* (DCs) is two or more. For example,
* OU=WorkSpaces_machines,DC=machines,DC=example,DC=com
.
To avoid errors, certain characters in the * distinguished name must be escaped. For more information, see * Distinguished Names in the Microsoft documentation.
The * API doesn't validate whether the OU exists.
The default organizational unit (OU) for your WorkSpaces directories. This
* string must be the full Lightweight Directory Access Protocol (LDAP)
* distinguished name for the target domain and OU. It must be in the form
* "OU=value,DC=value,DC=value"
, where
* value is any string of characters, and the number of domain components
* (DCs) is two or more. For example,
* OU=WorkSpaces_machines,DC=machines,DC=example,DC=com
.
To avoid errors, certain characters in the * distinguished name must be escaped. For more information, see * Distinguished Names in the Microsoft documentation.
The * API doesn't validate whether the OU exists.
The default organizational unit (OU) for your WorkSpaces directories. This
* string must be the full Lightweight Directory Access Protocol (LDAP)
* distinguished name for the target domain and OU. It must be in the form
* "OU=value,DC=value,DC=value"
, where
* value is any string of characters, and the number of domain components
* (DCs) is two or more. For example,
* OU=WorkSpaces_machines,DC=machines,DC=example,DC=com
.
To avoid errors, certain characters in the * distinguished name must be escaped. For more information, see * Distinguished Names in the Microsoft documentation.
The * API doesn't validate whether the OU exists.
The default organizational unit (OU) for your WorkSpaces directories. This
* string must be the full Lightweight Directory Access Protocol (LDAP)
* distinguished name for the target domain and OU. It must be in the form
* "OU=value,DC=value,DC=value"
, where
* value is any string of characters, and the number of domain components
* (DCs) is two or more. For example,
* OU=WorkSpaces_machines,DC=machines,DC=example,DC=com
.
To avoid errors, certain characters in the * distinguished name must be escaped. For more information, see * Distinguished Names in the Microsoft documentation.
The * API doesn't validate whether the OU exists.
The default organizational unit (OU) for your WorkSpaces directories. This
* string must be the full Lightweight Directory Access Protocol (LDAP)
* distinguished name for the target domain and OU. It must be in the form
* "OU=value,DC=value,DC=value"
, where
* value is any string of characters, and the number of domain components
* (DCs) is two or more. For example,
* OU=WorkSpaces_machines,DC=machines,DC=example,DC=com
.
To avoid errors, certain characters in the * distinguished name must be escaped. For more information, see * Distinguished Names in the Microsoft documentation.
The * API doesn't validate whether the OU exists.
The default organizational unit (OU) for your WorkSpaces directories. This
* string must be the full Lightweight Directory Access Protocol (LDAP)
* distinguished name for the target domain and OU. It must be in the form
* "OU=value,DC=value,DC=value"
, where
* value is any string of characters, and the number of domain components
* (DCs) is two or more. For example,
* OU=WorkSpaces_machines,DC=machines,DC=example,DC=com
.
To avoid errors, certain characters in the * distinguished name must be escaped. For more information, see * Distinguished Names in the Microsoft documentation.
The * API doesn't validate whether the OU exists.
The default organizational unit (OU) for your WorkSpaces directories. This
* string must be the full Lightweight Directory Access Protocol (LDAP)
* distinguished name for the target domain and OU. It must be in the form
* "OU=value,DC=value,DC=value"
, where
* value is any string of characters, and the number of domain components
* (DCs) is two or more. For example,
* OU=WorkSpaces_machines,DC=machines,DC=example,DC=com
.
To avoid errors, certain characters in the * distinguished name must be escaped. For more information, see * Distinguished Names in the Microsoft documentation.
The * API doesn't validate whether the OU exists.
The default organizational unit (OU) for your WorkSpaces directories. This
* string must be the full Lightweight Directory Access Protocol (LDAP)
* distinguished name for the target domain and OU. It must be in the form
* "OU=value,DC=value,DC=value"
, where
* value is any string of characters, and the number of domain components
* (DCs) is two or more. For example,
* OU=WorkSpaces_machines,DC=machines,DC=example,DC=com
.
To avoid errors, certain characters in the * distinguished name must be escaped. For more information, see * Distinguished Names in the Microsoft documentation.
The * API doesn't validate whether the OU exists.
The identifier of your custom security group.
*/ inline const Aws::String& GetCustomSecurityGroupId() const{ return m_customSecurityGroupId; } /** *The identifier of your custom security group.
*/ inline bool CustomSecurityGroupIdHasBeenSet() const { return m_customSecurityGroupIdHasBeenSet; } /** *The identifier of your custom security group.
*/ inline void SetCustomSecurityGroupId(const Aws::String& value) { m_customSecurityGroupIdHasBeenSet = true; m_customSecurityGroupId = value; } /** *The identifier of your custom security group.
*/ inline void SetCustomSecurityGroupId(Aws::String&& value) { m_customSecurityGroupIdHasBeenSet = true; m_customSecurityGroupId = std::move(value); } /** *The identifier of your custom security group.
*/ inline void SetCustomSecurityGroupId(const char* value) { m_customSecurityGroupIdHasBeenSet = true; m_customSecurityGroupId.assign(value); } /** *The identifier of your custom security group.
*/ inline WorkspaceCreationProperties& WithCustomSecurityGroupId(const Aws::String& value) { SetCustomSecurityGroupId(value); return *this;} /** *The identifier of your custom security group.
*/ inline WorkspaceCreationProperties& WithCustomSecurityGroupId(Aws::String&& value) { SetCustomSecurityGroupId(std::move(value)); return *this;} /** *The identifier of your custom security group.
*/ inline WorkspaceCreationProperties& WithCustomSecurityGroupId(const char* value) { SetCustomSecurityGroupId(value); return *this;} /** *Indicates whether users are local administrators of their WorkSpaces.
*/ inline bool GetUserEnabledAsLocalAdministrator() const{ return m_userEnabledAsLocalAdministrator; } /** *Indicates whether users are local administrators of their WorkSpaces.
*/ inline bool UserEnabledAsLocalAdministratorHasBeenSet() const { return m_userEnabledAsLocalAdministratorHasBeenSet; } /** *Indicates whether users are local administrators of their WorkSpaces.
*/ inline void SetUserEnabledAsLocalAdministrator(bool value) { m_userEnabledAsLocalAdministratorHasBeenSet = true; m_userEnabledAsLocalAdministrator = value; } /** *Indicates whether users are local administrators of their WorkSpaces.
*/ inline WorkspaceCreationProperties& WithUserEnabledAsLocalAdministrator(bool value) { SetUserEnabledAsLocalAdministrator(value); return *this;} /** *Indicates whether maintenance mode is enabled for your WorkSpaces. For more * information, see WorkSpace * Maintenance.
*/ inline bool GetEnableMaintenanceMode() const{ return m_enableMaintenanceMode; } /** *Indicates whether maintenance mode is enabled for your WorkSpaces. For more * information, see WorkSpace * Maintenance.
*/ inline bool EnableMaintenanceModeHasBeenSet() const { return m_enableMaintenanceModeHasBeenSet; } /** *Indicates whether maintenance mode is enabled for your WorkSpaces. For more * information, see WorkSpace * Maintenance.
*/ inline void SetEnableMaintenanceMode(bool value) { m_enableMaintenanceModeHasBeenSet = true; m_enableMaintenanceMode = value; } /** *Indicates whether maintenance mode is enabled for your WorkSpaces. For more * information, see WorkSpace * Maintenance.
*/ inline WorkspaceCreationProperties& 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