late-balloon-24601
02/10/2025, 6:25 PMstocky-restaurant-98004
02/11/2025, 7:19 PMstocky-restaurant-98004
02/11/2025, 7:20 PMlate-balloon-24601
02/11/2025, 7:32 PMlate-balloon-24601
02/11/2025, 9:05 PMstocky-restaurant-98004
02/13/2025, 3:25 PMlate-balloon-24601
02/14/2025, 6:33 PMstocky-restaurant-98004
02/17/2025, 1:46 PMstocky-restaurant-98004
02/17/2025, 1:46 PMlate-balloon-24601
02/17/2025, 3:25 PMpulumi import
of the aws.organizations.Account resource that Control Tower created on my behalf, and define the account in code.
3. Commit the code to GitHub, which triggers CI/CD
4. CD uses the blueprint-defined role to get into the account and deploy the rest of my infra using Pulumi.
I don't hate this setup, but in an ideal world I would automate the manual steps 1/2, but am limited by the lack of (public) Control Tower API.late-balloon-24601
02/17/2025, 3:25 PMstocky-restaurant-98004
02/20/2025, 5:02 PMlate-balloon-24601
02/22/2025, 12:01 PMCONTROL_TOWER_ACCOUNT
value, which isn't available via the normal api
That's why I'm stuck on the setup I have now, because I don't think there's a way to automate account creation in Control Tower without using AFT, which does a lot of additional stuff to make that work and line up with CT's expected state. I've looked through the code to try and figure out what black magic it performs to do this and not have CT freak out, but it's a gigantic project and it's quite difficult to parse.
Edit: Having re-read your message, I now understand that you meant using the lambda + automation api to trigger the post-creation provisioning process after a new account has been manually created. I quite like this idea! It doesn't solve the initial creation issue, but does smoothen out the process a little bit. I just had a read of pulumi's docs and it looks like the automation API supports performing imports, which is quite cool. I do want to bring up pulumi/pulumi#17640 which I raised a while back though, as that could simplify it even further and perhaps even avoid the need to write import logic using the autoamtion apistocky-restaurant-98004
02/22/2025, 7:45 PMpulumi up
to Pulumi Deployments, assuming you're on Pulumi Cloud.
Check out this article: https://aws.amazon.com/blogs/mt/developing-an-aws-service-catalog-self-managed-engine-for-governance/
I do plan to create this reference architecture with Pulumi at some point in the coming year, but I would imagine you're not necessarily thrilled to have to wait that long.stocky-restaurant-98004
02/22/2025, 7:46 PMlate-balloon-24601
02/23/2025, 11:27 AMSo creating a new account still needs to be done via Service CatalogNope - If you're using Control Tower, accounts must be created via Control Tower or AFT 😞
stocky-restaurant-98004
02/24/2025, 3:45 PMEXTERNAL
engine in SC was because the license changes in TF necessitated it, and that that was the golden path going forward.late-balloon-24601
02/24/2025, 3:47 PMEXTERNAL
engine to bootstrap infra on the new account.stocky-restaurant-98004
02/24/2025, 3:55 PMlate-balloon-24601
02/24/2025, 3:55 PMstocky-restaurant-98004
02/24/2025, 3:57 PMstocky-restaurant-98004
02/24/2025, 3:58 PMEXTERNAL
product implementation with Pulumi?late-balloon-24601
02/24/2025, 4:01 PM