NOTE: This module is still in DRAFT mode. It is not ready for production use. There is a known issue with the
aws_workspaces_directory
resource 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.tfvars
The 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.state
By 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 |