Documentation
¶
Index ¶
- type BindInfo
- type Charge
- type ChargeDuration
- type ChargeSpec
- type Cluster
- type ClusterLayer
- type CreateDiagnosticTaskResult
- type DiagnosticResult
- type DiagnosticResultDetail
- type DiagnosticTaskSpec
- type Gpu
- type Instance
- type InstanceChargeSpec
- type InstanceInfo
- type InstanceLayer
- type InstanceNetworkInterface
- type InstanceNetworkInterfaceAttachment
- type InstanceNetworkInterfaceAttachmentSpec
- type InstanceSpec
- type InstanceType
- type InstanceTypeState
- type LocalDisk
- type Metadata
- type NetworkInterfacePrivateIp
- type NetworkInterfaceSpec
- type NetworkTopology
- type PackageInfo
- type PodLayer
- type Quota
- type Rdma
- type RdmaNetworkInterface
- type SuLayer
- type TaskFinishedSpec
- type Userdata
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Charge ¶
type Charge struct {
/* 支付模式,取值为:prePaid表示预付费,默认为prePaid (Optional) */
ChargeMode string `json:"chargeMode"`
/* 费用支付状态,取值为:normal、overdue、arrear,normal表示正常,overdue表示已到期,arrear表示欠费 (Optional) */
ChargeStatus string `json:"chargeStatus"`
/* 计费开始时间,遵循ISO8601标准,使用UTC时间,格式为:YYYY-MM-DDTHH:mm:ssZ (Optional) */
ChargeStartTime string `json:"chargeStartTime"`
/* 过期时间,预付费资源的到期时间,遵循ISO8601标准,使用UTC时间,格式为:YYYY-MM-DDTHH:mm:ssZ,后付费资源此字段内容为空 (Optional) */
ChargeExpiredTime string `json:"chargeExpiredTime"`
/* 预期释放时间,资源的预期释放时间,预付费/后付费资源均有此值,遵循ISO8601标准,使用UTC时间,格式为:YYYY-MM-DDTHH:mm:ssZ (Optional) */
ChargeRetireTime string `json:"chargeRetireTime"`
}
type ChargeDuration ¶
type ChargeDuration struct {
/* 地域 (Optional) */
Region string `json:"region"`
/* 购买周期 (Optional) */
ChargeDuration string `json:"chargeDuration"`
/* 开始时间 (Optional) */
StartTime string `json:"startTime"`
/* 过期时间 (Optional) */
ExpireTime string `json:"expireTime"`
/* 创建时间 (Optional) */
CreateTime string `json:"createTime"`
/* 更新时间 (Optional) */
UpdateTime string `json:"updateTime"`
}
type ChargeSpec ¶
type ChargeSpec struct {
/* 计费模式,取值为:prepaid_by_duration 表示预付费 */
ChargeMode string `json:"chargeMode"`
/* 费用支付状态,取值为:normal、overdue、arrear,normal表示正常,overdue表示已到期,arrear表示欠费 (Optional) */
ChargeStatus string `json:"chargeStatus"`
/* 计费开始时间,遵循ISO8601标准,使用UTC时间,格式为:YYYY-MM-DDTHH:mm:ssZ (Optional) */
ChargeStartTime string `json:"chargeStartTime"`
/* 过期时间,预付费资源的到期时间,遵循ISO8601标准,使用UTC时间,格式为:YYYY-MM-DDTHH:mm:ssZ,后付费资源此字段内容为空 (Optional) */
ChargeExpiredTime string `json:"chargeExpiredTime"`
/* 预期释放时间,资源的预期释放时间,预付费/后付费资源均有此值,遵循ISO8601标准,使用UTC时间,格式为:YYYY-MM-DDTHH:mm:ssZ (Optional) */
ChargeRetireTime string `json:"chargeRetireTime"`
}
type Cluster ¶
type Cluster struct {
/* az (Optional) */
Az string `json:"az"`
/* 可用区类型 (Optional) */
AzType string `json:"azType"`
/* 实例网络集群Id (Optional) */
HpcClusterId string `json:"hpcClusterId"`
/* 实例网络集群名称 (Optional) */
HpcClusterName string `json:"hpcClusterName"`
/* 实例所属网络拓扑的PodIds (Optional) */
PodIds string `json:"podIds"`
/* 实例所属网络拓扑的SuIds (Optional) */
SuIds string `json:"suIds"`
/* 创建时间 (Optional) */
CreateTime string `json:"createTime"`
/* 更新时间 (Optional) */
UpdateTime string `json:"updateTime"`
}
type ClusterLayer ¶
type DiagnosticResult ¶
type DiagnosticResult struct {
/* 诊断任务ID。 (Optional) */
DiagnosticId string `json:"diagnosticId"`
/* 诊断目标节点ID列表。 (Optional) */
NodeIds []string `json:"nodeIds"`
/* 集群ID。 (Optional) */
ClusterId string `json:"clusterId"`
/* 诊断类型。 (Optional) */
DiagnosticType string `json:"diagnosticType"`
/* 诊断任务状态。 (Optional) */
DiagnosticState string `json:"diagnosticState"`
/* 创建时间,RFC3339 格式(UTC+8)。 (Optional) */
CreatedTime string `json:"createdTime"`
/* 结束时间,RFC3339 格式(UTC+8)。 (Optional) */
EndTime string `json:"endTime"`
}
type DiagnosticResultDetail ¶
type DiagnosticResultDetail struct {
/* 诊断任务ID。 (Optional) */
DiagnosticId string `json:"diagnosticId"`
/* 诊断目标节点ID列表。 (Optional) */
NodeIds []string `json:"nodeIds"`
/* 集群ID。 (Optional) */
ClusterId string `json:"clusterId"`
/* 诊断类型。 (Optional) */
DiagnosticType string `json:"diagnosticType"`
/* 诊断任务状态。 (Optional) */
DiagnosticState string `json:"diagnosticState"`
/* 诊断结果详情。
返回结构为动态对象,不同 `diagnosticType` 的结构可能不同。
当 `diagnosticType` 为 `HPCHealthCheck` 时,返回结构为:
- 顶层为按节点分组的对象(`key` 为节点ID,通常对应 `resourceId`)。
- 每个节点对应一个结果数组,数组元素对象包含以下字段:
- `serialNumber`:序号(integer)
- `diagnosticItem`:诊断项名称(string)
- `diagnosticResult`:诊断结论(string)
- `description`:诊断项描述(string)
- `node`:节点ID(string)
- `checkValue`:检测值(任意类型)
- `diagnosticStatus`:诊断状态(string)
- 枚举值:`pass`、`failed`、`ok`、`诊断通过`、`诊断失败`
- 说明:若配置了状态映射规则,可能返回中文映射值(如 `诊断通过`)
示例:
{
"node-1": [
{
"serialNumber": 1,
"diagnosticItem": "GPU",
"diagnosticResult": "所有的GPU在线",
"description": "GPU 在线检查",
"node": "node-1",
"checkValue": 8,
"diagnosticStatus": "诊断通过"
}
]
}
(Optional) */
DiagnosticResults interface{} `json:"diagnosticResults"`
/* 创建时间,RFC3339 格式(UTC+8)。 (Optional) */
CreatedTime string `json:"createdTime"`
/* 结束时间,RFC3339 格式(UTC+8)。 (Optional) */
EndTime string `json:"endTime"`
}
type DiagnosticTaskSpec ¶
type DiagnosticTaskSpec struct {
/* 集群ID。 (Optional) */
ClusterId *string `json:"clusterId"`
/* 诊断目标节点ID列表。 */
NodeIds []string `json:"nodeIds"`
/* 诊断类型。
当前支持:`HPCHealthCheck`。
*/
DiagnosticType string `json:"diagnosticType"`
/* 诊断参数。参数结构由 `diagnosticType` 决定。 (Optional) */
Params *interface{} `json:"params"`
}
type Instance ¶
type Instance struct {
/* 实例ID (Optional) */
InstanceId string `json:"instanceId"`
/* 实例名称 (Optional) */
InstanceName string `json:"instanceName"`
/* 主机名 (Optional) */
HostName string `json:"hostName"`
/* 实例状态 (Optional) */
Status string `json:"status"`
/* 地域 (Optional) */
Region string `json:"region"`
/* 可用区 (Optional) */
Az string `json:"az"`
/* 实例网络集群Id (Optional) */
HpcClusterId string `json:"hpcClusterId"`
/* 实例网络集群名称 (Optional) */
HpcClusterName string `json:"hpcClusterName"`
/* 安装包ID (Optional) */
PackageId string `json:"packageId"`
/* 操作系统类型 (Optional) */
OsType string `json:"osType"`
/* 操作系统版本 (Optional) */
OsVersion string `json:"osVersion"`
/* 实例规格 (Optional) */
InstanceType string `json:"instanceType"`
/* 系统盘配置。 (Optional) */
SystemDisk vm.InstanceDiskAttachment `json:"systemDisk"`
/* 数据盘配置列表。 (Optional) */
DataDisks []vm.InstanceDiskAttachment `json:"dataDisks"`
/* RDMA网卡配置列表。 (Optional) */
RdmaNetworkInterfaces []RdmaNetworkInterface `json:"rdmaNetworkInterfaces"`
/* 主网卡所属VPC的ID (Optional) */
VpcId string `json:"vpcId"`
/* 主网卡所属子网的ID (Optional) */
SubnetId string `json:"subnetId"`
/* 主网卡的主内网IP地址 (Optional) */
PrivateIpAddress string `json:"privateIpAddress"`
/* 主网卡主IP绑定的公网IP的ID (Optional) */
ElasticIpId string `json:"elasticIpId"`
/* 主网卡主IP绑定的公网IP的地址 (Optional) */
ElasticIpAddress string `json:"elasticIpAddress"`
/* 主网卡主IP关联的弹性公网IP配置。 (Optional) */
PrimaryNetworkInterface InstanceNetworkInterfaceAttachment `json:"primaryNetworkInterface"`
/* 实例创建时间 (Optional) */
LaunchTime string `json:"launchTime"`
/* 计费配置。
实例不支持按用量方式计费,如果计费配置为空,则按照包年包月计费方式处理。
(Optional) */
Charge ChargeSpec `json:"charge"`
/* 实例操作系统平台,取值:ubuntu、openEuler、centos、rocky。 (Optional) */
Platform string `json:"platform"`
/* 启动方式,取值:bios、uefi。 (Optional) */
BootMode string `json:"bootMode"`
/* 架构,取值:x86_64、arm64。 (Optional) */
Architecture string `json:"architecture"`
/* 装机进度,取值范围:[0,100]。 (Optional) */
Progress int `json:"progress"`
}
type InstanceChargeSpec ¶
type InstanceChargeSpec struct {
/* 计费模式,取值为:prepaid_by_duration 表示预付费 */
ChargeMode string `json:"chargeMode"`
/* 预付费计费单位,当chargeMode为prepaid_by_duration时有效,取值为:week,month,year。 (Optional) */
ChargeUnit *string `json:"chargeUnit"`
/* 预付费计费时长,当chargeMode取值为prepaid_by_duration时有效。默认取值1年,灰度用户支持week和month的购买周期。 (Optional) */
ChargeDuration *int `json:"chargeDuration"`
/* 自动续费。true为开通自动续费,false为不开通自动续费,默认为false,仅对包年包月资源有效。开通后,将以本次创建时的购买时长作为自动续费周期,自动续费周期可在续费管理功能中进行修改。 (Optional) */
AutoRenew *bool `json:"autoRenew"`
}
type InstanceInfo ¶
type InstanceLayer ¶
type InstanceLayer struct {
/* 类型 (Optional) */
LayerType string `json:"layerType"`
/* 实例Id (Optional) */
InstanceId string `json:"instanceId"`
/* 实例名称 (Optional) */
InstanceName string `json:"instanceName"`
/* 主机名 (Optional) */
HostName string `json:"hostName"`
/* 主网卡的主内网IP地址 (Optional) */
PrivateIpAddress string `json:"privateIpAddress"`
/* 主网卡所属VPC的ID (Optional) */
VpcId string `json:"vpcId"`
/* 实例规格 (Optional) */
InstanceType string `json:"instanceType"`
}
type InstanceNetworkInterface ¶
type InstanceNetworkInterface struct {
/* 弹性网卡ID。 (Optional) */
NetworkInterfaceId string `json:"networkInterfaceId"`
/* 弹性网卡MAC地址。 (Optional) */
MacAddress string `json:"macAddress"`
/* 弹性网卡所属VPC的ID。 (Optional) */
VpcId string `json:"vpcId"`
/* 子网ID。 (Optional) */
SubnetId string `json:"subnetId"`
/* 网卡主IP配置。 (Optional) */
PrimaryIp NetworkInterfacePrivateIp `json:"primaryIp"`
}
type InstanceNetworkInterfaceAttachment ¶
type InstanceNetworkInterfaceAttachment struct {
/* 网卡设备Index。创建实例时此参数无须指定且指定无效。对于主网卡默认Index为1。
(Optional) */
DeviceIndex int `json:"deviceIndex"`
/* 是否随实例一起删除。
`true`:随实例删除。
`false`(默认值):不随实例删除。
(Optional) */
AutoDelete bool `json:"autoDelete"`
/* 网卡设备详细配置。 (Optional) */
NetworkInterface InstanceNetworkInterface `json:"networkInterface"`
}
type InstanceNetworkInterfaceAttachmentSpec ¶
type InstanceNetworkInterfaceAttachmentSpec struct {
/* 网卡设备Index。创建实例时此参数无须指定且指定无效。对于主网卡默认Index为1。
(Optional) */
DeviceIndex *int `json:"deviceIndex"`
/* 是否随实例一起删除。
`true`:随实例删除。
`false`(默认值):不随实例删除。
(Optional) */
AutoDelete *bool `json:"autoDelete"`
/* 网卡设备详细配置。 (Optional) */
NetworkInterface *NetworkInterfaceSpec `json:"networkInterface"`
}
type InstanceSpec ¶
type InstanceSpec struct {
/* 可用区 (Optional) */
Az *string `json:"az"`
/* 实例规格 (Optional) */
InstanceType *string `json:"instanceType"`
/* 安装包ID (Optional) */
PackageId *string `json:"packageId"`
/* 实例名称。长度为2~128个字符,只允许中文、数字、大小写字母、英文下划线(_)、连字符(-) (Optional) */
Name *string `json:"name"`
/* 实例hostname。若不指定hostname,则默认以实例名称 name 作为hostname,但是会以RFC 952和RFC 1123命名规范做一定转义 (Optional) */
HostName *string `json:"hostName"`
/* 实例密码。可用于SSH登录和VNC登录,长度为8-30个字符,必须同时包含大、小写英文字母、数字和特殊符号中的三类字符。特殊符号包括:\(\)\`~!@#$%^&\*\_-+=\|{}\[ ]:";'<>,.?/
(Optional) */
Password *string `json:"password"`
/* 主网卡配置。
(Optional) */
PrimaryNetworkInterface *InstanceNetworkInterfaceAttachmentSpec `json:"primaryNetworkInterface"`
/* 计费配置。
(Optional) */
Charge *InstanceChargeSpec `json:"charge"`
/* 自定义脚本。目前仅支持启动脚本,即 `launch-script`,须 `base64` 编码且编码前数据长度不能超过16KB。
**linux系统**:支持 `bash` 和 `python`,编码前须分别以 `#!/bin/bash` 和 `#!/usr/bin/env python` 作为内容首行。
(Optional) */
Userdata []Userdata `json:"userdata"`
/* 用户自定义元数据。以key-value键值对形式指定,可在实例系统内通过元数据服务查询获取。最多支持40对键值对,且key不超过256字符,value不超过16KB,不区分大小写。
注意:key不要以连字符(-)结尾,否则此key不生效。
(Optional) */
Metadata []Metadata `json:"metadata"`
/* 指定是否在创建计算实例时跳过GPU驱动的自动安装流程。当该参数设置为:`true`(默认值):系统将自动为实例安装适配的GPU驱动程序;`false`:系统将不执行GPU驱动安装操作,用户需自行完成驱动的安装配置。
注意事项:该参数仅对配备GPU的计算实例规格生效,若实例未配置GPU硬件则此参数不产生实际效果。建议在需要定制化驱动版本或使用特殊驱动场景时开启此参数
(Optional) */
InstallGpuDriver *bool `json:"installGpuDriver"`
/* 传入指定调度的su列表:如果参数中的su不在用户配置的数据库su列表中,则禁止调度;传入的参数没有指定su列表时:1.用户数据库中配置了su,则走配置的su调度;2.用户未配置su则进行默认调度策略 (Optional) */
Su []string `json:"su"`
/* 实例网络集群Id (Optional) */
HpcClusterId *string `json:"hpcClusterId"`
/* 实例网络集群名称 (Optional) */
HpcClusterName *string `json:"hpcClusterName"`
}
type InstanceType ¶
type InstanceType struct {
/* 实例规格族。 (Optional) */
Family string `json:"family"`
/* 实例规格。 (Optional) */
InstanceType string `json:"instanceType"`
/* cpu个数。 (Optional) */
Cpu int `json:"cpu"`
/* 系统架构。取值范围:`x86_64、arm64`。 (Optional) */
Architecture string `json:"architecture"`
/* 内存大小,单位:MB。 (Optional) */
MemoryMB int `json:"memoryMB"`
/* 支持绑定的弹性网卡数量,包括主网卡。 (Optional) */
NicLimit int `json:"nicLimit"`
/* 实例规格描述。 (Optional) */
Description string `json:"description"`
/* 是否禁用弹性公网IP。 (Optional) */
ForbiddenElasticIp bool `json:"forbiddenElasticIp"`
/* 实例规格售卖状态,已售罄的实例规格无法使用。 (Optional) */
State []InstanceTypeState `json:"state"`
/* RDMA配置,针对HPC类型的实例规格有效。 (Optional) */
Rdma Rdma `json:"rdma"`
/* 实例规格代数。 (Optional) */
Generation int `json:"generation"`
/* 本地数据盘配置(缓存盘),针对GPU类型、或本地存储型的实例规格有效。 (Optional) */
LocalDisks []LocalDisk `json:"localDisks"`
}
type InstanceTypeState ¶
type NetworkInterfaceSpec ¶
type NetworkInterfaceSpec struct {
/* 子网ID */
SubnetId string `json:"subnetId"`
/* 可用区,用户的默认可用区,该参数无效,不建议使用 (Optional) */
Az *string `json:"az"`
/* 网卡名称,只允许输入中文、数字、大小写字母、英文下划线“_”及中划线“-”,不允许为空且不超过32字符。 (Optional) */
NetworkInterfaceName *string `json:"networkInterfaceName"`
/* 网卡主IP,如果不指定,会自动从子网中分配 (Optional) */
PrimaryIpAddress *string `json:"primaryIpAddress"`
/* SecondaryIp列表 (Optional) */
SecondaryIpAddresses []string `json:"secondaryIpAddresses"`
/* 自动分配的SecondaryIp数量 (Optional) */
SecondaryIpCount *int `json:"secondaryIpCount"`
/* 指定分配的网段掩码长度, 支持24-28位掩码长度,不能与secondaryIpCount同时指定,不支持抢占重分配。该参数依赖子网的预分配网段。 (Optional) */
SecondaryIpMaskLen *int `json:"secondaryIpMaskLen"`
/* 描述,允许输入UTF-8编码下的全部字符,不超过256字符 (Optional) */
Description *string `json:"description"`
}
type NetworkTopology ¶
type NetworkTopology struct {
/* 网络拓扑层级cluster信息 (Optional) */
ClusterLayers []ClusterLayer `json:"clusterLayers"`
}
type PackageInfo ¶
type PackageInfo struct {
/* 安装包ID (Optional) */
PackageId string `json:"packageId"`
/* 安装包名称 (Optional) */
PackageName string `json:"packageName"`
/* 安装包的操作系统类型 (Optional) */
OsType string `json:"osType"`
/* 安装包的操作系统版本 (Optional) */
OsVersion string `json:"osVersion"`
/* 操作系统架构, 可选值:x86_64、arm64
(Optional) */
Architecture string `json:"architecture"`
/* 描述信息 (Optional) */
Description string `json:"description"`
/* 安装包创建时间 (Optional) */
CreateTime string `json:"createTime"`
}
type RdmaNetworkInterface ¶
type RdmaNetworkInterface struct {
/* 名称 (Optional) */
Name string `json:"name"`
/* rdma网卡ID (Optional) */
PortId string `json:"portId"`
/* RDMA网卡GUID,当RDMA网卡为IB类型时有意义。 (Optional) */
Guid string `json:"guid"`
/* RDMA网卡MAC地址。 (Optional) */
MacAddress string `json:"macAddress"`
/* RDMA网卡IP地址。 (Optional) */
IpAddress []string `json:"ipAddress"`
/* 网卡应用场景,取值:compute、storage。 (Optional) */
Scene string `json:"scene"`
}
type SuLayer ¶
type SuLayer struct {
/* 类型 (Optional) */
LayerType string `json:"layerType"`
/* 层级Id(预留字段,目前值同name) (Optional) */
Id string `json:"id"`
/* 层级name (Optional) */
Name string `json:"name"`
/* 网络拓扑层级instance信息 (Optional) */
InstanceLayers []InstanceLayer `json:"instanceLayers"`
}
type TaskFinishedSpec ¶
type TaskFinishedSpec struct {
/* 错误信息 (Optional) */
ErrorMsg *string `json:"errorMsg"`
/* 事件类型 */
EventType string `json:"eventType"`
/* 流水线示例 ID */
InstanceID string `json:"instanceID"`
/* 标准输出 (Optional) */
Stdout *string `json:"stdout"`
/* 任务UID
in: path */
TaskID string `json:"taskID"`
/* */
TaskStatus string `json:"taskStatus"`
/* 用户变量 (Optional) */
UserVars *interface{} `json:"userVars"`
}
Source Files
¶
- BindInfo.go
- Charge.go
- ChargeDuration.go
- ChargeSpec.go
- Cluster.go
- ClusterLayer.go
- CreateDiagnosticTaskResult.go
- DiagnosticResult.go
- DiagnosticResultDetail.go
- DiagnosticTaskSpec.go
- Gpu.go
- Instance.go
- InstanceChargeSpec.go
- InstanceInfo.go
- InstanceLayer.go
- InstanceNetworkInterface.go
- InstanceNetworkInterfaceAttachment.go
- InstanceNetworkInterfaceAttachmentSpec.go
- InstanceSpec.go
- InstanceType.go
- InstanceTypeState.go
- LocalDisk.go
- Metadata.go
- NetworkInterfacePrivateIp.go
- NetworkInterfaceSpec.go
- NetworkTopology.go
- PackageInfo.go
- PodLayer.go
- Quota.go
- Rdma.go
- RdmaNetworkInterface.go
- SuLayer.go
- TaskFinishedSpec.go
- Userdata.go
Click to show internal directories.
Click to hide internal directories.