solution/solution-ecs-patching/step1-preparation/main.tf (60 lines of code) (raw):

provider "alicloud" { region = var.region } provider "alicloud" { alias = "share_services" region = var.region assume_role { role_arn = format("acs:ram::%s:role/ResourceDirectoryAccountAccessRole", var.share_services_account_id) session_name = "WellArchitectedSolutionSetup" session_expiration = 999 } } # create delegated administrator resource "alicloud_resource_manager_delegated_administrator" "master" { account_id = var.share_services_account_id service_principal = "ros.aliyuncs.com" } resource "alicloud_ram_policy" "share_services" { provider = alicloud.share_services policy_name = format("%sPolicy", var.oss_assume_role) policy_document = <<EOF { "Version": "1", "Statement": [ { "Action": [ "sts:AssumeRole" ], "Resource": "acs:ram:*:*:role/${var.oos_cross_account_assume_role}", "Effect": "Allow" } ] } EOF } resource "alicloud_ram_role" "share_services" { provider = alicloud.share_services name = var.oss_assume_role document = <<EOF { "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "oos.aliyuncs.com" ] } } ], "Version": "1" } EOF } resource "alicloud_ram_role_policy_attachment" "share_services" { provider = alicloud.share_services policy_name = alicloud_ram_policy.share_services.policy_name policy_type = alicloud_ram_policy.share_services.type role_name = alicloud_ram_role.share_services.name }