solution/automation/account-factory/step/auth-create-role/main.tf (26 lines of code) (raw):
provider "alicloud" {
}
locals {
account_json = fileexists("../var/account.json") ? jsondecode(file("../var/account.json")) : {}
account_id = var.account_id == "" ? local.account_json["account_id"] : var.account_id
sso_provider_name = var.sso_provider_name
}
provider "alicloud" {
alias = "rd_role"
assume_role {
role_arn = format("acs:ram::%s:role/ResourceDirectoryAccountAccessRole", local.account_id)
session_name = "AccountLandingZoneSetup"
session_expiration = 999
}
}
# Create ram roles from IDP
module "ram_role" {
source = "../../modules/role"
providers = {
alicloud = alicloud.rd_role
}
for_each = {for role in var.ram_roles.roles : role.role_name => role}
account_uid = local.account_id
role_name = each.value.role_name
role_description = each.value.description
sso_provider_name = local.sso_provider_name
}