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 = { "af-south-1": "非洲 (开普敦)", "ap-northeast-1": "亚太地区 (东京)", "ap-northeast-2": "亚太地区 (首尔)", "ap-northeast-3": "亚太地区 (大阪)", "ap-east-1": "亚太地区 (香港)", "ap-south-1": "亚太地区 (孟买)", "ap-south-2": "亚太地区 (海得拉巴)", "ap-southeast-1": "亚太地区 (新加坡)", "ap-southeast-2": "亚太地区 (悉尼)", "ap-southeast-3": "亚太地区 (雅加达)", "ap-southeast-4": "亚太地区 (墨尔本)", "ap-southeast-5": "亚太地区 (马来西亚)", "ap-southeast-7": "亚太地区 (泰国)", "ca-central-1": "加拿大 (中部)", "ca-west-1": "加拿大西部 (卡尔加里)", "eu-central-1": "欧洲 (法兰克福)", "eu-central-2": "欧洲 (苏黎世)", "eu-north-1": "欧洲 (斯德哥尔摩)", "eu-south-1": "欧洲 (米兰)", "eu-south-2": "欧洲 (西班牙)", "eu-west-1": "欧洲 (爱尔兰)", "eu-west-2": "欧洲 (伦敦)", "eu-west-3": "欧洲 (巴黎)", "il-central-1": "以色列 (特拉维夫)", "me-central-1": "中东 (阿联酋)", "me-south-1": "中东 (巴林)", "mx-central-1": "墨西哥 (中部)", "sa-east-1": "南美洲 (圣保罗)", "us-east-1": "美国东部 (弗吉尼亚北部)", "us-east-2": "美国东部 (俄亥俄)", "us-east-2-mci-1": "美国东部 (堪萨斯城)", "us-gov-east-1": "AWS GovCloud (美国东部)", "us-gov-west-1": "AWS GovCloud (美国西部)", "us-west-1": "美国西部 (加利福尼亚北部)", "us-west-2": "美国西部 (俄勒冈)", "ap-northeast-1-tpe-1": "亚太地区 (台湾)", "ap-northeast-1-wl1-kix1": "亚太地区 (KDDI) - 大阪", "ap-northeast-1-wl1-nrt1": "亚太地区 (KDDI) - 东京", "ap-northeast-2-wl1-cjj1": "亚太地区 (SKT) - 大田", "ap-northeast-2-wl1-sel1": "亚太地区 (SKT) - 首尔", "ca-central-1-wl1-yto1": "加拿大 (BELL) - 多伦多", "eu-central-1-wl1-ber1": "欧洲 (沃达丰) - 柏林", "eu-central-1-wl1-dtm1": "欧洲 (沃达丰) - 多特蒙德", "eu-central-1-wl1-muc1": "欧洲 (沃达丰) - 慕尼黑", "eu-west-2-wl1-lon1": "欧洲 (沃达丰) - 伦敦", "eu-west-2-wl1-man1": "欧洲 (沃达丰) - 曼彻斯特", "eu-west-2-wl2-man1": "欧洲 (英国电信) - 曼彻斯特", "eu-west-3-wl1-cmn1": "摩洛哥 (卡萨布兰卡)", "us-east-1-wl1": "美国东部 (Verizon) - 波士顿", "us-east-1-wl1-atl1": "美国东部 (Verizon) - 亚特兰大", "us-east-1-wl1-bna1": "美国东部 (Verizon) - 纳什维尔", "us-east-1-wl1-chi1": "美国东部 (Verizon) - 芝加哥", "us-east-1-wl1-clt1": "美国东部 (Verizon) - 夏洛特", "us-east-1-wl1-dfw1": "美国东部 (Verizon) - 达拉斯", "us-east-1-wl1-dtw1": "美国东部 (Verizon) - 底特律", "us-east-1-wl1-iah1": "美国东部 (Verizon) - 休斯顿", "us-east-1-wl1-mia1": "美国东部 (Verizon) - 迈阿密", "us-east-1-wl1-msp1": "美国东部 (Verizon) - 明尼阿波利斯", "us-east-1-wl1-nyc1": "美国东部 (Verizon) - 纽约", "us-east-1-wl1-tpa1": "美国东部 (Verizon) - 坦帕", "us-east-1-wl1-was1": "美国东部 (Verizon) - 华盛顿特区", "us-west-2-wl1": "美国西部 (Verizon) - 旧金山湾区", "us-west-2-wl1-den1": "美国西部 (Verizon) - 丹佛", "us-west-2-wl1-las1": "美国西部 (Verizon) - 拉斯维加斯", "us-west-2-wl1-lax1": "美国西部 (Verizon) - 洛杉矶", "us-west-2-wl1-phx1": "美国西部 (Verizon) - 凤凰城", "us-west-2-wl1-sea1": "美国西部 (Verizon) - 西雅图", "af-south-1-los-1": "尼日利亚 (拉各斯)", "ap-south-1-ccu-1": "印度 (加尔各答)", "ap-south-1-del-1": "印度 (德里)", "ap-southeast-1-bkk-1": "泰国 (曼谷)", "ap-southeast-1-mnl-1": "菲律宾 (马尼拉)", "ap-southeast-2-akl-1": "新西兰 (奥克兰)", "ap-southeast-2-per-1": "澳大利亚 (珀斯)", "eu-central-1-ham-1": "德国 (汉堡)", "eu-central-1-waw-1": "波兰 (华沙)", "eu-north-1-cph-1": "丹麦 (哥本哈根)", "eu-north-1-hel-1": "芬兰 (赫尔辛基)", "me-south-1-mct-1": "阿曼 (马斯喀特)", "us-east-1-atl-1": "美国东部 (亚特兰大)", "us-east-1-bos-1": "美国东部 (波士顿)", "us-east-1-bue-1": "阿根廷 (布宜诺斯艾利斯)", "us-east-1-chi-1": "美国东部 (芝加哥)", "us-east-1-dfw-1": "美国东部 (达拉斯)", "us-east-1-iah-1": "美国东部 (休斯顿)", "us-east-1-lim-1": "秘鲁 (利马)", "us-east-1-mci-1": "美国东部 (堪萨斯城 2)", "us-east-1-mia-1": "美国东部 (迈阿密)", "us-east-1-msp-1": "美国东部 (明尼阿波利斯)", "us-east-1-nyc-1": "美国东部 (纽约市)", "us-east-1-phl-1": "美国东部 (费城)", "us-east-1-qro-1": "墨西哥 (克雷塔罗)", "us-east-1-scl-1": "智利 (圣地亚哥)", "us-west-2-den-1": "美国西部 (丹佛)", "us-west-2-hnl-1": "美国西部 (火奴鲁鲁)", "us-west-2-las-1": "美国西部 (拉斯维加斯)", "us-west-2-lax-1": "美国西部 (洛杉矶)", "us-west-2-pdx-1": "美国西部 (波特兰)", "us-west-2-phx-1": "美国西部 (凤凰城)", "us-west-2-sea-1": "美国西部 (西雅图)" } AWS_REGION_NAMES_EN = { "af-south-1": "Africa (Cape Town)", "ap-northeast-1": "Asia Pacific (Tokyo)", "ap-northeast-2": "Asia Pacific (Seoul)", "ap-northeast-3": "Asia Pacific (Osaka)", "ap-south-1": "Asia Pacific (Mumbai)", "ap-east-1": "Asia Pacific (Hong Kong)", "ap-south-2": "Asia Pacific (Hyderabad)", "ap-southeast-1": "Asia Pacific (Singapore)", "ap-southeast-2": "Asia Pacific (Sydney)", "ap-southeast-3": "Asia Pacific (Jakarta)", "ap-southeast-4": "Asia Pacific (Melbourne)", "ap-southeast-5": "Asia Pacific (Malaysia)", "ap-southeast-7": "Asia Pacific (Thailand)", "ca-central-1": "Canada (Central)", "ca-west-1": "Canada West (Calgary)", "eu-central-1": "EU (Frankfurt)", "eu-central-2": "EU (Zurich)", "eu-north-1": "EU (Stockholm)", "eu-south-1": "EU (Milan)", "eu-south-2": "EU (Spain)", "eu-west-1": "EU (Ireland)", "eu-west-2": "EU (London)", "eu-west-3": "EU (Paris)", "il-central-1": "Israel (Tel Aviv)", "me-central-1": "Middle East (UAE)", "me-south-1": "Middle East (Bahrain)", "mx-central-1": "Mexico (Central)", "sa-east-1": "South America (Sao Paulo)", "us-east-1": "US East (N. Virginia)", "us-east-2": "US East (Ohio)", "us-east-2-mci-1": "US East (Kansas City)", "us-gov-east-1": "AWS GovCloud (US-East)", "us-gov-west-1": "AWS GovCloud (US)", "us-west-1": "US West (N. California)", "us-west-2": "US West (Oregon)", "ap-northeast-1-wl1-kix1": "Asia Pacific (KDDI) - Osaka", "ap-northeast-1-wl1-nrt1": "Asia Pacific (KDDI) - Tokyo", "ap-northeast-2-wl1-cjj1": "Asia Pacific (SKT) - Daejeon", "ap-northeast-2-wl1-sel1": "Asia Pacific (SKT) - Seoul", "ap-northeast-1-tpe-1": "Asia Pacific (Taiwan)", "ca-central-1-wl1-yto1": "Canada (BELL) - Toronto", "eu-central-1-wl1-ber1": "EU (Vodafone) - Berlin", "eu-central-1-wl1-dtm1": "EU (Vodafone) - Dortmund", "eu-central-1-wl1-muc1": "EU (Vodafone) - Munich", "eu-west-2-wl1-lon1": "EU (Vodafone) - London", "eu-west-2-wl1-man1": "EU (Vodafone) - Manchester", "eu-west-2-wl2-man1": "EU (British Telecom) - Manchester", "eu-west-3-wl1-cmn1": "Morocco (Casablanca)", "us-east-1-wl1": "US East (Verizon) - Boston", "us-east-1-wl1-atl1": "US East (Verizon) - Atlanta", "us-east-1-wl1-bna1": "US East (Verizon) - Nashville", "us-east-1-wl1-chi1": "US East (Verizon) - Chicago", "us-east-1-wl1-clt1": "US East (Verizon) - Charlotte", "us-east-1-wl1-dfw1": "US East (Verizon) - Dallas", "us-east-1-wl1-dtw1": "US East (Verizon) - Detroit", "us-east-1-wl1-iah1": "US East (Verizon) - Houston", "us-east-1-wl1-mia1": "US East (Verizon) - Miami", "us-east-1-wl1-msp1": "US East (Verizon) - Minneapolis", "us-east-1-wl1-nyc1": "US East (Verizon) - New York", "us-east-1-wl1-tpa1": "US East (Verizon) - Tampa", "us-east-1-wl1-was1": "US East (Verizon) - Washington DC", "us-west-2-wl1": "US West (Verizon) - San Francisco Bay Area", "us-west-2-wl1-den1": "US West (Verizon) - Denver", "us-west-2-wl1-las1": "US West (Verizon) - Las Vegas", "us-west-2-wl1-lax1": "US West (Verizon) - Los Angeles", "us-west-2-wl1-phx1": "US West (Verizon) - Phoenix", "us-west-2-wl1-sea1": "US West (Verizon) - Seattle", "af-south-1-los-1": "Nigeria (Lagos)", "ap-south-1-ccu-1": "India (Kolkata)", "ap-south-1-del-1": "India (Delhi)", "ap-southeast-1-bkk-1": "Thailand (Bangkok)", "ap-southeast-1-mnl-1": "Philippines (Manila)", "ap-southeast-2-akl-1": "New Zealand (Auckland)", "ap-southeast-2-per-1": "Australia (Perth)", "eu-central-1-ham-1": "Germany (Hamburg)", "eu-central-1-waw-1": "Poland (Warsaw)", "eu-north-1-cph-1": "Denmark (Copenhagen)", "eu-north-1-hel-1": "Finland (Helsinki)", "me-south-1-mct-1": "Oman (Muscat)", "us-east-1-atl-1": "US East (Atlanta)", "us-east-1-bos-1": "US East (Boston)", "us-east-1-bue-1": "Argentina (Buenos Aires)", "us-east-1-chi-1": "US East (Chicago)", "us-east-1-dfw-1": "US East (Dallas)", "us-east-1-iah-1": "US East (Houston)", "us-east-1-lim-1": "Peru (Lima)", "us-east-1-mci-1": "US East (Kansas City 2)", "us-east-1-mia-1": "US East (Miami)", "us-east-1-msp-1": "US East (Minneapolis)", "us-east-1-nyc-1": "US East (New York City)", "us-east-1-phl-1": "US East (Philadelphia)", "us-east-1-qro-1": "Mexico (Queretaro)", "us-east-1-scl-1": "Chile (Santiago)", "us-west-2-den-1": "US West (Denver)", "us-west-2-hnl-1": "US West (Honolulu)", "us-west-2-las-1": "US West (Las Vegas)", "us-west-2-lax-1": "US West (Los Angeles)", "us-west-2-pdx-1": "US West (Portland)", "us-west-2-phx-1": "US West (Phoenix)", "us-west-2-sea-1": "US West (Seattle)" } # 可以添加其他云平台的配置 AZURE_REGION_NAMES = { # 待添加Azure区域 } ALIYUN_REGION_NAMES = { # 待添加阿里云区域 } # 支持的平台列表 SUPPORTED_PLATFORMS = ["aws", "azure", "aliyun"]