1
1
forked from wangqifan/calc
calc/backend/API_DOCUMENTATION.md

3.1 KiB

云计算价格计算器 API 文档

描述: 支持多云平台价格计算的服务。

基本 URL: /api


端点

1. 获取区域列表

  • 描述: 获取指定平台的可用区域列表。
  • 路径: GET /regions
  • 方法: GET
  • 查询参数:
    • platform (string, optional, default: "aws"): 云平台。支持的值: "aws", "azure", "aliyun"。
  • 成功响应 (200):
    [
      {
        "code": "us-east-1",
        "name": "US East (N. Virginia)"
      }
    ]
    
  • 错误响应 (400): 如果平台不受支持。

2. 获取实例类型

  • 描述: 获取指定平台的可用实例类型。
  • 路径: GET /instance-types
  • 方法: GET
  • 查询参数:
    • platform (string, optional, default: "aws"): 云平台。
  • 成功响应 (200): 包含实例类型及其信息的字典。
  • 错误响应 (400): 如果平台不受支持。

3. 搜索实例

  • 描述: 搜索符合指定条件的实例类型。
  • 路径: POST /search-instances
  • 方法: POST
  • 请求体: InstanceSearchRequest
  • 成功响应 (200): 匹配的实例列表,按月度总价排序。
  • 错误响应 (400): 如果缺少必需的参数。
  • 错误响应 (500): 内部服务器错误。

4. 搜索实例 V2

  • 描述: 使用 MySQL 数据库搜索符合条件的 AWS 实例。
  • 路径: POST /search-instances-v2
  • 方法: POST
  • 请求体: InstanceSearchRequestV2
  • 成功响应 (200): 匹配的实例列表。
  • 错误响应 (500): 内部服务器错误。

5. 比较价格

  • 描述: 比较多种实例配置的价格。
  • 路径: POST /compare-prices
  • 方法: POST
  • 请求体: PriceComparison
  • 成功响应 (200): 包含配置及其计算价格的列表。
  • 错误响应 (500): 内部服务器错误。

数据模型

InstanceSearchRequest

字段 类型 描述 默认值
cpu_cores integer CPU 核心数 (optional)
memory_gb float 内存 (GB) (optional)
disk_gb integer 磁盘大小 (GB) (optional)
region string 区域 (optional)
operating_system string 操作系统 "Linux"
platform string 云平台 "aws"

InstanceSearchRequestV2

字段 类型 描述 默认值
cpu_cores integer CPU 核心数 (optional)
memory_gb float 内存 (GB) (optional)
disk_gb integer 磁盘大小 (GB) (optional)
region string 区域 (optional)
operating_system string 操作系统 "Linux"

PriceComparison

字段 类型 描述
configurations List[PriceRequest] 价格请求配置列表

PriceRequest

字段 类型 描述 默认值
instance_type string 实例类型 (required)
region string 区域 (required)
operating_system string 操作系统 (required)
purchase_option string 购买选项 (required)
duration integer 持续时间 1
disk_gb integer 磁盘大小 (GB) 0