NOTE: This module is still in DRAFT mode. It is not ready for production use. There is a known issue with the
aws_workspaces_directoryresource that prevents the module from deploying successfully.
Deploys an AWS Directory Service directory, a WorkSpaces directory, and a WorkSpace.
The AWS WorkSpaces service requires an IAM role named workspaces_IllumiDeskRole. If this role is already created, comment out the resources aws_iam_role.workspaces_IllumiDeskRole and aws_iam_role_policy_attachment.workspaces_IllumiDeskRole in the Terraform source file iam.tf.
Copy the terraform.tfvars.example file to terraform.tfvars and update the values as needed.
cp example.tfvars terraform.tfvarsThe bucket to manage state for the Workspaces is different from other IllumiDesk resources. To create the AWS S3 bucket to manage state, run the following commands:
terraform init
terraform plan -target=module.state
terraform apply -target=module.stateBy default, resources are created in the us-east-1 region. To override the region, set the variable aws_region to a different value in the terraform.tfvars file.
Create the Workspaces resources:
terraform plan -target=module.workspaces
terraform apply -target=module.workspaces| Name | Version |
|---|---|
| terraform | >= 0.12 |
| Name | Version |
|---|---|
| aws | n/a |
| random | n/a |
| Name | Source | Version |
|---|---|---|
| state | ./modules/state | n/a |
| vpc | terraform-aws-modules/vpc/aws | ~> 3.0 |
| Name | Type |
|---|---|
| aws_directory_service_directory.illumidesk | resource |
| aws_iam_role.workspaces-default | resource |
| aws_iam_role_policy_attachment.workspaces_default_self_service_access | resource |
| aws_iam_role_policy_attachment.workspaces_default_service_access | resource |
| aws_kms_key.illumidesk | resource |
| aws_workspaces_directory.illumidesk | resource |
| aws_workspaces_ip_group.main | resource |
| aws_workspaces_workspace.illumidesk | resource |
| random_string.suffix | resource |
| aws_availability_zones.available | data source |
| aws_iam_policy_document.workspaces | data source |
| aws_region.current | data source |
| aws_security_group.default | data source |
| aws_workspaces_bundle.value_windows | data source |
| Name | Description | Type | Default | Required |
|---|---|---|---|---|
| aws_access_key | AWS access key id | string |
"" |
no |
| aws_directory_name | AWS directory name | string |
"workspaces.illumidesk.com" |
no |
| aws_region | The AWS region to use | string |
"us-east-1" |
no |
| aws_secret_key | AWS secret key id | string |
"" |
no |
| workspace_password | Workspace password | string |
"" |
no |
| workspace_size | Workspace size | string |
"Small" |
no |
| Name | Description |
|---|---|
| aws_kms_alias_for_terraform_state | n/a |
| private_subnets | List of IDs of private subnets |
| private_subnets_cidr_blocks | List of cidr_blocks of private subnets |
| public_subnets | List of IDs of public subnets |
| public_subnets_cidr_blocks | List of cidr_blocks of public subnets |
| terraform-state-it-bucket | n/a |
| vpc_arn | The ARN of the VPC |
| vpc_cidr_block | The CIDR block of the VPC |
| vpc_id | The ID of the VPC |