Skip to content

IllumiDesk/terraform-backoffice

Repository files navigation

IllumiDesk Backoffice Resources

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.

Note

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.

Usage

Create Terraform Variables

Copy the terraform.tfvars.example file to terraform.tfvars and update the values as needed.

cp example.tfvars terraform.tfvars

Terraform State

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.

Deploy Workspaces

Create the Workspaces resources:

terraform plan -target=module.workspaces
terraform apply -target=module.workspaces

Requirements

Name Version
terraform >= 0.12

Providers

Name Version
aws n/a
random n/a

Modules

Name Source Version
state ./modules/state n/a
vpc terraform-aws-modules/vpc/aws ~> 3.0

Resources

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

Inputs

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

Outputs

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

About

Manages directories, workspaces, etc

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages