import os
from dotenv import load_dotenv

# 加载环境变量
load_dotenv()

# AWS EBS定价(GP3)
AWS_PRICING_EBS = {
    "us-east-1": 0.08,
    "us-east-2": 0.08,
    "us-west-1": 0.096,
    "us-west-2": 0.08,
    "af-south-1": 0.1047,
    "ap-east-1": 0.1056,
    "ap-south-1": 0.0912,
    "ap-northeast-3": 0.096,
    "ap-northeast-2": 0.0912,
    "ap-southeast-1": 0.096,
    "ap-southeast-2": 0.096,
    "ap-northeast-1": 0.096,
    "ca-central-1": 0.088,
    "eu-central-1": 0.0952,
    "eu-west-1": 0.088,
    "eu-west-2": 0.0928,
    "eu-west-3": 0.0928,
    "eu-north-1": 0.0836,
    "me-central-1": 0.0968,
    "sa-east-1": 0.152,
}

# 区域中文名称映射
AWS_REGION_NAMES = {
    "Asia Pacific (Malaysia)":"区域:亚太地区（马来西亚）",
    "Asia Pacific (Taipei)":"区域:亚太地区（台北）",
    "Asia Pacific (Thailand)":"区域:亚太地区（泰国）",
    "Mexico (Central)":"区域:墨西哥（中部）",
    "Africa (Cape Town)":"区域:非洲（开普敦）",
    "Asia Pacific (Hong Kong)":"区域:亚太地区（香港）",
    "Asia Pacific (Hyderabad)":"区域:亚太地区（海得拉巴）",
    "Asia Pacific (Jakarta)":"区域:亚太地区（雅加达）",
    "Asia Pacific (Melbourne)":"区域:亚太地区（墨尔本）",
    "Asia Pacific (Osaka)":"区域:亚太地区（大阪）",
    "Canada West (Calgary)":"区域:加拿大西部（卡尔加里）",
    "EU (Milan)":"区域:欧洲地区（米兰）",
    "EU (Spain)":"区域:欧洲（西班牙）",
    "EU (Stockholm)":"区域:欧洲地区（斯德哥尔摩）",
    "EU (Zurich)":"区域:欧洲（苏黎世）",
    "Israel (Tel Aviv)":"区域:以色列（特拉维夫）",
    "Middle East (Bahrain)":"区域:中东（巴林）",
    "Middle East (UAE)":"区域:中东（阿联酋）",
    "US West (N. California)":"区域:美国西部（北加利福尼亚）",
    "Argentina (Buenos Aires)":"本地区域:阿根廷（布宜诺斯艾利斯）",
    "Asia Pacific (KDDI) - Osaka":"运营商区域:亚太地区（KDDI）– 大阪",
    "Asia Pacific (KDDI) - Tokyo":"运营商区域:亚太地区（KDDI）– 东京",
    "Asia Pacific (SKT) - Daejeon":"运营商区域:亚太地区（SKT）– 大田",
    "Asia Pacific (SKT) - Seoul":"运营商区域:亚太地区（SKT）– 首尔",
    "Australia (Perth)":"本地区域:澳大利亚（珀斯）",
    "Canada (BELL) - Toronto":"运营商区域:加拿大（BELL）– 多伦多",
    "Chile (Santiago)":"本地区域:智利（圣地亚哥）",
    "Denmark (Copenhagen)":"本地区域:丹麦（哥本哈根）",
    "EU (British Telecom) - Manchester":"运营商区域:欧洲（英国电信）- 曼彻斯特",
    "EU (Vodafone) - Berlin":"运营商区域:欧洲（Vodafone）– 柏林",
    "EU (Vodafone) - Dortmund":"运营商区域:欧洲（Vodafone）– 多特蒙德",
    "EU (Vodafone) - London":"运营商区域:欧洲（Vodafone）– 伦敦",
    "EU (Vodafone) - Manchester":"运营商区域:欧洲（Vodafone）– 曼彻斯特",
    "EU (Vodafone) - Munich":"运营商区域:欧洲（Vodafone）– 慕尼黑",
    "Finland (Helsinki)":"本地区域:芬兰（赫尔辛基）",
    "Germany (Hamburg)":"本地区域:德国（汉堡）",
    "India (Delhi)":"本地区域:印度（德里）",
    "India (Kolkata)":"本地区域:印度（加尔各答）",
    "Mexico (Queretaro)":"本地区域:墨西哥（克雷塔罗）",
    "Morocco (Casablanca)":"运营商区域:摩洛哥（卡萨布兰卡）",
    "New Zealand (Auckland)":"本地区域:新西兰（奥克兰）",
    "Nigeria (Lagos)":"本地区域:尼日利亚（拉各斯）",
    "Oman (Muscat)":"本地区域:阿曼（马斯喀特）",
    "Peru (Lima)":"本地区域:秘鲁（利马）",
    "Philippines (Manila)":"本地区域:菲律宾（马尼拉）",
    "Poland (Warsaw)":"本地区域:波兰（华沙）",
    "Senegal (Dakar)":"运营商区域:塞内加尔（达喀尔）",
    "Taiwan (Taipei)":"本地区域:台湾（台北）",
    "Thailand (Bangkok)":"本地区域:泰国（曼谷）",
    "US East (Atlanta)":"本地区域:美国东部（亚特兰大）",
    "US East (Boston)":"本地区域:美国东部（波士顿）",
    "US East (Chicago)":"本地区域:美国东部（芝加哥）",
    "US East (Dallas)":"本地区域:美国东部（达拉斯）",
    "US East (Houston)":"本地区域:美国东部（休斯顿）",
    "US East (Kansas City 2)":"本地区域:美国东部（堪萨斯城 2）",
    "US East (Lenexa)":"运营商区域:美国东部（列涅萨）",
    "US East (Miami)":"本地区域:美国东部（迈阿密）",
    "US East (Minneapolis)":"本地区域:美国东部（明尼阿波利斯）",
    "US East (New York City)":"本地区域:美国东部（纽约市）",
    "US East (Philadelphia)":"本地区域:美国东部（费城）",
    "US East (Verizon) - Atlanta":"运营商区域:美国东部（威瑞森）– 亚特兰大",
    "US East (Verizon) - Boston":"运营商区域:美国东部（威瑞森）– 波士顿",
    "US East (Verizon) - Charlotte":"运营商区域:美国东部（威瑞森）– 夏洛特",
    "US East (Verizon) - Chicago":"运营商区域:美国东部（威瑞森）– 芝加哥",
    "US East (Verizon) - Dallas":"运营商区域:美国东部（威瑞森）– 达拉斯",
    "US East (Verizon) - Detroit":"运营商区域:美国东部（威瑞森）– 底特律",
    "US East (Verizon) - Houston":"运营商区域:美国东部（威瑞森）– 休斯顿",
    "US East (Verizon) - Miami":"运营商区域:美国东部（威瑞森）– 迈阿密",
    "US East (Verizon) - Minneapolis":"运营商区域:美国东部（威瑞森）– 明尼阿波利斯",
    "US East (Verizon) - Nashville":"运营商区域:美国东部（威瑞森）- 纳什维尔",
    "US East (Verizon) - New York":"运营商区域:美国东部（威瑞森）– 纽约",
    "US East (Verizon) - Tampa":"运营商区域:美国东部（威瑞森）– 坦帕",
    "US East (Verizon) - Washington DC":"运营商区域:美国东部（威瑞森）– 华盛顿特区",
    "US West (Denver)":"本地区域:美国西部（丹佛）",
    "US West (Honolulu)":"本地区域:美国西部（檀香山）",
    "US West (Las Vegas)":"本地区域:美国西部（拉斯维加斯）",
    "US West (Los Angeles)":"本地区域:美国西部（洛杉矶）",
    "US West (Phoenix)":"本地区域:美国西部（菲尼克斯）",
    "US West (Portland)":"本地区域:美国西部（波特兰）",
    "US West (Seattle)":"本地区域:美国西部（西雅图）",
    "US West (Verizon) - Denver":"运营商区域:美国西部（威瑞森）- 丹佛",
    "US West (Verizon) - Las Vegas":"运营商区域:美国西部（威瑞森）- 拉斯维加斯",
    "US West (Verizon) - Los Angeles":"运营商区域:美国西部（威瑞森）– 洛杉矶",
    "US West (Verizon) - Phoenix":"运营商区域:美国东部（威瑞森）– 凤凰城",
    "US West (Verizon) - San Francisco Bay Area":"运营商区域:美国西部（威瑞森）– 旧金山港湾区",
    "US West (Verizon) - Seattle":"运营商区域:美国西部（威瑞森）- 西雅图",
    "AWS GovCloud (US)":"区域:AWS GovCloud（美国西部）",
    "AWS GovCloud (US-East)":"区域:AWS GovCloud（美国东部）",
    "Asia Pacific (Mumbai)":"区域:亚太地区（孟买）",
    "Asia Pacific (Seoul)":"区域:亚太地区（首尔）",
    "Asia Pacific (Singapore)":"区域:亚太地区（新加坡）",
    "Asia Pacific (Sydney)":"区域:亚太地区（悉尼）",
    "Asia Pacific (Tokyo)":"区域:亚太地区（东京）",
    "Canada (Central)":"区域:加拿大（中部）",
    "EU (Frankfurt)":"区域:欧洲地区（法兰克福）",
    "EU (Ireland)":"区域:欧洲地区（爱尔兰）",
    "EU (London)":"区域:欧洲地区（伦敦）",
    "South America (Sao Paulo)":"区域:南美洲（圣保罗）",
    "US East (N. Virginia)":"区域:美国东部（弗吉尼亚州北部）",
    "US East (Ohio)":"区域:美国东部（俄亥俄州）",
    "US West (Oregon)":"区域:美国西部（俄勒冈州）",
    "EU (Paris)":"区域:欧洲地区（巴黎）"
}


AWS_REGION_NAMES_EN = {
    "Asia Pacific (Malaysia)":"Asia Pacific (Malaysia)",
    "Asia Pacific (Taipei)":"Asia Pacific (Taipei)",
    "Asia Pacific (Thailand)":"Asia Pacific (Thailand)",
    "Mexico (Central)":"Mexico (Central)",
    "Africa (Cape Town)":"Africa (Cape Town)",
    "Asia Pacific (Hong Kong)":"Asia Pacific (Hong Kong)",
    "Asia Pacific (Hyderabad)":"Asia Pacific (Hyderabad)",
    "Asia Pacific (Jakarta)":"Asia Pacific (Jakarta)",
    "Asia Pacific (Melbourne)":"Asia Pacific (Melbourne)",
    "Asia Pacific (Osaka)":"Asia Pacific (Osaka)",
    "Canada West (Calgary)":"Canada West (Calgary)",
    "EU (Milan)":"EU (Milan)",
    "EU (Spain)":"EU (Spain)",
    "EU (Stockholm)":"EU (Stockholm)",
    "EU (Zurich)":"EU (Zurich)",
    "Israel (Tel Aviv)":"Israel (Tel Aviv)",
    "Middle East (Bahrain)":"Middle East (Bahrain)",
    "Middle East (UAE)":"Middle East (UAE)",
    "US West (N. California)":"US West (N. California)",
    "External":"External",
    "Amazon CloudFront":"Amazon CloudFront",
    "Argentina (Buenos Aires)":"Argentina (Buenos Aires)",
    "Asia Pacific (KDDI) - Osaka":"Asia Pacific (KDDI) - Osaka",
    "Asia Pacific (KDDI) - Tokyo":"Asia Pacific (KDDI) - Tokyo",
    "Asia Pacific (New Zealand)":"Asia Pacific (New Zealand)",
    "Asia Pacific (SKT) - Daejeon":"Asia Pacific (SKT) - Daejeon",
    "Asia Pacific (SKT) - Seoul":"Asia Pacific (SKT) - Seoul",
    "Australia (Perth)":"Australia (Perth)",
    "Canada (BELL) - Toronto":"Canada (BELL) - Toronto",
    "Chile (Santiago)":"Chile (Santiago)",
    "Denmark (Copenhagen)":"Denmark (Copenhagen)",
    "EU (British Telecom) - Manchester":"EU (British Telecom) - Manchester",
    "EU (Vodafone) - Berlin":"EU (Vodafone) - Berlin",
    "EU (Vodafone) - Dortmund":"EU (Vodafone) - Dortmund",
    "EU (Vodafone) - London":"EU (Vodafone) - London",
    "EU (Vodafone) - Manchester":"EU (Vodafone) - Manchester",
    "EU (Vodafone) - Munich":"EU (Vodafone) - Munich",
    "Finland (Helsinki)":"Finland (Helsinki)",
    "Germany (Hamburg)":"Germany (Hamburg)",
    "India (Delhi)":"India (Delhi)",
    "India (Kolkata)":"India (Kolkata)",
    "Mexico (Queretaro)":"Mexico (Queretaro)",
    "Morocco (Casablanca)":"Morocco (Casablanca)",
    "New Zealand (Auckland)":"New Zealand (Auckland)",
    "Nigeria (Lagos)":"Nigeria (Lagos)",
    "Oman (Muscat)":"Oman (Muscat)",
    "Peru (Lima)":"Peru (Lima)",
    "Philippines (Manila)":"Philippines (Manila)",
    "Poland (Warsaw)":"Poland (Warsaw)",
    "SG Government (Singapore)":"SG Government (Singapore)",
    "Senegal (Dakar)":"Senegal (Dakar)",
    "Taiwan (Taipei)":"Taiwan (Taipei)",
    "Thailand (Bangkok)":"Thailand (Bangkok)",
    "US East (Atlanta)":"US East (Atlanta)",
    "US East (Boston)":"US East (Boston)",
    "US East (Chicago)":"US East (Chicago)",
    "US East (Dallas)":"US East (Dallas)",
    "US East (Houston)":"US East (Houston)",
    "US East (Kansas City 2)":"US East (Kansas City 2)",
    "US East (Kansas City)":"US East (Kansas City)",
    "US East (Lenexa)":"US East (Lenexa)",
    "US East (Miami)":"US East (Miami)",
    "US East (Minneapolis)":"US East (Minneapolis)",
    "US East (New York City)":"US East (New York City)",
    "US East (Philadelphia)":"US East (Philadelphia)",
    "US East (South Bend)":"US East (South Bend)",
    "US East (Verizon) - Atlanta":"US East (Verizon) - Atlanta",
    "US East (Verizon) - Boston":"US East (Verizon) - Boston",
    "US East (Verizon) - Charlotte":"US East (Verizon) - Charlotte",
    "US East (Verizon) - Chicago":"US East (Verizon) - Chicago",
    "US East (Verizon) - Dallas":"US East (Verizon) - Dallas",
    "US East (Verizon) - Detroit":"US East (Verizon) - Detroit",
    "US East (Verizon) - Houston":"US East (Verizon) - Houston",
    "US East (Verizon) - Miami":"US East (Verizon) - Miami",
    "US East (Verizon) - Minneapolis":"US East (Verizon) - Minneapolis",
    "US East (Verizon) - Nashville":"US East (Verizon) - Nashville",
    "US East (Verizon) - New York":"US East (Verizon) - New York",
    "US East (Verizon) - Tampa":"US East (Verizon) - Tampa",
    "US East (Verizon) - Washington DC":"US East (Verizon) - Washington DC",
    "US West (Denver)":"US West (Denver)",
    "US West (Honolulu)":"US West (Honolulu)",
    "US West (Las Vegas)":"US West (Las Vegas)",
    "US West (Los Angeles)":"US West (Los Angeles)",
    "US West (Phoenix)":"US West (Phoenix)",
    "US West (Portland)":"US West (Portland)",
    "US West (Seattle)":"US West (Seattle)",
    "US West (Verizon) - Denver":"US West (Verizon) - Denver",
    "US West (Verizon) - Las Vegas":"US West (Verizon) - Las Vegas",
    "US West (Verizon) - Los Angeles":"US West (Verizon) - Los Angeles",
    "US West (Verizon) - Phoenix":"US West (Verizon) - Phoenix",
    "US West (Verizon) - San Francisco Bay Area":"US West (Verizon) - San Francisco Bay Area",
    "US West (Verizon) - Seattle":"US West (Verizon) - Seattle",
    "AWS GovCloud (US)":"AWS GovCloud (US)",
    "AWS GovCloud (US-East)":"AWS GovCloud (US-East)",
    "Asia Pacific (Mumbai)":"Asia Pacific (Mumbai)",
    "Asia Pacific (Seoul)":"Asia Pacific (Seoul)",
    "Asia Pacific (Singapore)":"Asia Pacific (Singapore)",
    "Asia Pacific (Sydney)":"Asia Pacific (Sydney)",
    "Asia Pacific (Tokyo)":"Asia Pacific (Tokyo)",
    "Canada (Central)":"Canada (Central)",
    "EU (Frankfurt)":"EU (Frankfurt)",
    "EU (Ireland)":"EU (Ireland)",
    "EU (London)":"EU (London)",
    "South America (Sao Paulo)":"South America (Sao Paulo)",
    "US East (N. Virginia)":"US East (N. Virginia)",
    "US East (Ohio)":"US East (Ohio)",
    "US West (Oregon)":"US West (Oregon)",
    "EU (Paris)":"EU (Paris)"
}
# 可以添加其他云平台的配置
AZURE_REGION_NAMES = {
    # 待添加Azure区域
}

ALIYUN_REGION_NAMES = {
    # 待添加阿里云区域
}

# 支持的平台列表
SUPPORTED_PLATFORMS = ["aws", "azure", "aliyun"] 