File tree Expand file tree Collapse file tree 3 files changed +12
-5
lines changed
modules/account_users_and_groups_assignments Expand file tree Collapse file tree 3 files changed +12
-5
lines changed Original file line number Diff line number Diff line change 1+ data "aws_organizations_organization" "o" {}
2+
13resource "null_resource" "sso_group_dependency" {
24 triggers = {
35 dependency_id = join (" ," , var. identitystore_group_depends_on )
Original file line number Diff line number Diff line change 11
22locals {
3+
4+ account_map = {
5+ for account in data . aws_organizations_organization . o . accounts : account . name => account . id
6+ }
7+
38 target_type = " AWS_ACCOUNT"
49 flatten_account_group_permission = flatten ([
510 for acc_assignment in var . account_assignments : [
611 for ps_name in acc_assignment . permission_sets : [
712 for pr_name in acc_assignment . principal_names : {
8- acc_id = acc_assignment . account_id
13+ acc_id = account_map [ acc_assignment . account_name ]
914 principal_name = pr_name
1015 ps_name = ps_name
1116 principal_type = acc_assignment . principal_type
Original file line number Diff line number Diff line change 11variable "account_assignments" {
22 description = << EOF
33 A list of objects representing permission assignments for AWS SSO. Each object contains the following attributes:
4- - account_id : The AWS account ID where the permissions will be applied.
4+ - account_name : The AWS account where the permissions will be applied.
55 - permission_sets: List of permission-set to be assigned to the specified principals.
66 - principal_names: An identifier for an object in AWS SSO, such as the names of groups or users .
77 - principal_type:The entity type for which the assignment will be created. Valid values: USER, GROUP.
88 EOF
99 type = list (object ({
10- account_id = string
10+ account_name = string
1111 permission_sets = list (string )
1212 principal_names = list (string )
1313 principal_type = string
1414 }))
1515
1616 validation {
17- condition = alltrue ([for a in var . account_assignments : can ( regex ( " ^ \\ d{12}$ " , a . account_id )) ])
18- error_message = " Each account_id must be a valid 12-digit number. "
17+ condition = alltrue ([for a in var . account_assignments : length (a . account_name ) > 0 ])
18+ error_message = " Account name cannot be empty "
1919 }
2020 validation {
2121 condition = alltrue ([for a in var . account_assignments : length (a. permission_sets ) > 0 ])
You can’t perform that action at this time.
0 commit comments