{"id":18624815,"url":"https://github.com/opszero/terraform-aws-workspaces","last_synced_at":"2026-01-31T19:34:19.216Z","repository":{"id":241549716,"uuid":"804692343","full_name":"opszero/terraform-aws-workspaces","owner":"opszero","description":null,"archived":false,"fork":false,"pushed_at":"2025-11-07T04:58:31.000Z","size":60,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-11-07T06:18:46.394Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/opszero.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":"SUPPORT","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["abhiyerra"],"custom":["https://www.opszero.com"]}},"created_at":"2024-05-23T04:46:29.000Z","updated_at":"2025-11-07T04:58:32.000Z","dependencies_parsed_at":null,"dependency_job_id":"6eaf488b-708f-4326-b7e2-32aa0ad2cd83","html_url":"https://github.com/opszero/terraform-aws-workspaces","commit_stats":null,"previous_names":["opszero/terraform-aws-workspaces"],"tags_count":1,"template":false,"template_full_name":"opszero/terraform-template","purl":"pkg:github/opszero/terraform-aws-workspaces","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opszero%2Fterraform-aws-workspaces","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opszero%2Fterraform-aws-workspaces/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opszero%2Fterraform-aws-workspaces/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opszero%2Fterraform-aws-workspaces/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/opszero","download_url":"https://codeload.github.com/opszero/terraform-aws-workspaces/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opszero%2Fterraform-aws-workspaces/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28951449,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-31T18:30:42.805Z","status":"ssl_error","status_checked_at":"2026-01-31T18:30:19.593Z","response_time":128,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-07T04:31:09.589Z","updated_at":"2026-01-31T19:34:19.206Z","avatar_url":"https://github.com/opszero.png","language":"HCL","funding_links":["https://github.com/sponsors/abhiyerra","https://www.opszero.com"],"categories":[],"sub_categories":[],"readme":"\u003c!-- BEGIN_TF_DOCS --\u003e\n\n## Providers\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"provider_aws\"\u003e\u003c/a\u003e [aws](#provider\\_aws) | \u003e= 5.31.0 |\n## Inputs\n\n| Name | Description | Type | Default | Required |\n|------|-------------|------|---------|:--------:|\n| \u003ca name=\"input_ad_name\"\u003e\u003c/a\u003e [ad\\_name](#input\\_ad\\_name) | The fully qualified name for the directory, such as corp.example.com | `string` | `\"corp.example.com\"` | no |\n| \u003ca name=\"input_ad_password\"\u003e\u003c/a\u003e [ad\\_password](#input\\_ad\\_password) | The password for the directory administrator or connector user. | `string` | `\"xyzsf58f5fqar\"` | no |\n| \u003ca name=\"input_ad_size\"\u003e\u003c/a\u003e [ad\\_size](#input\\_ad\\_size) | The size of the directory (Small or Large are accepted values). | `string` | `\"Small\"` | no |\n| \u003ca name=\"input_alias\"\u003e\u003c/a\u003e [alias](#input\\_alias) | The directory type (SimpleAD, ADConnector or MicrosoftAD are accepted values). | `string` | `\"\"` | no |\n| \u003ca name=\"input_change_compute_type\"\u003e\u003c/a\u003e [change\\_compute\\_type](#input\\_change\\_compute\\_type) | Whether WorkSpaces directory users can change the compute type (bundle) for their workspace. | `bool` | `true` | no |\n| \u003ca name=\"input_connect_settings\"\u003e\u003c/a\u003e [connect\\_settings](#input\\_connect\\_settings) | (Required for ADConnector) Connector related information about the directory. Fields documented below. | `map(string)` | `{}` | no |\n| \u003ca name=\"input_custom_policy\"\u003e\u003c/a\u003e [custom\\_policy](#input\\_custom\\_policy) | Custom policy ARN | `string` | `\"\"` | no |\n| \u003ca name=\"input_description\"\u003e\u003c/a\u003e [description](#input\\_description) | A textual description for the directory. | `string` | `\"Default Active Directory\"` | no |\n| \u003ca name=\"input_device_type_android\"\u003e\u003c/a\u003e [device\\_type\\_android](#input\\_device\\_type\\_android) | Indicates whether users can use Android devices to access their WorkSpaces. | `string` | `\"ALLOW\"` | no |\n| \u003ca name=\"input_device_type_chromeos\"\u003e\u003c/a\u003e [device\\_type\\_chromeos](#input\\_device\\_type\\_chromeos) | Indicates whether users can use Chromebooks to access their WorkSpaces. | `string` | `\"ALLOW\"` | no |\n| \u003ca name=\"input_device_type_ios\"\u003e\u003c/a\u003e [device\\_type\\_ios](#input\\_device\\_type\\_ios) | Indicates whether users can use iOS devices to access their WorkSpaces. | `string` | `\"ALLOW\"` | no |\n| \u003ca name=\"input_device_type_linux\"\u003e\u003c/a\u003e [device\\_type\\_linux](#input\\_device\\_type\\_linux) | Indicates whether users can use Linux devices to access their WorkSpaces. | `string` | `\"ALLOW\"` | no |\n| \u003ca name=\"input_device_type_osx\"\u003e\u003c/a\u003e [device\\_type\\_osx](#input\\_device\\_type\\_osx) | Indicates whether users can use macOS clients to access their WorkSpaces. | `string` | `\"ALLOW\"` | no |\n| \u003ca name=\"input_device_type_web\"\u003e\u003c/a\u003e [device\\_type\\_web](#input\\_device\\_type\\_web) | Indicates whether users can access their WorkSpaces through a web browser. | `string` | `\"ALLOW\"` | no |\n| \u003ca name=\"input_device_type_windows\"\u003e\u003c/a\u003e [device\\_type\\_windows](#input\\_device\\_type\\_windows) | Indicates whether users can use Windows clients to access their WorkSpaces. | `string` | `\"ALLOW\"` | no |\n| \u003ca name=\"input_device_type_zeroclient\"\u003e\u003c/a\u003e [device\\_type\\_zeroclient](#input\\_device\\_type\\_zeroclient) | Indicates whether users can use zero client devices to access their WorkSpaces. | `string` | `\"ALLOW\"` | no |\n| \u003ca name=\"input_edition\"\u003e\u003c/a\u003e [edition](#input\\_edition) | The MicrosoftAD edition (Standard or Enterprise). | `string` | `\"Standard\"` | no |\n| \u003ca name=\"input_enable_internet_access\"\u003e\u003c/a\u003e [enable\\_internet\\_access](#input\\_enable\\_internet\\_access) | (optional) Whether workspace virtual desktops should have internet access. Note that a VPC internet gateway is not required. | `bool` | `true` | no |\n| \u003ca name=\"input_enable_maintenance_mode\"\u003e\u003c/a\u003e [enable\\_maintenance\\_mode](#input\\_enable\\_maintenance\\_mode) | Indicates whether maintenance mode is enabled for your WorkSpaces. | `bool` | `true` | no |\n| \u003ca name=\"input_enable_sso\"\u003e\u003c/a\u003e [enable\\_sso](#input\\_enable\\_sso) | Whether to enable single-sign on for the directory. Requires alias. | `bool` | `false` | no |\n| \u003ca name=\"input_enable_workspace\"\u003e\u003c/a\u003e [enable\\_workspace](#input\\_enable\\_workspace) | Flag to control the module creation. | `bool` | `false` | no |\n| \u003ca name=\"input_increase_volume_size\"\u003e\u003c/a\u003e [increase\\_volume\\_size](#input\\_increase\\_volume\\_size) | Whether WorkSpaces directory users can increase the volume size of the drives on their workspace. | `bool` | `true` | no |\n| \u003ca name=\"input_ip_whitelist\"\u003e\u003c/a\u003e [ip\\_whitelist](#input\\_ip\\_whitelist) | List of IP's to for whitelist | `list(string)` | \u003cpre\u003e[\u003cbr/\u003e  \"103.59.207.249/32\"\u003cbr/\u003e]\u003c/pre\u003e | no |\n| \u003ca name=\"input_name\"\u003e\u003c/a\u003e [name](#input\\_name) | Name  (e.g. `app` or `cluster`). | `string` | `\"\"` | no |\n| \u003ca name=\"input_rebuild_workspace\"\u003e\u003c/a\u003e [rebuild\\_workspace](#input\\_rebuild\\_workspace) | Whether WorkSpaces directory users can rebuild the operating system of a workspace to its original state. | `bool` | `true` | no |\n| \u003ca name=\"input_restart_workspace\"\u003e\u003c/a\u003e [restart\\_workspace](#input\\_restart\\_workspace) | Whether WorkSpaces directory users can restart their workspace. | `bool` | `true` | no |\n| \u003ca name=\"input_security_group_id\"\u003e\u003c/a\u003e [security\\_group\\_id](#input\\_security\\_group\\_id) | (optional) If a security group should not be created, the security group id to use. Requires that `create_security_group` be set to `false` | `string` | `null` | no |\n| \u003ca name=\"input_short_name\"\u003e\u003c/a\u003e [short\\_name](#input\\_short\\_name) | The short name of the directory, such as CORP. | `string` | `\"CORP\"` | no |\n| \u003ca name=\"input_subnet_ids\"\u003e\u003c/a\u003e [subnet\\_ids](#input\\_subnet\\_ids) | VPC Subnet IDs to create workspaces in | `list(string)` | n/a | yes |\n| \u003ca name=\"input_switch_running_mode\"\u003e\u003c/a\u003e [switch\\_running\\_mode](#input\\_switch\\_running\\_mode) | Whether WorkSpaces directory users can switch the running mode of their workspace. | `bool` | `true` | no |\n| \u003ca name=\"input_type\"\u003e\u003c/a\u003e [type](#input\\_type) | The directory type (SimpleAD, ADConnector or MicrosoftAD are accepted values). | `string` | `\"SimpleAD\"` | no |\n| \u003ca name=\"input_user_enabled_as_local_administrator\"\u003e\u003c/a\u003e [user\\_enabled\\_as\\_local\\_administrator](#input\\_user\\_enabled\\_as\\_local\\_administrator) | Indicates whether users are local administrators of their WorkSpaces. | `bool` | `true` | no |\n| \u003ca name=\"input_vpc_settings\"\u003e\u003c/a\u003e [vpc\\_settings](#input\\_vpc\\_settings) | (Required for SimpleAD and MicrosoftAD) VPC related information about the directory. Fields documented below. | `map(string)` | `{}` | no |\n| \u003ca name=\"input_workspaces\"\u003e\u003c/a\u003e [workspaces](#input\\_workspaces) | Map of workspace configurations | \u003cpre\u003emap(object({\u003cbr/\u003e    bundle_id                                 = string\u003cbr/\u003e    user_name                                 = string\u003cbr/\u003e    root_volume_encryption_enabled            = optional(bool, false)\u003cbr/\u003e    user_volume_encryption_enabled            = optional(bool, false)\u003cbr/\u003e    volume_encryption_key                     = optional(string, null)\u003cbr/\u003e    compute_type_name                         = optional(string, \"VALUE\")\u003cbr/\u003e    user_volume_size_gib                      = optional(number, 10)\u003cbr/\u003e    root_volume_size_gib                      = optional(number, 80)\u003cbr/\u003e    running_mode                              = optional(string, \"AUTO_STOP\")\u003cbr/\u003e    running_mode_auto_stop_timeout_in_minutes = optional(number, 60)\u003cbr/\u003e  }))\u003c/pre\u003e | `{}` | no |\n## Resources\n\n| Name | Type |\n|------|------|\n| [aws_directory_service_directory.main](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/directory_service_directory) | resource |\n| [aws_iam_role.workspaces_default](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role) | resource |\n| [aws_iam_role_policy_attachment.workspaces_custom_s3_access](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy_attachment) | resource |\n| [aws_iam_role_policy_attachment.workspaces_default_self_service_access](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy_attachment) | resource |\n| [aws_iam_role_policy_attachment.workspaces_default_service_access](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy_attachment) | resource |\n| [aws_workspaces_directory.main](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/workspaces_directory) | resource |\n| [aws_workspaces_ip_group.ipgroup](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/workspaces_ip_group) | resource |\n| [aws_workspaces_workspace.workspace_ad](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/workspaces_workspace) | resource |\n| [aws_iam_policy_document.workspaces](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |\n| [aws_region.current](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/region) | data source |\n| [aws_workspaces_bundle.bundle](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/workspaces_bundle) | data source |\n## Outputs\n\n| Name | Description |\n|------|-------------|\n| \u003ca name=\"output_ad_id\"\u003e\u003c/a\u003e [ad\\_id](#output\\_ad\\_id) | outputs of aws workspaces directory id |\n# 🚀 Built by opsZero!\n\n\u003ca href=\"https://opszero.com\"\u003e\u003cimg src=\"https://opszero.com/img/common/opsZero-Logo-Large.webp\" width=\"300px\"/\u003e\u003c/a\u003e\n\n[opsZero](https://opszero.com) provides software and consulting for Cloud + AI. With our decade plus of experience scaling some of the world’s most innovative companies we have developed deep expertise in Kubernetes, DevOps, FinOps, and Compliance.\n\nOur software and consulting solutions enable organizations to:\n\n- migrate workloads to the Cloud\n- setup compliance frameworks including SOC2, HIPAA, PCI-DSS, ITAR, FedRamp, CMMC, and more.\n- FinOps solutions to reduce the cost of running Cloud workloads\n- Kubernetes optimized for web scale and AI workloads\n- finding underutilized Cloud resources\n- setting up custom AI training and delivery\n- building data integrations and scrapers\n- modernizing onto modern ARM based processors\n\nWe do this with a high-touch support model where you:\n\n- Get access to us on Slack, Microsoft Teams or Email\n- Get 24/7 coverage of your infrastructure\n- Get an accelerated migration to Kubernetes\n\nPlease [schedule a call](https://calendly.com/opszero-llc/discovery) if you need support.\n\n\u003cbr/\u003e\u003cbr/\u003e\n\n\u003cdiv style=\"display: block\"\u003e\n  \u003cimg src=\"https://opszero.com/img/common/aws-advanced.png\" alt=\"AWS Advanced Tier\" width=\"150px\" \u003e\n  \u003cimg src=\"https://opszero.com/img/common/aws-devops-competency.png\" alt=\"AWS DevOps Competency\" width=\"150px\" \u003e\n  \u003cimg src=\"https://opszero.com/img/common/aws-eks.png\" alt=\"AWS EKS Delivery\" width=\"150px\" \u003e\n  \u003cimg src=\"https://opszero.com/img/common/aws-public-sector.png\" alt=\"AWS Public Sector\" width=\"150px\" \u003e\n\u003c/div\u003e\n\u003c!-- END_TF_DOCS --\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopszero%2Fterraform-aws-workspaces","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopszero%2Fterraform-aws-workspaces","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopszero%2Fterraform-aws-workspaces/lists"}