solution/automation/finance-industry/step/iam-authorize-user-role/main.tf (127 lines of code) (raw):

locals { account_json = fileexists("../var/account.json") ? jsondecode(file("../var/account.json")) : {} management_account_id = var.management_account_id == "" ? local.account_json["management_account_id"] : var.management_account_id log_account_id = var.log_account_id == "" ? local.account_json["log_account_id"] : var.log_account_id shared_service_account_id = var.shared_service_account_id == "" ? local.account_json["shared_service_account_id"] : var.shared_service_account_id security_account_id = var.security_account_id == "" ? local.account_json["security_account_id"] : var.security_account_id ops_account_id = var.ops_account_id == "" ? local.account_json["ops_account_id"] : var.ops_account_id dev_account_id = var.dev_account_id == "" ? local.account_json["dev_account_id"] : var.dev_account_id prod_account_id = var.prod_account_id == "" ? local.account_json["prod_account_id"] : var.prod_account_id sso_provider_name = var.sso_provider_name ram_user_initial_pwd = var.ram_user_initial_pwd management_account_ram_users = var.management_account_ram_users management_account_ram_roles = var.management_account_ram_roles log_account_ram_users = var.log_account_ram_users log_account_ram_roles = var.log_account_ram_roles shared_service_account_ram_users = var.shared_service_account_ram_users shared_service_account_ram_roles = var.shared_service_account_ram_roles security_account_ram_users = var.security_account_ram_users security_account_ram_roles = var.security_account_ram_roles ops_account_ram_users = var.ops_account_ram_users ops_account_ram_roles = var.ops_account_ram_roles dev_account_ram_users = var.dev_account_ram_users dev_account_ram_roles = var.dev_account_ram_roles prod_account_ram_users = var.prod_account_ram_users prod_account_ram_roles = var.prod_account_ram_roles } module "management_account_ram_authorize_user_role" { source = "../../modules/ram-authorize-user-role" ram_users = local.management_account_ram_users ram_roles = local.management_account_ram_roles } provider "alicloud" { alias = "log_account" assume_role { role_arn = format("acs:ram::%s:role/ResourceDirectoryAccountAccessRole", local.log_account_id) session_name = "AccountLandingZoneSetup" session_expiration = 999 } } module "log_account_ram_authorize_user_role" { source = "../../modules/ram-authorize-user-role" providers = { alicloud = alicloud.log_account } ram_users = local.log_account_ram_users ram_roles = local.log_account_ram_roles } provider "alicloud" { alias = "shared_service_account" assume_role { role_arn = format("acs:ram::%s:role/ResourceDirectoryAccountAccessRole", local.shared_service_account_id) session_name = "AccountLandingZoneSetup" session_expiration = 999 } } module "shared_service_account_ram_authorize_user_role" { source = "../../modules/ram-authorize-user-role" providers = { alicloud = alicloud.shared_service_account } ram_users = local.shared_service_account_ram_users ram_roles = local.shared_service_account_ram_roles } provider "alicloud" { alias = "security_account" assume_role { role_arn = format("acs:ram::%s:role/ResourceDirectoryAccountAccessRole", local.security_account_id) session_name = "AccountLandingZoneSetup" session_expiration = 999 } } module "security_account_ram_authorize_user_role" { source = "../../modules/ram-authorize-user-role" providers = { alicloud = alicloud.security_account } ram_users = local.security_account_ram_users ram_roles = local.security_account_ram_roles } provider "alicloud" { alias = "ops_account" assume_role { role_arn = format("acs:ram::%s:role/ResourceDirectoryAccountAccessRole", local.ops_account_id) session_name = "AccountLandingZoneSetup" session_expiration = 999 } } module "ops_account_ram_authorize_user_role" { source = "../../modules/ram-authorize-user-role" providers = { alicloud = alicloud.ops_account } ram_users = local.ops_account_ram_users ram_roles = local.ops_account_ram_roles } provider "alicloud" { alias = "dev_account" assume_role { role_arn = format("acs:ram::%s:role/ResourceDirectoryAccountAccessRole", local.dev_account_id) session_name = "AccountLandingZoneSetup" session_expiration = 999 } } module "dev_account_ram_authorize_user_role" { source = "../../modules/ram-authorize-user-role" providers = { alicloud = alicloud.dev_account } ram_users = local.dev_account_ram_users ram_roles = local.dev_account_ram_roles } provider "alicloud" { alias = "prod_account" assume_role { role_arn = format("acs:ram::%s:role/ResourceDirectoryAccountAccessRole", local.prod_account_id) session_name = "AccountLandingZoneSetup" session_expiration = 999 } } module "prod_account_ram_authorize_user_role" { source = "../../modules/ram-authorize-user-role" providers = { alicloud = alicloud.prod_account } ram_users = local.prod_account_ram_users ram_roles = local.prod_account_ram_roles }