paistudio-20220112/main.tea (4,598 lines of code) (raw):
/**
*
*/
import Util;
import OpenApi;
import OpenApiUtil;
import EndpointUtil;
extends OpenApi;
init(config: OpenApi.Config){
super(config);
@endpointRule = 'regional';
@endpointMap = {
'cn-beijing' = 'pai.cn-beijing.aliyuncs.com',
'cn-hangzhou' = 'pai.cn-hangzhou.aliyuncs.com',
'cn-shanghai' = 'pai.cn-shanghai.aliyuncs.com',
'cn-shenzhen' = 'pai.cn-shenzhen.aliyuncs.com',
'cn-hongkong' = 'pai.cn-hongkong.aliyuncs.com',
'ap-southeast-1' = 'pai.ap-southeast-1.aliyuncs.com',
'ap-southeast-2' = 'pai.ap-southeast-2.aliyuncs.com',
'ap-southeast-3' = 'pai.ap-southeast-3.aliyuncs.com',
'ap-southeast-5' = 'pai.ap-southeast-5.aliyuncs.com',
'us-west-1' = 'pai.us-west-1.aliyuncs.com',
'us-east-1' = 'pai.us-east-1.aliyuncs.com',
'eu-central-1' = 'pai.eu-central-1.aliyuncs.com',
'me-east-1' = 'pai.me-east-1.aliyuncs.com',
'ap-south-1' = 'pai.ap-south-1.aliyuncs.com',
'cn-qingdao' = 'pai.cn-qingdao.aliyuncs.com',
'cn-zhangjiakou' = 'pai.cn-zhangjiakou.aliyuncs.com',
};
checkConfig(config);
@endpoint = getEndpoint('paistudio', @regionId, @endpointRule, @network, @suffix, @endpointMap, @endpoint);
}
function getEndpoint(productId: string, regionId: string, endpointRule: string, network: string, suffix: string, endpointMap: map[string]string, endpoint: string) throws: string{
if (!Util.empty(endpoint)) {
return endpoint;
}
if (!Util.isUnset(endpointMap) && !Util.empty(endpointMap[regionId])) {
return endpointMap[regionId];
}
return EndpointUtil.getEndpointRules(productId, regionId, endpointRule, network, suffix);
}
model ACS {
ACSQuotaId?: string(name='ACSQuotaId'),
associatedProducts?: [ string ](name='AssociatedProducts'),
}
model Action {
actionType?: string(name='ActionType'),
}
model AlgorithmSpec {
codeDir?: Location(name='CodeDir'),
command?: [ string ](name='Command', description='This parameter is required.'),
computeResource?: {
policy?: {
value?: string(name='Value', description='This parameter is required.'),
version?: string(name='Version', description='This parameter is required.'),
}(name='Policy', description='This parameter is required.'),
}(name='ComputeResource'),
customization?: {
codeDir?: boolean(name='CodeDir'),
}(name='Customization'),
hyperParameters?: [
HyperParameterDefinition
](name='HyperParameters'),
image?: string(name='Image', description='This parameter is required.'),
inputChannels?: [
Channel
](name='InputChannels'),
jobType?: string(name='JobType', description='This parameter is required.'),
metricDefinitions?: [
MetricDefinition
](name='MetricDefinitions'),
outputChannels?: [
Channel
](name='OutputChannels'),
progressDefinitions?: {
overallProgress?: {
description?: string(name='Description'),
regex?: string(name='Regex'),
}(name='OverallProgress'),
remainingTime?: {
description?: string(name='Description'),
regex?: string(name='Regex'),
}(name='RemainingTime'),
}(name='ProgressDefinitions'),
resourceRequirements?: [
ConditionExpression
](name='ResourceRequirements'),
supportedInstanceTypes?: [ string ](name='SupportedInstanceTypes'),
supportsDistributedTraining?: boolean(name='SupportsDistributedTraining'),
}
model AllocateStrategySpec {
nodeSpecs?: [
NodeSpec
](name='NodeSpecs'),
}
model BindingPolicy {
excludeNodes?: [ string ](name='ExcludeNodes'),
includeNodes?: [ string ](name='IncludeNodes'),
nodeSpecCount?: long(name='NodeSpecCount', example='5'),
}
model Channel {
description?: string(name='Description'),
name?: string(name='Name', description='This parameter is required.'),
properties?: map[string]any(name='Properties'),
required?: boolean(name='Required'),
supportedChannelTypes?: [ string ](name='SupportedChannelTypes'),
}
model ChannelProperty {
name?: string(name='Name', description='This parameter is required.', example='SKlearn'),
value?: string(name='Value', description='This parameter is required.', example='Framework'),
}
model ComponentSpec {
codeDir?: Location(name='CodeDir'),
command?: string(name='Command', description='This parameter is required.'),
hyperParameters?: [
HyperParameterDefinition
](name='HyperParameters'),
image?: string(name='Image', description='This parameter is required.'),
inputChannels?: [
Channel
](name='InputChannels'),
jobType?: string(name='JobType', description='This parameter is required.'),
metricDefinitions?: [
MetricDefinition
](name='MetricDefinitions'),
outputChannels?: [
Channel
](name='OutputChannels'),
resourceRequirements?: [
ConditionExpression
](name='ResourceRequirements'),
}
model ConditionExpression {
key?: string(name='Key', description='This parameter is required.', example='SupportedMachineTypes'),
operator?: string(name='Operator', description='This parameter is required.', example='in'),
values?: [ string ](name='Values', description='This parameter is required.'),
}
model Features {
quota?: {
isEnabled?: boolean(name='IsEnabled', example='true'),
}(name='Quota'),
}
model ForwardInfo {
eipAllocationId?: string(name='EipAllocationId'),
natGatewayId?: string(name='NatGatewayId'),
}
model GPUInfo {
count?: long(name='count'),
type?: string(name='type'),
}
model GPUMetric {
index?: long(name='Index'),
model?: string(name='Model'),
status?: long(name='Status', example='0:异常;1:正常'),
usageRate?: float(name='UsageRate'),
}
model HyperParameterDefinition {
defaultValue?: string(name='DefaultValue'),
description?: string(name='Description'),
displayName?: string(name='DisplayName'),
name?: string(name='Name', description='This parameter is required.'),
range?: HyperParameterRange(name='Range'),
required?: boolean(name='Required'),
type?: string(name='Type', description='This parameter is required.'),
}
model HyperParameterRange {
enum?: [ string ](name='Enum'),
exclusiveMaximum?: boolean(name='ExclusiveMaximum'),
exclusiveMinimum?: boolean(name='ExclusiveMinimum'),
maxLength?: long(name='MaxLength'),
maximum?: string(name='Maximum'),
minLength?: long(name='MinLength'),
minimum?: string(name='Minimum'),
pattern?: string(name='Pattern'),
}
model JobSettings {
advancedSettings?: map[string]any(name='AdvancedSettings'),
businessUserId?: string(name='BusinessUserId', example='166924'),
caller?: string(name='Caller', example='SilkFlow'),
driver?: string(name='Driver', example='535.54.03'),
enableErrorMonitoringInAIMaster?: boolean(name='EnableErrorMonitoringInAIMaster', example='false'),
enableOssAppend?: boolean(name='EnableOssAppend', example='true'),
enableRDMA?: boolean(name='EnableRDMA', example='true'),
enableSanityCheck?: boolean(name='EnableSanityCheck', example='true'),
enableTideResource?: boolean(name='EnableTideResource', example='true'),
errorMonitoringArgs?: string(name='ErrorMonitoringArgs', example='--enable-log-hang-detection true'),
jobReservedMinutes?: int32(name='JobReservedMinutes', example='30'),
jobReservedPolicy?: string(name='JobReservedPolicy', example='Always'),
oversoldType?: string(name='OversoldType', example='AcceptQuotaOverSold'),
pipelineId?: string(name='PipelineId', example='pid-123456'),
sanityCheckArgs?: string(name='SanityCheckArgs', example='--sanity-check-timing=AfterJobFaultTolerant --sanity-check-timeout-ops=MarkJobFai'),
tags?: map[string]string(name='Tags'),
}
model JobViewMetric {
CPUUsageRate?: string(name='CPUUsageRate'),
diskReadRate?: string(name='DiskReadRate'),
diskWriteRate?: string(name='DiskWriteRate'),
GPUUsageRate?: string(name='GPUUsageRate'),
jobId?: string(name='JobId'),
jobType?: string(name='JobType'),
memoryUsageRate?: string(name='MemoryUsageRate'),
networkInputRate?: string(name='NetworkInputRate'),
networkOutputRate?: string(name='NetworkOutputRate'),
nodeNames?: [ string ](name='NodeNames'),
requestCPU?: int32(name='RequestCPU'),
requestGPU?: int32(name='RequestGPU'),
requestMemory?: long(name='RequestMemory'),
resourceGroupID?: string(name='ResourceGroupID', example='rg17tmvwiokhzaxg'),
totalCPU?: int32(name='TotalCPU'),
totalGPU?: int32(name='TotalGPU'),
totalMemory?: long(name='TotalMemory'),
userId?: string(name='UserId'),
}
model Label {
key?: string(name='Key'),
value?: string(name='Value'),
}
model Location {
locationType?: string(name='LocationType'),
locationValue?: map[string]any(name='LocationValue'),
}
model MachineGroup {
creatorID?: string(name='CreatorID'),
defaultDriver?: string(name='DefaultDriver', example='470.199.02'),
ecsCount?: long(name='EcsCount'),
ecsSpec?: string(name='EcsSpec'),
gmtCreatedTime?: string(name='GmtCreatedTime'),
gmtExpiredTime?: string(name='GmtExpiredTime'),
gmtModifiedTime?: string(name='GmtModifiedTime'),
gmtStartedTime?: string(name='GmtStartedTime'),
machineGroupID?: string(name='MachineGroupID', example='mg1'),
orderInstanceId?: string(name='OrderInstanceId'),
paymentDuration?: string(name='PaymentDuration'),
paymentDurationUnit?: string(name='PaymentDurationUnit'),
paymentType?: string(name='PaymentType'),
reasonCode?: string(name='ReasonCode'),
reasonMessage?: string(name='ReasonMessage'),
resourceGroupID?: string(name='ResourceGroupID'),
status?: string(name='Status'),
supportedDrivers?: [ string ](name='SupportedDrivers'),
}
model Metric {
time?: long(name='Time', example='rg17tmvwiokhzaxg'),
value?: string(name='Value', example='23000'),
}
model MetricDefinition {
description?: string(name='Description', example='train dataset oob score'),
name?: string(name='Name', description='This parameter is required.', example='train:oob_score'),
regex?: string(name='Regex', description='This parameter is required.', example='.*train:oob_score=([-+]?[0-9]*\\\\.?[0-9]+(?:[eE][-+]?[0-9]+)?).*'),
}
model Node {
acceleratorType?: string(name='AcceleratorType'),
boundQuotas?: [
QuotaIdName
](name='BoundQuotas'),
CPU?: string(name='CPU'),
creatorId?: string(name='CreatorId'),
GPU?: string(name='GPU'),
GPUMemory?: string(name='GPUMemory'),
GPUType?: string(name='GPUType'),
gmtCreateTime?: string(name='GmtCreateTime'),
gmtExpiredTime?: string(name='GmtExpiredTime'),
gmtModifiedTime?: string(name='GmtModifiedTime'),
isBound?: boolean(name='IsBound'),
limitCPU?: string(name='LimitCPU'),
limitGPU?: string(name='LimitGPU'),
limitMemory?: string(name='LimitMemory'),
machineGroupId?: string(name='MachineGroupId'),
memory?: string(name='Memory'),
nodeName?: string(name='NodeName'),
nodeStatus?: string(name='NodeStatus'),
nodeType?: string(name='NodeType'),
orderStatus?: string(name='OrderStatus'),
podNum?: long(name='PodNum'),
reasonCode?: string(name='ReasonCode'),
reasonMessage?: string(name='ReasonMessage'),
requestCPU?: string(name='RequestCPU'),
requestGPU?: string(name='RequestGPU'),
requestMemory?: string(name='RequestMemory'),
resourceGroupId?: string(name='ResourceGroupId'),
resourceGroupName?: string(name='ResourceGroupName'),
users?: [
UserInfo
](name='Users'),
workloadNum?: long(name='WorkloadNum'),
}
model NodeGPUMetric {
acceleratorType?: string(name='AcceleratorType'),
GPUCount?: int32(name='GPUCount'),
GPUMetrics?: [
GPUMetric
](name='GPUMetrics'),
GPUType?: string(name='GPUType'),
memoryUtil?: float(name='MemoryUtil'),
nodeId?: string(name='NodeId'),
nodeType?: string(name='NodeType'),
totalMemory?: float(name='TotalMemory'),
usedMemory?: float(name='UsedMemory'),
}
model NodeMetric {
GPUType?: string(name='GPUType'),
metrics?: [
Metric
](name='Metrics', example='23000'),
nodeID?: string(name='NodeID', example='-i121212node'),
}
model NodeOperationResult {
message?: string(name='Message'),
nodeName?: string(name='NodeName'),
status?: string(name='Status'),
}
model NodePodInfo {
phase?: string(name='Phase', example='Running'),
podIP?: string(name='PodIP', example='192.168.2.2'),
podName?: string(name='PodName', example='test'),
podNamespace?: string(name='PodNamespace', example='test'),
resourceSpec?: ResourceAmount(name='ResourceSpec'),
workloadId?: string(name='WorkloadId', example='dlc19de9s6vn3acr'),
workloadType?: string(name='WorkloadType', example='dlc'),
}
model NodeSnapshot {
ancestorQuotaWorkloadNum?: int32(name='AncestorQuotaWorkloadNum'),
descendantQuotaWorkloadNum?: int32(name='DescendantQuotaWorkloadNum'),
nodeName?: string(name='NodeName'),
requestCPU?: string(name='RequestCPU'),
requestGPU?: string(name='RequestGPU'),
requestMemory?: string(name='RequestMemory'),
selfQuotaWorkloadNum?: int32(name='SelfQuotaWorkloadNum'),
workloadNum?: int32(name='WorkloadNum'),
workloads?: [
{
name?: string(name='Name'),
workloadId?: string(name='WorkloadId'),
workloadType?: string(name='WorkloadType'),
}
](name='Workloads'),
}
model NodeSpec {
bindingPolicy?: BindingPolicy(name='BindingPolicy'),
count?: long(name='Count', example='10'),
type?: string(name='Type', example='ecs.g6.4xlarge'),
}
model NodeType {
acceleratorType?: string(name='AcceleratorType', example='CPU'),
CPU?: string(name='CPU', example='16'),
GPU?: string(name='GPU', example='0'),
GPUMemory?: string(name='GPUMemory', example='80G'),
GPUType?: string(name='GPUType'),
memory?: string(name='Memory', example='64Gi'),
nodeType?: string(name='NodeType', example='ecs.g6.4xlarge'),
}
model NodeTypeStatistic {
canBeBoundCount?: int32(name='CanBeBoundCount', example='4'),
nodeType?: string(name='NodeType', example='ecs.g6.4xlarge'),
totalCount?: int32(name='TotalCount', example='10'),
}
model NodeViewMetric {
CPUUsageRate?: string(name='CPUUsageRate'),
createdTime?: string(name='CreatedTime'),
diskReadRate?: string(name='DiskReadRate'),
diskWriteRate?: string(name='DiskWriteRate'),
GPUType?: string(name='GPUType'),
machineGroupID?: string(name='MachineGroupID'),
memoryUsageRate?: string(name='MemoryUsageRate'),
networkInputRate?: string(name='NetworkInputRate'),
networkOutputRate?: string(name='NetworkOutputRate'),
nodeID?: string(name='NodeID', example='-i121212node'),
nodeStatus?: string(name='NodeStatus'),
nodeType?: string(name='NodeType'),
requestCPU?: long(name='RequestCPU'),
requestGPU?: long(name='RequestGPU'),
requestMemory?: long(name='RequestMemory'),
taskIdMap?: map[string]any(name='TaskIdMap'),
totalCPU?: long(name='TotalCPU'),
totalGPU?: long(name='TotalGPU'),
totalMemory?: long(name='TotalMemory'),
totalTasks?: long(name='TotalTasks'),
userIDs?: [ string ](name='UserIDs'),
userNumber?: string(name='UserNumber'),
}
model Permission {
isEnabled?: boolean(name='IsEnabled'),
resourceType?: string(name='ResourceType'),
}
model QueueInfo {
code?: string(name='Code', example='roleMaximumResource'),
codeType?: string(name='CodeType', example='ConfigRule'),
gmtCreatedTime?: string(name='GmtCreatedTime'),
gmtDequeuedTime?: string(name='GmtDequeuedTime', example='"2023-06-22T00:00:00Z"'),
gmtEnqueuedTime?: string(name='GmtEnqueuedTime', example='“2023-06-22T00:00:00Z”'),
gmtPositionModifiedTime?: string(name='GmtPositionModifiedTime', example='"2023-06-22T00:00:00Z"'),
name?: string(name='Name', example='test-label-79f5498dd-9qrzs'),
position?: long(name='Position', example='10'),
priority?: long(name='Priority', example='2'),
queueStrategy?: string(name='QueueStrategy', example='PaiStrategyIntelligent'),
quotaId?: string(name='QuotaId', example='“quotamtl37ge7gkvdz”'),
reason?: string(name='Reason', example='Current GPU Limit is 5, limited by Role PAI.AlgoDeveloper'),
resource?: ResourceAmount(name='Resource'),
status?: string(name='Status', example='Enqueued'),
userId?: string(name='UserId'),
userName?: string(name='UserName'),
workloadId?: string(name='WorkloadId', example='dlcxxxx'),
workloadName?: string(name='WorkloadName'),
workloadStatus?: string(name='WorkloadStatus', example='PreAllocation'),
workloadType?: string(name='WorkloadType', example='dlc'),
workspaceId?: string(name='WorkspaceId', example='“432524”'),
}
model Quota {
allocateStrategy?: string(name='AllocateStrategy'),
creatorId?: string(name='CreatorId'),
description?: string(name='Description'),
gmtCreatedTime?: string(name='GmtCreatedTime'),
gmtModifiedTime?: string(name='GmtModifiedTime'),
labels?: [
Label
](name='Labels'),
latestOperationId?: string(name='LatestOperationId'),
min?: ResourceSpec(name='Min'),
parentQuotaId?: string(name='ParentQuotaId'),
queueStrategy?: string(name='QueueStrategy'),
quotaConfig?: QuotaConfig(name='QuotaConfig'),
quotaDetails?: QuotaDetails(name='QuotaDetails'),
quotaId?: string(name='QuotaId', example='quota12345'),
quotaName?: string(name='QuotaName', example='dlc-quota'),
reasonCode?: string(name='ReasonCode'),
reasonMessage?: string(name='ReasonMessage'),
resourceGroupIds?: [ string ](name='ResourceGroupIds'),
resourceType?: string(name='ResourceType'),
status?: string(name='Status'),
subQuotas?: [
QuotaIdName
](name='SubQuotas'),
workspaces?: [
WorkspaceIdName
](name='Workspaces'),
}
model QuotaConfig {
ACS?: ACS(name='ACS'),
clusterId?: string(name='ClusterId', example='ceeb37xxxx'),
defaultGPUDriver?: string(name='DefaultGPUDriver', example='470.199.02'),
enablePreemptSubquotaWorkloads?: boolean(name='EnablePreemptSubquotaWorkloads'),
enableSubQuotaPreemption?: boolean(name='EnableSubQuotaPreemption'),
resourceSpecs?: [
WorkspaceSpecs
](name='ResourceSpecs'),
subQuotaPreemptionConfig?: SubQuotaPreemptionConfig(name='SubQuotaPreemptionConfig'),
supportGPUDrivers?: [ string ](name='SupportGPUDrivers'),
supportRDMA?: boolean(name='SupportRDMA', example='false'),
userVpc?: UserVpc(name='UserVpc'),
}
model QuotaDetails {
actualMinQuota?: ResourceAmount(name='ActualMinQuota'),
allocatedQuota?: ResourceAmount(name='AllocatedQuota'),
ancestorsAllocatedQuota?: ResourceAmount(name='AncestorsAllocatedQuota'),
descendantsAllocatedQuota?: ResourceAmount(name='DescendantsAllocatedQuota'),
desiredMinQuota?: ResourceAmount(name='DesiredMinQuota'),
requestedQuota?: ResourceAmount(name='RequestedQuota'),
selfAllocatedQuota?: ResourceAmount(name='SelfAllocatedQuota'),
usedQuota?: ResourceAmount(name='UsedQuota'),
}
model QuotaIdName {
quotaId?: string(name='QuotaId', example='quota12345'),
quotaName?: string(name='QuotaName', example='dlc-quota'),
}
model QuotaJob {
queuing?: long(name='Queuing'),
running?: long(name='Running'),
total?: long(name='Total'),
}
model QuotaJobViewMetric {
CPUUsageRate?: string(name='CPUUsageRate'),
diskReadRate?: string(name='DiskReadRate'),
diskWriteRate?: string(name='DiskWriteRate'),
GPUUsageRate?: string(name='GPUUsageRate'),
jobId?: string(name='JobId'),
jobType?: string(name='JobType'),
memoryUsageRate?: string(name='MemoryUsageRate'),
networkInputRate?: string(name='NetworkInputRate'),
networkOutputRate?: string(name='NetworkOutputRate'),
nodeNames?: [ string ](name='NodeNames'),
requestCPU?: int32(name='RequestCPU'),
requestGPU?: int32(name='RequestGPU'),
requestMemory?: long(name='RequestMemory'),
totalCPU?: int32(name='TotalCPU'),
totalGPU?: int32(name='TotalGPU'),
totalMemory?: long(name='TotalMemory'),
userId?: string(name='UserId'),
}
model QuotaMetric {
GPUType?: string(name='GPUType'),
metrics?: [
Metric
](name='Metrics', example='23000'),
}
model QuotaNodeViewMetric {
CPUUsageRate?: string(name='CPUUsageRate'),
createdTime?: string(name='CreatedTime'),
diskReadRate?: string(name='DiskReadRate'),
diskWriteRate?: string(name='DiskWriteRate'),
GPUType?: string(name='GPUType'),
memoryUsageRate?: string(name='MemoryUsageRate'),
networkInputRate?: string(name='NetworkInputRate'),
networkOutputRate?: string(name='NetworkOutputRate'),
nodeID?: string(name='NodeID', example='-i121212node'),
nodeStatus?: string(name='NodeStatus'),
nodeType?: string(name='NodeType'),
quotaId?: string(name='QuotaId'),
requestCPU?: long(name='RequestCPU'),
requestGPU?: long(name='RequestGPU'),
requestMemory?: long(name='RequestMemory'),
taskIdMap?: map[string]any(name='TaskIdMap'),
totalCPU?: long(name='TotalCPU'),
totalGPU?: long(name='TotalGPU'),
totalMemory?: long(name='TotalMemory'),
totalTasks?: long(name='TotalTasks'),
userIDs?: [ string ](name='UserIDs'),
userNumber?: string(name='UserNumber'),
}
model QuotaTopo {
depth?: string(name='Depth'),
parentQuotaId?: string(name='ParentQuotaId'),
quotaDetails?: QuotaDetails(name='QuotaDetails'),
quotaId?: string(name='QuotaId'),
quotaName?: string(name='QuotaName'),
resourceType?: string(name='ResourceType'),
workloadDetails?: WorkloadDetails(name='WorkloadDetails'),
}
model QuotaUser {
resources?: {
submitted?: ResourceAmount(name='Submitted'),
used?: ResourceAmount(name='Used'),
}(name='Resources'),
userId?: string(name='UserId'),
username?: string(name='Username'),
workloadCount?: int32(name='WorkloadCount'),
}
model QuotaUserViewMetric {
CPUNodeNumber?: int32(name='CPUNodeNumber'),
CPUUsageRate?: string(name='CPUUsageRate'),
cpuJobNames?: [ string ](name='CpuJobNames'),
cpuNodeNames?: [ string ](name='CpuNodeNames'),
diskReadRate?: string(name='DiskReadRate'),
diskWriteRate?: string(name='DiskWriteRate'),
GPUNodeNumber?: int32(name='GPUNodeNumber'),
GPUUsageRate?: string(name='GPUUsageRate'),
gpuJobNames?: [ string ](name='GpuJobNames'),
gpuNodeNames?: [ string ](name='GpuNodeNames'),
jobType?: string(name='JobType'),
memoryUsageRate?: string(name='MemoryUsageRate'),
networkInputRate?: string(name='NetworkInputRate'),
networkOutputRate?: string(name='NetworkOutputRate'),
nodeNames?: [ string ](name='NodeNames'),
requestCPU?: int32(name='RequestCPU'),
requestGPU?: int32(name='RequestGPU'),
requestMemory?: long(name='RequestMemory'),
totalCPU?: int32(name='TotalCPU'),
totalGPU?: int32(name='TotalGPU'),
totalMemory?: long(name='TotalMemory'),
userId?: string(name='UserId'),
}
model ResourceAmount {
CPU?: string(name='CPU', example='100'),
GPU?: string(name='GPU', example='16'),
GPUType?: string(name='GPUType', example='GPU'),
memory?: string(name='Memory', example='100Gi'),
}
model ResourceDiagnosisDetail {
exceedResources?: [ string ](name='ExceedResources'),
limit?: ResourceAmount(name='Limit'),
status?: string(name='Status'),
used?: ResourceAmount(name='Used'),
workloadIds?: [ string ](name='WorkloadIds'),
}
model ResourceGroup {
creatorID?: string(name='CreatorID'),
gmtCreatedTime?: string(name='GmtCreatedTime'),
gmtModifiedTime?: string(name='GmtModifiedTime'),
name?: string(name='Name', example='RG1'),
nodeCount?: int32(name='NodeCount'),
resourceGroupID?: string(name='ResourceGroupID', example='rg17tmvwiokhzaxg'),
userVpc?: UserVpc(name='UserVpc'),
workspaceID?: string(name='WorkspaceID', example='23000'),
}
model ResourceGroupMetric {
gpuType?: string(name='GpuType'),
metrics?: [
Metric
](name='Metrics', example='23000'),
resourceGroupID?: string(name='ResourceGroupID', example='rg17tmvwiokhzaxg'),
}
model ResourceLimitDetails {
GCLevel?: string(name='GCLevel'),
resourceLimit?: map[string]any(name='ResourceLimit'),
shouldIgnoreResourceCheck?: boolean(name='ShouldIgnoreResourceCheck'),
}
model ResourceOperation {
creatorId?: string(name='CreatorId'),
gmtCreatedTime?: string(name='GmtCreatedTime'),
gmtEndTime?: string(name='GmtEndTime'),
gmtModifiedTime?: string(name='GmtModifiedTime'),
gmtStartTime?: string(name='GmtStartTime'),
objectId?: string(name='ObjectId'),
objectType?: string(name='ObjectType'),
operationDescription?: string(name='OperationDescription'),
operationId?: string(name='OperationId'),
operationSpecJson?: string(name='OperationSpecJson'),
operationType?: string(name='OperationType'),
reasonCode?: string(name='ReasonCode'),
reasonMessage?: string(name='ReasonMessage'),
status?: string(name='Status'),
}
model ResourceSpec {
nodeSpecs?: [
NodeSpec
](name='NodeSpecs'),
}
model Rules {
scheduling?: SchedulingRule(name='Scheduling'),
}
model SchedulingRule {
cronTab?: string(name='CronTab', nullable=true),
endAt?: string(name='EndAt', nullable=true),
executeOnce?: boolean(name='ExecuteOnce', nullable=true),
startAt?: string(name='StartAt', nullable=true),
}
model SpotPriceItem {
instanceType?: string(name='InstanceType', example='ml.gu8xf.8xlarge-gu108'),
spotDiscount?: float(name='SpotDiscount', example='0.1'),
timestamp?: string(name='Timestamp', example='2024-01-17T06:00:00Z'),
zoneId?: string(name='ZoneId', example='cn-wulanchabu-a'),
}
model SpotStockPreview {
instanceType?: string(name='InstanceType', example='ml.gu8xf.8xlarge-gu108'),
spotDiscount?: float(name='SpotDiscount', example='0.1'),
stockStatus?: string(name='StockStatus', example='WithStock'),
}
model SubQuotaPreemptionConfig {
preemptedPriorityUpperBound?: long(name='PreemptedPriorityUpperBound', example='9'),
preemptedProducts?: [ string ](name='PreemptedProducts'),
}
model Task {
actions?: [
Action
](name='Actions'),
description?: string(name='Description'),
gmtActivatedTime?: string(name='GmtActivatedTime'),
gmtCreatedTime?: string(name='GmtCreatedTime'),
gmtModifiedTime?: string(name='GmtModifiedTime'),
gmtStoppedTime?: string(name='GmtStoppedTime'),
quotaId?: string(name='QuotaId'),
rules?: Rules(name='Rules'),
status?: string(name='Status'),
taskId?: string(name='TaskId'),
taskName?: string(name='TaskName'),
userId?: string(name='UserId'),
userName?: string(name='UserName'),
}
model TaskInstance {
gmtCreatedTime?: string(name='GmtCreatedTime'),
gmtEndTime?: string(name='GmtEndTime'),
status?: string(name='Status'),
taskId?: string(name='TaskId'),
taskInstanceId?: string(name='TaskInstanceId'),
tenantId?: string(name='TenantId'),
userId?: string(name='UserId'),
}
model TaskInstanceEvent {
gmtEndTime?: string(name='GmtEndTime'),
gmtStartTime?: string(name='GmtStartTime'),
message?: string(name='Message'),
podName?: string(name='PodName'),
status?: string(name='Status'),
workloadType?: string(name='WorkloadType'),
}
model TimeRangeFilter {
endTime?: string(name='EndTime', example='2023-06-22T00:00:00Z'),
startTime?: string(name='StartTime', example='2023-06-22T00:00:00Z'),
}
model UnschedulableNodeDetail {
nodes?: [ string ](name='Nodes'),
reason?: string(name='Reason'),
}
model UserInfo {
userId?: string(name='UserId'),
userName?: string(name='UserName'),
}
model UserQuotaPermission {
permissions?: [ string ](name='Permissions'),
quotaId?: string(name='QuotaId'),
}
model UserViewMetric {
CPUNodeNumber?: int32(name='CPUNodeNumber'),
CPUUsageRate?: string(name='CPUUsageRate'),
cpuJobNames?: [ string ](name='CpuJobNames'),
cpuNodeNames?: [ string ](name='CpuNodeNames'),
diskReadRate?: string(name='DiskReadRate'),
diskWriteRate?: string(name='DiskWriteRate'),
GPUNodeNumber?: int32(name='GPUNodeNumber'),
GPUUsageRate?: string(name='GPUUsageRate'),
gpuJobNames?: [ string ](name='GpuJobNames'),
gpuNodeNames?: [ string ](name='GpuNodeNames'),
jobType?: string(name='JobType'),
memoryUsageRate?: string(name='MemoryUsageRate'),
networkInputRate?: string(name='NetworkInputRate'),
networkOutputRate?: string(name='NetworkOutputRate'),
nodeNames?: [ string ](name='NodeNames'),
requestCPU?: int32(name='RequestCPU'),
requestGPU?: int32(name='RequestGPU'),
requestMemory?: long(name='RequestMemory'),
resourceGroupId?: string(name='ResourceGroupId', example='rg17tmvwiokhzaxg'),
totalCPU?: int32(name='TotalCPU'),
totalGPU?: int32(name='TotalGPU'),
totalMemory?: long(name='TotalMemory'),
userId?: string(name='UserId'),
}
model UserVpc {
defaultForwardInfo?: ForwardInfo(name='DefaultForwardInfo'),
defaultRoute?: string(name='DefaultRoute'),
extendedCIDRs?: [ string ](name='ExtendedCIDRs'),
roleArn?: string(name='RoleArn'),
securityGroupId?: string(name='SecurityGroupId'),
switchId?: string(name='SwitchId'),
vpcId?: string(name='VpcId'),
}
model WorkloadDetails {
DLC?: QuotaJob(name='DLC'),
DSW?: QuotaJob(name='DSW'),
EAS?: QuotaJob(name='EAS'),
summary?: QuotaJob(name='Summary'),
}
model WorkspaceIdName {
workspaceId?: string(name='WorkspaceId', example='ws123456'),
}
model WorkspaceSpec {
code?: string(name='Code'),
codeType?: string(name='CodeType'),
isGuaranteedValid?: boolean(name='IsGuaranteedValid'),
isOverSoldValid?: boolean(name='IsOverSoldValid'),
reason?: string(name='Reason'),
spec?: ResourceAmount(name='Spec'),
specName?: string(name='SpecName'),
}
model WorkspaceSpecs {
product?: string(name='Product'),
specs?: [
WorkspaceSpec
](name='Specs'),
workspaceId?: string(name='WorkspaceId'),
}
model CheckInstanceWebTerminalRequest {
checkInfo?: string(name='CheckInfo', example='wss://pai-dlc-proxy-cn-shanghai.aliyun.com/terminal/t1157703270994901/dlcmjzjt1dxbmx4h/dlcmjzjt1dxbmx4h-worker-0?Token=******'),
}
model CheckInstanceWebTerminalResponseBody = {
requestId?: string(name='RequestId', example='F2D0392B-D749-5C48-A98A-3FAE5C9444A6'),
}
model CheckInstanceWebTerminalResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: CheckInstanceWebTerminalResponseBody(name='body'),
}
/**
* @summary 检查WebTerminal
*
* @param request CheckInstanceWebTerminalRequest
* @param headers map
* @param runtime runtime options for this request RuntimeOptions
* @return CheckInstanceWebTerminalResponse
*/
async function checkInstanceWebTerminalWithOptions(TrainingJobId: string, InstanceId: string, request: CheckInstanceWebTerminalRequest, headers: map[string]string, runtime: Util.RuntimeOptions): CheckInstanceWebTerminalResponse {
Util.validateModel(request);
var body : map[string]any = {};
if (!Util.isUnset(request.checkInfo)) {
body['CheckInfo'] = request.checkInfo;
}
var req = new OpenApi.OpenApiRequest{
headers = headers,
body = OpenApiUtil.parseToMap(body),
};
var params = new OpenApi.Params{
action = 'CheckInstanceWebTerminal',
version = '2022-01-12',
protocol = 'HTTPS',
pathname = `/api/v1/trainingjobs/${OpenApiUtil.getEncodeParam(TrainingJobId)}/instances/${OpenApiUtil.getEncodeParam(InstanceId)}/webterminals/action/check`,
method = 'POST',
authType = 'AK',
style = 'ROA',
reqBodyType = 'json',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @summary 检查WebTerminal
*
* @param request CheckInstanceWebTerminalRequest
* @return CheckInstanceWebTerminalResponse
*/
async function checkInstanceWebTerminal(TrainingJobId: string, InstanceId: string, request: CheckInstanceWebTerminalRequest): CheckInstanceWebTerminalResponse {
var runtime = new Util.RuntimeOptions{};
var headers : map[string]string = {};
return checkInstanceWebTerminalWithOptions(TrainingJobId, InstanceId, request, headers, runtime);
}
model CreateAlgorithmRequest {
algorithmDescription?: string(name='AlgorithmDescription'),
algorithmName?: string(name='AlgorithmName', example='llm_training'),
displayName?: string(name='DisplayName'),
workspaceId?: string(name='WorkspaceId', example='12345'),
}
model CreateAlgorithmResponseBody = {
algorithmId?: string(name='AlgorithmId', example='algo-xsldfvu1334'),
requestId?: string(name='RequestId', example='E7C42CC7-2E85-508A-84F4-923B605FD10F'),
}
model CreateAlgorithmResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: CreateAlgorithmResponseBody(name='body'),
}
/**
* @summary 创建新的算法
*
* @param request CreateAlgorithmRequest
* @param headers map
* @param runtime runtime options for this request RuntimeOptions
* @return CreateAlgorithmResponse
*/
async function createAlgorithmWithOptions(request: CreateAlgorithmRequest, headers: map[string]string, runtime: Util.RuntimeOptions): CreateAlgorithmResponse {
Util.validateModel(request);
var body : map[string]any = {};
if (!Util.isUnset(request.algorithmDescription)) {
body['AlgorithmDescription'] = request.algorithmDescription;
}
if (!Util.isUnset(request.algorithmName)) {
body['AlgorithmName'] = request.algorithmName;
}
if (!Util.isUnset(request.displayName)) {
body['DisplayName'] = request.displayName;
}
if (!Util.isUnset(request.workspaceId)) {
body['WorkspaceId'] = request.workspaceId;
}
var req = new OpenApi.OpenApiRequest{
headers = headers,
body = OpenApiUtil.parseToMap(body),
};
var params = new OpenApi.Params{
action = 'CreateAlgorithm',
version = '2022-01-12',
protocol = 'HTTPS',
pathname = `/api/v1/algorithms`,
method = 'POST',
authType = 'AK',
style = 'ROA',
reqBodyType = 'formData',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @summary 创建新的算法
*
* @param request CreateAlgorithmRequest
* @return CreateAlgorithmResponse
*/
async function createAlgorithm(request: CreateAlgorithmRequest): CreateAlgorithmResponse {
var runtime = new Util.RuntimeOptions{};
var headers : map[string]string = {};
return createAlgorithmWithOptions(request, headers, runtime);
}
model CreateAlgorithmVersionRequest {
algorithmSpec?: AlgorithmSpec(name='AlgorithmSpec'),
}
model CreateAlgorithmVersionShrinkRequest {
algorithmSpecShrink?: string(name='AlgorithmSpec'),
}
model CreateAlgorithmVersionResponseBody = {
algorithmId?: string(name='AlgorithmId', example='algo-xsldfvu1334'),
algorithmVersion?: string(name='AlgorithmVersion', example='v0.0.1'),
}
model CreateAlgorithmVersionResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: CreateAlgorithmVersionResponseBody(name='body'),
}
/**
* @summary 创建一个新的算法版本
*
* @param tmpReq CreateAlgorithmVersionRequest
* @param headers map
* @param runtime runtime options for this request RuntimeOptions
* @return CreateAlgorithmVersionResponse
*/
async function createAlgorithmVersionWithOptions(AlgorithmId: string, AlgorithmVersion: string, tmpReq: CreateAlgorithmVersionRequest, headers: map[string]string, runtime: Util.RuntimeOptions): CreateAlgorithmVersionResponse {
Util.validateModel(tmpReq);
var request = new CreateAlgorithmVersionShrinkRequest{};
OpenApiUtil.convert(tmpReq, request);
if (!Util.isUnset(tmpReq.algorithmSpec)) {
request.algorithmSpecShrink = OpenApiUtil.arrayToStringWithSpecifiedStyle(tmpReq.algorithmSpec, 'AlgorithmSpec', 'json');
}
var body : map[string]any = {};
if (!Util.isUnset(request.algorithmSpecShrink)) {
body['AlgorithmSpec'] = request.algorithmSpecShrink;
}
var req = new OpenApi.OpenApiRequest{
headers = headers,
body = OpenApiUtil.parseToMap(body),
};
var params = new OpenApi.Params{
action = 'CreateAlgorithmVersion',
version = '2022-01-12',
protocol = 'HTTPS',
pathname = `/api/v1/algorithms/${OpenApiUtil.getEncodeParam(AlgorithmId)}/versions/${OpenApiUtil.getEncodeParam(AlgorithmVersion)}`,
method = 'POST',
authType = 'AK',
style = 'ROA',
reqBodyType = 'formData',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @summary 创建一个新的算法版本
*
* @param request CreateAlgorithmVersionRequest
* @return CreateAlgorithmVersionResponse
*/
async function createAlgorithmVersion(AlgorithmId: string, AlgorithmVersion: string, request: CreateAlgorithmVersionRequest): CreateAlgorithmVersionResponse {
var runtime = new Util.RuntimeOptions{};
var headers : map[string]string = {};
return createAlgorithmVersionWithOptions(AlgorithmId, AlgorithmVersion, request, headers, runtime);
}
model CreateInstanceWebTerminalResponseBody = {
requestId?: string(name='RequestId', example='473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'),
webTerminalId?: string(name='WebTerminalId', example='wss://pai-dlc-proxy-cn-shanghai.aliyun.com/terminal/t1157703270994901/dlcmjzjt1dxbmx4h/dlcmjzjt1dxbmx4h-worker-0?Token=******'),
}
model CreateInstanceWebTerminalResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: CreateInstanceWebTerminalResponseBody(name='body'),
}
/**
* @summary 创建WebTerminal
*
* @param headers map
* @param runtime runtime options for this request RuntimeOptions
* @return CreateInstanceWebTerminalResponse
*/
async function createInstanceWebTerminalWithOptions(TrainingJobId: string, InstanceId: string, headers: map[string]string, runtime: Util.RuntimeOptions): CreateInstanceWebTerminalResponse {
var req = new OpenApi.OpenApiRequest{
headers = headers,
};
var params = new OpenApi.Params{
action = 'CreateInstanceWebTerminal',
version = '2022-01-12',
protocol = 'HTTPS',
pathname = `/api/v1/trainingjobs/${OpenApiUtil.getEncodeParam(TrainingJobId)}/instances/${OpenApiUtil.getEncodeParam(InstanceId)}/webterminals`,
method = 'POST',
authType = 'AK',
style = 'ROA',
reqBodyType = 'json',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @summary 创建WebTerminal
*
* @return CreateInstanceWebTerminalResponse
*/
async function createInstanceWebTerminal(TrainingJobId: string, InstanceId: string): CreateInstanceWebTerminalResponse {
var runtime = new Util.RuntimeOptions{};
var headers : map[string]string = {};
return createInstanceWebTerminalWithOptions(TrainingJobId, InstanceId, headers, runtime);
}
model CreateQuotaRequest {
allocateStrategy?: string(name='AllocateStrategy', example='ByNodeSpecs'),
description?: string(name='Description', example='this is a test quota'),
labels?: [
Label
](name='Labels'),
min?: ResourceSpec(name='Min'),
parentQuotaId?: string(name='ParentQuotaId', example='quota1ci8g793pgm'),
queueStrategy?: string(name='QueueStrategy', example='PaiStrategyIntelligent', nullable=true),
quotaConfig?: QuotaConfig(name='QuotaConfig'),
quotaName?: string(name='QuotaName', example='test-quota'),
resourceGroupIds?: [ string ](name='ResourceGroupIds'),
resourceType?: string(name='ResourceType', example='ECS'),
}
model CreateQuotaResponseBody = {
quotaId?: string(name='QuotaId', description='Quota Id', example='quotad2kd8ljpsno'),
requestId?: string(name='RequestId', example='CBF05F13-B24C-5129-9048-4FA684DCD579'),
}
model CreateQuotaResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: CreateQuotaResponseBody(name='body'),
}
/**
* @summary 创建Quota
*
* @param request CreateQuotaRequest
* @param headers map
* @param runtime runtime options for this request RuntimeOptions
* @return CreateQuotaResponse
*/
async function createQuotaWithOptions(request: CreateQuotaRequest, headers: map[string]string, runtime: Util.RuntimeOptions): CreateQuotaResponse {
Util.validateModel(request);
var body : map[string]any = {};
if (!Util.isUnset(request.allocateStrategy)) {
body['AllocateStrategy'] = request.allocateStrategy;
}
if (!Util.isUnset(request.description)) {
body['Description'] = request.description;
}
if (!Util.isUnset(request.labels)) {
body['Labels'] = request.labels;
}
if (!Util.isUnset(request.min)) {
body['Min'] = request.min;
}
if (!Util.isUnset(request.parentQuotaId)) {
body['ParentQuotaId'] = request.parentQuotaId;
}
if (!Util.isUnset(request.queueStrategy)) {
body['QueueStrategy'] = request.queueStrategy;
}
if (!Util.isUnset(request.quotaConfig)) {
body['QuotaConfig'] = request.quotaConfig;
}
if (!Util.isUnset(request.quotaName)) {
body['QuotaName'] = request.quotaName;
}
if (!Util.isUnset(request.resourceGroupIds)) {
body['ResourceGroupIds'] = request.resourceGroupIds;
}
if (!Util.isUnset(request.resourceType)) {
body['ResourceType'] = request.resourceType;
}
var req = new OpenApi.OpenApiRequest{
headers = headers,
body = OpenApiUtil.parseToMap(body),
};
var params = new OpenApi.Params{
action = 'CreateQuota',
version = '2022-01-12',
protocol = 'HTTPS',
pathname = `/api/v1/quotas`,
method = 'POST',
authType = 'AK',
style = 'ROA',
reqBodyType = 'json',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @summary 创建Quota
*
* @param request CreateQuotaRequest
* @return CreateQuotaResponse
*/
async function createQuota(request: CreateQuotaRequest): CreateQuotaResponse {
var runtime = new Util.RuntimeOptions{};
var headers : map[string]string = {};
return createQuotaWithOptions(request, headers, runtime);
}
model CreateResourceGroupRequest {
computingResourceProvider?: string(name='ComputingResourceProvider', example='Ecs'),
description?: string(name='Description', example='test_api_report'),
name?: string(name='Name', example='testResourceGroup'),
resourceType?: string(name='ResourceType', example='Ecs'),
tag?: [
{
key?: string(name='Key', example='TestKey'),
value?: string(name='Value', example='TestValue'),
}
](name='Tag'),
userVpc?: UserVpc(name='UserVpc'),
}
model CreateResourceGroupResponseBody = {
requestId?: string(name='RequestId', example='18D5A1C6-14B8-545E-8408-0A7DDB4C6B5E'),
resourceGroupID?: string(name='ResourceGroupID', description='ResourceGroup ID。', example='rgf0zhfqn1d4ity2'),
}
model CreateResourceGroupResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: CreateResourceGroupResponseBody(name='body'),
}
/**
* @summary 创建资源组
*
* @param request CreateResourceGroupRequest
* @param headers map
* @param runtime runtime options for this request RuntimeOptions
* @return CreateResourceGroupResponse
*/
async function createResourceGroupWithOptions(request: CreateResourceGroupRequest, headers: map[string]string, runtime: Util.RuntimeOptions): CreateResourceGroupResponse {
Util.validateModel(request);
var body : map[string]any = {};
if (!Util.isUnset(request.computingResourceProvider)) {
body['ComputingResourceProvider'] = request.computingResourceProvider;
}
if (!Util.isUnset(request.description)) {
body['Description'] = request.description;
}
if (!Util.isUnset(request.name)) {
body['Name'] = request.name;
}
if (!Util.isUnset(request.resourceType)) {
body['ResourceType'] = request.resourceType;
}
if (!Util.isUnset(request.tag)) {
body['Tag'] = request.tag;
}
if (!Util.isUnset(request.userVpc)) {
body['UserVpc'] = request.userVpc;
}
var req = new OpenApi.OpenApiRequest{
headers = headers,
body = OpenApiUtil.parseToMap(body),
};
var params = new OpenApi.Params{
action = 'CreateResourceGroup',
version = '2022-01-12',
protocol = 'HTTPS',
pathname = `/api/v1/resources`,
method = 'POST',
authType = 'AK',
style = 'ROA',
reqBodyType = 'json',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @summary 创建资源组
*
* @param request CreateResourceGroupRequest
* @return CreateResourceGroupResponse
*/
async function createResourceGroup(request: CreateResourceGroupRequest): CreateResourceGroupResponse {
var runtime = new Util.RuntimeOptions{};
var headers : map[string]string = {};
return createResourceGroupWithOptions(request, headers, runtime);
}
model CreateTrainingJobRequest {
algorithmName?: string(name='AlgorithmName', example='ev_classification'),
algorithmProvider?: string(name='AlgorithmProvider', example='pai'),
algorithmSpec?: AlgorithmSpec(name='AlgorithmSpec'),
algorithmVersion?: string(name='AlgorithmVersion', example='v1.0.0'),
codeDir?: Location(name='CodeDir'),
computeResource?: {
ecsCount?: long(name='EcsCount', example='1'),
ecsSpec?: string(name='EcsSpec', example='ecs.gn5-c8g1.2xlarge'),
instanceCount?: long(name='InstanceCount', example='1'),
instanceSpec?: {
CPU?: string(name='CPU', example='8'),
GPU?: string(name='GPU', example='1'),
GPUType?: string(name='GPUType', example='V100'),
memory?: string(name='Memory', example='32'),
sharedMemory?: string(name='SharedMemory', example='32'),
}(name='InstanceSpec'),
resourceId?: string(name='ResourceId', example='quotam670lixikcs'),
spotSpec?: {
spotDiscountLimit?: float(name='SpotDiscountLimit', example='9'),
spotStrategy?: string(name='SpotStrategy', example='SpotWithPriceLimit'),
}(name='SpotSpec'),
useSpotInstance?: boolean(name='UseSpotInstance', example='true'),
}(name='ComputeResource'),
environments?: map[string]string(name='Environments'),
experimentConfig?: {
experimentId?: string(name='ExperimentId', example='exp-ds9aefia90v'),
}(name='ExperimentConfig'),
hyperParameters?: [
{
name?: string(name='Name', example='learning_rate'),
value?: string(name='Value', example='0.0001'),
}
](name='HyperParameters'),
inputChannels?: [
{
datasetId?: string(name='DatasetId', example='d-475megosidivjfgfq6'),
inputUri?: string(name='InputUri', example='oss://pai-quickstart-cn-hangzhou.oss-cn-hangzhou-internal.aliyuncs.com/modelscope/models/qwen2-0.5b/main/'),
name?: string(name='Name', example='model'),
options?: string(name='Options'),
versionName?: string(name='VersionName'),
}
](name='InputChannels'),
labels?: [
{
key?: string(name='Key', example='CreatedBy'),
value?: string(name='Value', example='QuickStart'),
}
](name='Labels'),
outputChannels?: [
{
datasetId?: string(name='DatasetId', example='d-475megosidivjfgfq6'),
name?: string(name='Name', example='model'),
outputUri?: string(name='OutputUri', example='oss://pai-quickstart-cn-hangzhou.oss-cn-hangzhou-internal.aliyuncs.com/modelscope/models/qwen2-0.5b/main/'),
versionName?: string(name='VersionName'),
}
](name='OutputChannels'),
priority?: int32(name='Priority'),
pythonRequirements?: [ string ](name='PythonRequirements'),
roleArn?: string(name='RoleArn', example='acs:ram::1157703270994901:role/aliyunserviceroleforpaiworkspace'),
scheduler?: {
maxRunningTimeInMinutes?: long(name='MaxRunningTimeInMinutes'),
maxRunningTimeInSeconds?: long(name='MaxRunningTimeInSeconds', example='0'),
}(name='Scheduler'),
settings?: JobSettings(name='Settings'),
trainingJobDescription?: string(name='TrainingJobDescription', example='qwen large language model training'),
trainingJobName?: string(name='TrainingJobName', description='This parameter is required.', example='qwen_llm'),
userVpc?: {
defaultRoute?: string(name='DefaultRoute', example='eth0'),
extendedCIDRs?: [ string ](name='ExtendedCIDRs'),
securityGroupId?: string(name='SecurityGroupId', example='sg-qdfasd13sdasf'),
switchId?: string(name='SwitchId', example='vs-icrc813vdsfol'),
vpcId?: string(name='VpcId', description='VPC ID。', example='vpc-dxiflssjx978sl'),
}(name='UserVpc'),
workspaceId?: string(name='WorkspaceId', description='This parameter is required.', example='12345'),
}
model CreateTrainingJobResponseBody = {
requestId?: string(name='RequestId', example='E7C42CC7-2E85-508A-84F4-923B605FD10F'),
trainingJobId?: string(name='TrainingJobId', example='traineyfz0m2hsfv'),
}
model CreateTrainingJobResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: CreateTrainingJobResponseBody(name='body'),
}
/**
* @summary 创建TrainingJob
*
* @param request CreateTrainingJobRequest
* @param headers map
* @param runtime runtime options for this request RuntimeOptions
* @return CreateTrainingJobResponse
*/
async function createTrainingJobWithOptions(request: CreateTrainingJobRequest, headers: map[string]string, runtime: Util.RuntimeOptions): CreateTrainingJobResponse {
Util.validateModel(request);
var body : map[string]any = {};
if (!Util.isUnset(request.algorithmName)) {
body['AlgorithmName'] = request.algorithmName;
}
if (!Util.isUnset(request.algorithmProvider)) {
body['AlgorithmProvider'] = request.algorithmProvider;
}
if (!Util.isUnset(request.algorithmSpec)) {
body['AlgorithmSpec'] = request.algorithmSpec;
}
if (!Util.isUnset(request.algorithmVersion)) {
body['AlgorithmVersion'] = request.algorithmVersion;
}
if (!Util.isUnset(request.codeDir)) {
body['CodeDir'] = request.codeDir;
}
if (!Util.isUnset(request.computeResource)) {
body['ComputeResource'] = request.computeResource;
}
if (!Util.isUnset(request.environments)) {
body['Environments'] = request.environments;
}
if (!Util.isUnset(request.experimentConfig)) {
body['ExperimentConfig'] = request.experimentConfig;
}
if (!Util.isUnset(request.hyperParameters)) {
body['HyperParameters'] = request.hyperParameters;
}
if (!Util.isUnset(request.inputChannels)) {
body['InputChannels'] = request.inputChannels;
}
if (!Util.isUnset(request.labels)) {
body['Labels'] = request.labels;
}
if (!Util.isUnset(request.outputChannels)) {
body['OutputChannels'] = request.outputChannels;
}
if (!Util.isUnset(request.priority)) {
body['Priority'] = request.priority;
}
if (!Util.isUnset(request.pythonRequirements)) {
body['PythonRequirements'] = request.pythonRequirements;
}
if (!Util.isUnset(request.roleArn)) {
body['RoleArn'] = request.roleArn;
}
if (!Util.isUnset(request.scheduler)) {
body['Scheduler'] = request.scheduler;
}
if (!Util.isUnset(request.settings)) {
body['Settings'] = request.settings;
}
if (!Util.isUnset(request.trainingJobDescription)) {
body['TrainingJobDescription'] = request.trainingJobDescription;
}
if (!Util.isUnset(request.trainingJobName)) {
body['TrainingJobName'] = request.trainingJobName;
}
if (!Util.isUnset(request.userVpc)) {
body['UserVpc'] = request.userVpc;
}
if (!Util.isUnset(request.workspaceId)) {
body['WorkspaceId'] = request.workspaceId;
}
var req = new OpenApi.OpenApiRequest{
headers = headers,
body = OpenApiUtil.parseToMap(body),
};
var params = new OpenApi.Params{
action = 'CreateTrainingJob',
version = '2022-01-12',
protocol = 'HTTPS',
pathname = `/api/v1/trainingjobs`,
method = 'POST',
authType = 'AK',
style = 'ROA',
reqBodyType = 'json',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @summary 创建TrainingJob
*
* @param request CreateTrainingJobRequest
* @return CreateTrainingJobResponse
*/
async function createTrainingJob(request: CreateTrainingJobRequest): CreateTrainingJobResponse {
var runtime = new Util.RuntimeOptions{};
var headers : map[string]string = {};
return createTrainingJobWithOptions(request, headers, runtime);
}
model DeleteAlgorithmResponseBody = {
requestId?: string(name='requestId', example='FFB1D4B4-B253-540A-9B3B-AA711C48A1B7'),
}
model DeleteAlgorithmResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: DeleteAlgorithmResponseBody(name='body'),
}
/**
* @summary 删除算法
*
* @param headers map
* @param runtime runtime options for this request RuntimeOptions
* @return DeleteAlgorithmResponse
*/
async function deleteAlgorithmWithOptions(AlgorithmId: string, headers: map[string]string, runtime: Util.RuntimeOptions): DeleteAlgorithmResponse {
var req = new OpenApi.OpenApiRequest{
headers = headers,
};
var params = new OpenApi.Params{
action = 'DeleteAlgorithm',
version = '2022-01-12',
protocol = 'HTTPS',
pathname = `/api/v1/algorithms/${OpenApiUtil.getEncodeParam(AlgorithmId)}`,
method = 'DELETE',
authType = 'AK',
style = 'ROA',
reqBodyType = 'json',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @summary 删除算法
*
* @return DeleteAlgorithmResponse
*/
async function deleteAlgorithm(AlgorithmId: string): DeleteAlgorithmResponse {
var runtime = new Util.RuntimeOptions{};
var headers : map[string]string = {};
return deleteAlgorithmWithOptions(AlgorithmId, headers, runtime);
}
model DeleteAlgorithmVersionResponseBody = {
requestId?: string(name='RequestId', example='F082BD0D-21E1-5F9B-81A0-AB07485B03CD'),
}
model DeleteAlgorithmVersionResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: DeleteAlgorithmVersionResponseBody(name='body'),
}
/**
* @summary 删除算法版本
*
* @param headers map
* @param runtime runtime options for this request RuntimeOptions
* @return DeleteAlgorithmVersionResponse
*/
async function deleteAlgorithmVersionWithOptions(AlgorithmId: string, AlgorithmVersion: string, headers: map[string]string, runtime: Util.RuntimeOptions): DeleteAlgorithmVersionResponse {
var req = new OpenApi.OpenApiRequest{
headers = headers,
};
var params = new OpenApi.Params{
action = 'DeleteAlgorithmVersion',
version = '2022-01-12',
protocol = 'HTTPS',
pathname = `/api/v1/algorithms/${OpenApiUtil.getEncodeParam(AlgorithmId)}/versions/${OpenApiUtil.getEncodeParam(AlgorithmVersion)}`,
method = 'DELETE',
authType = 'AK',
style = 'ROA',
reqBodyType = 'json',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @summary 删除算法版本
*
* @return DeleteAlgorithmVersionResponse
*/
async function deleteAlgorithmVersion(AlgorithmId: string, AlgorithmVersion: string): DeleteAlgorithmVersionResponse {
var runtime = new Util.RuntimeOptions{};
var headers : map[string]string = {};
return deleteAlgorithmVersionWithOptions(AlgorithmId, AlgorithmVersion, headers, runtime);
}
model DeleteMachineGroupResponseBody = {
machineGroupID?: string(name='MachineGroupID'),
requestId?: string(name='RequestId'),
}
model DeleteMachineGroupResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: DeleteMachineGroupResponseBody(name='body'),
}
/**
* @deprecated OpenAPI DeleteMachineGroup is deprecated
*
* @summary delete machine group
*
* @param headers map
* @param runtime runtime options for this request RuntimeOptions
* @return DeleteMachineGroupResponse
*/
// Deprecated
async function deleteMachineGroupWithOptions(MachineGroupID: string, headers: map[string]string, runtime: Util.RuntimeOptions): DeleteMachineGroupResponse {
var req = new OpenApi.OpenApiRequest{
headers = headers,
};
var params = new OpenApi.Params{
action = 'DeleteMachineGroup',
version = '2022-01-12',
protocol = 'HTTPS',
pathname = `/api/v1/resources/machinegroups/${OpenApiUtil.getEncodeParam(MachineGroupID)}`,
method = 'DELETE',
authType = 'AK',
style = 'ROA',
reqBodyType = 'json',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @deprecated OpenAPI DeleteMachineGroup is deprecated
*
* @summary delete machine group
*
* @return DeleteMachineGroupResponse
*/
// Deprecated
async function deleteMachineGroup(MachineGroupID: string): DeleteMachineGroupResponse {
var runtime = new Util.RuntimeOptions{};
var headers : map[string]string = {};
return deleteMachineGroupWithOptions(MachineGroupID, headers, runtime);
}
model DeleteQuotaResponseBody = {
quotaId?: string(name='QuotaId', description='Quota Id', example='quotamtl37ge7gkvdz'),
requestId?: string(name='RequestId', example='473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'),
}
model DeleteQuotaResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: DeleteQuotaResponseBody(name='body'),
}
/**
* @summary 删除Quota
*
* @param headers map
* @param runtime runtime options for this request RuntimeOptions
* @return DeleteQuotaResponse
*/
async function deleteQuotaWithOptions(QuotaId: string, headers: map[string]string, runtime: Util.RuntimeOptions): DeleteQuotaResponse {
var req = new OpenApi.OpenApiRequest{
headers = headers,
};
var params = new OpenApi.Params{
action = 'DeleteQuota',
version = '2022-01-12',
protocol = 'HTTPS',
pathname = `/api/v1/quotas/${OpenApiUtil.getEncodeParam(QuotaId)}`,
method = 'DELETE',
authType = 'AK',
style = 'ROA',
reqBodyType = 'json',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @summary 删除Quota
*
* @return DeleteQuotaResponse
*/
async function deleteQuota(QuotaId: string): DeleteQuotaResponse {
var runtime = new Util.RuntimeOptions{};
var headers : map[string]string = {};
return deleteQuotaWithOptions(QuotaId, headers, runtime);
}
model DeleteResourceGroupResponseBody = {
requestId?: string(name='RequestId', example='F082BD0D-21E1-5F9B-81A0-AB07485B03CD'),
resourceGroupID?: string(name='ResourceGroupID', example='rgvl9d6utwcscukh'),
}
model DeleteResourceGroupResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: DeleteResourceGroupResponseBody(name='body'),
}
/**
* @summary 删除资源组
*
* @param headers map
* @param runtime runtime options for this request RuntimeOptions
* @return DeleteResourceGroupResponse
*/
async function deleteResourceGroupWithOptions(ResourceGroupID: string, headers: map[string]string, runtime: Util.RuntimeOptions): DeleteResourceGroupResponse {
var req = new OpenApi.OpenApiRequest{
headers = headers,
};
var params = new OpenApi.Params{
action = 'DeleteResourceGroup',
version = '2022-01-12',
protocol = 'HTTPS',
pathname = `/api/v1/resources/${OpenApiUtil.getEncodeParam(ResourceGroupID)}`,
method = 'DELETE',
authType = 'AK',
style = 'ROA',
reqBodyType = 'json',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @summary 删除资源组
*
* @return DeleteResourceGroupResponse
*/
async function deleteResourceGroup(ResourceGroupID: string): DeleteResourceGroupResponse {
var runtime = new Util.RuntimeOptions{};
var headers : map[string]string = {};
return deleteResourceGroupWithOptions(ResourceGroupID, headers, runtime);
}
model DeleteResourceGroupMachineGroupResponseBody = {
machineGroupID?: string(name='MachineGroupID'),
requestId?: string(name='RequestId'),
}
model DeleteResourceGroupMachineGroupResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: DeleteResourceGroupMachineGroupResponseBody(name='body'),
}
/**
* @deprecated OpenAPI DeleteResourceGroupMachineGroup is deprecated
*
* @summary delete machine group
*
* @param headers map
* @param runtime runtime options for this request RuntimeOptions
* @return DeleteResourceGroupMachineGroupResponse
*/
// Deprecated
async function deleteResourceGroupMachineGroupWithOptions(MachineGroupID: string, ResourceGroupID: string, headers: map[string]string, runtime: Util.RuntimeOptions): DeleteResourceGroupMachineGroupResponse {
var req = new OpenApi.OpenApiRequest{
headers = headers,
};
var params = new OpenApi.Params{
action = 'DeleteResourceGroupMachineGroup',
version = '2022-01-12',
protocol = 'HTTPS',
pathname = `/api/v1/resources/${OpenApiUtil.getEncodeParam(ResourceGroupID)}/machinegroups/${OpenApiUtil.getEncodeParam(MachineGroupID)}`,
method = 'DELETE',
authType = 'AK',
style = 'ROA',
reqBodyType = 'json',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @deprecated OpenAPI DeleteResourceGroupMachineGroup is deprecated
*
* @summary delete machine group
*
* @return DeleteResourceGroupMachineGroupResponse
*/
// Deprecated
async function deleteResourceGroupMachineGroup(MachineGroupID: string, ResourceGroupID: string): DeleteResourceGroupMachineGroupResponse {
var runtime = new Util.RuntimeOptions{};
var headers : map[string]string = {};
return deleteResourceGroupMachineGroupWithOptions(MachineGroupID, ResourceGroupID, headers, runtime);
}
model DeleteTrainingJobResponseBody = {
requestId?: string(name='RequestId', example='4cc83062-9bcb-4ab3-979e-2e571a35834f'),
}
model DeleteTrainingJobResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: DeleteTrainingJobResponseBody(name='body'),
}
/**
* @summary 删除一个TrainingJob
*
* @param headers map
* @param runtime runtime options for this request RuntimeOptions
* @return DeleteTrainingJobResponse
*/
async function deleteTrainingJobWithOptions(TrainingJobId: string, headers: map[string]string, runtime: Util.RuntimeOptions): DeleteTrainingJobResponse {
var req = new OpenApi.OpenApiRequest{
headers = headers,
};
var params = new OpenApi.Params{
action = 'DeleteTrainingJob',
version = '2022-01-12',
protocol = 'HTTPS',
pathname = `/api/v1/trainingjobs/${OpenApiUtil.getEncodeParam(TrainingJobId)}`,
method = 'DELETE',
authType = 'AK',
style = 'ROA',
reqBodyType = 'json',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @summary 删除一个TrainingJob
*
* @return DeleteTrainingJobResponse
*/
async function deleteTrainingJob(TrainingJobId: string): DeleteTrainingJobResponse {
var runtime = new Util.RuntimeOptions{};
var headers : map[string]string = {};
return deleteTrainingJobWithOptions(TrainingJobId, headers, runtime);
}
model DeleteTrainingJobLabelsRequest {
keys?: string(name='Keys', description='This parameter is required.', example='RootModelID'),
}
model DeleteTrainingJobLabelsResponseBody = {
requestId?: string(name='RequestId', example='473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'),
}
model DeleteTrainingJobLabelsResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: DeleteTrainingJobLabelsResponseBody(name='body'),
}
/**
* @summary 删除TrainingJob的Labels
*
* @param request DeleteTrainingJobLabelsRequest
* @param headers map
* @param runtime runtime options for this request RuntimeOptions
* @return DeleteTrainingJobLabelsResponse
*/
async function deleteTrainingJobLabelsWithOptions(TrainingJobId: string, request: DeleteTrainingJobLabelsRequest, headers: map[string]string, runtime: Util.RuntimeOptions): DeleteTrainingJobLabelsResponse {
Util.validateModel(request);
var query : map[string]any = {};
if (!Util.isUnset(request.keys)) {
query['Keys'] = request.keys;
}
var req = new OpenApi.OpenApiRequest{
headers = headers,
query = OpenApiUtil.query(query),
};
var params = new OpenApi.Params{
action = 'DeleteTrainingJobLabels',
version = '2022-01-12',
protocol = 'HTTPS',
pathname = `/api/v1/trainingjobs/${OpenApiUtil.getEncodeParam(TrainingJobId)}/labels`,
method = 'DELETE',
authType = 'AK',
style = 'ROA',
reqBodyType = 'json',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @summary 删除TrainingJob的Labels
*
* @param request DeleteTrainingJobLabelsRequest
* @return DeleteTrainingJobLabelsResponse
*/
async function deleteTrainingJobLabels(TrainingJobId: string, request: DeleteTrainingJobLabelsRequest): DeleteTrainingJobLabelsResponse {
var runtime = new Util.RuntimeOptions{};
var headers : map[string]string = {};
return deleteTrainingJobLabelsWithOptions(TrainingJobId, request, headers, runtime);
}
model GetAlgorithmResponseBody = {
algorithmDescription?: string(name='AlgorithmDescription'),
algorithmId?: string(name='AlgorithmId', example='algo-xsldfvu1334'),
algorithmName?: string(name='AlgorithmName', example='llm_training'),
algorithmProvider?: string(name='AlgorithmProvider', example='pai'),
displayName?: string(name='DisplayName', example='llm_training'),
gmtCreateTime?: string(name='GmtCreateTime', example='2024-07-10T11:49:47Z'),
gmtModifiedTime?: string(name='GmtModifiedTime', example='2024-07-10T11:49:47Z'),
requestId?: string(name='RequestId', example='473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'),
tenantId?: string(name='TenantId', example='123456789'),
userId?: string(name='UserId', example='123456789'),
workspaceId?: string(name='WorkspaceId', example='12345'),
}
model GetAlgorithmResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: GetAlgorithmResponseBody(name='body'),
}
/**
* @summary 获取一个算法信息
*
* @param headers map
* @param runtime runtime options for this request RuntimeOptions
* @return GetAlgorithmResponse
*/
async function getAlgorithmWithOptions(AlgorithmId: string, headers: map[string]string, runtime: Util.RuntimeOptions): GetAlgorithmResponse {
var req = new OpenApi.OpenApiRequest{
headers = headers,
};
var params = new OpenApi.Params{
action = 'GetAlgorithm',
version = '2022-01-12',
protocol = 'HTTPS',
pathname = `/api/v1/algorithms/${OpenApiUtil.getEncodeParam(AlgorithmId)}`,
method = 'GET',
authType = 'AK',
style = 'ROA',
reqBodyType = 'json',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @summary 获取一个算法信息
*
* @return GetAlgorithmResponse
*/
async function getAlgorithm(AlgorithmId: string): GetAlgorithmResponse {
var runtime = new Util.RuntimeOptions{};
var headers : map[string]string = {};
return getAlgorithmWithOptions(AlgorithmId, headers, runtime);
}
model GetAlgorithmVersionResponseBody = {
algorithmId?: string(name='AlgorithmId', example='algo-xsldfvu1334'),
algorithmName?: string(name='AlgorithmName', example='llm_training'),
algorithmProvider?: string(name='AlgorithmProvider', example='pai'),
algorithmSpec?: AlgorithmSpec(name='AlgorithmSpec'),
algorithmVersion?: string(name='AlgorithmVersion', example='v0.0.1'),
gmtCreateTime?: string(name='GmtCreateTime', example='2024-07-10T11:49:47Z'),
gmtModifiedTime?: string(name='GmtModifiedTime', example='2024-07-10T11:49:47Z'),
tenantId?: string(name='TenantId', example='123456789'),
userId?: string(name='UserId', example='123456789'),
}
model GetAlgorithmVersionResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: GetAlgorithmVersionResponseBody(name='body'),
}
/**
* @summary 创建一个新的算法版本
*
* @param headers map
* @param runtime runtime options for this request RuntimeOptions
* @return GetAlgorithmVersionResponse
*/
async function getAlgorithmVersionWithOptions(AlgorithmId: string, AlgorithmVersion: string, headers: map[string]string, runtime: Util.RuntimeOptions): GetAlgorithmVersionResponse {
var req = new OpenApi.OpenApiRequest{
headers = headers,
};
var params = new OpenApi.Params{
action = 'GetAlgorithmVersion',
version = '2022-01-12',
protocol = 'HTTPS',
pathname = `/api/v1/algorithms/${OpenApiUtil.getEncodeParam(AlgorithmId)}/versions/${OpenApiUtil.getEncodeParam(AlgorithmVersion)}`,
method = 'GET',
authType = 'AK',
style = 'ROA',
reqBodyType = 'json',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @summary 创建一个新的算法版本
*
* @return GetAlgorithmVersionResponse
*/
async function getAlgorithmVersion(AlgorithmId: string, AlgorithmVersion: string): GetAlgorithmVersionResponse {
var runtime = new Util.RuntimeOptions{};
var headers : map[string]string = {};
return getAlgorithmVersionWithOptions(AlgorithmId, AlgorithmVersion, headers, runtime);
}
model GetMachineGroupResponseBody = {
count?: long(name='Count'),
defaultDriver?: string(name='DefaultDriver'),
duration?: string(name='Duration'),
ecsType?: string(name='EcsType'),
gmtCreated?: string(name='GmtCreated'),
gmtExpired?: string(name='GmtExpired'),
gmtModified?: string(name='GmtModified'),
gmtStarted?: string(name='GmtStarted'),
machineGroupID?: string(name='MachineGroupID'),
orderID?: string(name='OrderID'),
orderInstanceId?: string(name='OrderInstanceId'),
PAIResourceID?: string(name='PAIResourceID'),
payType?: string(name='PayType'),
pricingCycle?: string(name='PricingCycle'),
regionID?: string(name='RegionID'),
requestId?: string(name='RequestId'),
status?: string(name='Status'),
supportedDrivers?: [ string ](name='SupportedDrivers'),
}
model GetMachineGroupResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: GetMachineGroupResponseBody(name='body'),
}
/**
* @deprecated OpenAPI GetMachineGroup is deprecated
*
* @summary get machine group
*
* @param headers map
* @param runtime runtime options for this request RuntimeOptions
* @return GetMachineGroupResponse
*/
// Deprecated
async function getMachineGroupWithOptions(MachineGroupID: string, headers: map[string]string, runtime: Util.RuntimeOptions): GetMachineGroupResponse {
var req = new OpenApi.OpenApiRequest{
headers = headers,
};
var params = new OpenApi.Params{
action = 'GetMachineGroup',
version = '2022-01-12',
protocol = 'HTTPS',
pathname = `/api/v1/resources/machinegroups/${OpenApiUtil.getEncodeParam(MachineGroupID)}`,
method = 'GET',
authType = 'AK',
style = 'ROA',
reqBodyType = 'json',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @deprecated OpenAPI GetMachineGroup is deprecated
*
* @summary get machine group
*
* @return GetMachineGroupResponse
*/
// Deprecated
async function getMachineGroup(MachineGroupID: string): GetMachineGroupResponse {
var runtime = new Util.RuntimeOptions{};
var headers : map[string]string = {};
return getMachineGroupWithOptions(MachineGroupID, headers, runtime);
}
model GetNodeMetricsRequest {
endTime?: string(name='EndTime', example='2024-07-10T10:17:06'),
GPUType?: string(name='GPUType', example='V100'),
startTime?: string(name='StartTime', example='2024-07-08T02:23:30.292Z'),
timeStep?: string(name='TimeStep', example='1h'),
verbose?: boolean(name='Verbose', example='true'),
}
model GetNodeMetricsResponseBody = {
metricType?: string(name='MetricType', example='DiskWriteRate'),
nodesMetrics?: [
NodeMetric
](name='NodesMetrics'),
resourceGroupID?: string(name='ResourceGroupID', example='rgf0zhfqn1d4ity2'),
}
model GetNodeMetricsResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: GetNodeMetricsResponseBody(name='body'),
}
/**
* @deprecated OpenAPI GetNodeMetrics is deprecated
*
* @summary get resource group node metrics
*
* @param request GetNodeMetricsRequest
* @param headers map
* @param runtime runtime options for this request RuntimeOptions
* @return GetNodeMetricsResponse
*/
// Deprecated
async function getNodeMetricsWithOptions(ResourceGroupID: string, MetricType: string, request: GetNodeMetricsRequest, headers: map[string]string, runtime: Util.RuntimeOptions): GetNodeMetricsResponse {
Util.validateModel(request);
var query : map[string]any = {};
if (!Util.isUnset(request.endTime)) {
query['EndTime'] = request.endTime;
}
if (!Util.isUnset(request.GPUType)) {
query['GPUType'] = request.GPUType;
}
if (!Util.isUnset(request.startTime)) {
query['StartTime'] = request.startTime;
}
if (!Util.isUnset(request.timeStep)) {
query['TimeStep'] = request.timeStep;
}
if (!Util.isUnset(request.verbose)) {
query['Verbose'] = request.verbose;
}
var req = new OpenApi.OpenApiRequest{
headers = headers,
query = OpenApiUtil.query(query),
};
var params = new OpenApi.Params{
action = 'GetNodeMetrics',
version = '2022-01-12',
protocol = 'HTTPS',
pathname = `/api/v1/resources/${OpenApiUtil.getEncodeParam(ResourceGroupID)}/nodemetrics/${OpenApiUtil.getEncodeParam(MetricType)}`,
method = 'GET',
authType = 'AK',
style = 'ROA',
reqBodyType = 'json',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @deprecated OpenAPI GetNodeMetrics is deprecated
*
* @summary get resource group node metrics
*
* @param request GetNodeMetricsRequest
* @return GetNodeMetricsResponse
*/
// Deprecated
async function getNodeMetrics(ResourceGroupID: string, MetricType: string, request: GetNodeMetricsRequest): GetNodeMetricsResponse {
var runtime = new Util.RuntimeOptions{};
var headers : map[string]string = {};
return getNodeMetricsWithOptions(ResourceGroupID, MetricType, request, headers, runtime);
}
model GetQuotaRequest {
verbose?: boolean(name='Verbose'),
}
model GetQuotaResponseBody = {
allocateStrategy?: string(name='AllocateStrategy', example='ByNodeSpec'),
creatorId?: string(name='CreatorId', example='18846926616'),
description?: string(name='Description', example='this is a test quota'),
gmtCreatedTime?: string(name='GmtCreatedTime', example='2023-06-22T00:00:00Z'),
gmtModifiedTime?: string(name='GmtModifiedTime', example='2023-06-22T00:00:00Z'),
labels?: [
Label
](name='Labels'),
latestOperationId?: string(name='LatestOperationId', example='operation1234'),
min?: ResourceSpec(name='Min'),
parentQuotaId?: string(name='ParentQuotaId', example='quota1ci8g793pgm'),
queueStrategy?: string(name='QueueStrategy', example='PaiStrategyIntelligent'),
quotaConfig?: QuotaConfig(name='QuotaConfig'),
quotaDetails?: QuotaDetails(name='QuotaDetails'),
quotaId?: string(name='QuotaId', description='Quota Id', example='quotajradxh43rgb'),
quotaName?: string(name='QuotaName', example='test-quota'),
reasonCode?: string(name='ReasonCode', example='“”'),
reasonMessage?: string(name='ReasonMessage', example='“”'),
requestId?: string(name='RequestId', example='18D5A1C6-14B8-545E-8408-0A7DDB4C6B5E'),
resourceGroupIds?: [ string ](name='ResourceGroupIds'),
resourceType?: string(name='ResourceType', example='ECS'),
status?: string(name='Status', example='Ready'),
subQuotas?: [
QuotaIdName
](name='SubQuotas'),
workspaces?: [
WorkspaceIdName
](name='Workspaces'),
}
model GetQuotaResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: GetQuotaResponseBody(name='body'),
}
/**
* @summary 获取Quota
*
* @param request GetQuotaRequest
* @param headers map
* @param runtime runtime options for this request RuntimeOptions
* @return GetQuotaResponse
*/
async function getQuotaWithOptions(QuotaId: string, request: GetQuotaRequest, headers: map[string]string, runtime: Util.RuntimeOptions): GetQuotaResponse {
Util.validateModel(request);
var query : map[string]any = {};
if (!Util.isUnset(request.verbose)) {
query['Verbose'] = request.verbose;
}
var req = new OpenApi.OpenApiRequest{
headers = headers,
query = OpenApiUtil.query(query),
};
var params = new OpenApi.Params{
action = 'GetQuota',
version = '2022-01-12',
protocol = 'HTTPS',
pathname = `/api/v1/quotas/${OpenApiUtil.getEncodeParam(QuotaId)}`,
method = 'GET',
authType = 'AK',
style = 'ROA',
reqBodyType = 'json',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @summary 获取Quota
*
* @param request GetQuotaRequest
* @return GetQuotaResponse
*/
async function getQuota(QuotaId: string, request: GetQuotaRequest): GetQuotaResponse {
var runtime = new Util.RuntimeOptions{};
var headers : map[string]string = {};
return getQuotaWithOptions(QuotaId, request, headers, runtime);
}
model GetResourceGroupRequest {
isAIWorkspaceDataEnabled?: boolean(name='IsAIWorkspaceDataEnabled', example='true'),
tag?: [
{
key?: string(name='Key', example='TestKey'),
value?: string(name='Value', example='TestValue'),
}
](name='Tag'),
}
model GetResourceGroupShrinkRequest {
isAIWorkspaceDataEnabled?: boolean(name='IsAIWorkspaceDataEnabled', example='true'),
tagShrink?: string(name='Tag'),
}
model GetResourceGroupResponseBody = {
clusterID?: string(name='ClusterID', example='cb2c7bde30b774e46a329c'),
computingResourceProvider?: string(name='ComputingResourceProvider', example='ECS'),
creatorID?: string(name='CreatorID', example='1612285282502324'),
description?: string(name='Description', example='testDescription'),
gmtCreatedTime?: string(name='GmtCreatedTime', example='2023-06-22T00:00:00Z'),
gmtModifiedTime?: string(name='GmtModifiedTime', example='2023-06-22T00:00:00Z'),
name?: string(name='Name', example='TestResourceGroup'),
requestId?: string(name='RequestId', example='18D5A1C6-14B8-545E-8408-0A7DDB4C6B5E'),
resourceType?: string(name='ResourceType', example='Ecs'),
status?: string(name='Status', example='Ready'),
supportRDMA?: boolean(name='SupportRDMA', example='true'),
tags?: [
{
tagKey?: string(name='TagKey', example='testKey'),
tagValue?: string(name='TagValue', example='testValue'),
}
](name='Tags'),
userVpc?: UserVpc(name='UserVpc'),
workspaceID?: string(name='WorkspaceID', example='35201'),
}
model GetResourceGroupResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: GetResourceGroupResponseBody(name='body'),
}
/**
* @summary get resource group by group id
*
* @param tmpReq GetResourceGroupRequest
* @param headers map
* @param runtime runtime options for this request RuntimeOptions
* @return GetResourceGroupResponse
*/
async function getResourceGroupWithOptions(ResourceGroupID: string, tmpReq: GetResourceGroupRequest, headers: map[string]string, runtime: Util.RuntimeOptions): GetResourceGroupResponse {
Util.validateModel(tmpReq);
var request = new GetResourceGroupShrinkRequest{};
OpenApiUtil.convert(tmpReq, request);
if (!Util.isUnset(tmpReq.tag)) {
request.tagShrink = OpenApiUtil.arrayToStringWithSpecifiedStyle(tmpReq.tag, 'Tag', 'json');
}
var query : map[string]any = {};
if (!Util.isUnset(request.isAIWorkspaceDataEnabled)) {
query['IsAIWorkspaceDataEnabled'] = request.isAIWorkspaceDataEnabled;
}
if (!Util.isUnset(request.tagShrink)) {
query['Tag'] = request.tagShrink;
}
var req = new OpenApi.OpenApiRequest{
headers = headers,
query = OpenApiUtil.query(query),
};
var params = new OpenApi.Params{
action = 'GetResourceGroup',
version = '2022-01-12',
protocol = 'HTTPS',
pathname = `/api/v1/resources/${OpenApiUtil.getEncodeParam(ResourceGroupID)}`,
method = 'GET',
authType = 'AK',
style = 'ROA',
reqBodyType = 'json',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @summary get resource group by group id
*
* @param request GetResourceGroupRequest
* @return GetResourceGroupResponse
*/
async function getResourceGroup(ResourceGroupID: string, request: GetResourceGroupRequest): GetResourceGroupResponse {
var runtime = new Util.RuntimeOptions{};
var headers : map[string]string = {};
return getResourceGroupWithOptions(ResourceGroupID, request, headers, runtime);
}
model GetResourceGroupMachineGroupRequest {
tag?: [
{
key?: string(name='Key', example='TestKey'),
value?: string(name='Value', example='TestValue'),
}
](name='Tag'),
}
model GetResourceGroupMachineGroupShrinkRequest {
tagShrink?: string(name='Tag'),
}
model GetResourceGroupMachineGroupResponseBody = {
cpu?: string(name='Cpu', example='2'),
defaultDriver?: string(name='DefaultDriver', example='535'),
ecsCount?: long(name='EcsCount', example='1'),
ecsSpec?: string(name='EcsSpec', example='ecs.c6.large'),
gmtCreatedTime?: string(name='GmtCreatedTime', example='2023-06-22T00:00:00Z'),
gmtExpiredTime?: string(name='GmtExpiredTime', example='2023-06-22T00:00:00Z'),
gmtModifiedTime?: string(name='GmtModifiedTime', example='2023-06-22T00:00:00Z'),
gmtStartedTime?: string(name='GmtStartedTime', example='2023-06-22T00:00:00Z'),
gpu?: string(name='Gpu', example='8'),
gpuType?: string(name='GpuType', example='A100'),
machineGroupID?: string(name='MachineGroupID', example='mgmioirqjgw6c5lg'),
memory?: string(name='Memory', example='64'),
name?: string(name='Name', example='testMachineGroup'),
paymentDuration?: string(name='PaymentDuration', example='1'),
paymentDurationUnit?: string(name='PaymentDurationUnit', example='Month'),
paymentType?: string(name='PaymentType', example='PREPAY'),
requestId?: string(name='RequestId', example='18D5A1C6-14B8-545E-8408-0A7DDB4C6B5E'),
resourceGroupID?: string(name='ResourceGroupID', example='rgf0zhfqn1d4ity2'),
status?: string(name='Status', example='Ready'),
supportedDrivers?: [ string ](name='SupportedDrivers'),
tags?: [
{
tagKey?: string(name='TagKey', example='TestKey'),
tagValue?: string(name='TagValue', example='TestValue'),
}
](name='Tags'),
}
model GetResourceGroupMachineGroupResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: GetResourceGroupMachineGroupResponseBody(name='body'),
}
/**
* @summary get machine group
*
* @param tmpReq GetResourceGroupMachineGroupRequest
* @param headers map
* @param runtime runtime options for this request RuntimeOptions
* @return GetResourceGroupMachineGroupResponse
*/
async function getResourceGroupMachineGroupWithOptions(MachineGroupID: string, ResourceGroupID: string, tmpReq: GetResourceGroupMachineGroupRequest, headers: map[string]string, runtime: Util.RuntimeOptions): GetResourceGroupMachineGroupResponse {
Util.validateModel(tmpReq);
var request = new GetResourceGroupMachineGroupShrinkRequest{};
OpenApiUtil.convert(tmpReq, request);
if (!Util.isUnset(tmpReq.tag)) {
request.tagShrink = OpenApiUtil.arrayToStringWithSpecifiedStyle(tmpReq.tag, 'Tag', 'json');
}
var query : map[string]any = {};
if (!Util.isUnset(request.tagShrink)) {
query['Tag'] = request.tagShrink;
}
var req = new OpenApi.OpenApiRequest{
headers = headers,
query = OpenApiUtil.query(query),
};
var params = new OpenApi.Params{
action = 'GetResourceGroupMachineGroup',
version = '2022-01-12',
protocol = 'HTTPS',
pathname = `/api/v1/resources/${OpenApiUtil.getEncodeParam(ResourceGroupID)}/machinegroups/${OpenApiUtil.getEncodeParam(MachineGroupID)}`,
method = 'GET',
authType = 'AK',
style = 'ROA',
reqBodyType = 'json',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @summary get machine group
*
* @param request GetResourceGroupMachineGroupRequest
* @return GetResourceGroupMachineGroupResponse
*/
async function getResourceGroupMachineGroup(MachineGroupID: string, ResourceGroupID: string, request: GetResourceGroupMachineGroupRequest): GetResourceGroupMachineGroupResponse {
var runtime = new Util.RuntimeOptions{};
var headers : map[string]string = {};
return getResourceGroupMachineGroupWithOptions(MachineGroupID, ResourceGroupID, request, headers, runtime);
}
model GetResourceGroupRequestRequest {
podStatus?: string(name='PodStatus', example='Running', nullable=true),
resourceGroupID?: string(name='ResourceGroupID', description='This parameter is required.', example='rgf0zhfqn1d4ity2'),
}
model GetResourceGroupRequestResponseBody = {
requestCPU?: int32(name='requestCPU', example='1'),
requestGPU?: int32(name='requestGPU', example='8'),
requestGPUInfos?: [
GPUInfo
](name='requestGPUInfos'),
requestMemory?: int32(name='requestMemory', example='2'),
}
model GetResourceGroupRequestResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: GetResourceGroupRequestResponseBody(name='body'),
}
/**
* @deprecated OpenAPI GetResourceGroupRequest is deprecated
*
* @summary get resource group requested resource by resource group id
*
* @param request GetResourceGroupRequestRequest
* @param headers map
* @param runtime runtime options for this request RuntimeOptions
* @return GetResourceGroupRequestResponse
*/
// Deprecated
async function getResourceGroupRequestWithOptions(request: GetResourceGroupRequestRequest, headers: map[string]string, runtime: Util.RuntimeOptions): GetResourceGroupRequestResponse {
Util.validateModel(request);
var query : map[string]any = {};
if (!Util.isUnset(request.podStatus)) {
query['PodStatus'] = request.podStatus;
}
if (!Util.isUnset(request.resourceGroupID)) {
query['ResourceGroupID'] = request.resourceGroupID;
}
var req = new OpenApi.OpenApiRequest{
headers = headers,
query = OpenApiUtil.query(query),
};
var params = new OpenApi.Params{
action = 'GetResourceGroupRequest',
version = '2022-01-12',
protocol = 'HTTPS',
pathname = `/api/v1/resources/data/request`,
method = 'GET',
authType = 'AK',
style = 'ROA',
reqBodyType = 'json',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @deprecated OpenAPI GetResourceGroupRequest is deprecated
*
* @summary get resource group requested resource by resource group id
*
* @param request GetResourceGroupRequestRequest
* @return GetResourceGroupRequestResponse
*/
// Deprecated
async function getResourceGroupRequest(request: GetResourceGroupRequestRequest): GetResourceGroupRequestResponse {
var runtime = new Util.RuntimeOptions{};
var headers : map[string]string = {};
return getResourceGroupRequestWithOptions(request, headers, runtime);
}
model GetResourceGroupTotalRequest {
resourceGroupID?: string(name='ResourceGroupID', example='rgf0zhfqn1d4ity2'),
}
model GetResourceGroupTotalResponseBody = {
totalCPU?: int32(name='totalCPU', example='100'),
totalGPU?: int32(name='totalGPU', example='24'),
totalGPUInfos?: [
GPUInfo
](name='totalGPUInfos'),
totalMemory?: int32(name='totalMemory', example='300'),
}
model GetResourceGroupTotalResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: GetResourceGroupTotalResponseBody(name='body'),
}
/**
* @summary get resource group total resource by group id
*
* @param request GetResourceGroupTotalRequest
* @param headers map
* @param runtime runtime options for this request RuntimeOptions
* @return GetResourceGroupTotalResponse
*/
async function getResourceGroupTotalWithOptions(request: GetResourceGroupTotalRequest, headers: map[string]string, runtime: Util.RuntimeOptions): GetResourceGroupTotalResponse {
Util.validateModel(request);
var query : map[string]any = {};
if (!Util.isUnset(request.resourceGroupID)) {
query['ResourceGroupID'] = request.resourceGroupID;
}
var req = new OpenApi.OpenApiRequest{
headers = headers,
query = OpenApiUtil.query(query),
};
var params = new OpenApi.Params{
action = 'GetResourceGroupTotal',
version = '2022-01-12',
protocol = 'HTTPS',
pathname = `/api/v1/resources/data/total`,
method = 'GET',
authType = 'AK',
style = 'ROA',
reqBodyType = 'json',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @summary get resource group total resource by group id
*
* @param request GetResourceGroupTotalRequest
* @return GetResourceGroupTotalResponse
*/
async function getResourceGroupTotal(request: GetResourceGroupTotalRequest): GetResourceGroupTotalResponse {
var runtime = new Util.RuntimeOptions{};
var headers : map[string]string = {};
return getResourceGroupTotalWithOptions(request, headers, runtime);
}
model GetSpotPriceHistoryRequest {
endTime?: string(name='EndTime', example='2024-12-30T09:36:46Z'),
order?: string(name='Order', example='asc'),
pageNumber?: int32(name='PageNumber', example='1'),
pageSize?: int32(name='PageSize', example='10'),
sortBy?: string(name='SortBy', example='GmtCreatedTime'),
spotDuration?: int32(name='SpotDuration', example='0'),
startTime?: string(name='StartTime', example='2024-12-26T09:36:46Z'),
}
model GetSpotPriceHistoryResponseBody = {
requestId?: string(name='RequestId', example='8BDA4440-DD3C-5F4B-BBDD-94A9CE1E75C7'),
spotPriceHistory?: [
SpotPriceItem
](name='SpotPriceHistory'),
totalCount?: int32(name='TotalCount', example='194'),
}
model GetSpotPriceHistoryResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: GetSpotPriceHistoryResponseBody(name='body'),
}
/**
* @summary 获取抢占式实例历史价格
*
* @param request GetSpotPriceHistoryRequest
* @param headers map
* @param runtime runtime options for this request RuntimeOptions
* @return GetSpotPriceHistoryResponse
*/
async function getSpotPriceHistoryWithOptions(InstanceType: string, request: GetSpotPriceHistoryRequest, headers: map[string]string, runtime: Util.RuntimeOptions): GetSpotPriceHistoryResponse {
Util.validateModel(request);
var query : map[string]any = {};
if (!Util.isUnset(request.endTime)) {
query['EndTime'] = request.endTime;
}
if (!Util.isUnset(request.order)) {
query['Order'] = request.order;
}
if (!Util.isUnset(request.pageNumber)) {
query['PageNumber'] = request.pageNumber;
}
if (!Util.isUnset(request.pageSize)) {
query['PageSize'] = request.pageSize;
}
if (!Util.isUnset(request.sortBy)) {
query['SortBy'] = request.sortBy;
}
if (!Util.isUnset(request.spotDuration)) {
query['SpotDuration'] = request.spotDuration;
}
if (!Util.isUnset(request.startTime)) {
query['StartTime'] = request.startTime;
}
var req = new OpenApi.OpenApiRequest{
headers = headers,
query = OpenApiUtil.query(query),
};
var params = new OpenApi.Params{
action = 'GetSpotPriceHistory',
version = '2022-01-12',
protocol = 'HTTPS',
pathname = `/api/v1/spots/${OpenApiUtil.getEncodeParam(InstanceType)}/pricehistory`,
method = 'GET',
authType = 'AK',
style = 'ROA',
reqBodyType = 'json',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @summary 获取抢占式实例历史价格
*
* @param request GetSpotPriceHistoryRequest
* @return GetSpotPriceHistoryResponse
*/
async function getSpotPriceHistory(InstanceType: string, request: GetSpotPriceHistoryRequest): GetSpotPriceHistoryResponse {
var runtime = new Util.RuntimeOptions{};
var headers : map[string]string = {};
return getSpotPriceHistoryWithOptions(InstanceType, request, headers, runtime);
}
model GetTokenRequest {
expireTime?: long(name='ExpireTime', example='60'),
trainingJobId?: string(name='TrainingJobId', description='This parameter is required.', example='traincclrt205dcs'),
}
model GetTokenResponseBody = {
requestId?: string(name='RequestId', example='F2D0392B-D749-5C48-A98A-3FAE5C9444A6'),
token?: string(name='Token', example='ql4OU830nJaF17LP6KTry4a9DvnjIXHP'),
}
model GetTokenResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: GetTokenResponseBody(name='body'),
}
/**
* @summary 调用GetToken获取临时鉴权信息
*
* @param request GetTokenRequest
* @param headers map
* @param runtime runtime options for this request RuntimeOptions
* @return GetTokenResponse
*/
async function getTokenWithOptions(request: GetTokenRequest, headers: map[string]string, runtime: Util.RuntimeOptions): GetTokenResponse {
Util.validateModel(request);
var query : map[string]any = {};
if (!Util.isUnset(request.expireTime)) {
query['ExpireTime'] = request.expireTime;
}
if (!Util.isUnset(request.trainingJobId)) {
query['TrainingJobId'] = request.trainingJobId;
}
var req = new OpenApi.OpenApiRequest{
headers = headers,
query = OpenApiUtil.query(query),
};
var params = new OpenApi.Params{
action = 'GetToken',
version = '2022-01-12',
protocol = 'HTTPS',
pathname = `/api/v1/tokens`,
method = 'GET',
authType = 'AK',
style = 'ROA',
reqBodyType = 'json',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @summary 调用GetToken获取临时鉴权信息
*
* @param request GetTokenRequest
* @return GetTokenResponse
*/
async function getToken(request: GetTokenRequest): GetTokenResponse {
var runtime = new Util.RuntimeOptions{};
var headers : map[string]string = {};
return getTokenWithOptions(request, headers, runtime);
}
model GetTrainingJobResponseBody = {
algorithmId?: string(name='AlgorithmId', example='algo-xsldfvu1334'),
algorithmName?: string(name='AlgorithmName', example='llm_training'),
algorithmProvider?: string(name='AlgorithmProvider', example='pai'),
algorithmSpec?: AlgorithmSpec(name='AlgorithmSpec'),
algorithmVersion?: string(name='AlgorithmVersion', example='v0.0.1'),
computeResource?: {
ecsCount?: long(name='EcsCount', example='1'),
ecsSpec?: string(name='EcsSpec', example='ecs.gn5-c8g1.2xlarge'),
instanceCount?: long(name='InstanceCount', example='1'),
instanceSpec?: {
CPU?: string(name='CPU', example='8'),
GPU?: string(name='GPU', example='1'),
GPUType?: string(name='GPUType', example='V100'),
memory?: string(name='Memory', example='32'),
sharedMemory?: string(name='SharedMemory', example='32'),
}(name='InstanceSpec'),
resourceId?: string(name='ResourceId', example='quotam670lixikcl'),
resourceName?: string(name='ResourceName'),
spotSpec?: {
spotDiscountLimit?: float(name='SpotDiscountLimit', example='0.9'),
spotStrategy?: string(name='SpotStrategy', example='SpotWithPriceLimit'),
}(name='SpotSpec'),
useSpotInstance?: boolean(name='UseSpotInstance', example='true'),
}(name='ComputeResource'),
duration?: long(name='Duration', example='7200'),
environments?: map[string]string(name='Environments'),
experimentConfig?: {
experimentId?: string(name='ExperimentId', example='exp-ds9aefia90v'),
experimentName?: string(name='ExperimentName', example='large_language_model_train'),
}(name='ExperimentConfig'),
gmtCreateTime?: string(name='GmtCreateTime', example='2024-07-10T11:49:47Z'),
gmtModifiedTime?: string(name='GmtModifiedTime', example='2024-07-10T11:49:47Z'),
hyperParameters?: [
{
name?: string(name='Name', example='learning_rate'),
value?: string(name='Value', example='0.0001'),
}
](name='HyperParameters'),
inputChannels?: [
{
datasetId?: string(name='DatasetId', example='d-475megosidivjfgfq6'),
inputUri?: string(name='InputUri', example='oss://test-bucket.oss-cn-hangzhou-internal.aliyuncs.com/path/to/input/model/'),
name?: string(name='Name', example='model'),
options?: string(name='Options'),
versionName?: string(name='VersionName'),
}
](name='InputChannels'),
instances?: [
{
name?: string(name='Name', example='train1oug3yehan4-master-0'),
role?: string(name='Role', example='master'),
status?: string(name='Status', example='Succeeded'),
}
](name='Instances'),
isTempAlgo?: boolean(name='IsTempAlgo', example='true'),
labels?: [
{
key?: string(name='Key', example='CreatedBy'),
value?: string(name='Value', example='QuickStart'),
}
](name='Labels'),
latestMetrics?: [
{
name?: string(name='Name', example='loss'),
timestamp?: string(name='Timestamp', example='2024-07-10T11:49:47Z'),
value?: double(name='Value', example='0.11'),
}
](name='LatestMetrics'),
latestProgress?: {
overallProgress?: {
timestamp?: string(name='Timestamp', example='2023-07-04T13:20:18Z'),
value?: float(name='Value', example='0.75'),
}(name='OverallProgress'),
remainingTime?: {
timestamp?: string(name='Timestamp', example='2023-07-04T13:20:18Z'),
value?: long(name='Value', example='3600'),
}(name='RemainingTime'),
}(name='LatestProgress'),
outputChannels?: [
{
datasetId?: string(name='DatasetId', example='d-8o0hh35po15ejcdq2p'),
name?: string(name='Name', example='model'),
outputUri?: string(name='OutputUri', example='oss://test-bucket.oss-cn-hangzhou-internal.aliyuncs.com/path/to/output/model/'),
versionName?: string(name='VersionName'),
}
](name='OutputChannels'),
outputModel?: {
outputChannelName?: string(name='OutputChannelName', example='model'),
uri?: string(name='Uri', example='oss://test-bucket.oss-cn-hangzhou-internal.aliyuncs.com/path/to/model/output/'),
}(name='OutputModel'),
priority?: int32(name='Priority'),
pythonRequirements?: [ string ](name='PythonRequirements'),
reasonCode?: string(name='ReasonCode', example='TrainingJobSucceed'),
reasonMessage?: string(name='ReasonMessage', example='None'),
requestId?: string(name='RequestId', example='473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'),
roleArn?: string(name='RoleArn', example='acs:ram::{accountID}:role/{roleName}'),
scheduler?: {
maxRunningTimeInMinutes?: string(name='MaxRunningTimeInMinutes'),
maxRunningTimeInSeconds?: string(name='MaxRunningTimeInSeconds', example='0'),
}(name='Scheduler'),
settings?: JobSettings(name='Settings'),
status?: string(name='Status', example='Running'),
statusTransitions?: [
{
endTime?: string(name='EndTime', example='2024-07-10T11:49:47Z'),
reasonCode?: string(name='ReasonCode', example='TrainingJobSucceed'),
reasonMessage?: string(name='ReasonMessage', example='KubeDL job runs successfully'),
startTime?: string(name='StartTime', example='2024-07-10T11:49:47Z'),
status?: string(name='Status', example='Creating'),
}
](name='StatusTransitions'),
trainingJobDescription?: string(name='TrainingJobDescription'),
trainingJobId?: string(name='TrainingJobId', example='traini6hhxiq69eo'),
trainingJobName?: string(name='TrainingJobName', example='qwen_llm'),
trainingJobUrl?: string(name='TrainingJobUrl', example='https://pai.console.aliyun.com/?regionId=cn-hangzhou&workspaceId=1234#/training/jobs/train1ouyadsl8n4'),
userId?: string(name='UserId', example='123456789'),
userVpc?: {
extendedCIDRs?: [ string ](name='ExtendedCIDRs'),
securityGroupId?: string(name='SecurityGroupId', example='sg-abcdef****'),
switchId?: string(name='SwitchId', example='vs-abcdef****'),
vpcId?: string(name='VpcId', description='VPC ID。', example='vpc-abcdef****'),
}(name='UserVpc'),
workspaceId?: string(name='WorkspaceId', example='86995'),
}
model GetTrainingJobResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: GetTrainingJobResponseBody(name='body'),
}
/**
* @summary 获取TrainingJob的详情
*
* @param headers map
* @param runtime runtime options for this request RuntimeOptions
* @return GetTrainingJobResponse
*/
async function getTrainingJobWithOptions(TrainingJobId: string, headers: map[string]string, runtime: Util.RuntimeOptions): GetTrainingJobResponse {
var req = new OpenApi.OpenApiRequest{
headers = headers,
};
var params = new OpenApi.Params{
action = 'GetTrainingJob',
version = '2022-01-12',
protocol = 'HTTPS',
pathname = `/api/v1/trainingjobs/${OpenApiUtil.getEncodeParam(TrainingJobId)}`,
method = 'GET',
authType = 'AK',
style = 'ROA',
reqBodyType = 'json',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @summary 获取TrainingJob的详情
*
* @return GetTrainingJobResponse
*/
async function getTrainingJob(TrainingJobId: string): GetTrainingJobResponse {
var runtime = new Util.RuntimeOptions{};
var headers : map[string]string = {};
return getTrainingJobWithOptions(TrainingJobId, headers, runtime);
}
model GetTrainingJobErrorInfoResponseBody = {
errorInfo?: {
additionalInfo?: string(name='AdditionalInfo', example='additional info'),
code?: string(name='Code', example='200'),
message?: string(name='Message', example='success'),
}(name='ErrorInfo'),
requestId?: string(name='RequestId', example='473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'),
}
model GetTrainingJobErrorInfoResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: GetTrainingJobErrorInfoResponseBody(name='body'),
}
/**
* @summary 获取Training Job的算法错误信息
*
* @param headers map
* @param runtime runtime options for this request RuntimeOptions
* @return GetTrainingJobErrorInfoResponse
*/
async function getTrainingJobErrorInfoWithOptions(TrainingJobId: string, headers: map[string]string, runtime: Util.RuntimeOptions): GetTrainingJobErrorInfoResponse {
var req = new OpenApi.OpenApiRequest{
headers = headers,
};
var params = new OpenApi.Params{
action = 'GetTrainingJobErrorInfo',
version = '2022-01-12',
protocol = 'HTTPS',
pathname = `/api/v1/trainingjobs/${OpenApiUtil.getEncodeParam(TrainingJobId)}/errorinfo`,
method = 'GET',
authType = 'AK',
style = 'ROA',
reqBodyType = 'json',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @summary 获取Training Job的算法错误信息
*
* @return GetTrainingJobErrorInfoResponse
*/
async function getTrainingJobErrorInfo(TrainingJobId: string): GetTrainingJobErrorInfoResponse {
var runtime = new Util.RuntimeOptions{};
var headers : map[string]string = {};
return getTrainingJobErrorInfoWithOptions(TrainingJobId, headers, runtime);
}
model GetTrainingJobLatestMetricsRequest {
names?: string(name='Names', example='loss'),
}
model GetTrainingJobLatestMetricsResponseBody = {
metrics?: [
{
name?: string(name='Name', example='loss'),
timestamp?: string(name='Timestamp', description='Use the UTC time format: yyyy-MM-ddTHH:mmZ', example='2022-04-18T22:20:55Z'),
value?: double(name='Value', example='0.97'),
}
](name='Metrics'),
requestId?: string(name='RequestId', example='18D5A1C6-14B8-545E-8408-0A7DDB4C6B5E'),
}
model GetTrainingJobLatestMetricsResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: GetTrainingJobLatestMetricsResponseBody(name='body'),
}
/**
* @summary 获取TrainingJob最近的Metrics
*
* @param request GetTrainingJobLatestMetricsRequest
* @param headers map
* @param runtime runtime options for this request RuntimeOptions
* @return GetTrainingJobLatestMetricsResponse
*/
async function getTrainingJobLatestMetricsWithOptions(TrainingJobId: string, request: GetTrainingJobLatestMetricsRequest, headers: map[string]string, runtime: Util.RuntimeOptions): GetTrainingJobLatestMetricsResponse {
Util.validateModel(request);
var query : map[string]any = {};
if (!Util.isUnset(request.names)) {
query['Names'] = request.names;
}
var req = new OpenApi.OpenApiRequest{
headers = headers,
query = OpenApiUtil.query(query),
};
var params = new OpenApi.Params{
action = 'GetTrainingJobLatestMetrics',
version = '2022-01-12',
protocol = 'HTTPS',
pathname = `/api/v1/trainingjobs/${OpenApiUtil.getEncodeParam(TrainingJobId)}/latestmetrics`,
method = 'GET',
authType = 'AK',
style = 'ROA',
reqBodyType = 'json',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @summary 获取TrainingJob最近的Metrics
*
* @param request GetTrainingJobLatestMetricsRequest
* @return GetTrainingJobLatestMetricsResponse
*/
async function getTrainingJobLatestMetrics(TrainingJobId: string, request: GetTrainingJobLatestMetricsRequest): GetTrainingJobLatestMetricsResponse {
var runtime = new Util.RuntimeOptions{};
var headers : map[string]string = {};
return getTrainingJobLatestMetricsWithOptions(TrainingJobId, request, headers, runtime);
}
model GetUserViewMetricsRequest {
order?: string(name='Order', example='DESC'),
pageNumber?: string(name='PageNumber', description='This parameter is required.', example='1'),
pageSize?: string(name='PageSize', description='This parameter is required.', example='10'),
sortBy?: string(name='SortBy', example='GmtModified'),
timeStep?: string(name='TimeStep', example='1h'),
userId?: string(name='UserId', example='123456'),
workspaceId?: string(name='WorkspaceId', example='86995'),
}
model GetUserViewMetricsResponseBody = {
resourceGroupId?: string(name='ResourceGroupId', example='rgf0zhfqn1d4ity2'),
summary?: UserViewMetric(name='Summary'),
total?: int32(name='Total', example='2'),
userMetrics?: [
UserViewMetric
](name='UserMetrics'),
}
model GetUserViewMetricsResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: GetUserViewMetricsResponseBody(name='body'),
}
/**
* @deprecated OpenAPI GetUserViewMetrics is deprecated
*
* @summary get user view metrics
*
* @param request GetUserViewMetricsRequest
* @param headers map
* @param runtime runtime options for this request RuntimeOptions
* @return GetUserViewMetricsResponse
*/
// Deprecated
async function getUserViewMetricsWithOptions(ResourceGroupID: string, request: GetUserViewMetricsRequest, headers: map[string]string, runtime: Util.RuntimeOptions): GetUserViewMetricsResponse {
Util.validateModel(request);
var query : map[string]any = {};
if (!Util.isUnset(request.order)) {
query['Order'] = request.order;
}
if (!Util.isUnset(request.pageNumber)) {
query['PageNumber'] = request.pageNumber;
}
if (!Util.isUnset(request.pageSize)) {
query['PageSize'] = request.pageSize;
}
if (!Util.isUnset(request.sortBy)) {
query['SortBy'] = request.sortBy;
}
if (!Util.isUnset(request.timeStep)) {
query['TimeStep'] = request.timeStep;
}
if (!Util.isUnset(request.userId)) {
query['UserId'] = request.userId;
}
if (!Util.isUnset(request.workspaceId)) {
query['WorkspaceId'] = request.workspaceId;
}
var req = new OpenApi.OpenApiRequest{
headers = headers,
query = OpenApiUtil.query(query),
};
var params = new OpenApi.Params{
action = 'GetUserViewMetrics',
version = '2022-01-12',
protocol = 'HTTPS',
pathname = `/api/v1/resources/${OpenApiUtil.getEncodeParam(ResourceGroupID)}/usermetrics`,
method = 'GET',
authType = 'AK',
style = 'ROA',
reqBodyType = 'json',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @deprecated OpenAPI GetUserViewMetrics is deprecated
*
* @summary get user view metrics
*
* @param request GetUserViewMetricsRequest
* @return GetUserViewMetricsResponse
*/
// Deprecated
async function getUserViewMetrics(ResourceGroupID: string, request: GetUserViewMetricsRequest): GetUserViewMetricsResponse {
var runtime = new Util.RuntimeOptions{};
var headers : map[string]string = {};
return getUserViewMetricsWithOptions(ResourceGroupID, request, headers, runtime);
}
model ListAlgorithmVersionsRequest {
pageNumber?: long(name='PageNumber', example='1'),
pageSize?: long(name='PageSize', example='10'),
}
model ListAlgorithmVersionsResponseBody = {
algorithmVersions?: [
{
algorithmId?: string(name='AlgorithmId', example='algo-sidjc8134hv'),
algorithmName?: string(name='AlgorithmName', example='llm_train'),
algorithmProvider?: string(name='AlgorithmProvider', example='pai'),
algorithmVersion?: string(name='AlgorithmVersion', example='v0.1.0'),
gmtCreateTime?: string(name='GmtCreateTime', example='2024-01-19T02:00:26Z'),
gmtModifiedTime?: string(name='GmtModifiedTime', example='2024-01-22T02:00:59Z'),
tenantId?: string(name='TenantId', example='123456789'),
userId?: string(name='UserId', example='123456789'),
}
](name='AlgorithmVersions'),
requestId?: string(name='RequestId', example='473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'),
totalCount?: long(name='TotalCount', example='23'),
}
model ListAlgorithmVersionsResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: ListAlgorithmVersionsResponseBody(name='body'),
}
/**
* @summary 获取算法的所有版本信息
*
* @param request ListAlgorithmVersionsRequest
* @param headers map
* @param runtime runtime options for this request RuntimeOptions
* @return ListAlgorithmVersionsResponse
*/
async function listAlgorithmVersionsWithOptions(AlgorithmId: string, request: ListAlgorithmVersionsRequest, headers: map[string]string, runtime: Util.RuntimeOptions): ListAlgorithmVersionsResponse {
Util.validateModel(request);
var query : map[string]any = {};
if (!Util.isUnset(request.pageNumber)) {
query['PageNumber'] = request.pageNumber;
}
if (!Util.isUnset(request.pageSize)) {
query['PageSize'] = request.pageSize;
}
var req = new OpenApi.OpenApiRequest{
headers = headers,
query = OpenApiUtil.query(query),
};
var params = new OpenApi.Params{
action = 'ListAlgorithmVersions',
version = '2022-01-12',
protocol = 'HTTPS',
pathname = `/api/v1/algorithms/${OpenApiUtil.getEncodeParam(AlgorithmId)}/versions`,
method = 'GET',
authType = 'AK',
style = 'ROA',
reqBodyType = 'json',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @summary 获取算法的所有版本信息
*
* @param request ListAlgorithmVersionsRequest
* @return ListAlgorithmVersionsResponse
*/
async function listAlgorithmVersions(AlgorithmId: string, request: ListAlgorithmVersionsRequest): ListAlgorithmVersionsResponse {
var runtime = new Util.RuntimeOptions{};
var headers : map[string]string = {};
return listAlgorithmVersionsWithOptions(AlgorithmId, request, headers, runtime);
}
model ListAlgorithmsRequest {
algorithmId?: string(name='AlgorithmId', example='algo-xsldfvu1334'),
algorithmName?: string(name='AlgorithmName', example='llm_training'),
algorithmProvider?: string(name='AlgorithmProvider', example='pai'),
pageNumber?: long(name='PageNumber', example='1'),
pageSize?: long(name='PageSize', example='10'),
workspaceId?: string(name='WorkspaceId', example='12345'),
}
model ListAlgorithmsResponseBody = {
algorithms?: [
{
algorithmDescription?: string(name='AlgorithmDescription'),
algorithmId?: string(name='AlgorithmId', example='algo-sidjc8134hv'),
algorithmName?: string(name='AlgorithmName', example='llm_train'),
algorithmProvider?: string(name='AlgorithmProvider', example='pai'),
displayName?: string(name='DisplayName', example='LLM Train'),
gmtCreateTime?: string(name='GmtCreateTime', example='2023-07-21T03:35:24Z'),
gmtModifiedTime?: string(name='GmtModifiedTime', example='2023-07-25T02:15:40Z'),
userId?: string(name='UserId', example='123456789'),
workspaceId?: string(name='WorkspaceId', example='12345'),
}
](name='Algorithms'),
requestId?: string(name='RequestId', example='473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'),
totalCount?: long(name='TotalCount', example='4'),
}
model ListAlgorithmsResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: ListAlgorithmsResponseBody(name='body'),
}
/**
* @summary 获取算法列表
*
* @param request ListAlgorithmsRequest
* @param headers map
* @param runtime runtime options for this request RuntimeOptions
* @return ListAlgorithmsResponse
*/
async function listAlgorithmsWithOptions(request: ListAlgorithmsRequest, headers: map[string]string, runtime: Util.RuntimeOptions): ListAlgorithmsResponse {
Util.validateModel(request);
var query : map[string]any = {};
if (!Util.isUnset(request.algorithmId)) {
query['AlgorithmId'] = request.algorithmId;
}
if (!Util.isUnset(request.algorithmName)) {
query['AlgorithmName'] = request.algorithmName;
}
if (!Util.isUnset(request.algorithmProvider)) {
query['AlgorithmProvider'] = request.algorithmProvider;
}
if (!Util.isUnset(request.pageNumber)) {
query['PageNumber'] = request.pageNumber;
}
if (!Util.isUnset(request.pageSize)) {
query['PageSize'] = request.pageSize;
}
if (!Util.isUnset(request.workspaceId)) {
query['WorkspaceId'] = request.workspaceId;
}
var req = new OpenApi.OpenApiRequest{
headers = headers,
query = OpenApiUtil.query(query),
};
var params = new OpenApi.Params{
action = 'ListAlgorithms',
version = '2022-01-12',
protocol = 'HTTPS',
pathname = `/api/v1/algorithms`,
method = 'GET',
authType = 'AK',
style = 'ROA',
reqBodyType = 'json',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @summary 获取算法列表
*
* @param request ListAlgorithmsRequest
* @return ListAlgorithmsResponse
*/
async function listAlgorithms(request: ListAlgorithmsRequest): ListAlgorithmsResponse {
var runtime = new Util.RuntimeOptions{};
var headers : map[string]string = {};
return listAlgorithmsWithOptions(request, headers, runtime);
}
model ListNodesRequest {
acceleratorType?: string(name='AcceleratorType', example='CPU'),
filterByQuotaId?: string(name='FilterByQuotaId', example='quotamtl37ge7gkvdz'),
filterByResourceGroupIds?: string(name='FilterByResourceGroupIds', example='rg69rj0leslwdnbe'),
GPUType?: string(name='GPUType', example='T4'),
machineGroupIds?: string(name='MachineGroupIds'),
nodeNames?: string(name='NodeNames', example='lingjxxxx'),
nodeStatuses?: string(name='NodeStatuses', example='Ready'),
nodeTypes?: string(name='NodeTypes', example='ecs.c6.xlarge'),
order?: string(name='Order', example='desc'),
orderStatuses?: string(name='OrderStatuses', example='Ready'),
pageNumber?: int32(name='PageNumber', example='2'),
pageSize?: int32(name='PageSize', example='10'),
quotaId?: string(name='QuotaId', example='quotamtl37ge7gkvdz'),
reasonCodes?: string(name='ReasonCodes'),
resourceGroupIds?: string(name='ResourceGroupIds', example='rg69rj0leslwdnbe'),
sortBy?: string(name='SortBy', example='GmtCreateTime'),
verbose?: boolean(name='Verbose', example='false'),
}
model ListNodesResponseBody = {
nodes?: [
Node
](name='Nodes'),
requestId?: string(name='RequestId', example='473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'),
totalCount?: int32(name='TotalCount', example='23'),
}
model ListNodesResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: ListNodesResponseBody(name='body'),
}
/**
* @summary 获取资源节点列表
*
* @param request ListNodesRequest
* @param headers map
* @param runtime runtime options for this request RuntimeOptions
* @return ListNodesResponse
*/
async function listNodesWithOptions(request: ListNodesRequest, headers: map[string]string, runtime: Util.RuntimeOptions): ListNodesResponse {
Util.validateModel(request);
var query : map[string]any = {};
if (!Util.isUnset(request.acceleratorType)) {
query['AcceleratorType'] = request.acceleratorType;
}
if (!Util.isUnset(request.filterByQuotaId)) {
query['FilterByQuotaId'] = request.filterByQuotaId;
}
if (!Util.isUnset(request.filterByResourceGroupIds)) {
query['FilterByResourceGroupIds'] = request.filterByResourceGroupIds;
}
if (!Util.isUnset(request.GPUType)) {
query['GPUType'] = request.GPUType;
}
if (!Util.isUnset(request.machineGroupIds)) {
query['MachineGroupIds'] = request.machineGroupIds;
}
if (!Util.isUnset(request.nodeNames)) {
query['NodeNames'] = request.nodeNames;
}
if (!Util.isUnset(request.nodeStatuses)) {
query['NodeStatuses'] = request.nodeStatuses;
}
if (!Util.isUnset(request.nodeTypes)) {
query['NodeTypes'] = request.nodeTypes;
}
if (!Util.isUnset(request.order)) {
query['Order'] = request.order;
}
if (!Util.isUnset(request.orderStatuses)) {
query['OrderStatuses'] = request.orderStatuses;
}
if (!Util.isUnset(request.pageNumber)) {
query['PageNumber'] = request.pageNumber;
}
if (!Util.isUnset(request.pageSize)) {
query['PageSize'] = request.pageSize;
}
if (!Util.isUnset(request.quotaId)) {
query['QuotaId'] = request.quotaId;
}
if (!Util.isUnset(request.reasonCodes)) {
query['ReasonCodes'] = request.reasonCodes;
}
if (!Util.isUnset(request.resourceGroupIds)) {
query['ResourceGroupIds'] = request.resourceGroupIds;
}
if (!Util.isUnset(request.sortBy)) {
query['SortBy'] = request.sortBy;
}
if (!Util.isUnset(request.verbose)) {
query['Verbose'] = request.verbose;
}
var req = new OpenApi.OpenApiRequest{
headers = headers,
query = OpenApiUtil.query(query),
};
var params = new OpenApi.Params{
action = 'ListNodes',
version = '2022-01-12',
protocol = 'HTTPS',
pathname = `/api/v1/nodes`,
method = 'GET',
authType = 'AK',
style = 'ROA',
reqBodyType = 'json',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @summary 获取资源节点列表
*
* @param request ListNodesRequest
* @return ListNodesResponse
*/
async function listNodes(request: ListNodesRequest): ListNodesResponse {
var runtime = new Util.RuntimeOptions{};
var headers : map[string]string = {};
return listNodesWithOptions(request, headers, runtime);
}
model ListQuotaWorkloadsRequest {
beforeWorkloadId?: string(name='BeforeWorkloadId', example='dsw65443322'),
gmtDequeuedTimeRange?: TimeRangeFilter(name='GmtDequeuedTimeRange'),
gmtEnqueuedTimeRange?: TimeRangeFilter(name='GmtEnqueuedTimeRange'),
gmtPositionModifiedTimeRange?: TimeRangeFilter(name='GmtPositionModifiedTimeRange'),
nodeName?: string(name='NodeName', example='lrn48278127617'),
order?: string(name='Order', example='desc'),
pageNumber?: int32(name='PageNumber', example='1'),
pageSize?: int32(name='PageSize', example='10'),
showOwn?: boolean(name='ShowOwn', example='true'),
sortBy?: string(name='SortBy', example='GmtCreatedTime'),
status?: string(name='Status', example='Enqueued'),
subQuotaIds?: string(name='SubQuotaIds', example='quota12344666,quota64432233'),
userIds?: string(name='UserIds', example='29043893812,23829093093'),
withHistoricalData?: boolean(name='WithHistoricalData'),
workloadCreatedTimeRange?: TimeRangeFilter(name='WorkloadCreatedTimeRange'),
workloadIds?: string(name='WorkloadIds', example='dlc12344556'),
workloadStatuses?: string(name='WorkloadStatuses', example='Pending'),
workloadType?: string(name='WorkloadType', example='dlc'),
workspaceIds?: string(name='WorkspaceIds', example='186692'),
}
model ListQuotaWorkloadsResponseBody = {
requestId?: string(name='RequestId', description='Id of the request', example='42F23B58-3684-5443-848A-8DA81FF99712'),
totalCount?: long(name='TotalCount', example='23'),
workloads?: [
QueueInfo
](name='Workloads'),
}
model ListQuotaWorkloadsResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: ListQuotaWorkloadsResponseBody(name='body'),
}
/**
* @summary 您可以通过此API获取Quota上的任务信息列表
*
* @param request ListQuotaWorkloadsRequest
* @param headers map
* @param runtime runtime options for this request RuntimeOptions
* @return ListQuotaWorkloadsResponse
*/
async function listQuotaWorkloadsWithOptions(QuotaId: string, request: ListQuotaWorkloadsRequest, headers: map[string]string, runtime: Util.RuntimeOptions): ListQuotaWorkloadsResponse {
Util.validateModel(request);
var query : map[string]any = {};
if (!Util.isUnset(request.beforeWorkloadId)) {
query['BeforeWorkloadId'] = request.beforeWorkloadId;
}
if (!Util.isUnset(request.gmtDequeuedTimeRange)) {
query['GmtDequeuedTimeRange'] = request.gmtDequeuedTimeRange;
}
if (!Util.isUnset(request.gmtEnqueuedTimeRange)) {
query['GmtEnqueuedTimeRange'] = request.gmtEnqueuedTimeRange;
}
if (!Util.isUnset(request.gmtPositionModifiedTimeRange)) {
query['GmtPositionModifiedTimeRange'] = request.gmtPositionModifiedTimeRange;
}
if (!Util.isUnset(request.nodeName)) {
query['NodeName'] = request.nodeName;
}
if (!Util.isUnset(request.order)) {
query['Order'] = request.order;
}
if (!Util.isUnset(request.pageNumber)) {
query['PageNumber'] = request.pageNumber;
}
if (!Util.isUnset(request.pageSize)) {
query['PageSize'] = request.pageSize;
}
if (!Util.isUnset(request.showOwn)) {
query['ShowOwn'] = request.showOwn;
}
if (!Util.isUnset(request.sortBy)) {
query['SortBy'] = request.sortBy;
}
if (!Util.isUnset(request.status)) {
query['Status'] = request.status;
}
if (!Util.isUnset(request.subQuotaIds)) {
query['SubQuotaIds'] = request.subQuotaIds;
}
if (!Util.isUnset(request.userIds)) {
query['UserIds'] = request.userIds;
}
if (!Util.isUnset(request.withHistoricalData)) {
query['WithHistoricalData'] = request.withHistoricalData;
}
if (!Util.isUnset(request.workloadCreatedTimeRange)) {
query['WorkloadCreatedTimeRange'] = request.workloadCreatedTimeRange;
}
if (!Util.isUnset(request.workloadIds)) {
query['WorkloadIds'] = request.workloadIds;
}
if (!Util.isUnset(request.workloadStatuses)) {
query['WorkloadStatuses'] = request.workloadStatuses;
}
if (!Util.isUnset(request.workloadType)) {
query['WorkloadType'] = request.workloadType;
}
if (!Util.isUnset(request.workspaceIds)) {
query['WorkspaceIds'] = request.workspaceIds;
}
var req = new OpenApi.OpenApiRequest{
headers = headers,
query = OpenApiUtil.query(query),
};
var params = new OpenApi.Params{
action = 'ListQuotaWorkloads',
version = '2022-01-12',
protocol = 'HTTPS',
pathname = `/api/v1/quotas/${OpenApiUtil.getEncodeParam(QuotaId)}/workloads`,
method = 'GET',
authType = 'AK',
style = 'ROA',
reqBodyType = 'json',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @summary 您可以通过此API获取Quota上的任务信息列表
*
* @param request ListQuotaWorkloadsRequest
* @return ListQuotaWorkloadsResponse
*/
async function listQuotaWorkloads(QuotaId: string, request: ListQuotaWorkloadsRequest): ListQuotaWorkloadsResponse {
var runtime = new Util.RuntimeOptions{};
var headers : map[string]string = {};
return listQuotaWorkloadsWithOptions(QuotaId, request, headers, runtime);
}
model ListQuotasRequest {
labels?: string(name='Labels', example='official=true,gpu=false'),
layoutMode?: string(name='LayoutMode'),
order?: string(name='Order', example='desc'),
pageNumber?: int32(name='PageNumber', example='1'),
pageSize?: int32(name='PageSize', example='20'),
parentQuotaId?: string(name='ParentQuotaId', example='quotajradxh43rgb'),
quotaIds?: string(name='QuotaIds', example='quota1ci8g793pgm,quotajradxh43rgb'),
quotaName?: string(name='QuotaName', example='quotajradxh43rgb'),
resourceType?: string(name='ResourceType', example='ECS'),
sortBy?: string(name='SortBy', example='status'),
statuses?: string(name='Statuses', example='Creating'),
verbose?: boolean(name='Verbose'),
workspaceIds?: string(name='WorkspaceIds', example='21345,38727'),
workspaceName?: string(name='WorkspaceName'),
}
model ListQuotasResponseBody = {
quotas?: [
Quota
](name='Quotas'),
requestId?: string(name='RequestId', example='F082BD0D-21E1-5F9B-81A0-AB07485B03CD'),
totalCount?: int32(name='TotalCount'),
}
model ListQuotasResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: ListQuotasResponseBody(name='body'),
}
/**
* @summary 获取Quota列表
*
* @param request ListQuotasRequest
* @param headers map
* @param runtime runtime options for this request RuntimeOptions
* @return ListQuotasResponse
*/
async function listQuotasWithOptions(request: ListQuotasRequest, headers: map[string]string, runtime: Util.RuntimeOptions): ListQuotasResponse {
Util.validateModel(request);
var query : map[string]any = {};
if (!Util.isUnset(request.labels)) {
query['Labels'] = request.labels;
}
if (!Util.isUnset(request.layoutMode)) {
query['LayoutMode'] = request.layoutMode;
}
if (!Util.isUnset(request.order)) {
query['Order'] = request.order;
}
if (!Util.isUnset(request.pageNumber)) {
query['PageNumber'] = request.pageNumber;
}
if (!Util.isUnset(request.pageSize)) {
query['PageSize'] = request.pageSize;
}
if (!Util.isUnset(request.parentQuotaId)) {
query['ParentQuotaId'] = request.parentQuotaId;
}
if (!Util.isUnset(request.quotaIds)) {
query['QuotaIds'] = request.quotaIds;
}
if (!Util.isUnset(request.quotaName)) {
query['QuotaName'] = request.quotaName;
}
if (!Util.isUnset(request.resourceType)) {
query['ResourceType'] = request.resourceType;
}
if (!Util.isUnset(request.sortBy)) {
query['SortBy'] = request.sortBy;
}
if (!Util.isUnset(request.statuses)) {
query['Statuses'] = request.statuses;
}
if (!Util.isUnset(request.verbose)) {
query['Verbose'] = request.verbose;
}
if (!Util.isUnset(request.workspaceIds)) {
query['WorkspaceIds'] = request.workspaceIds;
}
if (!Util.isUnset(request.workspaceName)) {
query['WorkspaceName'] = request.workspaceName;
}
var req = new OpenApi.OpenApiRequest{
headers = headers,
query = OpenApiUtil.query(query),
};
var params = new OpenApi.Params{
action = 'ListQuotas',
version = '2022-01-12',
protocol = 'HTTPS',
pathname = `/api/v1/quotas/`,
method = 'GET',
authType = 'AK',
style = 'ROA',
reqBodyType = 'json',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @summary 获取Quota列表
*
* @param request ListQuotasRequest
* @return ListQuotasResponse
*/
async function listQuotas(request: ListQuotasRequest): ListQuotasResponse {
var runtime = new Util.RuntimeOptions{};
var headers : map[string]string = {};
return listQuotasWithOptions(request, headers, runtime);
}
model ListResourceGroupMachineGroupsRequest {
creatorID?: string(name='CreatorID', example='1612285282502326'),
ecsSpec?: string(name='EcsSpec', example='ecs.c6.large'),
machineGroupIDs?: string(name='MachineGroupIDs'),
name?: string(name='Name', example='test'),
order?: string(name='Order', example='DESC'),
orderInstanceId?: string(name='OrderInstanceId', example='236553689400333'),
pageNumber?: int32(name='PageNumber', example='2'),
pageSize?: int32(name='PageSize', example='10'),
paymentDuration?: string(name='PaymentDuration', example='1'),
paymentDurationUnit?: string(name='PaymentDurationUnit', example='Month'),
paymentType?: string(name='PaymentType', example='PREPAY'),
sortBy?: string(name='SortBy', example='GmtCreatedTime'),
status?: string(name='Status', example='Ready'),
}
model ListResourceGroupMachineGroupsResponseBody = {
machineGroups?: [
MachineGroup
](name='MachineGroups'),
requestId?: string(name='RequestId', example='E7C42CC7-2E85-508A-84F4-923B605FD10F'),
totalCount?: string(name='TotalCount', example='4'),
}
model ListResourceGroupMachineGroupsResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: ListResourceGroupMachineGroupsResponseBody(name='body'),
}
/**
* @summary list machine groups
*
* @param request ListResourceGroupMachineGroupsRequest
* @param headers map
* @param runtime runtime options for this request RuntimeOptions
* @return ListResourceGroupMachineGroupsResponse
*/
async function listResourceGroupMachineGroupsWithOptions(ResourceGroupID: string, request: ListResourceGroupMachineGroupsRequest, headers: map[string]string, runtime: Util.RuntimeOptions): ListResourceGroupMachineGroupsResponse {
Util.validateModel(request);
var query : map[string]any = {};
if (!Util.isUnset(request.creatorID)) {
query['CreatorID'] = request.creatorID;
}
if (!Util.isUnset(request.ecsSpec)) {
query['EcsSpec'] = request.ecsSpec;
}
if (!Util.isUnset(request.machineGroupIDs)) {
query['MachineGroupIDs'] = request.machineGroupIDs;
}
if (!Util.isUnset(request.name)) {
query['Name'] = request.name;
}
if (!Util.isUnset(request.order)) {
query['Order'] = request.order;
}
if (!Util.isUnset(request.orderInstanceId)) {
query['OrderInstanceId'] = request.orderInstanceId;
}
if (!Util.isUnset(request.pageNumber)) {
query['PageNumber'] = request.pageNumber;
}
if (!Util.isUnset(request.pageSize)) {
query['PageSize'] = request.pageSize;
}
if (!Util.isUnset(request.paymentDuration)) {
query['PaymentDuration'] = request.paymentDuration;
}
if (!Util.isUnset(request.paymentDurationUnit)) {
query['PaymentDurationUnit'] = request.paymentDurationUnit;
}
if (!Util.isUnset(request.paymentType)) {
query['PaymentType'] = request.paymentType;
}
if (!Util.isUnset(request.sortBy)) {
query['SortBy'] = request.sortBy;
}
if (!Util.isUnset(request.status)) {
query['Status'] = request.status;
}
var req = new OpenApi.OpenApiRequest{
headers = headers,
query = OpenApiUtil.query(query),
};
var params = new OpenApi.Params{
action = 'ListResourceGroupMachineGroups',
version = '2022-01-12',
protocol = 'HTTPS',
pathname = `/api/v1/resources/${OpenApiUtil.getEncodeParam(ResourceGroupID)}/machinegroups`,
method = 'GET',
authType = 'AK',
style = 'ROA',
reqBodyType = 'json',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @summary list machine groups
*
* @param request ListResourceGroupMachineGroupsRequest
* @return ListResourceGroupMachineGroupsResponse
*/
async function listResourceGroupMachineGroups(ResourceGroupID: string, request: ListResourceGroupMachineGroupsRequest): ListResourceGroupMachineGroupsResponse {
var runtime = new Util.RuntimeOptions{};
var headers : map[string]string = {};
return listResourceGroupMachineGroupsWithOptions(ResourceGroupID, request, headers, runtime);
}
model ListResourceGroupsRequest {
computingResourceProvider?: string(name='ComputingResourceProvider', example='Ecs'),
name?: string(name='Name', example='rgf0zhfqn1d4ity2'),
order?: string(name='Order', example='desc'),
pageNumber?: long(name='PageNumber', example='2'),
pageSize?: long(name='PageSize', example='10'),
resourceType?: string(name='ResourceType', example='Lingjun'),
showAll?: boolean(name='ShowAll', example='false'),
sortBy?: string(name='SortBy', example='DisplayName'),
status?: string(name='Status', example='Creating'),
}
model ListResourceGroupsResponseBody = {
requestId?: string(name='RequestId', example='9CFA2665-1FFE-5929-8468-C14C25890486'),
resourceGroups?: [
ResourceGroup
](name='ResourceGroups', example='RG1'),
totalCount?: long(name='TotalCount', description='This parameter is required.', example='2'),
}
model ListResourceGroupsResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: ListResourceGroupsResponseBody(name='body'),
}
/**
* @summary list resource group
*
* @param request ListResourceGroupsRequest
* @param headers map
* @param runtime runtime options for this request RuntimeOptions
* @return ListResourceGroupsResponse
*/
async function listResourceGroupsWithOptions(request: ListResourceGroupsRequest, headers: map[string]string, runtime: Util.RuntimeOptions): ListResourceGroupsResponse {
Util.validateModel(request);
var query : map[string]any = {};
if (!Util.isUnset(request.computingResourceProvider)) {
query['ComputingResourceProvider'] = request.computingResourceProvider;
}
if (!Util.isUnset(request.name)) {
query['Name'] = request.name;
}
if (!Util.isUnset(request.order)) {
query['Order'] = request.order;
}
if (!Util.isUnset(request.pageNumber)) {
query['PageNumber'] = request.pageNumber;
}
if (!Util.isUnset(request.pageSize)) {
query['PageSize'] = request.pageSize;
}
if (!Util.isUnset(request.resourceType)) {
query['ResourceType'] = request.resourceType;
}
if (!Util.isUnset(request.showAll)) {
query['ShowAll'] = request.showAll;
}
if (!Util.isUnset(request.sortBy)) {
query['SortBy'] = request.sortBy;
}
if (!Util.isUnset(request.status)) {
query['Status'] = request.status;
}
var req = new OpenApi.OpenApiRequest{
headers = headers,
query = OpenApiUtil.query(query),
};
var params = new OpenApi.Params{
action = 'ListResourceGroups',
version = '2022-01-12',
protocol = 'HTTPS',
pathname = `/api/v1/resources`,
method = 'GET',
authType = 'AK',
style = 'ROA',
reqBodyType = 'json',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @summary list resource group
*
* @param request ListResourceGroupsRequest
* @return ListResourceGroupsResponse
*/
async function listResourceGroups(request: ListResourceGroupsRequest): ListResourceGroupsResponse {
var runtime = new Util.RuntimeOptions{};
var headers : map[string]string = {};
return listResourceGroupsWithOptions(request, headers, runtime);
}
model ListTrainingJobEventsRequest {
endTime?: string(name='EndTime', description='Use the UTC time format: yyyy-MM-ddTHH:mmZ', example='2020-11-08T16:00:00Z'),
pageNumber?: long(name='PageNumber', example='1'),
pageSize?: long(name='PageSize', example='100'),
startTime?: string(name='StartTime', description='Use the UTC time format: yyyy-MM-ddTHH:mmZ', example='2020-11-08T16:00:00Z'),
}
model ListTrainingJobEventsResponseBody = {
events?: [ string ](name='Events'),
requestId?: string(name='RequestId', example='473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'),
totalCount?: string(name='TotalCount', example='23'),
}
model ListTrainingJobEventsResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: ListTrainingJobEventsResponseBody(name='body'),
}
/**
* @summary 获取指定TrainingJob的事件。
*
* @param request ListTrainingJobEventsRequest
* @param headers map
* @param runtime runtime options for this request RuntimeOptions
* @return ListTrainingJobEventsResponse
*/
async function listTrainingJobEventsWithOptions(TrainingJobId: string, request: ListTrainingJobEventsRequest, headers: map[string]string, runtime: Util.RuntimeOptions): ListTrainingJobEventsResponse {
Util.validateModel(request);
var query : map[string]any = {};
if (!Util.isUnset(request.endTime)) {
query['EndTime'] = request.endTime;
}
if (!Util.isUnset(request.pageNumber)) {
query['PageNumber'] = request.pageNumber;
}
if (!Util.isUnset(request.pageSize)) {
query['PageSize'] = request.pageSize;
}
if (!Util.isUnset(request.startTime)) {
query['StartTime'] = request.startTime;
}
var req = new OpenApi.OpenApiRequest{
headers = headers,
query = OpenApiUtil.query(query),
};
var params = new OpenApi.Params{
action = 'ListTrainingJobEvents',
version = '2022-01-12',
protocol = 'HTTPS',
pathname = `/api/v1/trainingjobs/${OpenApiUtil.getEncodeParam(TrainingJobId)}/events`,
method = 'GET',
authType = 'AK',
style = 'ROA',
reqBodyType = 'json',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @summary 获取指定TrainingJob的事件。
*
* @param request ListTrainingJobEventsRequest
* @return ListTrainingJobEventsResponse
*/
async function listTrainingJobEvents(TrainingJobId: string, request: ListTrainingJobEventsRequest): ListTrainingJobEventsResponse {
var runtime = new Util.RuntimeOptions{};
var headers : map[string]string = {};
return listTrainingJobEventsWithOptions(TrainingJobId, request, headers, runtime);
}
model ListTrainingJobInstanceEventsRequest {
endTime?: string(name='EndTime', description='Use the UTC time format: yyyy-MM-ddTHH:mmZ', example='2020-11-08T16:00:00Z'),
pageNumber?: long(name='PageNumber', example='1'),
pageSize?: long(name='PageSize', example='100'),
startTime?: string(name='StartTime', description='Use the UTC time format: yyyy-MM-ddTHH:mmZ', example='2020-11-08T16:00:00Z'),
}
model ListTrainingJobInstanceEventsResponseBody = {
events?: [ string ](name='Events'),
requestId?: string(name='RequestId', example='473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'),
totalCount?: string(name='TotalCount', example='1'),
}
model ListTrainingJobInstanceEventsResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: ListTrainingJobInstanceEventsResponseBody(name='body'),
}
/**
* @summary 获取指定Instance(TrainingJob的运行单元)的日志。
*
* @param request ListTrainingJobInstanceEventsRequest
* @param headers map
* @param runtime runtime options for this request RuntimeOptions
* @return ListTrainingJobInstanceEventsResponse
*/
async function listTrainingJobInstanceEventsWithOptions(TrainingJobId: string, InstanceId: string, request: ListTrainingJobInstanceEventsRequest, headers: map[string]string, runtime: Util.RuntimeOptions): ListTrainingJobInstanceEventsResponse {
Util.validateModel(request);
var query : map[string]any = {};
if (!Util.isUnset(request.endTime)) {
query['EndTime'] = request.endTime;
}
if (!Util.isUnset(request.pageNumber)) {
query['PageNumber'] = request.pageNumber;
}
if (!Util.isUnset(request.pageSize)) {
query['PageSize'] = request.pageSize;
}
if (!Util.isUnset(request.startTime)) {
query['StartTime'] = request.startTime;
}
var req = new OpenApi.OpenApiRequest{
headers = headers,
query = OpenApiUtil.query(query),
};
var params = new OpenApi.Params{
action = 'ListTrainingJobInstanceEvents',
version = '2022-01-12',
protocol = 'HTTPS',
pathname = `/api/v1/trainingjobs/${OpenApiUtil.getEncodeParam(TrainingJobId)}/instances/${OpenApiUtil.getEncodeParam(InstanceId)}/events`,
method = 'GET',
authType = 'AK',
style = 'ROA',
reqBodyType = 'json',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @summary 获取指定Instance(TrainingJob的运行单元)的日志。
*
* @param request ListTrainingJobInstanceEventsRequest
* @return ListTrainingJobInstanceEventsResponse
*/
async function listTrainingJobInstanceEvents(TrainingJobId: string, InstanceId: string, request: ListTrainingJobInstanceEventsRequest): ListTrainingJobInstanceEventsResponse {
var runtime = new Util.RuntimeOptions{};
var headers : map[string]string = {};
return listTrainingJobInstanceEventsWithOptions(TrainingJobId, InstanceId, request, headers, runtime);
}
model ListTrainingJobInstanceMetricsRequest {
endTime?: string(name='EndTime', description='Use the UTC time format: yyyy-MM-ddTHH:mmZ', example='2020-11-08T16:00:00Z'),
instanceId?: string(name='InstanceId', example='trains930928remn-master-0'),
metricType?: string(name='MetricType', description='This parameter is required.', example='GpuCoreUsage'),
startTime?: string(name='StartTime', description='Use the UTC time format: yyyy-MM-ddTHH:mmZ', example='2020-11-08T16:00:00Z'),
timeStep?: string(name='TimeStep', example='10s'),
}
model ListTrainingJobInstanceMetricsResponseBody = {
instanceMetrics?: [
{
instanceId?: string(name='InstanceId'),
metrics?: [
{
time?: string(name='Time'),
value?: double(name='Value'),
}
](name='Metrics'),
nodeName?: string(name='NodeName'),
}
](name='InstanceMetrics'),
requestId?: string(name='RequestId', example='F082BD0D-21E1-5F9B-81A0-AB07485B03CD'),
}
model ListTrainingJobInstanceMetricsResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: ListTrainingJobInstanceMetricsResponseBody(name='body'),
}
/**
* @summary 获取Training Job实例的Metrics
*
* @param request ListTrainingJobInstanceMetricsRequest
* @param headers map
* @param runtime runtime options for this request RuntimeOptions
* @return ListTrainingJobInstanceMetricsResponse
*/
async function listTrainingJobInstanceMetricsWithOptions(TrainingJobId: string, request: ListTrainingJobInstanceMetricsRequest, headers: map[string]string, runtime: Util.RuntimeOptions): ListTrainingJobInstanceMetricsResponse {
Util.validateModel(request);
var query : map[string]any = {};
if (!Util.isUnset(request.endTime)) {
query['EndTime'] = request.endTime;
}
if (!Util.isUnset(request.instanceId)) {
query['InstanceId'] = request.instanceId;
}
if (!Util.isUnset(request.metricType)) {
query['MetricType'] = request.metricType;
}
if (!Util.isUnset(request.startTime)) {
query['StartTime'] = request.startTime;
}
if (!Util.isUnset(request.timeStep)) {
query['TimeStep'] = request.timeStep;
}
var req = new OpenApi.OpenApiRequest{
headers = headers,
query = OpenApiUtil.query(query),
};
var params = new OpenApi.Params{
action = 'ListTrainingJobInstanceMetrics',
version = '2022-01-12',
protocol = 'HTTPS',
pathname = `/api/v1/trainingjobs/${OpenApiUtil.getEncodeParam(TrainingJobId)}/instancemetrics`,
method = 'GET',
authType = 'AK',
style = 'ROA',
reqBodyType = 'json',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @summary 获取Training Job实例的Metrics
*
* @param request ListTrainingJobInstanceMetricsRequest
* @return ListTrainingJobInstanceMetricsResponse
*/
async function listTrainingJobInstanceMetrics(TrainingJobId: string, request: ListTrainingJobInstanceMetricsRequest): ListTrainingJobInstanceMetricsResponse {
var runtime = new Util.RuntimeOptions{};
var headers : map[string]string = {};
return listTrainingJobInstanceMetricsWithOptions(TrainingJobId, request, headers, runtime);
}
model ListTrainingJobLogsRequest {
endTime?: string(name='EndTime', description='Use the UTC time format: yyyy-MM-ddTHH:mmZ', example='2020-11-08T16:00:00Z'),
instanceId?: string(name='InstanceId', example='train129f212o89d-master-0'),
pageNumber?: long(name='PageNumber', example='1'),
pageSize?: long(name='PageSize', example='100'),
startTime?: string(name='StartTime', description='Use the UTC time format: yyyy-MM-ddTHH:mmZ', example='2020-11-08T16:00:00Z'),
workerId?: string(name='WorkerId', example='train129f212o89d-master-0'),
}
model ListTrainingJobLogsResponseBody = {
logs?: [ string ](name='Logs'),
requestId?: string(name='RequestId', example='CBF05F13-B24C-5129-9048-4FA684DCD579'),
totalCount?: string(name='TotalCount', example='23'),
}
model ListTrainingJobLogsResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: ListTrainingJobLogsResponseBody(name='body'),
}
/**
* @summary 获取Training Job的日志
*
* @param request ListTrainingJobLogsRequest
* @param headers map
* @param runtime runtime options for this request RuntimeOptions
* @return ListTrainingJobLogsResponse
*/
async function listTrainingJobLogsWithOptions(TrainingJobId: string, request: ListTrainingJobLogsRequest, headers: map[string]string, runtime: Util.RuntimeOptions): ListTrainingJobLogsResponse {
Util.validateModel(request);
var query : map[string]any = {};
if (!Util.isUnset(request.endTime)) {
query['EndTime'] = request.endTime;
}
if (!Util.isUnset(request.instanceId)) {
query['InstanceId'] = request.instanceId;
}
if (!Util.isUnset(request.pageNumber)) {
query['PageNumber'] = request.pageNumber;
}
if (!Util.isUnset(request.pageSize)) {
query['PageSize'] = request.pageSize;
}
if (!Util.isUnset(request.startTime)) {
query['StartTime'] = request.startTime;
}
if (!Util.isUnset(request.workerId)) {
query['WorkerId'] = request.workerId;
}
var req = new OpenApi.OpenApiRequest{
headers = headers,
query = OpenApiUtil.query(query),
};
var params = new OpenApi.Params{
action = 'ListTrainingJobLogs',
version = '2022-01-12',
protocol = 'HTTPS',
pathname = `/api/v1/trainingjobs/${OpenApiUtil.getEncodeParam(TrainingJobId)}/logs`,
method = 'GET',
authType = 'AK',
style = 'ROA',
reqBodyType = 'json',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @summary 获取Training Job的日志
*
* @param request ListTrainingJobLogsRequest
* @return ListTrainingJobLogsResponse
*/
async function listTrainingJobLogs(TrainingJobId: string, request: ListTrainingJobLogsRequest): ListTrainingJobLogsResponse {
var runtime = new Util.RuntimeOptions{};
var headers : map[string]string = {};
return listTrainingJobLogsWithOptions(TrainingJobId, request, headers, runtime);
}
model ListTrainingJobMetricsRequest {
endTime?: string(name='EndTime', description='Use the UTC time format: yyyy-MM-ddTHH:mmZ', example='2020-11-08T16:00:00Z'),
name?: string(name='Name', example='accuracy'),
order?: string(name='Order', example='DESC'),
pageNumber?: long(name='PageNumber', example='1'),
pageSize?: long(name='PageSize', example='100'),
startTime?: string(name='StartTime', description='Use the UTC time format: yyyy-MM-ddTHH:mmZ', example='2020-11-08T16:00:00Z'),
}
model ListTrainingJobMetricsResponseBody = {
metrics?: [
{
name?: string(name='Name', example='accuracy'),
timestamp?: string(name='Timestamp', description='Use the UTC time format: yyyy-MM-ddTHH:mmZ', example='2022-04-18T22:20:55Z'),
value?: double(name='Value', example='0.97'),
}
](name='Metrics'),
requestId?: string(name='RequestId', example='473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'),
totalCount?: long(name='TotalCount'),
}
model ListTrainingJobMetricsResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: ListTrainingJobMetricsResponseBody(name='body'),
}
/**
* @summary 获取Training Job的Metrics
*
* @param request ListTrainingJobMetricsRequest
* @param headers map
* @param runtime runtime options for this request RuntimeOptions
* @return ListTrainingJobMetricsResponse
*/
async function listTrainingJobMetricsWithOptions(TrainingJobId: string, request: ListTrainingJobMetricsRequest, headers: map[string]string, runtime: Util.RuntimeOptions): ListTrainingJobMetricsResponse {
Util.validateModel(request);
var query : map[string]any = {};
if (!Util.isUnset(request.endTime)) {
query['EndTime'] = request.endTime;
}
if (!Util.isUnset(request.name)) {
query['Name'] = request.name;
}
if (!Util.isUnset(request.order)) {
query['Order'] = request.order;
}
if (!Util.isUnset(request.pageNumber)) {
query['PageNumber'] = request.pageNumber;
}
if (!Util.isUnset(request.pageSize)) {
query['PageSize'] = request.pageSize;
}
if (!Util.isUnset(request.startTime)) {
query['StartTime'] = request.startTime;
}
var req = new OpenApi.OpenApiRequest{
headers = headers,
query = OpenApiUtil.query(query),
};
var params = new OpenApi.Params{
action = 'ListTrainingJobMetrics',
version = '2022-01-12',
protocol = 'HTTPS',
pathname = `/api/v1/trainingjobs/${OpenApiUtil.getEncodeParam(TrainingJobId)}/metrics`,
method = 'GET',
authType = 'AK',
style = 'ROA',
reqBodyType = 'json',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @summary 获取Training Job的Metrics
*
* @param request ListTrainingJobMetricsRequest
* @return ListTrainingJobMetricsResponse
*/
async function listTrainingJobMetrics(TrainingJobId: string, request: ListTrainingJobMetricsRequest): ListTrainingJobMetricsResponse {
var runtime = new Util.RuntimeOptions{};
var headers : map[string]string = {};
return listTrainingJobMetricsWithOptions(TrainingJobId, request, headers, runtime);
}
model ListTrainingJobOutputModelsResponseBody = {
outputModels?: [
{
compressionSpec?: map[string]any(name='CompressionSpec'),
evaluationSpec?: map[string]any(name='EvaluationSpec', example='{}'),
inferenceSpec?: map[string]any(name='InferenceSpec', example='{}'),
labels?: [
{
key?: string(name='Key'),
value?: string(name='Value', example='StableDiffusion'),
}
](name='Labels'),
metrics?: map[string]any(name='Metrics', example='{
"lr": 0.000001,
"train_loss": 2.6345
}'),
outputChannelName?: string(name='OutputChannelName', example='model'),
sourceId?: string(name='SourceId', example='region=cn-shanghai,workspaceId=1345,kind=PipelineRun,id=run-sakdbaskjdf'),
sourceType?: string(name='SourceType', example='PAIFlow'),
trainingSpec?: map[string]any(name='TrainingSpec', example='{}'),
uri?: string(name='Uri', example='oss://test-bucket.oss-cn-hangzhou.aliyuncs.com/path/to/output/channel/'),
}
](name='OutputModels'),
}
model ListTrainingJobOutputModelsResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: ListTrainingJobOutputModelsResponseBody(name='body'),
}
/**
* @summary 获取Training Job 产出的所有模型信息
*
* @param headers map
* @param runtime runtime options for this request RuntimeOptions
* @return ListTrainingJobOutputModelsResponse
*/
async function listTrainingJobOutputModelsWithOptions(TrainingJobId: string, headers: map[string]string, runtime: Util.RuntimeOptions): ListTrainingJobOutputModelsResponse {
var req = new OpenApi.OpenApiRequest{
headers = headers,
};
var params = new OpenApi.Params{
action = 'ListTrainingJobOutputModels',
version = '2022-01-12',
protocol = 'HTTPS',
pathname = `/api/v1/trainingjobs/${OpenApiUtil.getEncodeParam(TrainingJobId)}/outputmodels`,
method = 'GET',
authType = 'AK',
style = 'ROA',
reqBodyType = 'json',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @summary 获取Training Job 产出的所有模型信息
*
* @return ListTrainingJobOutputModelsResponse
*/
async function listTrainingJobOutputModels(TrainingJobId: string): ListTrainingJobOutputModelsResponse {
var runtime = new Util.RuntimeOptions{};
var headers : map[string]string = {};
return listTrainingJobOutputModelsWithOptions(TrainingJobId, headers, runtime);
}
model ListTrainingJobsRequest {
algorithmName?: string(name='AlgorithmName', example='llm_train'),
algorithmProvider?: string(name='AlgorithmProvider', example='pai'),
endTime?: string(name='EndTime', example='2023-12-27T02:10:00Z'),
isTempAlgo?: boolean(name='IsTempAlgo', example='false', nullable=true),
labels?: map[string]any(name='Labels', example='{"project": "sd-s3"}'),
order?: string(name='Order', example='DESC'),
pageNumber?: long(name='PageNumber', example='1'),
pageSize?: long(name='PageSize', example='10'),
sortBy?: string(name='SortBy', example='GmtModifiedTime'),
startTime?: string(name='StartTime', example='2024-06-22T01:00:00Z'),
status?: string(name='Status', example='Running'),
trainingJobId?: string(name='TrainingJobId', example='trains930928remn'),
trainingJobName?: string(name='TrainingJobName', example='large_language_model_training'),
workspaceId?: string(name='WorkspaceId', example='12345'),
}
model ListTrainingJobsShrinkRequest {
algorithmName?: string(name='AlgorithmName', example='llm_train'),
algorithmProvider?: string(name='AlgorithmProvider', example='pai'),
endTime?: string(name='EndTime', example='2023-12-27T02:10:00Z'),
isTempAlgo?: boolean(name='IsTempAlgo', example='false', nullable=true),
labelsShrink?: string(name='Labels', example='{"project": "sd-s3"}'),
order?: string(name='Order', example='DESC'),
pageNumber?: long(name='PageNumber', example='1'),
pageSize?: long(name='PageSize', example='10'),
sortBy?: string(name='SortBy', example='GmtModifiedTime'),
startTime?: string(name='StartTime', example='2024-06-22T01:00:00Z'),
status?: string(name='Status', example='Running'),
trainingJobId?: string(name='TrainingJobId', example='trains930928remn'),
trainingJobName?: string(name='TrainingJobName', example='large_language_model_training'),
workspaceId?: string(name='WorkspaceId', example='12345'),
}
model ListTrainingJobsResponseBody = {
requestId?: string(name='RequestId', example='473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'),
totalCount?: long(name='TotalCount', example='10'),
trainingJobs?: [
{
algorithmName?: string(name='AlgorithmName', example='llm_train'),
algorithmProvider?: string(name='AlgorithmProvider', example='pai'),
algorithmVersion?: string(name='AlgorithmVersion', example='v0.0.1'),
computeResource?: {
ecsCount?: long(name='EcsCount', example='1'),
ecsSpec?: string(name='EcsSpec', example='ecs.gn5-c8g1.2xlarge'),
instanceCount?: long(name='InstanceCount', example='1'),
instanceSpec?: {
CPU?: string(name='CPU', example='8'),
GPU?: string(name='GPU', example='1'),
GPUType?: string(name='GPUType', example='V100'),
memory?: string(name='Memory', example='32'),
sharedMemory?: string(name='SharedMemory', example='32'),
}(name='InstanceSpec'),
resourceId?: string(name='ResourceId', example='quotam670lixikcl'),
resourceName?: string(name='ResourceName'),
}(name='ComputeResource'),
dlcJobId?: string(name='DlcJobId'),
environments?: map[string]string(name='Environments'),
experimentConfig?: {
experimentId?: string(name='ExperimentId', example='exp-ds9aefia90v'),
experimentName?: string(name='ExperimentName', example='large_language_model'),
}(name='ExperimentConfig'),
gmtCreateTime?: string(name='GmtCreateTime', example='2024-07-10T11:49:47Z'),
gmtModifiedTime?: string(name='GmtModifiedTime', example='2024-07-10T11:49:47Z'),
hyperParameters?: [
{
name?: string(name='Name', example='learning_rate'),
value?: string(name='Value', example='0.001'),
}
](name='HyperParameters'),
inputChannels?: [
{
datasetId?: string(name='DatasetId', example='d-475megosidivjfgfq6'),
inputUri?: string(name='InputUri', example='oss://test-bucket.oss-cn-hangzhou-internal.aliyuncs.com/path/to/input/channel/'),
name?: string(name='Name', example='model'),
versionName?: string(name='VersionName'),
}
](name='InputChannels'),
isTempAlgo?: boolean(name='IsTempAlgo', example='true'),
labels?: [
{
key?: string(name='Key', example='CreatedBy'),
value?: string(name='Value', example='QuickStart'),
}
](name='Labels'),
outputChannels?: [
{
datasetId?: string(name='DatasetId', example='d-8o0hh35po15ejcdq2p'),
name?: string(name='Name', example='model'),
outputUri?: string(name='OutputUri', example='oss://test-bucket.oss-cn-hangzhou-internal.aliyuncs.com/path/to/output/channel/'),
versionName?: string(name='VersionName'),
}
](name='OutputChannels'),
pythonRequirements?: [ string ](name='PythonRequirements'),
reasonCode?: string(name='ReasonCode', example='TrainingJobSucceed'),
reasonMessage?: string(name='ReasonMessage', example='None'),
roleArn?: string(name='RoleArn', example='acs:ram::{accountID}:role/{roleName}'),
scheduler?: {
maxRunningTimeInSeconds?: long(name='MaxRunningTimeInSeconds', example='0'),
}(name='Scheduler'),
status?: string(name='Status', example='Running'),
statusTransitions?: [
{
endTime?: string(name='EndTime', example='2024-07-10T11:49:47Z'),
reasonCode?: string(name='ReasonCode', example='TrainingJobSucceed'),
reasonMessage?: string(name='ReasonMessage', example='KubeDL job runs successfully'),
startTime?: string(name='StartTime', example='2024-07-10T11:49:47Z'),
status?: string(name='Status', example='Creating'),
}
](name='StatusTransitions'),
trainingJobDescription?: string(name='TrainingJobDescription'),
trainingJobId?: string(name='TrainingJobId', example='train1layo6js8ra'),
trainingJobName?: string(name='TrainingJobName', example='qwen2-7b'),
userId?: string(name='UserId', example='123456789'),
userVpc?: {
defaultRoute?: string(name='DefaultRoute', example='eth1'),
extendedCIDRs?: [ string ](name='ExtendedCIDRs'),
securityGroupId?: string(name='SecurityGroupId', example='sg-abcdef****'),
switchId?: string(name='SwitchId', example='vs-abcdef****'),
vpcId?: string(name='VpcId', description='VPC ID。', example='vpc-abcdef****'),
}(name='UserVpc'),
workspaceId?: string(name='WorkspaceId', example='1234'),
}
](name='TrainingJobs'),
}
model ListTrainingJobsResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: ListTrainingJobsResponseBody(name='body'),
}
/**
* @summary 获取TrainingJob的列表
*
* @param tmpReq ListTrainingJobsRequest
* @param headers map
* @param runtime runtime options for this request RuntimeOptions
* @return ListTrainingJobsResponse
*/
async function listTrainingJobsWithOptions(tmpReq: ListTrainingJobsRequest, headers: map[string]string, runtime: Util.RuntimeOptions): ListTrainingJobsResponse {
Util.validateModel(tmpReq);
var request = new ListTrainingJobsShrinkRequest{};
OpenApiUtil.convert(tmpReq, request);
if (!Util.isUnset(tmpReq.labels)) {
request.labelsShrink = OpenApiUtil.arrayToStringWithSpecifiedStyle(tmpReq.labels, 'Labels', 'json');
}
var query : map[string]any = {};
if (!Util.isUnset(request.algorithmName)) {
query['AlgorithmName'] = request.algorithmName;
}
if (!Util.isUnset(request.algorithmProvider)) {
query['AlgorithmProvider'] = request.algorithmProvider;
}
if (!Util.isUnset(request.endTime)) {
query['EndTime'] = request.endTime;
}
if (!Util.isUnset(request.isTempAlgo)) {
query['IsTempAlgo'] = request.isTempAlgo;
}
if (!Util.isUnset(request.labelsShrink)) {
query['Labels'] = request.labelsShrink;
}
if (!Util.isUnset(request.order)) {
query['Order'] = request.order;
}
if (!Util.isUnset(request.pageNumber)) {
query['PageNumber'] = request.pageNumber;
}
if (!Util.isUnset(request.pageSize)) {
query['PageSize'] = request.pageSize;
}
if (!Util.isUnset(request.sortBy)) {
query['SortBy'] = request.sortBy;
}
if (!Util.isUnset(request.startTime)) {
query['StartTime'] = request.startTime;
}
if (!Util.isUnset(request.status)) {
query['Status'] = request.status;
}
if (!Util.isUnset(request.trainingJobId)) {
query['TrainingJobId'] = request.trainingJobId;
}
if (!Util.isUnset(request.trainingJobName)) {
query['TrainingJobName'] = request.trainingJobName;
}
if (!Util.isUnset(request.workspaceId)) {
query['WorkspaceId'] = request.workspaceId;
}
var req = new OpenApi.OpenApiRequest{
headers = headers,
query = OpenApiUtil.query(query),
};
var params = new OpenApi.Params{
action = 'ListTrainingJobs',
version = '2022-01-12',
protocol = 'HTTPS',
pathname = `/api/v1/trainingjobs`,
method = 'GET',
authType = 'AK',
style = 'ROA',
reqBodyType = 'json',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @summary 获取TrainingJob的列表
*
* @param request ListTrainingJobsRequest
* @return ListTrainingJobsResponse
*/
async function listTrainingJobs(request: ListTrainingJobsRequest): ListTrainingJobsResponse {
var runtime = new Util.RuntimeOptions{};
var headers : map[string]string = {};
return listTrainingJobsWithOptions(request, headers, runtime);
}
model ScaleQuotaRequest {
min?: ResourceSpec(name='Min'),
resourceGroupIds?: [ string ](name='ResourceGroupIds'),
}
model ScaleQuotaResponseBody = {
quotaId?: string(name='QuotaId', description='Quota Id', example='quotamtl37ge7gkvdz'),
requestId?: string(name='RequestId', example='F2D0392B-D749-5C48-A98A-3FAE5C9444A6'),
}
model ScaleQuotaResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: ScaleQuotaResponseBody(name='body'),
}
/**
* @summary 扩缩容Quota
*
* @param request ScaleQuotaRequest
* @param headers map
* @param runtime runtime options for this request RuntimeOptions
* @return ScaleQuotaResponse
*/
async function scaleQuotaWithOptions(QuotaId: string, request: ScaleQuotaRequest, headers: map[string]string, runtime: Util.RuntimeOptions): ScaleQuotaResponse {
Util.validateModel(request);
var body : map[string]any = {};
if (!Util.isUnset(request.min)) {
body['Min'] = request.min;
}
if (!Util.isUnset(request.resourceGroupIds)) {
body['ResourceGroupIds'] = request.resourceGroupIds;
}
var req = new OpenApi.OpenApiRequest{
headers = headers,
body = OpenApiUtil.parseToMap(body),
};
var params = new OpenApi.Params{
action = 'ScaleQuota',
version = '2022-01-12',
protocol = 'HTTPS',
pathname = `/api/v1/quotas/${OpenApiUtil.getEncodeParam(QuotaId)}/action/scale`,
method = 'PUT',
authType = 'AK',
style = 'ROA',
reqBodyType = 'json',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @summary 扩缩容Quota
*
* @param request ScaleQuotaRequest
* @return ScaleQuotaResponse
*/
async function scaleQuota(QuotaId: string, request: ScaleQuotaRequest): ScaleQuotaResponse {
var runtime = new Util.RuntimeOptions{};
var headers : map[string]string = {};
return scaleQuotaWithOptions(QuotaId, request, headers, runtime);
}
model StopTrainingJobResponseBody = {
requestId?: string(name='RequestId', example='473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'),
}
model StopTrainingJobResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: StopTrainingJobResponseBody(name='body'),
}
/**
* @summary 停止一个TrainingJob
*
* @param headers map
* @param runtime runtime options for this request RuntimeOptions
* @return StopTrainingJobResponse
*/
async function stopTrainingJobWithOptions(TrainingJobId: string, headers: map[string]string, runtime: Util.RuntimeOptions): StopTrainingJobResponse {
var req = new OpenApi.OpenApiRequest{
headers = headers,
};
var params = new OpenApi.Params{
action = 'StopTrainingJob',
version = '2022-01-12',
protocol = 'HTTPS',
pathname = `/api/v1/trainingjobs/${OpenApiUtil.getEncodeParam(TrainingJobId)}/stop`,
method = 'PUT',
authType = 'AK',
style = 'ROA',
reqBodyType = 'json',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @summary 停止一个TrainingJob
*
* @return StopTrainingJobResponse
*/
async function stopTrainingJob(TrainingJobId: string): StopTrainingJobResponse {
var runtime = new Util.RuntimeOptions{};
var headers : map[string]string = {};
return stopTrainingJobWithOptions(TrainingJobId, headers, runtime);
}
model UpdateAlgorithmRequest {
algorithmDescription?: string(name='AlgorithmDescription'),
displayName?: string(name='DisplayName', example='LLM Train'),
}
model UpdateAlgorithmResponseBody = {
algorithmId?: string(name='AlgorithmId', example='algo-sidjc8134hv'),
requestId?: string(name='RequestId', example='E7C42CC7-2E85-508A-84F4-923B605FD10F'),
}
model UpdateAlgorithmResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: UpdateAlgorithmResponseBody(name='body'),
}
/**
* @summary 更新算法
*
* @param request UpdateAlgorithmRequest
* @param headers map
* @param runtime runtime options for this request RuntimeOptions
* @return UpdateAlgorithmResponse
*/
async function updateAlgorithmWithOptions(AlgorithmId: string, request: UpdateAlgorithmRequest, headers: map[string]string, runtime: Util.RuntimeOptions): UpdateAlgorithmResponse {
Util.validateModel(request);
var body : map[string]any = {};
if (!Util.isUnset(request.algorithmDescription)) {
body['AlgorithmDescription'] = request.algorithmDescription;
}
if (!Util.isUnset(request.displayName)) {
body['DisplayName'] = request.displayName;
}
var req = new OpenApi.OpenApiRequest{
headers = headers,
body = OpenApiUtil.parseToMap(body),
};
var params = new OpenApi.Params{
action = 'UpdateAlgorithm',
version = '2022-01-12',
protocol = 'HTTPS',
pathname = `/api/v1/algorithms/${OpenApiUtil.getEncodeParam(AlgorithmId)}`,
method = 'PUT',
authType = 'AK',
style = 'ROA',
reqBodyType = 'formData',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @summary 更新算法
*
* @param request UpdateAlgorithmRequest
* @return UpdateAlgorithmResponse
*/
async function updateAlgorithm(AlgorithmId: string, request: UpdateAlgorithmRequest): UpdateAlgorithmResponse {
var runtime = new Util.RuntimeOptions{};
var headers : map[string]string = {};
return updateAlgorithmWithOptions(AlgorithmId, request, headers, runtime);
}
model UpdateAlgorithmVersionRequest {
algorithmSpec?: AlgorithmSpec(name='AlgorithmSpec'),
}
model UpdateAlgorithmVersionShrinkRequest {
algorithmSpecShrink?: string(name='AlgorithmSpec'),
}
model UpdateAlgorithmVersionResponseBody = {
algorithmId?: string(name='AlgorithmId', example='algo-sidjc8134hv'),
algorithmVersion?: string(name='AlgorithmVersion', example='v0.1.0'),
}
model UpdateAlgorithmVersionResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: UpdateAlgorithmVersionResponseBody(name='body'),
}
/**
* @summary 更新算法
*
* @param tmpReq UpdateAlgorithmVersionRequest
* @param headers map
* @param runtime runtime options for this request RuntimeOptions
* @return UpdateAlgorithmVersionResponse
*/
async function updateAlgorithmVersionWithOptions(AlgorithmId: string, AlgorithmVersion: string, tmpReq: UpdateAlgorithmVersionRequest, headers: map[string]string, runtime: Util.RuntimeOptions): UpdateAlgorithmVersionResponse {
Util.validateModel(tmpReq);
var request = new UpdateAlgorithmVersionShrinkRequest{};
OpenApiUtil.convert(tmpReq, request);
if (!Util.isUnset(tmpReq.algorithmSpec)) {
request.algorithmSpecShrink = OpenApiUtil.arrayToStringWithSpecifiedStyle(tmpReq.algorithmSpec, 'AlgorithmSpec', 'json');
}
var body : map[string]any = {};
if (!Util.isUnset(request.algorithmSpecShrink)) {
body['AlgorithmSpec'] = request.algorithmSpecShrink;
}
var req = new OpenApi.OpenApiRequest{
headers = headers,
body = OpenApiUtil.parseToMap(body),
};
var params = new OpenApi.Params{
action = 'UpdateAlgorithmVersion',
version = '2022-01-12',
protocol = 'HTTPS',
pathname = `/api/v1/algorithms/${OpenApiUtil.getEncodeParam(AlgorithmId)}/versions/${OpenApiUtil.getEncodeParam(AlgorithmVersion)}`,
method = 'PUT',
authType = 'AK',
style = 'ROA',
reqBodyType = 'formData',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @summary 更新算法
*
* @param request UpdateAlgorithmVersionRequest
* @return UpdateAlgorithmVersionResponse
*/
async function updateAlgorithmVersion(AlgorithmId: string, AlgorithmVersion: string, request: UpdateAlgorithmVersionRequest): UpdateAlgorithmVersionResponse {
var runtime = new Util.RuntimeOptions{};
var headers : map[string]string = {};
return updateAlgorithmVersionWithOptions(AlgorithmId, AlgorithmVersion, request, headers, runtime);
}
model UpdateQuotaRequest {
description?: string(name='Description', example='this is a test quota'),
labels?: [
Label
](name='Labels'),
queueStrategy?: string(name='QueueStrategy'),
quotaConfig?: QuotaConfig(name='QuotaConfig', nullable=true),
quotaName?: string(name='QuotaName'),
}
model UpdateQuotaResponseBody = {
quotaId?: string(name='QuotaId', description='Quota Id', example='quota-20210126170216-mtl37ge7gkvdz'),
requestId?: string(name='RequestId', example='96496E6E-00B4-5F55-80F6-1844FA9E92DC'),
}
model UpdateQuotaResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: UpdateQuotaResponseBody(name='body'),
}
/**
* @summary 更新Quota
*
* @param request UpdateQuotaRequest
* @param headers map
* @param runtime runtime options for this request RuntimeOptions
* @return UpdateQuotaResponse
*/
async function updateQuotaWithOptions(QuotaId: string, request: UpdateQuotaRequest, headers: map[string]string, runtime: Util.RuntimeOptions): UpdateQuotaResponse {
Util.validateModel(request);
var body : map[string]any = {};
if (!Util.isUnset(request.description)) {
body['Description'] = request.description;
}
if (!Util.isUnset(request.labels)) {
body['Labels'] = request.labels;
}
if (!Util.isUnset(request.queueStrategy)) {
body['QueueStrategy'] = request.queueStrategy;
}
if (!Util.isUnset(request.quotaConfig)) {
body['QuotaConfig'] = request.quotaConfig;
}
if (!Util.isUnset(request.quotaName)) {
body['QuotaName'] = request.quotaName;
}
var req = new OpenApi.OpenApiRequest{
headers = headers,
body = OpenApiUtil.parseToMap(body),
};
var params = new OpenApi.Params{
action = 'UpdateQuota',
version = '2022-01-12',
protocol = 'HTTPS',
pathname = `/api/v1/quotas/${OpenApiUtil.getEncodeParam(QuotaId)}`,
method = 'PUT',
authType = 'AK',
style = 'ROA',
reqBodyType = 'json',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @summary 更新Quota
*
* @param request UpdateQuotaRequest
* @return UpdateQuotaResponse
*/
async function updateQuota(QuotaId: string, request: UpdateQuotaRequest): UpdateQuotaResponse {
var runtime = new Util.RuntimeOptions{};
var headers : map[string]string = {};
return updateQuotaWithOptions(QuotaId, request, headers, runtime);
}
model UpdateResourceGroupRequest {
description?: string(name='Description', example='test_new_havpn_tf'),
name?: string(name='Name', example='prophet'),
unbind?: boolean(name='Unbind', example='true'),
userVpc?: UserVpc(name='UserVpc'),
}
model UpdateResourceGroupResponseBody = {
resourceGroupID?: string(name='ResourceGroupID', example='rgf0zhfqn1d4ity2'),
requestId?: string(name='requestId', example='FFB1D4B4-B253-540A-9B3B-AA711C48A1B7'),
}
model UpdateResourceGroupResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: UpdateResourceGroupResponseBody(name='body'),
}
/**
* @summary 更新Resource Group
*
* @param request UpdateResourceGroupRequest
* @param headers map
* @param runtime runtime options for this request RuntimeOptions
* @return UpdateResourceGroupResponse
*/
async function updateResourceGroupWithOptions(ResourceGroupID: string, request: UpdateResourceGroupRequest, headers: map[string]string, runtime: Util.RuntimeOptions): UpdateResourceGroupResponse {
Util.validateModel(request);
var body : map[string]any = {};
if (!Util.isUnset(request.description)) {
body['Description'] = request.description;
}
if (!Util.isUnset(request.name)) {
body['Name'] = request.name;
}
if (!Util.isUnset(request.unbind)) {
body['Unbind'] = request.unbind;
}
if (!Util.isUnset(request.userVpc)) {
body['UserVpc'] = request.userVpc;
}
var req = new OpenApi.OpenApiRequest{
headers = headers,
body = OpenApiUtil.parseToMap(body),
};
var params = new OpenApi.Params{
action = 'UpdateResourceGroup',
version = '2022-01-12',
protocol = 'HTTPS',
pathname = `/api/v1/resources/${OpenApiUtil.getEncodeParam(ResourceGroupID)}`,
method = 'PUT',
authType = 'AK',
style = 'ROA',
reqBodyType = 'json',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @summary 更新Resource Group
*
* @param request UpdateResourceGroupRequest
* @return UpdateResourceGroupResponse
*/
async function updateResourceGroup(ResourceGroupID: string, request: UpdateResourceGroupRequest): UpdateResourceGroupResponse {
var runtime = new Util.RuntimeOptions{};
var headers : map[string]string = {};
return updateResourceGroupWithOptions(ResourceGroupID, request, headers, runtime);
}
model UpdateTrainingJobLabelsRequest {
labels?: [
{
key?: string(name='Key', example='RootModelID'),
value?: string(name='Value', example='model-ad8cv770kl'),
}
](name='Labels'),
}
model UpdateTrainingJobLabelsResponseBody = {
requestId?: string(name='RequestId', example='F082BD0D-21E1-5F9B-81A0-AB07485B03CD'),
}
model UpdateTrainingJobLabelsResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: UpdateTrainingJobLabelsResponseBody(name='body'),
}
/**
* @summary 更新一个TrainingJob的Labels
*
* @param request UpdateTrainingJobLabelsRequest
* @param headers map
* @param runtime runtime options for this request RuntimeOptions
* @return UpdateTrainingJobLabelsResponse
*/
async function updateTrainingJobLabelsWithOptions(TrainingJobId: string, request: UpdateTrainingJobLabelsRequest, headers: map[string]string, runtime: Util.RuntimeOptions): UpdateTrainingJobLabelsResponse {
Util.validateModel(request);
var body : map[string]any = {};
if (!Util.isUnset(request.labels)) {
body['Labels'] = request.labels;
}
var req = new OpenApi.OpenApiRequest{
headers = headers,
body = OpenApiUtil.parseToMap(body),
};
var params = new OpenApi.Params{
action = 'UpdateTrainingJobLabels',
version = '2022-01-12',
protocol = 'HTTPS',
pathname = `/api/v1/trainingjobs/${OpenApiUtil.getEncodeParam(TrainingJobId)}/labels`,
method = 'POST',
authType = 'AK',
style = 'ROA',
reqBodyType = 'json',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @summary 更新一个TrainingJob的Labels
*
* @param request UpdateTrainingJobLabelsRequest
* @return UpdateTrainingJobLabelsResponse
*/
async function updateTrainingJobLabels(TrainingJobId: string, request: UpdateTrainingJobLabelsRequest): UpdateTrainingJobLabelsResponse {
var runtime = new Util.RuntimeOptions{};
var headers : map[string]string = {};
return updateTrainingJobLabelsWithOptions(TrainingJobId, request, headers, runtime);
}