# -*- coding: utf-8 -*-  # 指定文件编码为 UTF-8，确保中文注释不乱码。 

import os

# --- VPC 创建参数 ---  # 统一管理 VPC 相关配置，便于后续维护。
VPC_CIDR = "192.168.0.0/16"  # VPC IPv4 网段，需满足火山引擎约束。 
VPC_ENABLE_IPV6 = False  # 是否启用 IPv6 网段，默认关闭。 
VPC_IPV6_CIDR = ""  # VPC IPv6 网段，不开启 IPv6 时可留空。 
VPC_DESCRIPTION = "wawacloud volcengine vpc"  # VPC 描述信息，便于识别用途。 
VPC_DNS_SERVERS = []  # 自定义 DNS 服务器列表，不需要时保持空列表。 
VPC_PROJECT_NAME = ""  # 项目名称，不需要时可留空。 

# --- VPC 命名规则（分组） ---  # 按你的要求区分第一组与第二组资源名称。 
VPC_NAME_GROUP_1 = "wawacloud_vpc1"  # 第一组 VPC 名称。 
VPC_NAME_GROUP_2 = "wawacloud_vpc2"  # 第二组 VPC 名称。 

# --- 子网创建参数 ---  # 统一管理子网配置，便于后续维护。 
SUBNET_CIDR = "192.168.0.0/24"  # 子网 IPv4 网段，需落在 VPC 网段内。 
SUBNET_DESCRIPTION = "wawacloud volcengine subnet"  # 子网描述信息，便于识别用途。 
SUBNET_IPV6_LAST8 = None  # 子网 IPv6 网段最后 8 比特位，未启用 IPv6 可保持 None。 

# --- 子网命名规则（分组） ---  # 按你的要求区分第一组与第二组资源名称。 
SUBNET_NAME_GROUP_1 = "wawacloud_sub1"  # 第一组子网名称。 
SUBNET_NAME_GROUP_2 = "wawacloud_sub2"  # 第二组子网名称。 

# --- 可用区映射 ---  # 不同地域需要指定对应可用区 ID。 
SUBNET_ZONE_MAP = {  # 地域与可用区的映射表。 
    "cn-beijing": "cn-beijing-a",  # 北京默认可用区。 
    "cn-shanghai": "cn-shanghai-a",  # 上海默认可用区。 
    "cn-guangzhou": "cn-guangzhou-a",  # 广州默认可用区。 
}  # 映射表结束。 

# --- 安全组创建参数 ---  # 统一管理安全组配置，便于后续维护。 
SECURITY_GROUP_DESCRIPTION = "wawacloud volcengine security group"  # 安全组描述信息。 
SECURITY_GROUP_PROJECT_NAME = ""  # 安全组项目名称，不需要时可留空。 

# --- 安全组命名规则（分组） ---  # 按你的要求区分第一组与第二组资源名称。 
SECURITY_GROUP_NAME_GROUP_1 = "wawacloud_sg1"  # 第一组安全组名称。 
SECURITY_GROUP_NAME_GROUP_2 = "wawacloud_sg2"  # 第二组安全组名称。 

# --- 安全组规则参数 ---  # 统一管理安全组放行规则，便于后续维护。 
SECURITY_GROUP_RULE_CIDR = "0.0.0.0/0"  # 放行范围，按你的要求对公网全放行。 
SECURITY_GROUP_RULE_POLICY = "accept"  # 安全组策略，默认允许流量通过。 
SECURITY_GROUP_OPEN_ALL = False  # 不再按 all/-1/-1 写法放开全部协议与端口。 
SECURITY_GROUP_TCP_PORTS = [(1, 52), (54, 65535)]  # 火山入方向 TCP 分段放行，避开 53 端口。 
SECURITY_GROUP_UDP_PORTS = [(1, 52), (54, 65535)]  # UDP 同样按分段放行，避开 53 端口。
SECURITY_GROUP_GRE_PROTOCOL = "gre"  # 火山入方向 GRE 全部放行。
SECURITY_GROUP_ICMP_PROTOCOL = "icmp"  # 火山入方向 ICMP 全部放行。

# --- ECS 创建参数 ---  # 统一管理 ECS 实例配置，便于后续维护。 
ECS_INSTANCE_TYPE = (os.getenv("VOLC_INSTANCE_TYPE", "").strip() or "ecs.e-c1m1.large")  # 实例规格由主程序传入；默认 2C2G。
ECS_PASSWORD = "cao2002."  # 实例登录密码，按你的要求固定。 
ECS_SYSTEM_DISK_SIZE = 20  # 系统盘大小（GB），按你的要求固定。 
ECS_SYSTEM_DISK_TYPE = "ESSD_PL0"  # 系统盘类型，按你的要求固定。 
ECS_CHARGE_TYPE = "PrePaid"  # 计费方式，测试阶段使用按量计费。 
ECS_INSTANCE_COUNT = 1  # 默认创建数量，先按单台测试。 
ECS_PREPAID = {  # 包年包月配置，仅当 ChargeType = PrePaid 时生效。 
    "Period": 1,  # 购买时长，单位由 PeriodUnit 控制。 
    "PeriodUnit": "Month",  # 时长单位：Month。 
    "AutoRenew": True,  # 是否自动续费，按你的需求默认开启。 
    "AutoRenewPeriod": 1,  # 自动续费时长（月）。 
} 

# --- ECS 命名规则（分组） ---  # 按你的要求区分第一组与第二组资源名称。 
ECS_NAME_GROUP_1 = "wawacloud_ecs1"  # 第一组 ECS 名称。 
ECS_NAME_GROUP_2 = "wawacloud_ecs2"  # 第二组 ECS 名称。 

# --- ECS 镜像映射 ---  # 不同地域使用不同镜像 ID。 
ECS_IMAGE_MAP = {  # 镜像 ID 映射表。 
    "cn-guangzhou": "image-ycxs4kkckado4ws9jbqu",  # 广州地域镜像 ID。 
    "cn-shanghai": "image-ycxctcavh1m05kipzdmj",  # 上海地域镜像 ID。 
    "cn-beijing": "image-ycxuoq1ia1b6unc90ozz",  # 北京地域镜像 ID。 
}  # 镜像映射表结束。 

# --- ECS 网卡与私网 IP 规划 ---  # 按你的要求配置双网卡与附加 IP。 
ECS_PRIMARY_IP = "192.168.0.10"  # 主网卡固定 IP。 
ECS_SECONDARY_IP = "192.168.0.11"  # 副网卡固定 IP。 
ECS_PRIMARY_EXTRA_IPS = [  # 主网卡绑定的附加私有 IP 列表。 
    "192.168.0.12",  # 主网卡附加 IP 1。 
    "192.168.0.13",  # 主网卡附加 IP 2。 
    "192.168.0.14",  # 主网卡附加 IP 3。 
]  # 主网卡附加 IP 列表结束。 
ECS_SECONDARY_EXTRA_IPS = [  # 副网卡绑定的附加私有 IP 列表。 
    "192.168.0.15",  # 副网卡附加 IP 1。 
    "192.168.0.16",  # 副网卡附加 IP 2。 
    "192.168.0.17",  # 副网卡附加 IP 3。 
]  # 副网卡附加 IP 列表结束。 

# --- 公网 IP (EIP) 申请参数 ---  # 统一管理公网 IP 配置，便于按需调整。 
EIP_NAME_PREFIX_GROUP_1 = "wawacloud_one"  # 第一组公网 IP 名称前缀。 
EIP_NAME_PREFIX_GROUP_2 = "wawacloud_two"  # 第二组公网 IP 名称前缀。 
EIP_BILLING_TYPE = 3  # 计费方式：3 表示按流量计费。 
EIP_BANDWIDTH = 200  # 带宽上限 (Mbps)，按你的要求设置为 200M。 
EIP_ISP = "BGP"  # 线路类型，默认使用 BGP。 
EIP_PROJECT_NAME = ""  # 公网 IP 所属项目名称，可留空。 
