terraform {
  required_providers {
    alicloud = {
      source  = "aliyun/alicloud"
      version = "1.261.0"
    }
  }

  backend "oss" {
    profile = "default"
  }
}
provider "alicloud" {
  profile = "default"
}

variable "oidc_issuer" {
  type = string
}

variable "oidc_arn" {
  type = string
}

variable "env" {
  type = string
}

variable "logical_region_name" {
  type = string
}

variable "auto_deploy_owner_tag" {
  type = string
}

module "dataplane-manager" {
  source = "../../modules/controlplane"

  oidc_issuer = var.oidc_issuer
  oidc_arn    = var.oidc_arn
  role_name   = "${var.env}-${var.logical_region_name}-dataplane-manager"
  service_names = [
    "dataplane-manager",
    "cluster-ng-server",
    "alibabacloud-provider",
    "o11y-agent-control-server",
    "ticdc-service",
  ]
  policy_document = jsonencode({
    Version = "1"
    Statement = [
      {
        Effect   = "Allow"
        Action   = ["sts:AssumeRole"]
        Resource = "*"
      }
    ]
  })
  auto_deploy_owner_tag = var.auto_deploy_owner_tag
}

output "role_id" {
  value = module.dataplane-manager.controlplane_role_id
}

output "role_name" {
  value = module.dataplane-manager.controlplane_role_name
}

output "role_arn" {
  value = module.dataplane-manager.controlplane_role_arn
}
