OrganizationalUnit ​
The OrganizationalUnit resource lets you manage AWS Organizations OrganizationalUnits within your AWS account, allowing you to organize accounts in a hierarchical structure.
Minimal Example ​
Create a basic organizational unit under a specified parent organizational unit.
ts
import AWS from "alchemy/aws/control";
const organizationalUnit = await AWS.Organizations.OrganizationalUnit("basicOU", {
ParentId: "ou-1234-abcdef",
Name: "Finance",
Tags: [
{
Key: "Department",
Value: "Finance"
}
]
});
Advanced Configuration ​
Create an organizational unit with additional tags for better organization and identification.
ts
const advancedOU = await AWS.Organizations.OrganizationalUnit("advancedOU", {
ParentId: "ou-5678-ghijkl",
Name: "Engineering",
Tags: [
{
Key: "Team",
Value: "DevOps"
},
{
Key: "Project",
Value: "Infrastructure"
}
],
adopt: true // Adopt existing resource if it already exists
});
Nested Organizational Units ​
Create a nested organizational unit under an existing one to facilitate better account management.
ts
const nestedOU = await AWS.Organizations.OrganizationalUnit("nestedOU", {
ParentId: "ou-1234-abcdef", // ID of the parent OU
Name: "Cloud Services",
Tags: [
{
Key: "Environment",
Value: "Production"
}
]
});
Bulk Organizational Unit Creation ​
Demonstrate how to create multiple organizational units in a loop for batch processing.
ts
const ouNames = ["HR", "Marketing", "Sales"];
const parentOUId = "ou-5678-ghijkl";
for (const ouName of ouNames) {
await AWS.Organizations.OrganizationalUnit(`ou-${ouName}`, {
ParentId: parentOUId,
Name: ouName,
Tags: [
{
Key: "Department",
Value: ouName
}
]
});
}