Skip to content

Commit 516b158

Browse files
Co-authored-by: docs-sourcer[bot] <99042413+docs-sourcer[bot]@users.noreply.github.com>
1 parent 1e9e8aa commit 516b158

File tree

14 files changed

+154
-136
lines changed

14 files changed

+154
-136
lines changed

docs/reference/modules/terraform-aws-control-tower/control-tower-account-factory-async/control-tower-account-factory-async.md

Lines changed: 28 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,15 @@ import VersionBadge from '../../../../../src/components/VersionBadge.tsx';
99
import { HclListItem, HclListItemDescription, HclListItemTypeDetails, HclListItemDefaultValue, HclGeneralListItem } from '../../../../../src/components/HclListItem.tsx';
1010
import { ModuleUsage } from "../../../../../src/components/ModuleUsage";
1111

12-
<VersionBadge repoTitle="Control Tower" version="1.0.3" lastModifiedVersion="0.8.8"/>
12+
<VersionBadge repoTitle="Control Tower" version="1.1.0" lastModifiedVersion="1.1.0"/>
1313

1414
# Control Tower Account Factory Async
1515

16-
<a href="https://github.com/gruntwork-io/terraform-aws-control-tower/tree/v1.0.3/modules/landingzone/control-tower-account-factory-async" className="link-button" title="View the source code for this module in GitHub.">View Source</a>
16+
<a href="https://github.com/gruntwork-io/terraform-aws-control-tower/tree/v1.1.0/modules/landingzone/control-tower-account-factory-async" className="link-button" title="View the source code for this module in GitHub.">View Source</a>
1717

18-
<a href="https://github.com/gruntwork-io/terraform-aws-control-tower/releases/tag/v0.8.8" className="link-button" title="Release notes for only versions which impacted this module.">Release Notes</a>
18+
<a href="https://github.com/gruntwork-io/terraform-aws-control-tower/releases/tag/v1.1.0" className="link-button" title="Release notes for only versions which impacted this module.">Release Notes</a>
1919

20-
This is a OpenTofu/Terraform module that will trigger the creation of a new AWS account by using Control Tower. This module differs from [control-tower-account-factory](https://github.com/gruntwork-io/terraform-aws-control-tower/tree/v1.0.3/modules/control-tower-account-factory) by introducing an [asynchrous pattern](#asynchrous-pattern) to help better handle certain types of drift.
20+
This is a OpenTofu/Terraform module that will trigger the creation of a new AWS account by using Control Tower. This module differs from [control-tower-account-factory](https://github.com/gruntwork-io/terraform-aws-control-tower/tree/v1.1.0/modules/control-tower-account-factory) by introducing an [asynchrous pattern](#asynchrous-pattern) to help better handle certain types of drift.
2121

2222
Under the hood, this module uses AWS Service Catalog to trigger Control Tower, as Control Tower does not currently expose any APIs to trigger it directly.
2323

@@ -92,7 +92,7 @@ This is usually accompanied by this module returning outputs that look like the
9292

9393
Unfortunately, this is an unrecoverable error from an AWS Provider perspective, as the provider has no insight into the fact that Service Catalog is in a bad state when it fails in this fashion, and retries will not help.
9494

95-
The easiest way to recover from this error is to make a small update to one of the variables that are passed into this module. For example, if you are integrating with this module via the [../control-tower-multi-account-factory](https://github.com/gruntwork-io/terraform-aws-control-tower/tree/v1.0.3/modules/control-tower-multi-account-factory) module, you could change the value of something in the relevant file in the directory referenced by the `account_requests_folder`, then revert your change.
95+
The easiest way to recover from this error is to make a small update to one of the variables that are passed into this module. For example, if you are integrating with this module via the [../control-tower-multi-account-factory](https://github.com/gruntwork-io/terraform-aws-control-tower/tree/v1.1.0/modules/control-tower-multi-account-factory) module, you could change the value of something in the relevant file in the directory referenced by the `account_requests_folder`, then revert your change.
9696

9797
e.g.
9898

@@ -125,7 +125,7 @@ This workaround should only be done to correct up to five Service Catalog provis
125125
126126
module "control_tower_account_factory_async" {
127127
128-
source = "git::[email protected]:gruntwork-io/terraform-aws-control-tower.git//modules/landingzone/control-tower-account-factory-async?ref=v1.0.3"
128+
source = "git::[email protected]:gruntwork-io/terraform-aws-control-tower.git//modules/landingzone/control-tower-account-factory-async?ref=v1.1.0"
129129
130130
# ----------------------------------------------------------------------------------------------------
131131
# REQUIRED VARIABLES
@@ -137,16 +137,20 @@ module "control_tower_account_factory_async" {
137137
# The name to use for the new AWS account
138138
account_name = <string>
139139
140-
# The name of the organizational unit (OU) in which this account should be
141-
# created. Must be one of the OUs in your Control Tower dashboard.
140+
# The name or path of the organizational unit (OU) in which this account
141+
# should be created. You can specify either a simple OU name (e.g., 'Prod') or
142+
# a path separated by forward slashes (e.g., 'Workloads/Prod'). When using a
143+
# path, it will match against the full OU hierarchy. Simple names will match
144+
# any OU with that name if it's unique, otherwise use a path to disambiguate.
142145
organizational_unit_name = <string>
143146
144147
# The list of organizational units (OUs) in which to look for the specified
145148
# organizational_unit_name. The module will look for the OU with the specified
146-
# name in this list.
149+
# name or path in this list.
147150
ous = <list(object(
148151
id = string
149152
name = string
153+
path = optional(string)
150154
))>
151155
152156
# The email address of the user who will be granted admin access to this new
@@ -211,7 +215,7 @@ module "control_tower_account_factory_async" {
211215
# ------------------------------------------------------------------------------------------------------
212216
213217
terraform {
214-
source = "git::[email protected]:gruntwork-io/terraform-aws-control-tower.git//modules/landingzone/control-tower-account-factory-async?ref=v1.0.3"
218+
source = "git::[email protected]:gruntwork-io/terraform-aws-control-tower.git//modules/landingzone/control-tower-account-factory-async?ref=v1.1.0"
215219
}
216220
217221
inputs = {
@@ -226,16 +230,20 @@ inputs = {
226230
# The name to use for the new AWS account
227231
account_name = <string>
228232
229-
# The name of the organizational unit (OU) in which this account should be
230-
# created. Must be one of the OUs in your Control Tower dashboard.
233+
# The name or path of the organizational unit (OU) in which this account
234+
# should be created. You can specify either a simple OU name (e.g., 'Prod') or
235+
# a path separated by forward slashes (e.g., 'Workloads/Prod'). When using a
236+
# path, it will match against the full OU hierarchy. Simple names will match
237+
# any OU with that name if it's unique, otherwise use a path to disambiguate.
231238
organizational_unit_name = <string>
232239
233240
# The list of organizational units (OUs) in which to look for the specified
234241
# organizational_unit_name. The module will look for the OU with the specified
235-
# name in this list.
242+
# name or path in this list.
236243
ous = <list(object(
237244
id = string
238245
name = string
246+
path = optional(string)
239247
))>
240248
241249
# The email address of the user who will be granted admin access to this new
@@ -349,15 +357,15 @@ The name to use for the new AWS account
349357
<HclListItem name="organizational_unit_name" requirement="required" type="string">
350358
<HclListItemDescription>
351359

352-
The name of the organizational unit (OU) in which this account should be created. Must be one of the OUs in your Control Tower dashboard.
360+
The name or path of the organizational unit (OU) in which this account should be created. You can specify either a simple OU name (e.g., 'Prod') or a path separated by forward slashes (e.g., 'Workloads/Prod'). When using a path, it will match against the full OU hierarchy. Simple names will match any OU with that name if it's unique, otherwise use a path to disambiguate.
353361

354362
</HclListItemDescription>
355363
</HclListItem>
356364

357365
<HclListItem name="ous" requirement="required" type="list(object(…))">
358366
<HclListItemDescription>
359367

360-
The list of organizational units (OUs) in which to look for the specified organizational_unit_name. The module will look for the OU with the specified name in this list.
368+
The list of organizational units (OUs) in which to look for the specified organizational_unit_name. The module will look for the OU with the specified name or path in this list.
361369

362370
</HclListItemDescription>
363371
<HclListItemTypeDetails>
@@ -366,6 +374,7 @@ The list of organizational units (OUs) in which to look for the specified organi
366374
list(object({
367375
id = string
368376
name = string
377+
path = optional(string)
369378
}))
370379
```
371380

@@ -544,11 +553,11 @@ The URL of the AWS SSO login page for this account
544553
<!-- ##DOCS-SOURCER-START
545554
{
546555
"originalSources": [
547-
"https://github.com/gruntwork-io/terraform-aws-control-tower/tree/v1.0.3/modules/control-tower-account-factory-async/readme.md",
548-
"https://github.com/gruntwork-io/terraform-aws-control-tower/tree/v1.0.3/modules/control-tower-account-factory-async/variables.tf",
549-
"https://github.com/gruntwork-io/terraform-aws-control-tower/tree/v1.0.3/modules/control-tower-account-factory-async/outputs.tf"
556+
"https://github.com/gruntwork-io/terraform-aws-control-tower/tree/v1.1.0/modules/control-tower-account-factory-async/readme.md",
557+
"https://github.com/gruntwork-io/terraform-aws-control-tower/tree/v1.1.0/modules/control-tower-account-factory-async/variables.tf",
558+
"https://github.com/gruntwork-io/terraform-aws-control-tower/tree/v1.1.0/modules/control-tower-account-factory-async/outputs.tf"
550559
],
551560
"sourcePlugin": "module-catalog-api",
552-
"hash": "0aa6076b1aafcbdccd5f813756cbbc29"
561+
"hash": "b862f654c2482ef02dfa448daf6daa4b"
553562
}
554563
##DOCS-SOURCER-END -->

docs/reference/modules/terraform-aws-control-tower/control-tower-account-factory/control-tower-account-factory.md

Lines changed: 27 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@ import VersionBadge from '../../../../../src/components/VersionBadge.tsx';
99
import { HclListItem, HclListItemDescription, HclListItemTypeDetails, HclListItemDefaultValue, HclGeneralListItem } from '../../../../../src/components/HclListItem.tsx';
1010
import { ModuleUsage } from "../../../../../src/components/ModuleUsage";
1111

12-
<VersionBadge repoTitle="Control Tower" version="1.0.3" lastModifiedVersion="0.8.8"/>
12+
<VersionBadge repoTitle="Control Tower" version="1.1.0" lastModifiedVersion="1.1.0"/>
1313

1414
# Control Tower Account Factory
1515

16-
<a href="https://github.com/gruntwork-io/terraform-aws-control-tower/tree/v1.0.3/modules/landingzone/control-tower-account-factory" className="link-button" title="View the source code for this module in GitHub.">View Source</a>
16+
<a href="https://github.com/gruntwork-io/terraform-aws-control-tower/tree/v1.1.0/modules/landingzone/control-tower-account-factory" className="link-button" title="View the source code for this module in GitHub.">View Source</a>
1717

18-
<a href="https://github.com/gruntwork-io/terraform-aws-control-tower/releases/tag/v0.8.8" className="link-button" title="Release notes for only versions which impacted this module.">Release Notes</a>
18+
<a href="https://github.com/gruntwork-io/terraform-aws-control-tower/releases/tag/v1.1.0" className="link-button" title="Release notes for only versions which impacted this module.">Release Notes</a>
1919

2020
This is a Terraform module that will trigger the creation of a new AWS account by using Control Tower.
2121

@@ -89,7 +89,7 @@ This is usually accompanied by this module returning outputs that look like the
8989

9090
Unfortunately, this is an unrecoverable error from an AWS Provider perspective, as the provider has no insight into the fact that Service Catalog is in a bad state when it fails in this fashion, and retries will not help.
9191

92-
The easiest way to recover from this error is to make a small update to one of the variables that are passed into this module. For example, if you are integrating with this module via the [../control-tower-multi-account-factory](https://github.com/gruntwork-io/terraform-aws-control-tower/tree/v1.0.3/modules/control-tower-multi-account-factory) module, you could change the value of something in the relevant file in the directory referenced by the `account_requests_folder`, then revert your change.
92+
The easiest way to recover from this error is to make a small update to one of the variables that are passed into this module. For example, if you are integrating with this module via the [../control-tower-multi-account-factory](https://github.com/gruntwork-io/terraform-aws-control-tower/tree/v1.1.0/modules/control-tower-multi-account-factory) module, you could change the value of something in the relevant file in the directory referenced by the `account_requests_folder`, then revert your change.
9393

9494
e.g.
9595

@@ -122,7 +122,7 @@ This workaround should only be done to correct up to five Service Catalog provis
122122
123123
module "control_tower_account_factory" {
124124
125-
source = "git::[email protected]:gruntwork-io/terraform-aws-control-tower.git//modules/landingzone/control-tower-account-factory?ref=v1.0.3"
125+
source = "git::[email protected]:gruntwork-io/terraform-aws-control-tower.git//modules/landingzone/control-tower-account-factory?ref=v1.1.0"
126126
127127
# ----------------------------------------------------------------------------------------------------
128128
# REQUIRED VARIABLES
@@ -134,16 +134,20 @@ module "control_tower_account_factory" {
134134
# The name to use for the new AWS account
135135
account_name = <string>
136136
137-
# The name of the organizational unit (OU) in which this account should be
138-
# created. Must be one of the OUs in your Control Tower dashboard.
137+
# The name or path of the organizational unit (OU) in which this account
138+
# should be created. You can specify either a simple OU name (e.g., 'Prod') or
139+
# a path separated by forward slashes (e.g., 'Workloads/Prod'). When using a
140+
# path, it will match against the full OU hierarchy. Simple names will match
141+
# any OU with that name if it's unique, otherwise use a path to disambiguate.
139142
organizational_unit_name = <string>
140143
141144
# The list of organizational units (OUs) in which to look for the specified
142145
# organizational_unit_name. The module will look for the OU with the specified
143-
# name in this list.
146+
# name or path in this list.
144147
ous = <list(object(
145148
id = string
146149
name = string
150+
path = optional(string)
147151
))>
148152
149153
# The email address of the user who will be granted admin access to this new
@@ -233,7 +237,7 @@ module "control_tower_account_factory" {
233237
# ------------------------------------------------------------------------------------------------------
234238
235239
terraform {
236-
source = "git::[email protected]:gruntwork-io/terraform-aws-control-tower.git//modules/landingzone/control-tower-account-factory?ref=v1.0.3"
240+
source = "git::[email protected]:gruntwork-io/terraform-aws-control-tower.git//modules/landingzone/control-tower-account-factory?ref=v1.1.0"
237241
}
238242
239243
inputs = {
@@ -248,16 +252,20 @@ inputs = {
248252
# The name to use for the new AWS account
249253
account_name = <string>
250254
251-
# The name of the organizational unit (OU) in which this account should be
252-
# created. Must be one of the OUs in your Control Tower dashboard.
255+
# The name or path of the organizational unit (OU) in which this account
256+
# should be created. You can specify either a simple OU name (e.g., 'Prod') or
257+
# a path separated by forward slashes (e.g., 'Workloads/Prod'). When using a
258+
# path, it will match against the full OU hierarchy. Simple names will match
259+
# any OU with that name if it's unique, otherwise use a path to disambiguate.
253260
organizational_unit_name = <string>
254261
255262
# The list of organizational units (OUs) in which to look for the specified
256263
# organizational_unit_name. The module will look for the OU with the specified
257-
# name in this list.
264+
# name or path in this list.
258265
ous = <list(object(
259266
id = string
260267
name = string
268+
path = optional(string)
261269
))>
262270
263271
# The email address of the user who will be granted admin access to this new
@@ -396,15 +404,15 @@ The name to use for the new AWS account
396404
<HclListItem name="organizational_unit_name" requirement="required" type="string">
397405
<HclListItemDescription>
398406

399-
The name of the organizational unit (OU) in which this account should be created. Must be one of the OUs in your Control Tower dashboard.
407+
The name or path of the organizational unit (OU) in which this account should be created. You can specify either a simple OU name (e.g., 'Prod') or a path separated by forward slashes (e.g., 'Workloads/Prod'). When using a path, it will match against the full OU hierarchy. Simple names will match any OU with that name if it's unique, otherwise use a path to disambiguate.
400408

401409
</HclListItemDescription>
402410
</HclListItem>
403411

404412
<HclListItem name="ous" requirement="required" type="list(object(…))">
405413
<HclListItemDescription>
406414

407-
The list of organizational units (OUs) in which to look for the specified organizational_unit_name. The module will look for the OU with the specified name in this list.
415+
The list of organizational units (OUs) in which to look for the specified organizational_unit_name. The module will look for the OU with the specified name or path in this list.
408416

409417
</HclListItemDescription>
410418
<HclListItemTypeDetails>
@@ -413,6 +421,7 @@ The list of organizational units (OUs) in which to look for the specified organi
413421
list(object({
414422
id = string
415423
name = string
424+
path = optional(string)
416425
}))
417426
```
418427

@@ -590,11 +599,11 @@ The URL of the AWS SSO login page for this account
590599
<!-- ##DOCS-SOURCER-START
591600
{
592601
"originalSources": [
593-
"https://github.com/gruntwork-io/terraform-aws-control-tower/tree/v1.0.3/modules/control-tower-account-factory/readme.md",
594-
"https://github.com/gruntwork-io/terraform-aws-control-tower/tree/v1.0.3/modules/control-tower-account-factory/variables.tf",
595-
"https://github.com/gruntwork-io/terraform-aws-control-tower/tree/v1.0.3/modules/control-tower-account-factory/outputs.tf"
602+
"https://github.com/gruntwork-io/terraform-aws-control-tower/tree/v1.1.0/modules/control-tower-account-factory/readme.md",
603+
"https://github.com/gruntwork-io/terraform-aws-control-tower/tree/v1.1.0/modules/control-tower-account-factory/variables.tf",
604+
"https://github.com/gruntwork-io/terraform-aws-control-tower/tree/v1.1.0/modules/control-tower-account-factory/outputs.tf"
596605
],
597606
"sourcePlugin": "module-catalog-api",
598-
"hash": "3c310f25606339b89c24c32dec72d27a"
607+
"hash": "a689da8c6fc56b82f2812cd910797860"
599608
}
600609
##DOCS-SOURCER-END -->

0 commit comments

Comments
 (0)