133 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			HCL
		
	
	
	
			
		
		
	
	
			133 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			HCL
		
	
	
	
# 开发环境变量定义
 | 
						|
 | 
						|
variable "environment" {
 | 
						|
  description = "环境名称"
 | 
						|
  type        = string
 | 
						|
  default     = "dev"
 | 
						|
}
 | 
						|
 | 
						|
variable "project_name" {
 | 
						|
  description = "项目名称"
 | 
						|
  type        = string
 | 
						|
  default     = "mgmt"
 | 
						|
}
 | 
						|
 | 
						|
variable "owner" {
 | 
						|
  description = "项目所有者"
 | 
						|
  type        = string
 | 
						|
  default     = "ben"
 | 
						|
}
 | 
						|
 | 
						|
variable "cloud_providers" {
 | 
						|
  description = "要启用的云服务商列表"
 | 
						|
  type        = list(string)
 | 
						|
  default     = ["oracle"]
 | 
						|
}
 | 
						|
 | 
						|
variable "vpc_cidr" {
 | 
						|
  description = "VPC CIDR 块"
 | 
						|
  type        = string
 | 
						|
  default     = "10.0.0.0/16"
 | 
						|
}
 | 
						|
 | 
						|
variable "availability_zones" {
 | 
						|
  description = "可用区列表"
 | 
						|
  type        = list(string)
 | 
						|
  default     = ["a", "b"]
 | 
						|
}
 | 
						|
 | 
						|
variable "common_tags" {
 | 
						|
  description = "通用标签"
 | 
						|
  type        = map(string)
 | 
						|
  default = {
 | 
						|
    Environment = "dev"
 | 
						|
    Project     = "mgmt"
 | 
						|
    ManagedBy   = "opentofu"
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
# Oracle Cloud 配置
 | 
						|
variable "oci_config" {
 | 
						|
  description = "Oracle Cloud 配置"
 | 
						|
  type = object({
 | 
						|
    tenancy_ocid     = string
 | 
						|
    user_ocid        = string
 | 
						|
    fingerprint      = string
 | 
						|
    private_key_path = string
 | 
						|
    region           = string
 | 
						|
    compartment_ocid = optional(string)
 | 
						|
  })
 | 
						|
  default = {
 | 
						|
    tenancy_ocid     = ""
 | 
						|
    user_ocid        = ""
 | 
						|
    fingerprint      = ""
 | 
						|
    private_key_path = ""
 | 
						|
    region           = "ap-seoul-1"
 | 
						|
    compartment_ocid = ""
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
# 华为云配置
 | 
						|
variable "huawei_config" {
 | 
						|
  description = "华为云配置"
 | 
						|
  type = object({
 | 
						|
    access_key = string
 | 
						|
    secret_key = string
 | 
						|
    region     = string
 | 
						|
    project_id = optional(string)
 | 
						|
  })
 | 
						|
  default = {
 | 
						|
    access_key = ""
 | 
						|
    secret_key = ""
 | 
						|
    region     = "cn-north-4"
 | 
						|
    project_id = ""
 | 
						|
  }
 | 
						|
  sensitive = true
 | 
						|
}
 | 
						|
 | 
						|
# Google Cloud 配置
 | 
						|
variable "gcp_config" {
 | 
						|
  description = "Google Cloud 配置"
 | 
						|
  type = object({
 | 
						|
    project_id       = string
 | 
						|
    region           = string
 | 
						|
    zone             = string
 | 
						|
    credentials_file = string
 | 
						|
  })
 | 
						|
  default = {
 | 
						|
    project_id       = ""
 | 
						|
    region           = "asia-northeast3"
 | 
						|
    zone             = "asia-northeast3-a"
 | 
						|
    credentials_file = ""
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
# AWS 配置
 | 
						|
variable "aws_config" {
 | 
						|
  description = "AWS 配置"
 | 
						|
  type = object({
 | 
						|
    region     = string
 | 
						|
    access_key = string
 | 
						|
    secret_key = string
 | 
						|
  })
 | 
						|
  default = {
 | 
						|
    region     = "ap-northeast-2"
 | 
						|
    access_key = ""
 | 
						|
    secret_key = ""
 | 
						|
  }
 | 
						|
  sensitive = true
 | 
						|
}
 | 
						|
 | 
						|
# DigitalOcean 配置
 | 
						|
variable "do_config" {
 | 
						|
  description = "DigitalOcean 配置"
 | 
						|
  type = object({
 | 
						|
    token  = string
 | 
						|
    region = string
 | 
						|
  })
 | 
						|
  default = {
 | 
						|
    token  = ""
 | 
						|
    region = "sgp1"
 | 
						|
  }
 | 
						|
  sensitive = true
 | 
						|
} |