paistudio-20220112/alibabacloud_paistudio20220112/models.py (8,269 lines of code) (raw):

# -*- coding: utf-8 -*- # This file is auto-generated, don't edit it. Thanks. from Tea.model import TeaModel class ACS(TeaModel): def __init__(self, acsquota_id=None, associated_products=None): self.acsquota_id = acsquota_id # type: str self.associated_products = associated_products # type: list[str] def validate(self): pass def to_map(self): _map = super(ACS, self).to_map() if _map is not None: return _map result = dict() if self.acsquota_id is not None: result['ACSQuotaId'] = self.acsquota_id if self.associated_products is not None: result['AssociatedProducts'] = self.associated_products return result def from_map(self, m=None): m = m or dict() if m.get('ACSQuotaId') is not None: self.acsquota_id = m.get('ACSQuotaId') if m.get('AssociatedProducts') is not None: self.associated_products = m.get('AssociatedProducts') return self class AlgorithmSpecComputeResourcePolicy(TeaModel): def __init__(self, value=None, version=None): self.value = value # type: str self.version = version # type: str def validate(self): pass def to_map(self): _map = super(AlgorithmSpecComputeResourcePolicy, self).to_map() if _map is not None: return _map result = dict() if self.value is not None: result['Value'] = self.value if self.version is not None: result['Version'] = self.version return result def from_map(self, m=None): m = m or dict() if m.get('Value') is not None: self.value = m.get('Value') if m.get('Version') is not None: self.version = m.get('Version') return self class AlgorithmSpecComputeResource(TeaModel): def __init__(self, policy=None): self.policy = policy # type: AlgorithmSpecComputeResourcePolicy def validate(self): if self.policy: self.policy.validate() def to_map(self): _map = super(AlgorithmSpecComputeResource, self).to_map() if _map is not None: return _map result = dict() if self.policy is not None: result['Policy'] = self.policy.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('Policy') is not None: temp_model = AlgorithmSpecComputeResourcePolicy() self.policy = temp_model.from_map(m['Policy']) return self class AlgorithmSpecCustomization(TeaModel): def __init__(self, code_dir=None): self.code_dir = code_dir # type: bool def validate(self): pass def to_map(self): _map = super(AlgorithmSpecCustomization, self).to_map() if _map is not None: return _map result = dict() if self.code_dir is not None: result['CodeDir'] = self.code_dir return result def from_map(self, m=None): m = m or dict() if m.get('CodeDir') is not None: self.code_dir = m.get('CodeDir') return self class AlgorithmSpecProgressDefinitionsOverallProgress(TeaModel): def __init__(self, description=None, regex=None): self.description = description # type: str self.regex = regex # type: str def validate(self): pass def to_map(self): _map = super(AlgorithmSpecProgressDefinitionsOverallProgress, self).to_map() if _map is not None: return _map result = dict() if self.description is not None: result['Description'] = self.description if self.regex is not None: result['Regex'] = self.regex return result def from_map(self, m=None): m = m or dict() if m.get('Description') is not None: self.description = m.get('Description') if m.get('Regex') is not None: self.regex = m.get('Regex') return self class AlgorithmSpecProgressDefinitionsRemainingTime(TeaModel): def __init__(self, description=None, regex=None): self.description = description # type: str self.regex = regex # type: str def validate(self): pass def to_map(self): _map = super(AlgorithmSpecProgressDefinitionsRemainingTime, self).to_map() if _map is not None: return _map result = dict() if self.description is not None: result['Description'] = self.description if self.regex is not None: result['Regex'] = self.regex return result def from_map(self, m=None): m = m or dict() if m.get('Description') is not None: self.description = m.get('Description') if m.get('Regex') is not None: self.regex = m.get('Regex') return self class AlgorithmSpecProgressDefinitions(TeaModel): def __init__(self, overall_progress=None, remaining_time=None): self.overall_progress = overall_progress # type: AlgorithmSpecProgressDefinitionsOverallProgress self.remaining_time = remaining_time # type: AlgorithmSpecProgressDefinitionsRemainingTime def validate(self): if self.overall_progress: self.overall_progress.validate() if self.remaining_time: self.remaining_time.validate() def to_map(self): _map = super(AlgorithmSpecProgressDefinitions, self).to_map() if _map is not None: return _map result = dict() if self.overall_progress is not None: result['OverallProgress'] = self.overall_progress.to_map() if self.remaining_time is not None: result['RemainingTime'] = self.remaining_time.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('OverallProgress') is not None: temp_model = AlgorithmSpecProgressDefinitionsOverallProgress() self.overall_progress = temp_model.from_map(m['OverallProgress']) if m.get('RemainingTime') is not None: temp_model = AlgorithmSpecProgressDefinitionsRemainingTime() self.remaining_time = temp_model.from_map(m['RemainingTime']) return self class AlgorithmSpec(TeaModel): def __init__(self, code_dir=None, command=None, compute_resource=None, customization=None, hyper_parameters=None, image=None, input_channels=None, job_type=None, metric_definitions=None, output_channels=None, progress_definitions=None, resource_requirements=None, supported_instance_types=None, supports_distributed_training=None): self.code_dir = code_dir # type: Location self.command = command # type: list[str] self.compute_resource = compute_resource # type: AlgorithmSpecComputeResource self.customization = customization # type: AlgorithmSpecCustomization self.hyper_parameters = hyper_parameters # type: list[HyperParameterDefinition] self.image = image # type: str self.input_channels = input_channels # type: list[Channel] self.job_type = job_type # type: str self.metric_definitions = metric_definitions # type: list[MetricDefinition] self.output_channels = output_channels # type: list[Channel] self.progress_definitions = progress_definitions # type: AlgorithmSpecProgressDefinitions self.resource_requirements = resource_requirements # type: list[ConditionExpression] self.supported_instance_types = supported_instance_types # type: list[str] self.supports_distributed_training = supports_distributed_training # type: bool def validate(self): if self.code_dir: self.code_dir.validate() if self.compute_resource: self.compute_resource.validate() if self.customization: self.customization.validate() if self.hyper_parameters: for k in self.hyper_parameters: if k: k.validate() if self.input_channels: for k in self.input_channels: if k: k.validate() if self.metric_definitions: for k in self.metric_definitions: if k: k.validate() if self.output_channels: for k in self.output_channels: if k: k.validate() if self.progress_definitions: self.progress_definitions.validate() if self.resource_requirements: for k in self.resource_requirements: if k: k.validate() def to_map(self): _map = super(AlgorithmSpec, self).to_map() if _map is not None: return _map result = dict() if self.code_dir is not None: result['CodeDir'] = self.code_dir.to_map() if self.command is not None: result['Command'] = self.command if self.compute_resource is not None: result['ComputeResource'] = self.compute_resource.to_map() if self.customization is not None: result['Customization'] = self.customization.to_map() result['HyperParameters'] = [] if self.hyper_parameters is not None: for k in self.hyper_parameters: result['HyperParameters'].append(k.to_map() if k else None) if self.image is not None: result['Image'] = self.image result['InputChannels'] = [] if self.input_channels is not None: for k in self.input_channels: result['InputChannels'].append(k.to_map() if k else None) if self.job_type is not None: result['JobType'] = self.job_type result['MetricDefinitions'] = [] if self.metric_definitions is not None: for k in self.metric_definitions: result['MetricDefinitions'].append(k.to_map() if k else None) result['OutputChannels'] = [] if self.output_channels is not None: for k in self.output_channels: result['OutputChannels'].append(k.to_map() if k else None) if self.progress_definitions is not None: result['ProgressDefinitions'] = self.progress_definitions.to_map() result['ResourceRequirements'] = [] if self.resource_requirements is not None: for k in self.resource_requirements: result['ResourceRequirements'].append(k.to_map() if k else None) if self.supported_instance_types is not None: result['SupportedInstanceTypes'] = self.supported_instance_types if self.supports_distributed_training is not None: result['SupportsDistributedTraining'] = self.supports_distributed_training return result def from_map(self, m=None): m = m or dict() if m.get('CodeDir') is not None: temp_model = Location() self.code_dir = temp_model.from_map(m['CodeDir']) if m.get('Command') is not None: self.command = m.get('Command') if m.get('ComputeResource') is not None: temp_model = AlgorithmSpecComputeResource() self.compute_resource = temp_model.from_map(m['ComputeResource']) if m.get('Customization') is not None: temp_model = AlgorithmSpecCustomization() self.customization = temp_model.from_map(m['Customization']) self.hyper_parameters = [] if m.get('HyperParameters') is not None: for k in m.get('HyperParameters'): temp_model = HyperParameterDefinition() self.hyper_parameters.append(temp_model.from_map(k)) if m.get('Image') is not None: self.image = m.get('Image') self.input_channels = [] if m.get('InputChannels') is not None: for k in m.get('InputChannels'): temp_model = Channel() self.input_channels.append(temp_model.from_map(k)) if m.get('JobType') is not None: self.job_type = m.get('JobType') self.metric_definitions = [] if m.get('MetricDefinitions') is not None: for k in m.get('MetricDefinitions'): temp_model = MetricDefinition() self.metric_definitions.append(temp_model.from_map(k)) self.output_channels = [] if m.get('OutputChannels') is not None: for k in m.get('OutputChannels'): temp_model = Channel() self.output_channels.append(temp_model.from_map(k)) if m.get('ProgressDefinitions') is not None: temp_model = AlgorithmSpecProgressDefinitions() self.progress_definitions = temp_model.from_map(m['ProgressDefinitions']) self.resource_requirements = [] if m.get('ResourceRequirements') is not None: for k in m.get('ResourceRequirements'): temp_model = ConditionExpression() self.resource_requirements.append(temp_model.from_map(k)) if m.get('SupportedInstanceTypes') is not None: self.supported_instance_types = m.get('SupportedInstanceTypes') if m.get('SupportsDistributedTraining') is not None: self.supports_distributed_training = m.get('SupportsDistributedTraining') return self class AllocateStrategySpec(TeaModel): def __init__(self, node_specs=None): self.node_specs = node_specs # type: list[NodeSpec] def validate(self): if self.node_specs: for k in self.node_specs: if k: k.validate() def to_map(self): _map = super(AllocateStrategySpec, self).to_map() if _map is not None: return _map result = dict() result['NodeSpecs'] = [] if self.node_specs is not None: for k in self.node_specs: result['NodeSpecs'].append(k.to_map() if k else None) return result def from_map(self, m=None): m = m or dict() self.node_specs = [] if m.get('NodeSpecs') is not None: for k in m.get('NodeSpecs'): temp_model = NodeSpec() self.node_specs.append(temp_model.from_map(k)) return self class Channel(TeaModel): def __init__(self, description=None, name=None, properties=None, required=None, supported_channel_types=None): self.description = description # type: str self.name = name # type: str self.properties = properties # type: dict[str, any] self.required = required # type: bool self.supported_channel_types = supported_channel_types # type: list[str] def validate(self): pass def to_map(self): _map = super(Channel, self).to_map() if _map is not None: return _map result = dict() if self.description is not None: result['Description'] = self.description if self.name is not None: result['Name'] = self.name if self.properties is not None: result['Properties'] = self.properties if self.required is not None: result['Required'] = self.required if self.supported_channel_types is not None: result['SupportedChannelTypes'] = self.supported_channel_types return result def from_map(self, m=None): m = m or dict() if m.get('Description') is not None: self.description = m.get('Description') if m.get('Name') is not None: self.name = m.get('Name') if m.get('Properties') is not None: self.properties = m.get('Properties') if m.get('Required') is not None: self.required = m.get('Required') if m.get('SupportedChannelTypes') is not None: self.supported_channel_types = m.get('SupportedChannelTypes') return self class ChannelProperty(TeaModel): def __init__(self, name=None, value=None): self.name = name # type: str self.value = value # type: str def validate(self): pass def to_map(self): _map = super(ChannelProperty, self).to_map() if _map is not None: return _map result = dict() if self.name is not None: result['Name'] = self.name if self.value is not None: result['Value'] = self.value return result def from_map(self, m=None): m = m or dict() if m.get('Name') is not None: self.name = m.get('Name') if m.get('Value') is not None: self.value = m.get('Value') return self class ComponentSpec(TeaModel): def __init__(self, code_dir=None, command=None, hyper_parameters=None, image=None, input_channels=None, job_type=None, metric_definitions=None, output_channels=None, resource_requirements=None): self.code_dir = code_dir # type: Location self.command = command # type: str self.hyper_parameters = hyper_parameters # type: list[HyperParameterDefinition] self.image = image # type: str self.input_channels = input_channels # type: list[Channel] self.job_type = job_type # type: str self.metric_definitions = metric_definitions # type: list[MetricDefinition] self.output_channels = output_channels # type: list[Channel] self.resource_requirements = resource_requirements # type: list[ConditionExpression] def validate(self): if self.code_dir: self.code_dir.validate() if self.hyper_parameters: for k in self.hyper_parameters: if k: k.validate() if self.input_channels: for k in self.input_channels: if k: k.validate() if self.metric_definitions: for k in self.metric_definitions: if k: k.validate() if self.output_channels: for k in self.output_channels: if k: k.validate() if self.resource_requirements: for k in self.resource_requirements: if k: k.validate() def to_map(self): _map = super(ComponentSpec, self).to_map() if _map is not None: return _map result = dict() if self.code_dir is not None: result['CodeDir'] = self.code_dir.to_map() if self.command is not None: result['Command'] = self.command result['HyperParameters'] = [] if self.hyper_parameters is not None: for k in self.hyper_parameters: result['HyperParameters'].append(k.to_map() if k else None) if self.image is not None: result['Image'] = self.image result['InputChannels'] = [] if self.input_channels is not None: for k in self.input_channels: result['InputChannels'].append(k.to_map() if k else None) if self.job_type is not None: result['JobType'] = self.job_type result['MetricDefinitions'] = [] if self.metric_definitions is not None: for k in self.metric_definitions: result['MetricDefinitions'].append(k.to_map() if k else None) result['OutputChannels'] = [] if self.output_channels is not None: for k in self.output_channels: result['OutputChannels'].append(k.to_map() if k else None) result['ResourceRequirements'] = [] if self.resource_requirements is not None: for k in self.resource_requirements: result['ResourceRequirements'].append(k.to_map() if k else None) return result def from_map(self, m=None): m = m or dict() if m.get('CodeDir') is not None: temp_model = Location() self.code_dir = temp_model.from_map(m['CodeDir']) if m.get('Command') is not None: self.command = m.get('Command') self.hyper_parameters = [] if m.get('HyperParameters') is not None: for k in m.get('HyperParameters'): temp_model = HyperParameterDefinition() self.hyper_parameters.append(temp_model.from_map(k)) if m.get('Image') is not None: self.image = m.get('Image') self.input_channels = [] if m.get('InputChannels') is not None: for k in m.get('InputChannels'): temp_model = Channel() self.input_channels.append(temp_model.from_map(k)) if m.get('JobType') is not None: self.job_type = m.get('JobType') self.metric_definitions = [] if m.get('MetricDefinitions') is not None: for k in m.get('MetricDefinitions'): temp_model = MetricDefinition() self.metric_definitions.append(temp_model.from_map(k)) self.output_channels = [] if m.get('OutputChannels') is not None: for k in m.get('OutputChannels'): temp_model = Channel() self.output_channels.append(temp_model.from_map(k)) self.resource_requirements = [] if m.get('ResourceRequirements') is not None: for k in m.get('ResourceRequirements'): temp_model = ConditionExpression() self.resource_requirements.append(temp_model.from_map(k)) return self class ConditionExpression(TeaModel): def __init__(self, key=None, operator=None, values=None): self.key = key # type: str self.operator = operator # type: str self.values = values # type: list[str] def validate(self): pass def to_map(self): _map = super(ConditionExpression, self).to_map() if _map is not None: return _map result = dict() if self.key is not None: result['Key'] = self.key if self.operator is not None: result['Operator'] = self.operator if self.values is not None: result['Values'] = self.values return result def from_map(self, m=None): m = m or dict() if m.get('Key') is not None: self.key = m.get('Key') if m.get('Operator') is not None: self.operator = m.get('Operator') if m.get('Values') is not None: self.values = m.get('Values') return self class FeaturesQuota(TeaModel): def __init__(self, is_enabled=None): self.is_enabled = is_enabled # type: bool def validate(self): pass def to_map(self): _map = super(FeaturesQuota, self).to_map() if _map is not None: return _map result = dict() if self.is_enabled is not None: result['IsEnabled'] = self.is_enabled return result def from_map(self, m=None): m = m or dict() if m.get('IsEnabled') is not None: self.is_enabled = m.get('IsEnabled') return self class Features(TeaModel): def __init__(self, quota=None): self.quota = quota # type: FeaturesQuota def validate(self): if self.quota: self.quota.validate() def to_map(self): _map = super(Features, self).to_map() if _map is not None: return _map result = dict() if self.quota is not None: result['Quota'] = self.quota.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('Quota') is not None: temp_model = FeaturesQuota() self.quota = temp_model.from_map(m['Quota']) return self class GPUInfo(TeaModel): def __init__(self, count=None, type=None): self.count = count # type: long self.type = type # type: str def validate(self): pass def to_map(self): _map = super(GPUInfo, self).to_map() if _map is not None: return _map result = dict() if self.count is not None: result['count'] = self.count if self.type is not None: result['type'] = self.type return result def from_map(self, m=None): m = m or dict() if m.get('count') is not None: self.count = m.get('count') if m.get('type') is not None: self.type = m.get('type') return self class HyperParameterDefinition(TeaModel): def __init__(self, default_value=None, description=None, display_name=None, name=None, range=None, required=None, type=None): self.default_value = default_value # type: str self.description = description # type: str self.display_name = display_name # type: str self.name = name # type: str self.range = range # type: HyperParameterRange self.required = required # type: bool self.type = type # type: str def validate(self): if self.range: self.range.validate() def to_map(self): _map = super(HyperParameterDefinition, self).to_map() if _map is not None: return _map result = dict() if self.default_value is not None: result['DefaultValue'] = self.default_value if self.description is not None: result['Description'] = self.description if self.display_name is not None: result['DisplayName'] = self.display_name if self.name is not None: result['Name'] = self.name if self.range is not None: result['Range'] = self.range.to_map() if self.required is not None: result['Required'] = self.required if self.type is not None: result['Type'] = self.type return result def from_map(self, m=None): m = m or dict() if m.get('DefaultValue') is not None: self.default_value = m.get('DefaultValue') if m.get('Description') is not None: self.description = m.get('Description') if m.get('DisplayName') is not None: self.display_name = m.get('DisplayName') if m.get('Name') is not None: self.name = m.get('Name') if m.get('Range') is not None: temp_model = HyperParameterRange() self.range = temp_model.from_map(m['Range']) if m.get('Required') is not None: self.required = m.get('Required') if m.get('Type') is not None: self.type = m.get('Type') return self class HyperParameterRange(TeaModel): def __init__(self, enum=None, exclusive_maximum=None, exclusive_minimum=None, max_length=None, maximum=None, min_length=None, minimum=None, pattern=None): self.enum = enum # type: list[str] self.exclusive_maximum = exclusive_maximum # type: bool self.exclusive_minimum = exclusive_minimum # type: bool self.max_length = max_length # type: long self.maximum = maximum # type: str self.min_length = min_length # type: long self.minimum = minimum # type: str self.pattern = pattern # type: str def validate(self): pass def to_map(self): _map = super(HyperParameterRange, self).to_map() if _map is not None: return _map result = dict() if self.enum is not None: result['Enum'] = self.enum if self.exclusive_maximum is not None: result['ExclusiveMaximum'] = self.exclusive_maximum if self.exclusive_minimum is not None: result['ExclusiveMinimum'] = self.exclusive_minimum if self.max_length is not None: result['MaxLength'] = self.max_length if self.maximum is not None: result['Maximum'] = self.maximum if self.min_length is not None: result['MinLength'] = self.min_length if self.minimum is not None: result['Minimum'] = self.minimum if self.pattern is not None: result['Pattern'] = self.pattern return result def from_map(self, m=None): m = m or dict() if m.get('Enum') is not None: self.enum = m.get('Enum') if m.get('ExclusiveMaximum') is not None: self.exclusive_maximum = m.get('ExclusiveMaximum') if m.get('ExclusiveMinimum') is not None: self.exclusive_minimum = m.get('ExclusiveMinimum') if m.get('MaxLength') is not None: self.max_length = m.get('MaxLength') if m.get('Maximum') is not None: self.maximum = m.get('Maximum') if m.get('MinLength') is not None: self.min_length = m.get('MinLength') if m.get('Minimum') is not None: self.minimum = m.get('Minimum') if m.get('Pattern') is not None: self.pattern = m.get('Pattern') return self class JobViewMetric(TeaModel): def __init__(self, cpuusage_rate=None, disk_read_rate=None, disk_write_rate=None, gpuusage_rate=None, job_id=None, job_type=None, memory_usage_rate=None, network_input_rate=None, network_output_rate=None, node_names=None, request_cpu=None, request_gpu=None, request_memory=None, resource_group_id=None, total_cpu=None, total_gpu=None, total_memory=None, user_id=None): self.cpuusage_rate = cpuusage_rate # type: str self.disk_read_rate = disk_read_rate # type: str self.disk_write_rate = disk_write_rate # type: str self.gpuusage_rate = gpuusage_rate # type: str self.job_id = job_id # type: str self.job_type = job_type # type: str self.memory_usage_rate = memory_usage_rate # type: str self.network_input_rate = network_input_rate # type: str self.network_output_rate = network_output_rate # type: str self.node_names = node_names # type: list[str] self.request_cpu = request_cpu # type: int self.request_gpu = request_gpu # type: int self.request_memory = request_memory # type: long self.resource_group_id = resource_group_id # type: str self.total_cpu = total_cpu # type: int self.total_gpu = total_gpu # type: int self.total_memory = total_memory # type: long self.user_id = user_id # type: str def validate(self): pass def to_map(self): _map = super(JobViewMetric, self).to_map() if _map is not None: return _map result = dict() if self.cpuusage_rate is not None: result['CPUUsageRate'] = self.cpuusage_rate if self.disk_read_rate is not None: result['DiskReadRate'] = self.disk_read_rate if self.disk_write_rate is not None: result['DiskWriteRate'] = self.disk_write_rate if self.gpuusage_rate is not None: result['GPUUsageRate'] = self.gpuusage_rate if self.job_id is not None: result['JobId'] = self.job_id if self.job_type is not None: result['JobType'] = self.job_type if self.memory_usage_rate is not None: result['MemoryUsageRate'] = self.memory_usage_rate if self.network_input_rate is not None: result['NetworkInputRate'] = self.network_input_rate if self.network_output_rate is not None: result['NetworkOutputRate'] = self.network_output_rate if self.node_names is not None: result['NodeNames'] = self.node_names if self.request_cpu is not None: result['RequestCPU'] = self.request_cpu if self.request_gpu is not None: result['RequestGPU'] = self.request_gpu if self.request_memory is not None: result['RequestMemory'] = self.request_memory if self.resource_group_id is not None: result['ResourceGroupID'] = self.resource_group_id if self.total_cpu is not None: result['TotalCPU'] = self.total_cpu if self.total_gpu is not None: result['TotalGPU'] = self.total_gpu if self.total_memory is not None: result['TotalMemory'] = self.total_memory if self.user_id is not None: result['UserId'] = self.user_id return result def from_map(self, m=None): m = m or dict() if m.get('CPUUsageRate') is not None: self.cpuusage_rate = m.get('CPUUsageRate') if m.get('DiskReadRate') is not None: self.disk_read_rate = m.get('DiskReadRate') if m.get('DiskWriteRate') is not None: self.disk_write_rate = m.get('DiskWriteRate') if m.get('GPUUsageRate') is not None: self.gpuusage_rate = m.get('GPUUsageRate') if m.get('JobId') is not None: self.job_id = m.get('JobId') if m.get('JobType') is not None: self.job_type = m.get('JobType') if m.get('MemoryUsageRate') is not None: self.memory_usage_rate = m.get('MemoryUsageRate') if m.get('NetworkInputRate') is not None: self.network_input_rate = m.get('NetworkInputRate') if m.get('NetworkOutputRate') is not None: self.network_output_rate = m.get('NetworkOutputRate') if m.get('NodeNames') is not None: self.node_names = m.get('NodeNames') if m.get('RequestCPU') is not None: self.request_cpu = m.get('RequestCPU') if m.get('RequestGPU') is not None: self.request_gpu = m.get('RequestGPU') if m.get('RequestMemory') is not None: self.request_memory = m.get('RequestMemory') if m.get('ResourceGroupID') is not None: self.resource_group_id = m.get('ResourceGroupID') if m.get('TotalCPU') is not None: self.total_cpu = m.get('TotalCPU') if m.get('TotalGPU') is not None: self.total_gpu = m.get('TotalGPU') if m.get('TotalMemory') is not None: self.total_memory = m.get('TotalMemory') if m.get('UserId') is not None: self.user_id = m.get('UserId') return self class Label(TeaModel): def __init__(self, key=None, value=None): self.key = key # type: str self.value = value # type: str def validate(self): pass def to_map(self): _map = super(Label, self).to_map() if _map is not None: return _map result = dict() if self.key is not None: result['Key'] = self.key if self.value is not None: result['Value'] = self.value return result def from_map(self, m=None): m = m or dict() if m.get('Key') is not None: self.key = m.get('Key') if m.get('Value') is not None: self.value = m.get('Value') return self class Location(TeaModel): def __init__(self, location_type=None, location_value=None): self.location_type = location_type # type: str self.location_value = location_value # type: dict[str, any] def validate(self): pass def to_map(self): _map = super(Location, self).to_map() if _map is not None: return _map result = dict() if self.location_type is not None: result['LocationType'] = self.location_type if self.location_value is not None: result['LocationValue'] = self.location_value return result def from_map(self, m=None): m = m or dict() if m.get('LocationType') is not None: self.location_type = m.get('LocationType') if m.get('LocationValue') is not None: self.location_value = m.get('LocationValue') return self class MachineGroup(TeaModel): def __init__(self, creator_id=None, default_driver=None, ecs_count=None, ecs_spec=None, gmt_created_time=None, gmt_expired_time=None, gmt_modified_time=None, gmt_started_time=None, machine_group_id=None, payment_duration=None, payment_duration_unit=None, payment_type=None, reason_code=None, reason_message=None, resource_group_id=None, status=None, supported_drivers=None): self.creator_id = creator_id # type: str self.default_driver = default_driver # type: str self.ecs_count = ecs_count # type: long self.ecs_spec = ecs_spec # type: str self.gmt_created_time = gmt_created_time # type: str self.gmt_expired_time = gmt_expired_time # type: str self.gmt_modified_time = gmt_modified_time # type: str self.gmt_started_time = gmt_started_time # type: str self.machine_group_id = machine_group_id # type: str self.payment_duration = payment_duration # type: str self.payment_duration_unit = payment_duration_unit # type: str self.payment_type = payment_type # type: str self.reason_code = reason_code # type: str self.reason_message = reason_message # type: str self.resource_group_id = resource_group_id # type: str self.status = status # type: str self.supported_drivers = supported_drivers # type: list[str] def validate(self): pass def to_map(self): _map = super(MachineGroup, self).to_map() if _map is not None: return _map result = dict() if self.creator_id is not None: result['CreatorID'] = self.creator_id if self.default_driver is not None: result['DefaultDriver'] = self.default_driver if self.ecs_count is not None: result['EcsCount'] = self.ecs_count if self.ecs_spec is not None: result['EcsSpec'] = self.ecs_spec if self.gmt_created_time is not None: result['GmtCreatedTime'] = self.gmt_created_time if self.gmt_expired_time is not None: result['GmtExpiredTime'] = self.gmt_expired_time if self.gmt_modified_time is not None: result['GmtModifiedTime'] = self.gmt_modified_time if self.gmt_started_time is not None: result['GmtStartedTime'] = self.gmt_started_time if self.machine_group_id is not None: result['MachineGroupID'] = self.machine_group_id if self.payment_duration is not None: result['PaymentDuration'] = self.payment_duration if self.payment_duration_unit is not None: result['PaymentDurationUnit'] = self.payment_duration_unit if self.payment_type is not None: result['PaymentType'] = self.payment_type if self.reason_code is not None: result['ReasonCode'] = self.reason_code if self.reason_message is not None: result['ReasonMessage'] = self.reason_message if self.resource_group_id is not None: result['ResourceGroupID'] = self.resource_group_id if self.status is not None: result['Status'] = self.status if self.supported_drivers is not None: result['SupportedDrivers'] = self.supported_drivers return result def from_map(self, m=None): m = m or dict() if m.get('CreatorID') is not None: self.creator_id = m.get('CreatorID') if m.get('DefaultDriver') is not None: self.default_driver = m.get('DefaultDriver') if m.get('EcsCount') is not None: self.ecs_count = m.get('EcsCount') if m.get('EcsSpec') is not None: self.ecs_spec = m.get('EcsSpec') if m.get('GmtCreatedTime') is not None: self.gmt_created_time = m.get('GmtCreatedTime') if m.get('GmtExpiredTime') is not None: self.gmt_expired_time = m.get('GmtExpiredTime') if m.get('GmtModifiedTime') is not None: self.gmt_modified_time = m.get('GmtModifiedTime') if m.get('GmtStartedTime') is not None: self.gmt_started_time = m.get('GmtStartedTime') if m.get('MachineGroupID') is not None: self.machine_group_id = m.get('MachineGroupID') if m.get('PaymentDuration') is not None: self.payment_duration = m.get('PaymentDuration') if m.get('PaymentDurationUnit') is not None: self.payment_duration_unit = m.get('PaymentDurationUnit') if m.get('PaymentType') is not None: self.payment_type = m.get('PaymentType') if m.get('ReasonCode') is not None: self.reason_code = m.get('ReasonCode') if m.get('ReasonMessage') is not None: self.reason_message = m.get('ReasonMessage') if m.get('ResourceGroupID') is not None: self.resource_group_id = m.get('ResourceGroupID') if m.get('Status') is not None: self.status = m.get('Status') if m.get('SupportedDrivers') is not None: self.supported_drivers = m.get('SupportedDrivers') return self class Metric(TeaModel): def __init__(self, time=None, value=None): self.time = time # type: long self.value = value # type: str def validate(self): pass def to_map(self): _map = super(Metric, self).to_map() if _map is not None: return _map result = dict() if self.time is not None: result['Time'] = self.time if self.value is not None: result['Value'] = self.value return result def from_map(self, m=None): m = m or dict() if m.get('Time') is not None: self.time = m.get('Time') if m.get('Value') is not None: self.value = m.get('Value') return self class MetricDefinition(TeaModel): def __init__(self, description=None, name=None, regex=None): self.description = description # type: str self.name = name # type: str self.regex = regex # type: str def validate(self): pass def to_map(self): _map = super(MetricDefinition, self).to_map() if _map is not None: return _map result = dict() if self.description is not None: result['Description'] = self.description if self.name is not None: result['Name'] = self.name if self.regex is not None: result['Regex'] = self.regex return result def from_map(self, m=None): m = m or dict() if m.get('Description') is not None: self.description = m.get('Description') if m.get('Name') is not None: self.name = m.get('Name') if m.get('Regex') is not None: self.regex = m.get('Regex') return self class Node(TeaModel): def __init__(self, accelerator_type=None, bound_quotas=None, cpu=None, creator_id=None, gpu=None, gputype=None, gmt_create_time=None, gmt_expired_time=None, gmt_modified_time=None, is_bound=None, machine_group_id=None, memory=None, node_name=None, node_status=None, node_type=None, order_status=None, reason_code=None, reason_message=None, resource_group_id=None, resource_group_name=None): self.accelerator_type = accelerator_type # type: str self.bound_quotas = bound_quotas # type: list[QuotaIdName] self.cpu = cpu # type: str self.creator_id = creator_id # type: str self.gpu = gpu # type: str self.gputype = gputype # type: str self.gmt_create_time = gmt_create_time # type: str self.gmt_expired_time = gmt_expired_time # type: str self.gmt_modified_time = gmt_modified_time # type: str self.is_bound = is_bound # type: bool self.machine_group_id = machine_group_id # type: str self.memory = memory # type: str self.node_name = node_name # type: str self.node_status = node_status # type: str self.node_type = node_type # type: str self.order_status = order_status # type: str self.reason_code = reason_code # type: str self.reason_message = reason_message # type: str self.resource_group_id = resource_group_id # type: str self.resource_group_name = resource_group_name # type: str def validate(self): if self.bound_quotas: for k in self.bound_quotas: if k: k.validate() def to_map(self): _map = super(Node, self).to_map() if _map is not None: return _map result = dict() if self.accelerator_type is not None: result['AcceleratorType'] = self.accelerator_type result['BoundQuotas'] = [] if self.bound_quotas is not None: for k in self.bound_quotas: result['BoundQuotas'].append(k.to_map() if k else None) if self.cpu is not None: result['CPU'] = self.cpu if self.creator_id is not None: result['CreatorId'] = self.creator_id if self.gpu is not None: result['GPU'] = self.gpu if self.gputype is not None: result['GPUType'] = self.gputype if self.gmt_create_time is not None: result['GmtCreateTime'] = self.gmt_create_time if self.gmt_expired_time is not None: result['GmtExpiredTime'] = self.gmt_expired_time if self.gmt_modified_time is not None: result['GmtModifiedTime'] = self.gmt_modified_time if self.is_bound is not None: result['IsBound'] = self.is_bound if self.machine_group_id is not None: result['MachineGroupId'] = self.machine_group_id if self.memory is not None: result['Memory'] = self.memory if self.node_name is not None: result['NodeName'] = self.node_name if self.node_status is not None: result['NodeStatus'] = self.node_status if self.node_type is not None: result['NodeType'] = self.node_type if self.order_status is not None: result['OrderStatus'] = self.order_status if self.reason_code is not None: result['ReasonCode'] = self.reason_code if self.reason_message is not None: result['ReasonMessage'] = self.reason_message if self.resource_group_id is not None: result['ResourceGroupId'] = self.resource_group_id if self.resource_group_name is not None: result['ResourceGroupName'] = self.resource_group_name return result def from_map(self, m=None): m = m or dict() if m.get('AcceleratorType') is not None: self.accelerator_type = m.get('AcceleratorType') self.bound_quotas = [] if m.get('BoundQuotas') is not None: for k in m.get('BoundQuotas'): temp_model = QuotaIdName() self.bound_quotas.append(temp_model.from_map(k)) if m.get('CPU') is not None: self.cpu = m.get('CPU') if m.get('CreatorId') is not None: self.creator_id = m.get('CreatorId') if m.get('GPU') is not None: self.gpu = m.get('GPU') if m.get('GPUType') is not None: self.gputype = m.get('GPUType') if m.get('GmtCreateTime') is not None: self.gmt_create_time = m.get('GmtCreateTime') if m.get('GmtExpiredTime') is not None: self.gmt_expired_time = m.get('GmtExpiredTime') if m.get('GmtModifiedTime') is not None: self.gmt_modified_time = m.get('GmtModifiedTime') if m.get('IsBound') is not None: self.is_bound = m.get('IsBound') if m.get('MachineGroupId') is not None: self.machine_group_id = m.get('MachineGroupId') if m.get('Memory') is not None: self.memory = m.get('Memory') if m.get('NodeName') is not None: self.node_name = m.get('NodeName') if m.get('NodeStatus') is not None: self.node_status = m.get('NodeStatus') if m.get('NodeType') is not None: self.node_type = m.get('NodeType') if m.get('OrderStatus') is not None: self.order_status = m.get('OrderStatus') if m.get('ReasonCode') is not None: self.reason_code = m.get('ReasonCode') if m.get('ReasonMessage') is not None: self.reason_message = m.get('ReasonMessage') if m.get('ResourceGroupId') is not None: self.resource_group_id = m.get('ResourceGroupId') if m.get('ResourceGroupName') is not None: self.resource_group_name = m.get('ResourceGroupName') return self class NodeMetric(TeaModel): def __init__(self, gputype=None, metrics=None, node_id=None): self.gputype = gputype # type: str self.metrics = metrics # type: list[Metric] self.node_id = node_id # type: str def validate(self): if self.metrics: for k in self.metrics: if k: k.validate() def to_map(self): _map = super(NodeMetric, self).to_map() if _map is not None: return _map result = dict() if self.gputype is not None: result['GPUType'] = self.gputype result['Metrics'] = [] if self.metrics is not None: for k in self.metrics: result['Metrics'].append(k.to_map() if k else None) if self.node_id is not None: result['NodeID'] = self.node_id return result def from_map(self, m=None): m = m or dict() if m.get('GPUType') is not None: self.gputype = m.get('GPUType') self.metrics = [] if m.get('Metrics') is not None: for k in m.get('Metrics'): temp_model = Metric() self.metrics.append(temp_model.from_map(k)) if m.get('NodeID') is not None: self.node_id = m.get('NodeID') return self class NodeSpec(TeaModel): def __init__(self, count=None, type=None): self.count = count # type: long self.type = type # type: str def validate(self): pass def to_map(self): _map = super(NodeSpec, self).to_map() if _map is not None: return _map result = dict() if self.count is not None: result['Count'] = self.count if self.type is not None: result['Type'] = self.type return result def from_map(self, m=None): m = m or dict() if m.get('Count') is not None: self.count = m.get('Count') if m.get('Type') is not None: self.type = m.get('Type') return self class NodeType(TeaModel): def __init__(self, accelerator_type=None, cpu=None, gpu=None, gputype=None, memory=None, node_type=None): self.accelerator_type = accelerator_type # type: str self.cpu = cpu # type: str self.gpu = gpu # type: str self.gputype = gputype # type: str self.memory = memory # type: str self.node_type = node_type # type: str def validate(self): pass def to_map(self): _map = super(NodeType, self).to_map() if _map is not None: return _map result = dict() if self.accelerator_type is not None: result['AcceleratorType'] = self.accelerator_type if self.cpu is not None: result['CPU'] = self.cpu if self.gpu is not None: result['GPU'] = self.gpu if self.gputype is not None: result['GPUType'] = self.gputype if self.memory is not None: result['Memory'] = self.memory if self.node_type is not None: result['NodeType'] = self.node_type return result def from_map(self, m=None): m = m or dict() if m.get('AcceleratorType') is not None: self.accelerator_type = m.get('AcceleratorType') if m.get('CPU') is not None: self.cpu = m.get('CPU') if m.get('GPU') is not None: self.gpu = m.get('GPU') if m.get('GPUType') is not None: self.gputype = m.get('GPUType') if m.get('Memory') is not None: self.memory = m.get('Memory') if m.get('NodeType') is not None: self.node_type = m.get('NodeType') return self class NodeTypeStatistic(TeaModel): def __init__(self, can_be_bound_count=None, node_type=None, total_count=None): self.can_be_bound_count = can_be_bound_count # type: int self.node_type = node_type # type: str self.total_count = total_count # type: int def validate(self): pass def to_map(self): _map = super(NodeTypeStatistic, self).to_map() if _map is not None: return _map result = dict() if self.can_be_bound_count is not None: result['CanBeBoundCount'] = self.can_be_bound_count if self.node_type is not None: result['NodeType'] = self.node_type if self.total_count is not None: result['TotalCount'] = self.total_count return result def from_map(self, m=None): m = m or dict() if m.get('CanBeBoundCount') is not None: self.can_be_bound_count = m.get('CanBeBoundCount') if m.get('NodeType') is not None: self.node_type = m.get('NodeType') if m.get('TotalCount') is not None: self.total_count = m.get('TotalCount') return self class NodeViewMetric(TeaModel): def __init__(self, cpuusage_rate=None, created_time=None, disk_read_rate=None, disk_write_rate=None, gputype=None, machine_group_id=None, memory_usage_rate=None, network_input_rate=None, network_output_rate=None, node_id=None, node_status=None, node_type=None, request_cpu=None, request_gpu=None, request_memory=None, task_id_map=None, total_cpu=None, total_gpu=None, total_memory=None, total_tasks=None, user_ids=None, user_number=None): self.cpuusage_rate = cpuusage_rate # type: str self.created_time = created_time # type: str self.disk_read_rate = disk_read_rate # type: str self.disk_write_rate = disk_write_rate # type: str self.gputype = gputype # type: str self.machine_group_id = machine_group_id # type: str self.memory_usage_rate = memory_usage_rate # type: str self.network_input_rate = network_input_rate # type: str self.network_output_rate = network_output_rate # type: str self.node_id = node_id # type: str self.node_status = node_status # type: str self.node_type = node_type # type: str self.request_cpu = request_cpu # type: long self.request_gpu = request_gpu # type: long self.request_memory = request_memory # type: long self.task_id_map = task_id_map # type: dict[str, any] self.total_cpu = total_cpu # type: long self.total_gpu = total_gpu # type: long self.total_memory = total_memory # type: long self.total_tasks = total_tasks # type: long self.user_ids = user_ids # type: list[str] self.user_number = user_number # type: str def validate(self): pass def to_map(self): _map = super(NodeViewMetric, self).to_map() if _map is not None: return _map result = dict() if self.cpuusage_rate is not None: result['CPUUsageRate'] = self.cpuusage_rate if self.created_time is not None: result['CreatedTime'] = self.created_time if self.disk_read_rate is not None: result['DiskReadRate'] = self.disk_read_rate if self.disk_write_rate is not None: result['DiskWriteRate'] = self.disk_write_rate if self.gputype is not None: result['GPUType'] = self.gputype if self.machine_group_id is not None: result['MachineGroupID'] = self.machine_group_id if self.memory_usage_rate is not None: result['MemoryUsageRate'] = self.memory_usage_rate if self.network_input_rate is not None: result['NetworkInputRate'] = self.network_input_rate if self.network_output_rate is not None: result['NetworkOutputRate'] = self.network_output_rate if self.node_id is not None: result['NodeID'] = self.node_id if self.node_status is not None: result['NodeStatus'] = self.node_status if self.node_type is not None: result['NodeType'] = self.node_type if self.request_cpu is not None: result['RequestCPU'] = self.request_cpu if self.request_gpu is not None: result['RequestGPU'] = self.request_gpu if self.request_memory is not None: result['RequestMemory'] = self.request_memory if self.task_id_map is not None: result['TaskIdMap'] = self.task_id_map if self.total_cpu is not None: result['TotalCPU'] = self.total_cpu if self.total_gpu is not None: result['TotalGPU'] = self.total_gpu if self.total_memory is not None: result['TotalMemory'] = self.total_memory if self.total_tasks is not None: result['TotalTasks'] = self.total_tasks if self.user_ids is not None: result['UserIDs'] = self.user_ids if self.user_number is not None: result['UserNumber'] = self.user_number return result def from_map(self, m=None): m = m or dict() if m.get('CPUUsageRate') is not None: self.cpuusage_rate = m.get('CPUUsageRate') if m.get('CreatedTime') is not None: self.created_time = m.get('CreatedTime') if m.get('DiskReadRate') is not None: self.disk_read_rate = m.get('DiskReadRate') if m.get('DiskWriteRate') is not None: self.disk_write_rate = m.get('DiskWriteRate') if m.get('GPUType') is not None: self.gputype = m.get('GPUType') if m.get('MachineGroupID') is not None: self.machine_group_id = m.get('MachineGroupID') if m.get('MemoryUsageRate') is not None: self.memory_usage_rate = m.get('MemoryUsageRate') if m.get('NetworkInputRate') is not None: self.network_input_rate = m.get('NetworkInputRate') if m.get('NetworkOutputRate') is not None: self.network_output_rate = m.get('NetworkOutputRate') if m.get('NodeID') is not None: self.node_id = m.get('NodeID') if m.get('NodeStatus') is not None: self.node_status = m.get('NodeStatus') if m.get('NodeType') is not None: self.node_type = m.get('NodeType') if m.get('RequestCPU') is not None: self.request_cpu = m.get('RequestCPU') if m.get('RequestGPU') is not None: self.request_gpu = m.get('RequestGPU') if m.get('RequestMemory') is not None: self.request_memory = m.get('RequestMemory') if m.get('TaskIdMap') is not None: self.task_id_map = m.get('TaskIdMap') if m.get('TotalCPU') is not None: self.total_cpu = m.get('TotalCPU') if m.get('TotalGPU') is not None: self.total_gpu = m.get('TotalGPU') if m.get('TotalMemory') is not None: self.total_memory = m.get('TotalMemory') if m.get('TotalTasks') is not None: self.total_tasks = m.get('TotalTasks') if m.get('UserIDs') is not None: self.user_ids = m.get('UserIDs') if m.get('UserNumber') is not None: self.user_number = m.get('UserNumber') return self class Permission(TeaModel): def __init__(self, is_enabled=None, resource_type=None): self.is_enabled = is_enabled # type: bool self.resource_type = resource_type # type: str def validate(self): pass def to_map(self): _map = super(Permission, self).to_map() if _map is not None: return _map result = dict() if self.is_enabled is not None: result['IsEnabled'] = self.is_enabled if self.resource_type is not None: result['ResourceType'] = self.resource_type return result def from_map(self, m=None): m = m or dict() if m.get('IsEnabled') is not None: self.is_enabled = m.get('IsEnabled') if m.get('ResourceType') is not None: self.resource_type = m.get('ResourceType') return self class QueueInfo(TeaModel): def __init__(self, code=None, code_type=None, gmt_dequeued_time=None, gmt_enqueued_time=None, gmt_position_modified_time=None, name=None, position=None, priority=None, queue_strategy=None, quota_id=None, reason=None, resource=None, status=None, sub_status=None, user_id=None, workload_id=None, workload_type=None, workspace_id=None): self.code = code # type: str self.code_type = code_type # type: str self.gmt_dequeued_time = gmt_dequeued_time # type: str self.gmt_enqueued_time = gmt_enqueued_time # type: str self.gmt_position_modified_time = gmt_position_modified_time # type: str self.name = name # type: str self.position = position # type: long self.priority = priority # type: long self.queue_strategy = queue_strategy # type: str self.quota_id = quota_id # type: str self.reason = reason # type: str self.resource = resource # type: ResourceAmount self.status = status # type: str self.sub_status = sub_status # type: str self.user_id = user_id # type: str self.workload_id = workload_id # type: str self.workload_type = workload_type # type: str self.workspace_id = workspace_id # type: str def validate(self): if self.resource: self.resource.validate() def to_map(self): _map = super(QueueInfo, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['Code'] = self.code if self.code_type is not None: result['CodeType'] = self.code_type if self.gmt_dequeued_time is not None: result['GmtDequeuedTime'] = self.gmt_dequeued_time if self.gmt_enqueued_time is not None: result['GmtEnqueuedTime'] = self.gmt_enqueued_time if self.gmt_position_modified_time is not None: result['GmtPositionModifiedTime'] = self.gmt_position_modified_time if self.name is not None: result['Name'] = self.name if self.position is not None: result['Position'] = self.position if self.priority is not None: result['Priority'] = self.priority if self.queue_strategy is not None: result['QueueStrategy'] = self.queue_strategy if self.quota_id is not None: result['QuotaId'] = self.quota_id if self.reason is not None: result['Reason'] = self.reason if self.resource is not None: result['Resource'] = self.resource.to_map() if self.status is not None: result['Status'] = self.status if self.sub_status is not None: result['SubStatus'] = self.sub_status if self.user_id is not None: result['UserId'] = self.user_id if self.workload_id is not None: result['WorkloadId'] = self.workload_id if self.workload_type is not None: result['WorkloadType'] = self.workload_type if self.workspace_id is not None: result['WorkspaceId'] = self.workspace_id return result def from_map(self, m=None): m = m or dict() if m.get('Code') is not None: self.code = m.get('Code') if m.get('CodeType') is not None: self.code_type = m.get('CodeType') if m.get('GmtDequeuedTime') is not None: self.gmt_dequeued_time = m.get('GmtDequeuedTime') if m.get('GmtEnqueuedTime') is not None: self.gmt_enqueued_time = m.get('GmtEnqueuedTime') if m.get('GmtPositionModifiedTime') is not None: self.gmt_position_modified_time = m.get('GmtPositionModifiedTime') if m.get('Name') is not None: self.name = m.get('Name') if m.get('Position') is not None: self.position = m.get('Position') if m.get('Priority') is not None: self.priority = m.get('Priority') if m.get('QueueStrategy') is not None: self.queue_strategy = m.get('QueueStrategy') if m.get('QuotaId') is not None: self.quota_id = m.get('QuotaId') if m.get('Reason') is not None: self.reason = m.get('Reason') if m.get('Resource') is not None: temp_model = ResourceAmount() self.resource = temp_model.from_map(m['Resource']) if m.get('Status') is not None: self.status = m.get('Status') if m.get('SubStatus') is not None: self.sub_status = m.get('SubStatus') if m.get('UserId') is not None: self.user_id = m.get('UserId') if m.get('WorkloadId') is not None: self.workload_id = m.get('WorkloadId') if m.get('WorkloadType') is not None: self.workload_type = m.get('WorkloadType') if m.get('WorkspaceId') is not None: self.workspace_id = m.get('WorkspaceId') return self class Quota(TeaModel): def __init__(self, allocate_strategy=None, creator_id=None, description=None, gmt_created_time=None, gmt_modified_time=None, labels=None, latest_operation_id=None, min=None, parent_quota_id=None, queue_strategy=None, quota_config=None, quota_details=None, quota_id=None, quota_name=None, reason_code=None, reason_message=None, resource_group_ids=None, resource_type=None, status=None, sub_quotas=None, workspaces=None): self.allocate_strategy = allocate_strategy # type: str self.creator_id = creator_id # type: str self.description = description # type: str self.gmt_created_time = gmt_created_time # type: str self.gmt_modified_time = gmt_modified_time # type: str self.labels = labels # type: list[Label] self.latest_operation_id = latest_operation_id # type: str self.min = min # type: ResourceSpec self.parent_quota_id = parent_quota_id # type: str self.queue_strategy = queue_strategy # type: str self.quota_config = quota_config # type: QuotaConfig self.quota_details = quota_details # type: QuotaDetails self.quota_id = quota_id # type: str self.quota_name = quota_name # type: str self.reason_code = reason_code # type: str self.reason_message = reason_message # type: str self.resource_group_ids = resource_group_ids # type: list[str] self.resource_type = resource_type # type: str self.status = status # type: str self.sub_quotas = sub_quotas # type: list[QuotaIdName] self.workspaces = workspaces # type: list[WorkspaceIdName] def validate(self): if self.labels: for k in self.labels: if k: k.validate() if self.min: self.min.validate() if self.quota_config: self.quota_config.validate() if self.quota_details: self.quota_details.validate() if self.sub_quotas: for k in self.sub_quotas: if k: k.validate() if self.workspaces: for k in self.workspaces: if k: k.validate() def to_map(self): _map = super(Quota, self).to_map() if _map is not None: return _map result = dict() if self.allocate_strategy is not None: result['AllocateStrategy'] = self.allocate_strategy if self.creator_id is not None: result['CreatorId'] = self.creator_id if self.description is not None: result['Description'] = self.description if self.gmt_created_time is not None: result['GmtCreatedTime'] = self.gmt_created_time if self.gmt_modified_time is not None: result['GmtModifiedTime'] = self.gmt_modified_time result['Labels'] = [] if self.labels is not None: for k in self.labels: result['Labels'].append(k.to_map() if k else None) if self.latest_operation_id is not None: result['LatestOperationId'] = self.latest_operation_id if self.min is not None: result['Min'] = self.min.to_map() if self.parent_quota_id is not None: result['ParentQuotaId'] = self.parent_quota_id if self.queue_strategy is not None: result['QueueStrategy'] = self.queue_strategy if self.quota_config is not None: result['QuotaConfig'] = self.quota_config.to_map() if self.quota_details is not None: result['QuotaDetails'] = self.quota_details.to_map() if self.quota_id is not None: result['QuotaId'] = self.quota_id if self.quota_name is not None: result['QuotaName'] = self.quota_name if self.reason_code is not None: result['ReasonCode'] = self.reason_code if self.reason_message is not None: result['ReasonMessage'] = self.reason_message if self.resource_group_ids is not None: result['ResourceGroupIds'] = self.resource_group_ids if self.resource_type is not None: result['ResourceType'] = self.resource_type if self.status is not None: result['Status'] = self.status result['SubQuotas'] = [] if self.sub_quotas is not None: for k in self.sub_quotas: result['SubQuotas'].append(k.to_map() if k else None) result['Workspaces'] = [] if self.workspaces is not None: for k in self.workspaces: result['Workspaces'].append(k.to_map() if k else None) return result def from_map(self, m=None): m = m or dict() if m.get('AllocateStrategy') is not None: self.allocate_strategy = m.get('AllocateStrategy') if m.get('CreatorId') is not None: self.creator_id = m.get('CreatorId') if m.get('Description') is not None: self.description = m.get('Description') if m.get('GmtCreatedTime') is not None: self.gmt_created_time = m.get('GmtCreatedTime') if m.get('GmtModifiedTime') is not None: self.gmt_modified_time = m.get('GmtModifiedTime') self.labels = [] if m.get('Labels') is not None: for k in m.get('Labels'): temp_model = Label() self.labels.append(temp_model.from_map(k)) if m.get('LatestOperationId') is not None: self.latest_operation_id = m.get('LatestOperationId') if m.get('Min') is not None: temp_model = ResourceSpec() self.min = temp_model.from_map(m['Min']) if m.get('ParentQuotaId') is not None: self.parent_quota_id = m.get('ParentQuotaId') if m.get('QueueStrategy') is not None: self.queue_strategy = m.get('QueueStrategy') if m.get('QuotaConfig') is not None: temp_model = QuotaConfig() self.quota_config = temp_model.from_map(m['QuotaConfig']) if m.get('QuotaDetails') is not None: temp_model = QuotaDetails() self.quota_details = temp_model.from_map(m['QuotaDetails']) if m.get('QuotaId') is not None: self.quota_id = m.get('QuotaId') if m.get('QuotaName') is not None: self.quota_name = m.get('QuotaName') if m.get('ReasonCode') is not None: self.reason_code = m.get('ReasonCode') if m.get('ReasonMessage') is not None: self.reason_message = m.get('ReasonMessage') if m.get('ResourceGroupIds') is not None: self.resource_group_ids = m.get('ResourceGroupIds') if m.get('ResourceType') is not None: self.resource_type = m.get('ResourceType') if m.get('Status') is not None: self.status = m.get('Status') self.sub_quotas = [] if m.get('SubQuotas') is not None: for k in m.get('SubQuotas'): temp_model = QuotaIdName() self.sub_quotas.append(temp_model.from_map(k)) self.workspaces = [] if m.get('Workspaces') is not None: for k in m.get('Workspaces'): temp_model = WorkspaceIdName() self.workspaces.append(temp_model.from_map(k)) return self class QuotaConfig(TeaModel): def __init__(self, acs=None, cluster_id=None, default_gpudriver=None, resource_specs=None, support_gpudrivers=None, support_rdma=None, user_vpc=None): self.acs = acs # type: ACS self.cluster_id = cluster_id # type: str self.default_gpudriver = default_gpudriver # type: str self.resource_specs = resource_specs # type: list[WorkspaceSpecs] self.support_gpudrivers = support_gpudrivers # type: list[str] self.support_rdma = support_rdma # type: bool self.user_vpc = user_vpc # type: UserVpc def validate(self): if self.acs: self.acs.validate() if self.resource_specs: for k in self.resource_specs: if k: k.validate() if self.user_vpc: self.user_vpc.validate() def to_map(self): _map = super(QuotaConfig, self).to_map() if _map is not None: return _map result = dict() if self.acs is not None: result['ACS'] = self.acs.to_map() if self.cluster_id is not None: result['ClusterId'] = self.cluster_id if self.default_gpudriver is not None: result['DefaultGPUDriver'] = self.default_gpudriver result['ResourceSpecs'] = [] if self.resource_specs is not None: for k in self.resource_specs: result['ResourceSpecs'].append(k.to_map() if k else None) if self.support_gpudrivers is not None: result['SupportGPUDrivers'] = self.support_gpudrivers if self.support_rdma is not None: result['SupportRDMA'] = self.support_rdma if self.user_vpc is not None: result['UserVpc'] = self.user_vpc.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('ACS') is not None: temp_model = ACS() self.acs = temp_model.from_map(m['ACS']) if m.get('ClusterId') is not None: self.cluster_id = m.get('ClusterId') if m.get('DefaultGPUDriver') is not None: self.default_gpudriver = m.get('DefaultGPUDriver') self.resource_specs = [] if m.get('ResourceSpecs') is not None: for k in m.get('ResourceSpecs'): temp_model = WorkspaceSpecs() self.resource_specs.append(temp_model.from_map(k)) if m.get('SupportGPUDrivers') is not None: self.support_gpudrivers = m.get('SupportGPUDrivers') if m.get('SupportRDMA') is not None: self.support_rdma = m.get('SupportRDMA') if m.get('UserVpc') is not None: temp_model = UserVpc() self.user_vpc = temp_model.from_map(m['UserVpc']) return self class QuotaDetails(TeaModel): def __init__(self, actual_min_quota=None, desired_min_quota=None, requested_quota=None, used_quota=None): self.actual_min_quota = actual_min_quota # type: ResourceAmount self.desired_min_quota = desired_min_quota # type: ResourceAmount self.requested_quota = requested_quota # type: ResourceAmount self.used_quota = used_quota # type: ResourceAmount def validate(self): if self.actual_min_quota: self.actual_min_quota.validate() if self.desired_min_quota: self.desired_min_quota.validate() if self.requested_quota: self.requested_quota.validate() if self.used_quota: self.used_quota.validate() def to_map(self): _map = super(QuotaDetails, self).to_map() if _map is not None: return _map result = dict() if self.actual_min_quota is not None: result['ActualMinQuota'] = self.actual_min_quota.to_map() if self.desired_min_quota is not None: result['DesiredMinQuota'] = self.desired_min_quota.to_map() if self.requested_quota is not None: result['RequestedQuota'] = self.requested_quota.to_map() if self.used_quota is not None: result['UsedQuota'] = self.used_quota.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('ActualMinQuota') is not None: temp_model = ResourceAmount() self.actual_min_quota = temp_model.from_map(m['ActualMinQuota']) if m.get('DesiredMinQuota') is not None: temp_model = ResourceAmount() self.desired_min_quota = temp_model.from_map(m['DesiredMinQuota']) if m.get('RequestedQuota') is not None: temp_model = ResourceAmount() self.requested_quota = temp_model.from_map(m['RequestedQuota']) if m.get('UsedQuota') is not None: temp_model = ResourceAmount() self.used_quota = temp_model.from_map(m['UsedQuota']) return self class QuotaIdName(TeaModel): def __init__(self, quota_id=None, quota_name=None): self.quota_id = quota_id # type: str self.quota_name = quota_name # type: str def validate(self): pass def to_map(self): _map = super(QuotaIdName, self).to_map() if _map is not None: return _map result = dict() if self.quota_id is not None: result['QuotaId'] = self.quota_id if self.quota_name is not None: result['QuotaName'] = self.quota_name return result def from_map(self, m=None): m = m or dict() if m.get('QuotaId') is not None: self.quota_id = m.get('QuotaId') if m.get('QuotaName') is not None: self.quota_name = m.get('QuotaName') return self class QuotaJobViewMetric(TeaModel): def __init__(self, cpuusage_rate=None, disk_read_rate=None, disk_write_rate=None, gpuusage_rate=None, job_id=None, job_type=None, memory_usage_rate=None, network_input_rate=None, network_output_rate=None, node_names=None, request_cpu=None, request_gpu=None, request_memory=None, total_cpu=None, total_gpu=None, total_memory=None, user_id=None): self.cpuusage_rate = cpuusage_rate # type: str self.disk_read_rate = disk_read_rate # type: str self.disk_write_rate = disk_write_rate # type: str self.gpuusage_rate = gpuusage_rate # type: str self.job_id = job_id # type: str self.job_type = job_type # type: str self.memory_usage_rate = memory_usage_rate # type: str self.network_input_rate = network_input_rate # type: str self.network_output_rate = network_output_rate # type: str self.node_names = node_names # type: list[str] self.request_cpu = request_cpu # type: int self.request_gpu = request_gpu # type: int self.request_memory = request_memory # type: long self.total_cpu = total_cpu # type: int self.total_gpu = total_gpu # type: int self.total_memory = total_memory # type: long self.user_id = user_id # type: str def validate(self): pass def to_map(self): _map = super(QuotaJobViewMetric, self).to_map() if _map is not None: return _map result = dict() if self.cpuusage_rate is not None: result['CPUUsageRate'] = self.cpuusage_rate if self.disk_read_rate is not None: result['DiskReadRate'] = self.disk_read_rate if self.disk_write_rate is not None: result['DiskWriteRate'] = self.disk_write_rate if self.gpuusage_rate is not None: result['GPUUsageRate'] = self.gpuusage_rate if self.job_id is not None: result['JobId'] = self.job_id if self.job_type is not None: result['JobType'] = self.job_type if self.memory_usage_rate is not None: result['MemoryUsageRate'] = self.memory_usage_rate if self.network_input_rate is not None: result['NetworkInputRate'] = self.network_input_rate if self.network_output_rate is not None: result['NetworkOutputRate'] = self.network_output_rate if self.node_names is not None: result['NodeNames'] = self.node_names if self.request_cpu is not None: result['RequestCPU'] = self.request_cpu if self.request_gpu is not None: result['RequestGPU'] = self.request_gpu if self.request_memory is not None: result['RequestMemory'] = self.request_memory if self.total_cpu is not None: result['TotalCPU'] = self.total_cpu if self.total_gpu is not None: result['TotalGPU'] = self.total_gpu if self.total_memory is not None: result['TotalMemory'] = self.total_memory if self.user_id is not None: result['UserId'] = self.user_id return result def from_map(self, m=None): m = m or dict() if m.get('CPUUsageRate') is not None: self.cpuusage_rate = m.get('CPUUsageRate') if m.get('DiskReadRate') is not None: self.disk_read_rate = m.get('DiskReadRate') if m.get('DiskWriteRate') is not None: self.disk_write_rate = m.get('DiskWriteRate') if m.get('GPUUsageRate') is not None: self.gpuusage_rate = m.get('GPUUsageRate') if m.get('JobId') is not None: self.job_id = m.get('JobId') if m.get('JobType') is not None: self.job_type = m.get('JobType') if m.get('MemoryUsageRate') is not None: self.memory_usage_rate = m.get('MemoryUsageRate') if m.get('NetworkInputRate') is not None: self.network_input_rate = m.get('NetworkInputRate') if m.get('NetworkOutputRate') is not None: self.network_output_rate = m.get('NetworkOutputRate') if m.get('NodeNames') is not None: self.node_names = m.get('NodeNames') if m.get('RequestCPU') is not None: self.request_cpu = m.get('RequestCPU') if m.get('RequestGPU') is not None: self.request_gpu = m.get('RequestGPU') if m.get('RequestMemory') is not None: self.request_memory = m.get('RequestMemory') if m.get('TotalCPU') is not None: self.total_cpu = m.get('TotalCPU') if m.get('TotalGPU') is not None: self.total_gpu = m.get('TotalGPU') if m.get('TotalMemory') is not None: self.total_memory = m.get('TotalMemory') if m.get('UserId') is not None: self.user_id = m.get('UserId') return self class QuotaMetric(TeaModel): def __init__(self, gputype=None, metrics=None): self.gputype = gputype # type: str self.metrics = metrics # type: list[Metric] def validate(self): if self.metrics: for k in self.metrics: if k: k.validate() def to_map(self): _map = super(QuotaMetric, self).to_map() if _map is not None: return _map result = dict() if self.gputype is not None: result['GPUType'] = self.gputype result['Metrics'] = [] if self.metrics is not None: for k in self.metrics: result['Metrics'].append(k.to_map() if k else None) return result def from_map(self, m=None): m = m or dict() if m.get('GPUType') is not None: self.gputype = m.get('GPUType') self.metrics = [] if m.get('Metrics') is not None: for k in m.get('Metrics'): temp_model = Metric() self.metrics.append(temp_model.from_map(k)) return self class QuotaNodeViewMetric(TeaModel): def __init__(self, cpuusage_rate=None, created_time=None, disk_read_rate=None, disk_write_rate=None, gputype=None, memory_usage_rate=None, network_input_rate=None, network_output_rate=None, node_id=None, node_status=None, node_type=None, quota_id=None, request_cpu=None, request_gpu=None, request_memory=None, task_id_map=None, total_cpu=None, total_gpu=None, total_memory=None, total_tasks=None, user_ids=None, user_number=None): self.cpuusage_rate = cpuusage_rate # type: str self.created_time = created_time # type: str self.disk_read_rate = disk_read_rate # type: str self.disk_write_rate = disk_write_rate # type: str self.gputype = gputype # type: str self.memory_usage_rate = memory_usage_rate # type: str self.network_input_rate = network_input_rate # type: str self.network_output_rate = network_output_rate # type: str self.node_id = node_id # type: str self.node_status = node_status # type: str self.node_type = node_type # type: str self.quota_id = quota_id # type: str self.request_cpu = request_cpu # type: long self.request_gpu = request_gpu # type: long self.request_memory = request_memory # type: long self.task_id_map = task_id_map # type: dict[str, any] self.total_cpu = total_cpu # type: long self.total_gpu = total_gpu # type: long self.total_memory = total_memory # type: long self.total_tasks = total_tasks # type: long self.user_ids = user_ids # type: list[str] self.user_number = user_number # type: str def validate(self): pass def to_map(self): _map = super(QuotaNodeViewMetric, self).to_map() if _map is not None: return _map result = dict() if self.cpuusage_rate is not None: result['CPUUsageRate'] = self.cpuusage_rate if self.created_time is not None: result['CreatedTime'] = self.created_time if self.disk_read_rate is not None: result['DiskReadRate'] = self.disk_read_rate if self.disk_write_rate is not None: result['DiskWriteRate'] = self.disk_write_rate if self.gputype is not None: result['GPUType'] = self.gputype if self.memory_usage_rate is not None: result['MemoryUsageRate'] = self.memory_usage_rate if self.network_input_rate is not None: result['NetworkInputRate'] = self.network_input_rate if self.network_output_rate is not None: result['NetworkOutputRate'] = self.network_output_rate if self.node_id is not None: result['NodeID'] = self.node_id if self.node_status is not None: result['NodeStatus'] = self.node_status if self.node_type is not None: result['NodeType'] = self.node_type if self.quota_id is not None: result['QuotaId'] = self.quota_id if self.request_cpu is not None: result['RequestCPU'] = self.request_cpu if self.request_gpu is not None: result['RequestGPU'] = self.request_gpu if self.request_memory is not None: result['RequestMemory'] = self.request_memory if self.task_id_map is not None: result['TaskIdMap'] = self.task_id_map if self.total_cpu is not None: result['TotalCPU'] = self.total_cpu if self.total_gpu is not None: result['TotalGPU'] = self.total_gpu if self.total_memory is not None: result['TotalMemory'] = self.total_memory if self.total_tasks is not None: result['TotalTasks'] = self.total_tasks if self.user_ids is not None: result['UserIDs'] = self.user_ids if self.user_number is not None: result['UserNumber'] = self.user_number return result def from_map(self, m=None): m = m or dict() if m.get('CPUUsageRate') is not None: self.cpuusage_rate = m.get('CPUUsageRate') if m.get('CreatedTime') is not None: self.created_time = m.get('CreatedTime') if m.get('DiskReadRate') is not None: self.disk_read_rate = m.get('DiskReadRate') if m.get('DiskWriteRate') is not None: self.disk_write_rate = m.get('DiskWriteRate') if m.get('GPUType') is not None: self.gputype = m.get('GPUType') if m.get('MemoryUsageRate') is not None: self.memory_usage_rate = m.get('MemoryUsageRate') if m.get('NetworkInputRate') is not None: self.network_input_rate = m.get('NetworkInputRate') if m.get('NetworkOutputRate') is not None: self.network_output_rate = m.get('NetworkOutputRate') if m.get('NodeID') is not None: self.node_id = m.get('NodeID') if m.get('NodeStatus') is not None: self.node_status = m.get('NodeStatus') if m.get('NodeType') is not None: self.node_type = m.get('NodeType') if m.get('QuotaId') is not None: self.quota_id = m.get('QuotaId') if m.get('RequestCPU') is not None: self.request_cpu = m.get('RequestCPU') if m.get('RequestGPU') is not None: self.request_gpu = m.get('RequestGPU') if m.get('RequestMemory') is not None: self.request_memory = m.get('RequestMemory') if m.get('TaskIdMap') is not None: self.task_id_map = m.get('TaskIdMap') if m.get('TotalCPU') is not None: self.total_cpu = m.get('TotalCPU') if m.get('TotalGPU') is not None: self.total_gpu = m.get('TotalGPU') if m.get('TotalMemory') is not None: self.total_memory = m.get('TotalMemory') if m.get('TotalTasks') is not None: self.total_tasks = m.get('TotalTasks') if m.get('UserIDs') is not None: self.user_ids = m.get('UserIDs') if m.get('UserNumber') is not None: self.user_number = m.get('UserNumber') return self class QuotaUserViewMetric(TeaModel): def __init__(self, cpunode_number=None, cpuusage_rate=None, cpu_job_names=None, cpu_node_names=None, disk_read_rate=None, disk_write_rate=None, gpunode_number=None, gpuusage_rate=None, gpu_job_names=None, gpu_node_names=None, job_type=None, memory_usage_rate=None, network_input_rate=None, network_output_rate=None, node_names=None, request_cpu=None, request_gpu=None, request_memory=None, total_cpu=None, total_gpu=None, total_memory=None, user_id=None): self.cpunode_number = cpunode_number # type: int self.cpuusage_rate = cpuusage_rate # type: str self.cpu_job_names = cpu_job_names # type: list[str] self.cpu_node_names = cpu_node_names # type: list[str] self.disk_read_rate = disk_read_rate # type: str self.disk_write_rate = disk_write_rate # type: str self.gpunode_number = gpunode_number # type: int self.gpuusage_rate = gpuusage_rate # type: str self.gpu_job_names = gpu_job_names # type: list[str] self.gpu_node_names = gpu_node_names # type: list[str] self.job_type = job_type # type: str self.memory_usage_rate = memory_usage_rate # type: str self.network_input_rate = network_input_rate # type: str self.network_output_rate = network_output_rate # type: str self.node_names = node_names # type: list[str] self.request_cpu = request_cpu # type: int self.request_gpu = request_gpu # type: int self.request_memory = request_memory # type: long self.total_cpu = total_cpu # type: int self.total_gpu = total_gpu # type: int self.total_memory = total_memory # type: long self.user_id = user_id # type: str def validate(self): pass def to_map(self): _map = super(QuotaUserViewMetric, self).to_map() if _map is not None: return _map result = dict() if self.cpunode_number is not None: result['CPUNodeNumber'] = self.cpunode_number if self.cpuusage_rate is not None: result['CPUUsageRate'] = self.cpuusage_rate if self.cpu_job_names is not None: result['CpuJobNames'] = self.cpu_job_names if self.cpu_node_names is not None: result['CpuNodeNames'] = self.cpu_node_names if self.disk_read_rate is not None: result['DiskReadRate'] = self.disk_read_rate if self.disk_write_rate is not None: result['DiskWriteRate'] = self.disk_write_rate if self.gpunode_number is not None: result['GPUNodeNumber'] = self.gpunode_number if self.gpuusage_rate is not None: result['GPUUsageRate'] = self.gpuusage_rate if self.gpu_job_names is not None: result['GpuJobNames'] = self.gpu_job_names if self.gpu_node_names is not None: result['GpuNodeNames'] = self.gpu_node_names if self.job_type is not None: result['JobType'] = self.job_type if self.memory_usage_rate is not None: result['MemoryUsageRate'] = self.memory_usage_rate if self.network_input_rate is not None: result['NetworkInputRate'] = self.network_input_rate if self.network_output_rate is not None: result['NetworkOutputRate'] = self.network_output_rate if self.node_names is not None: result['NodeNames'] = self.node_names if self.request_cpu is not None: result['RequestCPU'] = self.request_cpu if self.request_gpu is not None: result['RequestGPU'] = self.request_gpu if self.request_memory is not None: result['RequestMemory'] = self.request_memory if self.total_cpu is not None: result['TotalCPU'] = self.total_cpu if self.total_gpu is not None: result['TotalGPU'] = self.total_gpu if self.total_memory is not None: result['TotalMemory'] = self.total_memory if self.user_id is not None: result['UserId'] = self.user_id return result def from_map(self, m=None): m = m or dict() if m.get('CPUNodeNumber') is not None: self.cpunode_number = m.get('CPUNodeNumber') if m.get('CPUUsageRate') is not None: self.cpuusage_rate = m.get('CPUUsageRate') if m.get('CpuJobNames') is not None: self.cpu_job_names = m.get('CpuJobNames') if m.get('CpuNodeNames') is not None: self.cpu_node_names = m.get('CpuNodeNames') if m.get('DiskReadRate') is not None: self.disk_read_rate = m.get('DiskReadRate') if m.get('DiskWriteRate') is not None: self.disk_write_rate = m.get('DiskWriteRate') if m.get('GPUNodeNumber') is not None: self.gpunode_number = m.get('GPUNodeNumber') if m.get('GPUUsageRate') is not None: self.gpuusage_rate = m.get('GPUUsageRate') if m.get('GpuJobNames') is not None: self.gpu_job_names = m.get('GpuJobNames') if m.get('GpuNodeNames') is not None: self.gpu_node_names = m.get('GpuNodeNames') if m.get('JobType') is not None: self.job_type = m.get('JobType') if m.get('MemoryUsageRate') is not None: self.memory_usage_rate = m.get('MemoryUsageRate') if m.get('NetworkInputRate') is not None: self.network_input_rate = m.get('NetworkInputRate') if m.get('NetworkOutputRate') is not None: self.network_output_rate = m.get('NetworkOutputRate') if m.get('NodeNames') is not None: self.node_names = m.get('NodeNames') if m.get('RequestCPU') is not None: self.request_cpu = m.get('RequestCPU') if m.get('RequestGPU') is not None: self.request_gpu = m.get('RequestGPU') if m.get('RequestMemory') is not None: self.request_memory = m.get('RequestMemory') if m.get('TotalCPU') is not None: self.total_cpu = m.get('TotalCPU') if m.get('TotalGPU') is not None: self.total_gpu = m.get('TotalGPU') if m.get('TotalMemory') is not None: self.total_memory = m.get('TotalMemory') if m.get('UserId') is not None: self.user_id = m.get('UserId') return self class ResourceAmount(TeaModel): def __init__(self, cpu=None, gpu=None, gputype=None, memory=None): self.cpu = cpu # type: str self.gpu = gpu # type: str self.gputype = gputype # type: str self.memory = memory # type: str def validate(self): pass def to_map(self): _map = super(ResourceAmount, self).to_map() if _map is not None: return _map result = dict() if self.cpu is not None: result['CPU'] = self.cpu if self.gpu is not None: result['GPU'] = self.gpu if self.gputype is not None: result['GPUType'] = self.gputype if self.memory is not None: result['Memory'] = self.memory return result def from_map(self, m=None): m = m or dict() if m.get('CPU') is not None: self.cpu = m.get('CPU') if m.get('GPU') is not None: self.gpu = m.get('GPU') if m.get('GPUType') is not None: self.gputype = m.get('GPUType') if m.get('Memory') is not None: self.memory = m.get('Memory') return self class ResourceGroup(TeaModel): def __init__(self, creator_id=None, gmt_created_time=None, gmt_modified_time=None, name=None, node_count=None, resource_group_id=None, user_vpc=None, workspace_id=None): self.creator_id = creator_id # type: str self.gmt_created_time = gmt_created_time # type: str self.gmt_modified_time = gmt_modified_time # type: str self.name = name # type: str self.node_count = node_count # type: int self.resource_group_id = resource_group_id # type: str self.user_vpc = user_vpc # type: UserVpc self.workspace_id = workspace_id # type: str def validate(self): if self.user_vpc: self.user_vpc.validate() def to_map(self): _map = super(ResourceGroup, self).to_map() if _map is not None: return _map result = dict() if self.creator_id is not None: result['CreatorID'] = self.creator_id if self.gmt_created_time is not None: result['GmtCreatedTime'] = self.gmt_created_time if self.gmt_modified_time is not None: result['GmtModifiedTime'] = self.gmt_modified_time if self.name is not None: result['Name'] = self.name if self.node_count is not None: result['NodeCount'] = self.node_count if self.resource_group_id is not None: result['ResourceGroupID'] = self.resource_group_id if self.user_vpc is not None: result['UserVpc'] = self.user_vpc.to_map() if self.workspace_id is not None: result['WorkspaceID'] = self.workspace_id return result def from_map(self, m=None): m = m or dict() if m.get('CreatorID') is not None: self.creator_id = m.get('CreatorID') if m.get('GmtCreatedTime') is not None: self.gmt_created_time = m.get('GmtCreatedTime') if m.get('GmtModifiedTime') is not None: self.gmt_modified_time = m.get('GmtModifiedTime') if m.get('Name') is not None: self.name = m.get('Name') if m.get('NodeCount') is not None: self.node_count = m.get('NodeCount') if m.get('ResourceGroupID') is not None: self.resource_group_id = m.get('ResourceGroupID') if m.get('UserVpc') is not None: temp_model = UserVpc() self.user_vpc = temp_model.from_map(m['UserVpc']) if m.get('WorkspaceID') is not None: self.workspace_id = m.get('WorkspaceID') return self class ResourceGroupMetric(TeaModel): def __init__(self, gpu_type=None, metrics=None, resource_group_id=None): self.gpu_type = gpu_type # type: str self.metrics = metrics # type: list[Metric] self.resource_group_id = resource_group_id # type: str def validate(self): if self.metrics: for k in self.metrics: if k: k.validate() def to_map(self): _map = super(ResourceGroupMetric, self).to_map() if _map is not None: return _map result = dict() if self.gpu_type is not None: result['GpuType'] = self.gpu_type result['Metrics'] = [] if self.metrics is not None: for k in self.metrics: result['Metrics'].append(k.to_map() if k else None) if self.resource_group_id is not None: result['ResourceGroupID'] = self.resource_group_id return result def from_map(self, m=None): m = m or dict() if m.get('GpuType') is not None: self.gpu_type = m.get('GpuType') self.metrics = [] if m.get('Metrics') is not None: for k in m.get('Metrics'): temp_model = Metric() self.metrics.append(temp_model.from_map(k)) if m.get('ResourceGroupID') is not None: self.resource_group_id = m.get('ResourceGroupID') return self class ResourceOperation(TeaModel): def __init__(self, creator_id=None, gmt_created_time=None, gmt_end_time=None, gmt_modified_time=None, gmt_start_time=None, object_id=None, object_type=None, operation_description=None, operation_id=None, operation_spec_json=None, operation_type=None, reason_code=None, reason_message=None, status=None): self.creator_id = creator_id # type: str self.gmt_created_time = gmt_created_time # type: str self.gmt_end_time = gmt_end_time # type: str self.gmt_modified_time = gmt_modified_time # type: str self.gmt_start_time = gmt_start_time # type: str self.object_id = object_id # type: str self.object_type = object_type # type: str self.operation_description = operation_description # type: str self.operation_id = operation_id # type: str self.operation_spec_json = operation_spec_json # type: str self.operation_type = operation_type # type: str self.reason_code = reason_code # type: str self.reason_message = reason_message # type: str self.status = status # type: str def validate(self): pass def to_map(self): _map = super(ResourceOperation, self).to_map() if _map is not None: return _map result = dict() if self.creator_id is not None: result['CreatorId'] = self.creator_id if self.gmt_created_time is not None: result['GmtCreatedTime'] = self.gmt_created_time if self.gmt_end_time is not None: result['GmtEndTime'] = self.gmt_end_time if self.gmt_modified_time is not None: result['GmtModifiedTime'] = self.gmt_modified_time if self.gmt_start_time is not None: result['GmtStartTime'] = self.gmt_start_time if self.object_id is not None: result['ObjectId'] = self.object_id if self.object_type is not None: result['ObjectType'] = self.object_type if self.operation_description is not None: result['OperationDescription'] = self.operation_description if self.operation_id is not None: result['OperationId'] = self.operation_id if self.operation_spec_json is not None: result['OperationSpecJson'] = self.operation_spec_json if self.operation_type is not None: result['OperationType'] = self.operation_type if self.reason_code is not None: result['ReasonCode'] = self.reason_code if self.reason_message is not None: result['ReasonMessage'] = self.reason_message if self.status is not None: result['Status'] = self.status return result def from_map(self, m=None): m = m or dict() if m.get('CreatorId') is not None: self.creator_id = m.get('CreatorId') if m.get('GmtCreatedTime') is not None: self.gmt_created_time = m.get('GmtCreatedTime') if m.get('GmtEndTime') is not None: self.gmt_end_time = m.get('GmtEndTime') if m.get('GmtModifiedTime') is not None: self.gmt_modified_time = m.get('GmtModifiedTime') if m.get('GmtStartTime') is not None: self.gmt_start_time = m.get('GmtStartTime') if m.get('ObjectId') is not None: self.object_id = m.get('ObjectId') if m.get('ObjectType') is not None: self.object_type = m.get('ObjectType') if m.get('OperationDescription') is not None: self.operation_description = m.get('OperationDescription') if m.get('OperationId') is not None: self.operation_id = m.get('OperationId') if m.get('OperationSpecJson') is not None: self.operation_spec_json = m.get('OperationSpecJson') if m.get('OperationType') is not None: self.operation_type = m.get('OperationType') if m.get('ReasonCode') is not None: self.reason_code = m.get('ReasonCode') if m.get('ReasonMessage') is not None: self.reason_message = m.get('ReasonMessage') if m.get('Status') is not None: self.status = m.get('Status') return self class ResourceSpec(TeaModel): def __init__(self, node_specs=None): self.node_specs = node_specs # type: list[NodeSpec] def validate(self): if self.node_specs: for k in self.node_specs: if k: k.validate() def to_map(self): _map = super(ResourceSpec, self).to_map() if _map is not None: return _map result = dict() result['NodeSpecs'] = [] if self.node_specs is not None: for k in self.node_specs: result['NodeSpecs'].append(k.to_map() if k else None) return result def from_map(self, m=None): m = m or dict() self.node_specs = [] if m.get('NodeSpecs') is not None: for k in m.get('NodeSpecs'): temp_model = NodeSpec() self.node_specs.append(temp_model.from_map(k)) return self class UserViewMetric(TeaModel): def __init__(self, cpunode_number=None, cpuusage_rate=None, cpu_job_names=None, cpu_node_names=None, disk_read_rate=None, disk_write_rate=None, gpunode_number=None, gpuusage_rate=None, gpu_job_names=None, gpu_node_names=None, job_type=None, memory_usage_rate=None, network_input_rate=None, network_output_rate=None, node_names=None, request_cpu=None, request_gpu=None, request_memory=None, resource_group_id=None, total_cpu=None, total_gpu=None, total_memory=None, user_id=None): self.cpunode_number = cpunode_number # type: int self.cpuusage_rate = cpuusage_rate # type: str self.cpu_job_names = cpu_job_names # type: list[str] self.cpu_node_names = cpu_node_names # type: list[str] self.disk_read_rate = disk_read_rate # type: str self.disk_write_rate = disk_write_rate # type: str self.gpunode_number = gpunode_number # type: int self.gpuusage_rate = gpuusage_rate # type: str self.gpu_job_names = gpu_job_names # type: list[str] self.gpu_node_names = gpu_node_names # type: list[str] self.job_type = job_type # type: str self.memory_usage_rate = memory_usage_rate # type: str self.network_input_rate = network_input_rate # type: str self.network_output_rate = network_output_rate # type: str self.node_names = node_names # type: list[str] self.request_cpu = request_cpu # type: int self.request_gpu = request_gpu # type: int self.request_memory = request_memory # type: long self.resource_group_id = resource_group_id # type: str self.total_cpu = total_cpu # type: int self.total_gpu = total_gpu # type: int self.total_memory = total_memory # type: long self.user_id = user_id # type: str def validate(self): pass def to_map(self): _map = super(UserViewMetric, self).to_map() if _map is not None: return _map result = dict() if self.cpunode_number is not None: result['CPUNodeNumber'] = self.cpunode_number if self.cpuusage_rate is not None: result['CPUUsageRate'] = self.cpuusage_rate if self.cpu_job_names is not None: result['CpuJobNames'] = self.cpu_job_names if self.cpu_node_names is not None: result['CpuNodeNames'] = self.cpu_node_names if self.disk_read_rate is not None: result['DiskReadRate'] = self.disk_read_rate if self.disk_write_rate is not None: result['DiskWriteRate'] = self.disk_write_rate if self.gpunode_number is not None: result['GPUNodeNumber'] = self.gpunode_number if self.gpuusage_rate is not None: result['GPUUsageRate'] = self.gpuusage_rate if self.gpu_job_names is not None: result['GpuJobNames'] = self.gpu_job_names if self.gpu_node_names is not None: result['GpuNodeNames'] = self.gpu_node_names if self.job_type is not None: result['JobType'] = self.job_type if self.memory_usage_rate is not None: result['MemoryUsageRate'] = self.memory_usage_rate if self.network_input_rate is not None: result['NetworkInputRate'] = self.network_input_rate if self.network_output_rate is not None: result['NetworkOutputRate'] = self.network_output_rate if self.node_names is not None: result['NodeNames'] = self.node_names if self.request_cpu is not None: result['RequestCPU'] = self.request_cpu if self.request_gpu is not None: result['RequestGPU'] = self.request_gpu if self.request_memory is not None: result['RequestMemory'] = self.request_memory if self.resource_group_id is not None: result['ResourceGroupId'] = self.resource_group_id if self.total_cpu is not None: result['TotalCPU'] = self.total_cpu if self.total_gpu is not None: result['TotalGPU'] = self.total_gpu if self.total_memory is not None: result['TotalMemory'] = self.total_memory if self.user_id is not None: result['UserId'] = self.user_id return result def from_map(self, m=None): m = m or dict() if m.get('CPUNodeNumber') is not None: self.cpunode_number = m.get('CPUNodeNumber') if m.get('CPUUsageRate') is not None: self.cpuusage_rate = m.get('CPUUsageRate') if m.get('CpuJobNames') is not None: self.cpu_job_names = m.get('CpuJobNames') if m.get('CpuNodeNames') is not None: self.cpu_node_names = m.get('CpuNodeNames') if m.get('DiskReadRate') is not None: self.disk_read_rate = m.get('DiskReadRate') if m.get('DiskWriteRate') is not None: self.disk_write_rate = m.get('DiskWriteRate') if m.get('GPUNodeNumber') is not None: self.gpunode_number = m.get('GPUNodeNumber') if m.get('GPUUsageRate') is not None: self.gpuusage_rate = m.get('GPUUsageRate') if m.get('GpuJobNames') is not None: self.gpu_job_names = m.get('GpuJobNames') if m.get('GpuNodeNames') is not None: self.gpu_node_names = m.get('GpuNodeNames') if m.get('JobType') is not None: self.job_type = m.get('JobType') if m.get('MemoryUsageRate') is not None: self.memory_usage_rate = m.get('MemoryUsageRate') if m.get('NetworkInputRate') is not None: self.network_input_rate = m.get('NetworkInputRate') if m.get('NetworkOutputRate') is not None: self.network_output_rate = m.get('NetworkOutputRate') if m.get('NodeNames') is not None: self.node_names = m.get('NodeNames') if m.get('RequestCPU') is not None: self.request_cpu = m.get('RequestCPU') if m.get('RequestGPU') is not None: self.request_gpu = m.get('RequestGPU') if m.get('RequestMemory') is not None: self.request_memory = m.get('RequestMemory') if m.get('ResourceGroupId') is not None: self.resource_group_id = m.get('ResourceGroupId') if m.get('TotalCPU') is not None: self.total_cpu = m.get('TotalCPU') if m.get('TotalGPU') is not None: self.total_gpu = m.get('TotalGPU') if m.get('TotalMemory') is not None: self.total_memory = m.get('TotalMemory') if m.get('UserId') is not None: self.user_id = m.get('UserId') return self class UserVpc(TeaModel): def __init__(self, default_route=None, extended_cidrs=None, role_arn=None, security_group_id=None, switch_id=None, vpc_id=None): self.default_route = default_route # type: str self.extended_cidrs = extended_cidrs # type: list[str] self.role_arn = role_arn # type: str self.security_group_id = security_group_id # type: str self.switch_id = switch_id # type: str self.vpc_id = vpc_id # type: str def validate(self): pass def to_map(self): _map = super(UserVpc, self).to_map() if _map is not None: return _map result = dict() if self.default_route is not None: result['DefaultRoute'] = self.default_route if self.extended_cidrs is not None: result['ExtendedCIDRs'] = self.extended_cidrs if self.role_arn is not None: result['RoleArn'] = self.role_arn if self.security_group_id is not None: result['SecurityGroupId'] = self.security_group_id if self.switch_id is not None: result['SwitchId'] = self.switch_id if self.vpc_id is not None: result['VpcId'] = self.vpc_id return result def from_map(self, m=None): m = m or dict() if m.get('DefaultRoute') is not None: self.default_route = m.get('DefaultRoute') if m.get('ExtendedCIDRs') is not None: self.extended_cidrs = m.get('ExtendedCIDRs') if m.get('RoleArn') is not None: self.role_arn = m.get('RoleArn') if m.get('SecurityGroupId') is not None: self.security_group_id = m.get('SecurityGroupId') if m.get('SwitchId') is not None: self.switch_id = m.get('SwitchId') if m.get('VpcId') is not None: self.vpc_id = m.get('VpcId') return self class WorkspaceIdName(TeaModel): def __init__(self, workspace_id=None): self.workspace_id = workspace_id # type: str def validate(self): pass def to_map(self): _map = super(WorkspaceIdName, self).to_map() if _map is not None: return _map result = dict() if self.workspace_id is not None: result['WorkspaceId'] = self.workspace_id return result def from_map(self, m=None): m = m or dict() if m.get('WorkspaceId') is not None: self.workspace_id = m.get('WorkspaceId') return self class WorkspaceSpec(TeaModel): def __init__(self, code=None, code_type=None, is_guaranteed_valid=None, is_over_sold_valid=None, reason=None, spec=None, spec_name=None): self.code = code # type: str self.code_type = code_type # type: str self.is_guaranteed_valid = is_guaranteed_valid # type: bool self.is_over_sold_valid = is_over_sold_valid # type: bool self.reason = reason # type: str self.spec = spec # type: ResourceAmount self.spec_name = spec_name # type: str def validate(self): if self.spec: self.spec.validate() def to_map(self): _map = super(WorkspaceSpec, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['Code'] = self.code if self.code_type is not None: result['CodeType'] = self.code_type if self.is_guaranteed_valid is not None: result['IsGuaranteedValid'] = self.is_guaranteed_valid if self.is_over_sold_valid is not None: result['IsOverSoldValid'] = self.is_over_sold_valid if self.reason is not None: result['Reason'] = self.reason if self.spec is not None: result['Spec'] = self.spec.to_map() if self.spec_name is not None: result['SpecName'] = self.spec_name return result def from_map(self, m=None): m = m or dict() if m.get('Code') is not None: self.code = m.get('Code') if m.get('CodeType') is not None: self.code_type = m.get('CodeType') if m.get('IsGuaranteedValid') is not None: self.is_guaranteed_valid = m.get('IsGuaranteedValid') if m.get('IsOverSoldValid') is not None: self.is_over_sold_valid = m.get('IsOverSoldValid') if m.get('Reason') is not None: self.reason = m.get('Reason') if m.get('Spec') is not None: temp_model = ResourceAmount() self.spec = temp_model.from_map(m['Spec']) if m.get('SpecName') is not None: self.spec_name = m.get('SpecName') return self class WorkspaceSpecs(TeaModel): def __init__(self, product=None, specs=None, workspace_id=None): self.product = product # type: str self.specs = specs # type: list[WorkspaceSpec] self.workspace_id = workspace_id # type: str def validate(self): if self.specs: for k in self.specs: if k: k.validate() def to_map(self): _map = super(WorkspaceSpecs, self).to_map() if _map is not None: return _map result = dict() if self.product is not None: result['Product'] = self.product result['Specs'] = [] if self.specs is not None: for k in self.specs: result['Specs'].append(k.to_map() if k else None) if self.workspace_id is not None: result['WorkspaceId'] = self.workspace_id return result def from_map(self, m=None): m = m or dict() if m.get('Product') is not None: self.product = m.get('Product') self.specs = [] if m.get('Specs') is not None: for k in m.get('Specs'): temp_model = WorkspaceSpec() self.specs.append(temp_model.from_map(k)) if m.get('WorkspaceId') is not None: self.workspace_id = m.get('WorkspaceId') return self class CreateAlgorithmRequest(TeaModel): def __init__(self, algorithm_description=None, algorithm_name=None, display_name=None, workspace_id=None): self.algorithm_description = algorithm_description # type: str self.algorithm_name = algorithm_name # type: str self.display_name = display_name # type: str self.workspace_id = workspace_id # type: str def validate(self): pass def to_map(self): _map = super(CreateAlgorithmRequest, self).to_map() if _map is not None: return _map result = dict() if self.algorithm_description is not None: result['AlgorithmDescription'] = self.algorithm_description if self.algorithm_name is not None: result['AlgorithmName'] = self.algorithm_name if self.display_name is not None: result['DisplayName'] = self.display_name if self.workspace_id is not None: result['WorkspaceId'] = self.workspace_id return result def from_map(self, m=None): m = m or dict() if m.get('AlgorithmDescription') is not None: self.algorithm_description = m.get('AlgorithmDescription') if m.get('AlgorithmName') is not None: self.algorithm_name = m.get('AlgorithmName') if m.get('DisplayName') is not None: self.display_name = m.get('DisplayName') if m.get('WorkspaceId') is not None: self.workspace_id = m.get('WorkspaceId') return self class CreateAlgorithmResponseBody(TeaModel): def __init__(self, algorithm_id=None, request_id=None): self.algorithm_id = algorithm_id # type: str self.request_id = request_id # type: str def validate(self): pass def to_map(self): _map = super(CreateAlgorithmResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.algorithm_id is not None: result['AlgorithmId'] = self.algorithm_id if self.request_id is not None: result['RequestId'] = self.request_id return result def from_map(self, m=None): m = m or dict() if m.get('AlgorithmId') is not None: self.algorithm_id = m.get('AlgorithmId') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') return self class CreateAlgorithmResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: CreateAlgorithmResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(CreateAlgorithmResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = CreateAlgorithmResponseBody() self.body = temp_model.from_map(m['body']) return self class CreateAlgorithmVersionRequest(TeaModel): def __init__(self, algorithm_spec=None): self.algorithm_spec = algorithm_spec # type: AlgorithmSpec def validate(self): if self.algorithm_spec: self.algorithm_spec.validate() def to_map(self): _map = super(CreateAlgorithmVersionRequest, self).to_map() if _map is not None: return _map result = dict() if self.algorithm_spec is not None: result['AlgorithmSpec'] = self.algorithm_spec.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('AlgorithmSpec') is not None: temp_model = AlgorithmSpec() self.algorithm_spec = temp_model.from_map(m['AlgorithmSpec']) return self class CreateAlgorithmVersionShrinkRequest(TeaModel): def __init__(self, algorithm_spec_shrink=None): self.algorithm_spec_shrink = algorithm_spec_shrink # type: str def validate(self): pass def to_map(self): _map = super(CreateAlgorithmVersionShrinkRequest, self).to_map() if _map is not None: return _map result = dict() if self.algorithm_spec_shrink is not None: result['AlgorithmSpec'] = self.algorithm_spec_shrink return result def from_map(self, m=None): m = m or dict() if m.get('AlgorithmSpec') is not None: self.algorithm_spec_shrink = m.get('AlgorithmSpec') return self class CreateAlgorithmVersionResponseBody(TeaModel): def __init__(self, algorithm_id=None, algorithm_version=None): self.algorithm_id = algorithm_id # type: str self.algorithm_version = algorithm_version # type: str def validate(self): pass def to_map(self): _map = super(CreateAlgorithmVersionResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.algorithm_id is not None: result['AlgorithmId'] = self.algorithm_id if self.algorithm_version is not None: result['AlgorithmVersion'] = self.algorithm_version return result def from_map(self, m=None): m = m or dict() if m.get('AlgorithmId') is not None: self.algorithm_id = m.get('AlgorithmId') if m.get('AlgorithmVersion') is not None: self.algorithm_version = m.get('AlgorithmVersion') return self class CreateAlgorithmVersionResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: CreateAlgorithmVersionResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(CreateAlgorithmVersionResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = CreateAlgorithmVersionResponseBody() self.body = temp_model.from_map(m['body']) return self class CreateQuotaRequest(TeaModel): def __init__(self, allocate_strategy=None, description=None, labels=None, min=None, parent_quota_id=None, queue_strategy=None, quota_config=None, quota_name=None, resource_group_ids=None, resource_type=None): self.allocate_strategy = allocate_strategy # type: str self.description = description # type: str self.labels = labels # type: list[Label] self.min = min # type: ResourceSpec self.parent_quota_id = parent_quota_id # type: str self.queue_strategy = queue_strategy # type: str self.quota_config = quota_config # type: QuotaConfig self.quota_name = quota_name # type: str self.resource_group_ids = resource_group_ids # type: list[str] self.resource_type = resource_type # type: str def validate(self): if self.labels: for k in self.labels: if k: k.validate() if self.min: self.min.validate() if self.quota_config: self.quota_config.validate() def to_map(self): _map = super(CreateQuotaRequest, self).to_map() if _map is not None: return _map result = dict() if self.allocate_strategy is not None: result['AllocateStrategy'] = self.allocate_strategy if self.description is not None: result['Description'] = self.description result['Labels'] = [] if self.labels is not None: for k in self.labels: result['Labels'].append(k.to_map() if k else None) if self.min is not None: result['Min'] = self.min.to_map() if self.parent_quota_id is not None: result['ParentQuotaId'] = self.parent_quota_id if self.queue_strategy is not None: result['QueueStrategy'] = self.queue_strategy if self.quota_config is not None: result['QuotaConfig'] = self.quota_config.to_map() if self.quota_name is not None: result['QuotaName'] = self.quota_name if self.resource_group_ids is not None: result['ResourceGroupIds'] = self.resource_group_ids if self.resource_type is not None: result['ResourceType'] = self.resource_type return result def from_map(self, m=None): m = m or dict() if m.get('AllocateStrategy') is not None: self.allocate_strategy = m.get('AllocateStrategy') if m.get('Description') is not None: self.description = m.get('Description') self.labels = [] if m.get('Labels') is not None: for k in m.get('Labels'): temp_model = Label() self.labels.append(temp_model.from_map(k)) if m.get('Min') is not None: temp_model = ResourceSpec() self.min = temp_model.from_map(m['Min']) if m.get('ParentQuotaId') is not None: self.parent_quota_id = m.get('ParentQuotaId') if m.get('QueueStrategy') is not None: self.queue_strategy = m.get('QueueStrategy') if m.get('QuotaConfig') is not None: temp_model = QuotaConfig() self.quota_config = temp_model.from_map(m['QuotaConfig']) if m.get('QuotaName') is not None: self.quota_name = m.get('QuotaName') if m.get('ResourceGroupIds') is not None: self.resource_group_ids = m.get('ResourceGroupIds') if m.get('ResourceType') is not None: self.resource_type = m.get('ResourceType') return self class CreateQuotaResponseBody(TeaModel): def __init__(self, quota_id=None, request_id=None): # Quota Id self.quota_id = quota_id # type: str self.request_id = request_id # type: str def validate(self): pass def to_map(self): _map = super(CreateQuotaResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.quota_id is not None: result['QuotaId'] = self.quota_id if self.request_id is not None: result['RequestId'] = self.request_id return result def from_map(self, m=None): m = m or dict() if m.get('QuotaId') is not None: self.quota_id = m.get('QuotaId') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') return self class CreateQuotaResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: CreateQuotaResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(CreateQuotaResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = CreateQuotaResponseBody() self.body = temp_model.from_map(m['body']) return self class CreateResourceGroupRequestTag(TeaModel): def __init__(self, key=None, value=None): self.key = key # type: str self.value = value # type: str def validate(self): pass def to_map(self): _map = super(CreateResourceGroupRequestTag, self).to_map() if _map is not None: return _map result = dict() if self.key is not None: result['Key'] = self.key if self.value is not None: result['Value'] = self.value return result def from_map(self, m=None): m = m or dict() if m.get('Key') is not None: self.key = m.get('Key') if m.get('Value') is not None: self.value = m.get('Value') return self class CreateResourceGroupRequest(TeaModel): def __init__(self, computing_resource_provider=None, description=None, name=None, resource_type=None, tag=None, user_vpc=None): self.computing_resource_provider = computing_resource_provider # type: str self.description = description # type: str self.name = name # type: str self.resource_type = resource_type # type: str self.tag = tag # type: list[CreateResourceGroupRequestTag] self.user_vpc = user_vpc # type: UserVpc def validate(self): if self.tag: for k in self.tag: if k: k.validate() if self.user_vpc: self.user_vpc.validate() def to_map(self): _map = super(CreateResourceGroupRequest, self).to_map() if _map is not None: return _map result = dict() if self.computing_resource_provider is not None: result['ComputingResourceProvider'] = self.computing_resource_provider if self.description is not None: result['Description'] = self.description if self.name is not None: result['Name'] = self.name if self.resource_type is not None: result['ResourceType'] = self.resource_type result['Tag'] = [] if self.tag is not None: for k in self.tag: result['Tag'].append(k.to_map() if k else None) if self.user_vpc is not None: result['UserVpc'] = self.user_vpc.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('ComputingResourceProvider') is not None: self.computing_resource_provider = m.get('ComputingResourceProvider') if m.get('Description') is not None: self.description = m.get('Description') if m.get('Name') is not None: self.name = m.get('Name') if m.get('ResourceType') is not None: self.resource_type = m.get('ResourceType') self.tag = [] if m.get('Tag') is not None: for k in m.get('Tag'): temp_model = CreateResourceGroupRequestTag() self.tag.append(temp_model.from_map(k)) if m.get('UserVpc') is not None: temp_model = UserVpc() self.user_vpc = temp_model.from_map(m['UserVpc']) return self class CreateResourceGroupResponseBody(TeaModel): def __init__(self, request_id=None, resource_group_id=None): self.request_id = request_id # type: str self.resource_group_id = resource_group_id # type: str def validate(self): pass def to_map(self): _map = super(CreateResourceGroupResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.request_id is not None: result['RequestId'] = self.request_id if self.resource_group_id is not None: result['ResourceGroupID'] = self.resource_group_id return result def from_map(self, m=None): m = m or dict() if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('ResourceGroupID') is not None: self.resource_group_id = m.get('ResourceGroupID') return self class CreateResourceGroupResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: CreateResourceGroupResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(CreateResourceGroupResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = CreateResourceGroupResponseBody() self.body = temp_model.from_map(m['body']) return self class CreateTrainingJobRequestComputeResourceInstanceSpec(TeaModel): def __init__(self, cpu=None, gpu=None, gputype=None, memory=None, shared_memory=None): self.cpu = cpu # type: str self.gpu = gpu # type: str self.gputype = gputype # type: str self.memory = memory # type: str self.shared_memory = shared_memory # type: str def validate(self): pass def to_map(self): _map = super(CreateTrainingJobRequestComputeResourceInstanceSpec, self).to_map() if _map is not None: return _map result = dict() if self.cpu is not None: result['CPU'] = self.cpu if self.gpu is not None: result['GPU'] = self.gpu if self.gputype is not None: result['GPUType'] = self.gputype if self.memory is not None: result['Memory'] = self.memory if self.shared_memory is not None: result['SharedMemory'] = self.shared_memory return result def from_map(self, m=None): m = m or dict() if m.get('CPU') is not None: self.cpu = m.get('CPU') if m.get('GPU') is not None: self.gpu = m.get('GPU') if m.get('GPUType') is not None: self.gputype = m.get('GPUType') if m.get('Memory') is not None: self.memory = m.get('Memory') if m.get('SharedMemory') is not None: self.shared_memory = m.get('SharedMemory') return self class CreateTrainingJobRequestComputeResource(TeaModel): def __init__(self, ecs_count=None, ecs_spec=None, instance_count=None, instance_spec=None, resource_id=None): self.ecs_count = ecs_count # type: long self.ecs_spec = ecs_spec # type: str self.instance_count = instance_count # type: long self.instance_spec = instance_spec # type: CreateTrainingJobRequestComputeResourceInstanceSpec self.resource_id = resource_id # type: str def validate(self): if self.instance_spec: self.instance_spec.validate() def to_map(self): _map = super(CreateTrainingJobRequestComputeResource, self).to_map() if _map is not None: return _map result = dict() if self.ecs_count is not None: result['EcsCount'] = self.ecs_count if self.ecs_spec is not None: result['EcsSpec'] = self.ecs_spec if self.instance_count is not None: result['InstanceCount'] = self.instance_count if self.instance_spec is not None: result['InstanceSpec'] = self.instance_spec.to_map() if self.resource_id is not None: result['ResourceId'] = self.resource_id return result def from_map(self, m=None): m = m or dict() if m.get('EcsCount') is not None: self.ecs_count = m.get('EcsCount') if m.get('EcsSpec') is not None: self.ecs_spec = m.get('EcsSpec') if m.get('InstanceCount') is not None: self.instance_count = m.get('InstanceCount') if m.get('InstanceSpec') is not None: temp_model = CreateTrainingJobRequestComputeResourceInstanceSpec() self.instance_spec = temp_model.from_map(m['InstanceSpec']) if m.get('ResourceId') is not None: self.resource_id = m.get('ResourceId') return self class CreateTrainingJobRequestExperimentConfig(TeaModel): def __init__(self, experiment_id=None): self.experiment_id = experiment_id # type: str def validate(self): pass def to_map(self): _map = super(CreateTrainingJobRequestExperimentConfig, self).to_map() if _map is not None: return _map result = dict() if self.experiment_id is not None: result['ExperimentId'] = self.experiment_id return result def from_map(self, m=None): m = m or dict() if m.get('ExperimentId') is not None: self.experiment_id = m.get('ExperimentId') return self class CreateTrainingJobRequestHyperParameters(TeaModel): def __init__(self, name=None, value=None): self.name = name # type: str self.value = value # type: str def validate(self): pass def to_map(self): _map = super(CreateTrainingJobRequestHyperParameters, self).to_map() if _map is not None: return _map result = dict() if self.name is not None: result['Name'] = self.name if self.value is not None: result['Value'] = self.value return result def from_map(self, m=None): m = m or dict() if m.get('Name') is not None: self.name = m.get('Name') if m.get('Value') is not None: self.value = m.get('Value') return self class CreateTrainingJobRequestInputChannels(TeaModel): def __init__(self, dataset_id=None, input_uri=None, name=None): self.dataset_id = dataset_id # type: str self.input_uri = input_uri # type: str self.name = name # type: str def validate(self): pass def to_map(self): _map = super(CreateTrainingJobRequestInputChannels, self).to_map() if _map is not None: return _map result = dict() if self.dataset_id is not None: result['DatasetId'] = self.dataset_id if self.input_uri is not None: result['InputUri'] = self.input_uri if self.name is not None: result['Name'] = self.name return result def from_map(self, m=None): m = m or dict() if m.get('DatasetId') is not None: self.dataset_id = m.get('DatasetId') if m.get('InputUri') is not None: self.input_uri = m.get('InputUri') if m.get('Name') is not None: self.name = m.get('Name') return self class CreateTrainingJobRequestLabels(TeaModel): def __init__(self, key=None, value=None): self.key = key # type: str self.value = value # type: str def validate(self): pass def to_map(self): _map = super(CreateTrainingJobRequestLabels, self).to_map() if _map is not None: return _map result = dict() if self.key is not None: result['Key'] = self.key if self.value is not None: result['Value'] = self.value return result def from_map(self, m=None): m = m or dict() if m.get('Key') is not None: self.key = m.get('Key') if m.get('Value') is not None: self.value = m.get('Value') return self class CreateTrainingJobRequestOutputChannels(TeaModel): def __init__(self, dataset_id=None, name=None, output_uri=None): self.dataset_id = dataset_id # type: str self.name = name # type: str self.output_uri = output_uri # type: str def validate(self): pass def to_map(self): _map = super(CreateTrainingJobRequestOutputChannels, self).to_map() if _map is not None: return _map result = dict() if self.dataset_id is not None: result['DatasetId'] = self.dataset_id if self.name is not None: result['Name'] = self.name if self.output_uri is not None: result['OutputUri'] = self.output_uri return result def from_map(self, m=None): m = m or dict() if m.get('DatasetId') is not None: self.dataset_id = m.get('DatasetId') if m.get('Name') is not None: self.name = m.get('Name') if m.get('OutputUri') is not None: self.output_uri = m.get('OutputUri') return self class CreateTrainingJobRequestScheduler(TeaModel): def __init__(self, max_running_time_in_seconds=None): self.max_running_time_in_seconds = max_running_time_in_seconds # type: long def validate(self): pass def to_map(self): _map = super(CreateTrainingJobRequestScheduler, self).to_map() if _map is not None: return _map result = dict() if self.max_running_time_in_seconds is not None: result['MaxRunningTimeInSeconds'] = self.max_running_time_in_seconds return result def from_map(self, m=None): m = m or dict() if m.get('MaxRunningTimeInSeconds') is not None: self.max_running_time_in_seconds = m.get('MaxRunningTimeInSeconds') return self class CreateTrainingJobRequestSettings(TeaModel): def __init__(self, aimaster_type=None, enable_error_monitoring_in_aimaster=None, error_monitoring_args=None, priority=None): self.aimaster_type = aimaster_type # type: str self.enable_error_monitoring_in_aimaster = enable_error_monitoring_in_aimaster # type: bool self.error_monitoring_args = error_monitoring_args # type: str self.priority = priority # type: int def validate(self): pass def to_map(self): _map = super(CreateTrainingJobRequestSettings, self).to_map() if _map is not None: return _map result = dict() if self.aimaster_type is not None: result['AIMasterType'] = self.aimaster_type if self.enable_error_monitoring_in_aimaster is not None: result['EnableErrorMonitoringInAIMaster'] = self.enable_error_monitoring_in_aimaster if self.error_monitoring_args is not None: result['ErrorMonitoringArgs'] = self.error_monitoring_args if self.priority is not None: result['Priority'] = self.priority return result def from_map(self, m=None): m = m or dict() if m.get('AIMasterType') is not None: self.aimaster_type = m.get('AIMasterType') if m.get('EnableErrorMonitoringInAIMaster') is not None: self.enable_error_monitoring_in_aimaster = m.get('EnableErrorMonitoringInAIMaster') if m.get('ErrorMonitoringArgs') is not None: self.error_monitoring_args = m.get('ErrorMonitoringArgs') if m.get('Priority') is not None: self.priority = m.get('Priority') return self class CreateTrainingJobRequestUserVpc(TeaModel): def __init__(self, default_route=None, extended_cidrs=None, security_group_id=None, switch_id=None, vpc_id=None): self.default_route = default_route # type: str self.extended_cidrs = extended_cidrs # type: list[str] self.security_group_id = security_group_id # type: str self.switch_id = switch_id # type: str self.vpc_id = vpc_id # type: str def validate(self): pass def to_map(self): _map = super(CreateTrainingJobRequestUserVpc, self).to_map() if _map is not None: return _map result = dict() if self.default_route is not None: result['DefaultRoute'] = self.default_route if self.extended_cidrs is not None: result['ExtendedCIDRs'] = self.extended_cidrs if self.security_group_id is not None: result['SecurityGroupId'] = self.security_group_id if self.switch_id is not None: result['SwitchId'] = self.switch_id if self.vpc_id is not None: result['VpcId'] = self.vpc_id return result def from_map(self, m=None): m = m or dict() if m.get('DefaultRoute') is not None: self.default_route = m.get('DefaultRoute') if m.get('ExtendedCIDRs') is not None: self.extended_cidrs = m.get('ExtendedCIDRs') if m.get('SecurityGroupId') is not None: self.security_group_id = m.get('SecurityGroupId') if m.get('SwitchId') is not None: self.switch_id = m.get('SwitchId') if m.get('VpcId') is not None: self.vpc_id = m.get('VpcId') return self class CreateTrainingJobRequest(TeaModel): def __init__(self, algorithm_name=None, algorithm_provider=None, algorithm_spec=None, algorithm_version=None, code_dir=None, compute_resource=None, experiment_config=None, hyper_parameters=None, input_channels=None, labels=None, output_channels=None, role_arn=None, scheduler=None, settings=None, training_job_description=None, training_job_name=None, user_vpc=None, workspace_id=None): self.algorithm_name = algorithm_name # type: str self.algorithm_provider = algorithm_provider # type: str self.algorithm_spec = algorithm_spec # type: AlgorithmSpec self.algorithm_version = algorithm_version # type: str self.code_dir = code_dir # type: Location self.compute_resource = compute_resource # type: CreateTrainingJobRequestComputeResource self.experiment_config = experiment_config # type: CreateTrainingJobRequestExperimentConfig self.hyper_parameters = hyper_parameters # type: list[CreateTrainingJobRequestHyperParameters] self.input_channels = input_channels # type: list[CreateTrainingJobRequestInputChannels] self.labels = labels # type: list[CreateTrainingJobRequestLabels] self.output_channels = output_channels # type: list[CreateTrainingJobRequestOutputChannels] self.role_arn = role_arn # type: str self.scheduler = scheduler # type: CreateTrainingJobRequestScheduler self.settings = settings # type: CreateTrainingJobRequestSettings self.training_job_description = training_job_description # type: str self.training_job_name = training_job_name # type: str self.user_vpc = user_vpc # type: CreateTrainingJobRequestUserVpc self.workspace_id = workspace_id # type: str def validate(self): if self.algorithm_spec: self.algorithm_spec.validate() if self.code_dir: self.code_dir.validate() if self.compute_resource: self.compute_resource.validate() if self.experiment_config: self.experiment_config.validate() if self.hyper_parameters: for k in self.hyper_parameters: if k: k.validate() if self.input_channels: for k in self.input_channels: if k: k.validate() if self.labels: for k in self.labels: if k: k.validate() if self.output_channels: for k in self.output_channels: if k: k.validate() if self.scheduler: self.scheduler.validate() if self.settings: self.settings.validate() if self.user_vpc: self.user_vpc.validate() def to_map(self): _map = super(CreateTrainingJobRequest, self).to_map() if _map is not None: return _map result = dict() if self.algorithm_name is not None: result['AlgorithmName'] = self.algorithm_name if self.algorithm_provider is not None: result['AlgorithmProvider'] = self.algorithm_provider if self.algorithm_spec is not None: result['AlgorithmSpec'] = self.algorithm_spec.to_map() if self.algorithm_version is not None: result['AlgorithmVersion'] = self.algorithm_version if self.code_dir is not None: result['CodeDir'] = self.code_dir.to_map() if self.compute_resource is not None: result['ComputeResource'] = self.compute_resource.to_map() if self.experiment_config is not None: result['ExperimentConfig'] = self.experiment_config.to_map() result['HyperParameters'] = [] if self.hyper_parameters is not None: for k in self.hyper_parameters: result['HyperParameters'].append(k.to_map() if k else None) result['InputChannels'] = [] if self.input_channels is not None: for k in self.input_channels: result['InputChannels'].append(k.to_map() if k else None) result['Labels'] = [] if self.labels is not None: for k in self.labels: result['Labels'].append(k.to_map() if k else None) result['OutputChannels'] = [] if self.output_channels is not None: for k in self.output_channels: result['OutputChannels'].append(k.to_map() if k else None) if self.role_arn is not None: result['RoleArn'] = self.role_arn if self.scheduler is not None: result['Scheduler'] = self.scheduler.to_map() if self.settings is not None: result['Settings'] = self.settings.to_map() if self.training_job_description is not None: result['TrainingJobDescription'] = self.training_job_description if self.training_job_name is not None: result['TrainingJobName'] = self.training_job_name if self.user_vpc is not None: result['UserVpc'] = self.user_vpc.to_map() if self.workspace_id is not None: result['WorkspaceId'] = self.workspace_id return result def from_map(self, m=None): m = m or dict() if m.get('AlgorithmName') is not None: self.algorithm_name = m.get('AlgorithmName') if m.get('AlgorithmProvider') is not None: self.algorithm_provider = m.get('AlgorithmProvider') if m.get('AlgorithmSpec') is not None: temp_model = AlgorithmSpec() self.algorithm_spec = temp_model.from_map(m['AlgorithmSpec']) if m.get('AlgorithmVersion') is not None: self.algorithm_version = m.get('AlgorithmVersion') if m.get('CodeDir') is not None: temp_model = Location() self.code_dir = temp_model.from_map(m['CodeDir']) if m.get('ComputeResource') is not None: temp_model = CreateTrainingJobRequestComputeResource() self.compute_resource = temp_model.from_map(m['ComputeResource']) if m.get('ExperimentConfig') is not None: temp_model = CreateTrainingJobRequestExperimentConfig() self.experiment_config = temp_model.from_map(m['ExperimentConfig']) self.hyper_parameters = [] if m.get('HyperParameters') is not None: for k in m.get('HyperParameters'): temp_model = CreateTrainingJobRequestHyperParameters() self.hyper_parameters.append(temp_model.from_map(k)) self.input_channels = [] if m.get('InputChannels') is not None: for k in m.get('InputChannels'): temp_model = CreateTrainingJobRequestInputChannels() self.input_channels.append(temp_model.from_map(k)) self.labels = [] if m.get('Labels') is not None: for k in m.get('Labels'): temp_model = CreateTrainingJobRequestLabels() self.labels.append(temp_model.from_map(k)) self.output_channels = [] if m.get('OutputChannels') is not None: for k in m.get('OutputChannels'): temp_model = CreateTrainingJobRequestOutputChannels() self.output_channels.append(temp_model.from_map(k)) if m.get('RoleArn') is not None: self.role_arn = m.get('RoleArn') if m.get('Scheduler') is not None: temp_model = CreateTrainingJobRequestScheduler() self.scheduler = temp_model.from_map(m['Scheduler']) if m.get('Settings') is not None: temp_model = CreateTrainingJobRequestSettings() self.settings = temp_model.from_map(m['Settings']) if m.get('TrainingJobDescription') is not None: self.training_job_description = m.get('TrainingJobDescription') if m.get('TrainingJobName') is not None: self.training_job_name = m.get('TrainingJobName') if m.get('UserVpc') is not None: temp_model = CreateTrainingJobRequestUserVpc() self.user_vpc = temp_model.from_map(m['UserVpc']) if m.get('WorkspaceId') is not None: self.workspace_id = m.get('WorkspaceId') return self class CreateTrainingJobResponseBody(TeaModel): def __init__(self, request_id=None, training_job_id=None): self.request_id = request_id # type: str self.training_job_id = training_job_id # type: str def validate(self): pass def to_map(self): _map = super(CreateTrainingJobResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.request_id is not None: result['RequestId'] = self.request_id if self.training_job_id is not None: result['TrainingJobId'] = self.training_job_id return result def from_map(self, m=None): m = m or dict() if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('TrainingJobId') is not None: self.training_job_id = m.get('TrainingJobId') return self class CreateTrainingJobResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: CreateTrainingJobResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(CreateTrainingJobResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = CreateTrainingJobResponseBody() self.body = temp_model.from_map(m['body']) return self class DeleteMachineGroupResponseBody(TeaModel): def __init__(self, machine_group_id=None, request_id=None): self.machine_group_id = machine_group_id # type: str self.request_id = request_id # type: str def validate(self): pass def to_map(self): _map = super(DeleteMachineGroupResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.machine_group_id is not None: result['MachineGroupID'] = self.machine_group_id if self.request_id is not None: result['RequestId'] = self.request_id return result def from_map(self, m=None): m = m or dict() if m.get('MachineGroupID') is not None: self.machine_group_id = m.get('MachineGroupID') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') return self class DeleteMachineGroupResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: DeleteMachineGroupResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(DeleteMachineGroupResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = DeleteMachineGroupResponseBody() self.body = temp_model.from_map(m['body']) return self class DeleteQuotaResponseBody(TeaModel): def __init__(self, quota_id=None, request_id=None): # Quota Id self.quota_id = quota_id # type: str self.request_id = request_id # type: str def validate(self): pass def to_map(self): _map = super(DeleteQuotaResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.quota_id is not None: result['QuotaId'] = self.quota_id if self.request_id is not None: result['RequestId'] = self.request_id return result def from_map(self, m=None): m = m or dict() if m.get('QuotaId') is not None: self.quota_id = m.get('QuotaId') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') return self class DeleteQuotaResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: DeleteQuotaResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(DeleteQuotaResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = DeleteQuotaResponseBody() self.body = temp_model.from_map(m['body']) return self class DeleteResourceGroupResponseBody(TeaModel): def __init__(self, request_id=None, resource_group_id=None): self.request_id = request_id # type: str self.resource_group_id = resource_group_id # type: str def validate(self): pass def to_map(self): _map = super(DeleteResourceGroupResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.request_id is not None: result['RequestId'] = self.request_id if self.resource_group_id is not None: result['ResourceGroupID'] = self.resource_group_id return result def from_map(self, m=None): m = m or dict() if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('ResourceGroupID') is not None: self.resource_group_id = m.get('ResourceGroupID') return self class DeleteResourceGroupResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: DeleteResourceGroupResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(DeleteResourceGroupResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = DeleteResourceGroupResponseBody() self.body = temp_model.from_map(m['body']) return self class DeleteResourceGroupMachineGroupResponseBody(TeaModel): def __init__(self, machine_group_id=None, request_id=None): self.machine_group_id = machine_group_id # type: str self.request_id = request_id # type: str def validate(self): pass def to_map(self): _map = super(DeleteResourceGroupMachineGroupResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.machine_group_id is not None: result['MachineGroupID'] = self.machine_group_id if self.request_id is not None: result['RequestId'] = self.request_id return result def from_map(self, m=None): m = m or dict() if m.get('MachineGroupID') is not None: self.machine_group_id = m.get('MachineGroupID') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') return self class DeleteResourceGroupMachineGroupResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: DeleteResourceGroupMachineGroupResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(DeleteResourceGroupMachineGroupResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = DeleteResourceGroupMachineGroupResponseBody() self.body = temp_model.from_map(m['body']) return self class GetAlgorithmResponseBody(TeaModel): def __init__(self, algorithm_description=None, algorithm_id=None, algorithm_name=None, algorithm_provider=None, display_name=None, gmt_create_time=None, gmt_modified_time=None, request_id=None, tenant_id=None, user_id=None, workspace_id=None): self.algorithm_description = algorithm_description # type: str self.algorithm_id = algorithm_id # type: str self.algorithm_name = algorithm_name # type: str self.algorithm_provider = algorithm_provider # type: str self.display_name = display_name # type: str self.gmt_create_time = gmt_create_time # type: str self.gmt_modified_time = gmt_modified_time # type: str self.request_id = request_id # type: str self.tenant_id = tenant_id # type: str self.user_id = user_id # type: str self.workspace_id = workspace_id # type: str def validate(self): pass def to_map(self): _map = super(GetAlgorithmResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.algorithm_description is not None: result['AlgorithmDescription'] = self.algorithm_description if self.algorithm_id is not None: result['AlgorithmId'] = self.algorithm_id if self.algorithm_name is not None: result['AlgorithmName'] = self.algorithm_name if self.algorithm_provider is not None: result['AlgorithmProvider'] = self.algorithm_provider if self.display_name is not None: result['DisplayName'] = self.display_name if self.gmt_create_time is not None: result['GmtCreateTime'] = self.gmt_create_time if self.gmt_modified_time is not None: result['GmtModifiedTime'] = self.gmt_modified_time if self.request_id is not None: result['RequestId'] = self.request_id if self.tenant_id is not None: result['TenantId'] = self.tenant_id if self.user_id is not None: result['UserId'] = self.user_id if self.workspace_id is not None: result['WorkspaceId'] = self.workspace_id return result def from_map(self, m=None): m = m or dict() if m.get('AlgorithmDescription') is not None: self.algorithm_description = m.get('AlgorithmDescription') if m.get('AlgorithmId') is not None: self.algorithm_id = m.get('AlgorithmId') if m.get('AlgorithmName') is not None: self.algorithm_name = m.get('AlgorithmName') if m.get('AlgorithmProvider') is not None: self.algorithm_provider = m.get('AlgorithmProvider') if m.get('DisplayName') is not None: self.display_name = m.get('DisplayName') if m.get('GmtCreateTime') is not None: self.gmt_create_time = m.get('GmtCreateTime') if m.get('GmtModifiedTime') is not None: self.gmt_modified_time = m.get('GmtModifiedTime') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('TenantId') is not None: self.tenant_id = m.get('TenantId') if m.get('UserId') is not None: self.user_id = m.get('UserId') if m.get('WorkspaceId') is not None: self.workspace_id = m.get('WorkspaceId') return self class GetAlgorithmResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: GetAlgorithmResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(GetAlgorithmResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = GetAlgorithmResponseBody() self.body = temp_model.from_map(m['body']) return self class GetAlgorithmVersionResponseBody(TeaModel): def __init__(self, algorithm_id=None, algorithm_name=None, algorithm_provider=None, algorithm_spec=None, algorithm_version=None, gmt_create_time=None, gmt_modified_time=None, tenant_id=None, user_id=None): self.algorithm_id = algorithm_id # type: str self.algorithm_name = algorithm_name # type: str self.algorithm_provider = algorithm_provider # type: str self.algorithm_spec = algorithm_spec # type: AlgorithmSpec self.algorithm_version = algorithm_version # type: str self.gmt_create_time = gmt_create_time # type: str self.gmt_modified_time = gmt_modified_time # type: str self.tenant_id = tenant_id # type: str self.user_id = user_id # type: str def validate(self): if self.algorithm_spec: self.algorithm_spec.validate() def to_map(self): _map = super(GetAlgorithmVersionResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.algorithm_id is not None: result['AlgorithmId'] = self.algorithm_id if self.algorithm_name is not None: result['AlgorithmName'] = self.algorithm_name if self.algorithm_provider is not None: result['AlgorithmProvider'] = self.algorithm_provider if self.algorithm_spec is not None: result['AlgorithmSpec'] = self.algorithm_spec.to_map() if self.algorithm_version is not None: result['AlgorithmVersion'] = self.algorithm_version if self.gmt_create_time is not None: result['GmtCreateTime'] = self.gmt_create_time if self.gmt_modified_time is not None: result['GmtModifiedTime'] = self.gmt_modified_time if self.tenant_id is not None: result['TenantId'] = self.tenant_id if self.user_id is not None: result['UserId'] = self.user_id return result def from_map(self, m=None): m = m or dict() if m.get('AlgorithmId') is not None: self.algorithm_id = m.get('AlgorithmId') if m.get('AlgorithmName') is not None: self.algorithm_name = m.get('AlgorithmName') if m.get('AlgorithmProvider') is not None: self.algorithm_provider = m.get('AlgorithmProvider') if m.get('AlgorithmSpec') is not None: temp_model = AlgorithmSpec() self.algorithm_spec = temp_model.from_map(m['AlgorithmSpec']) if m.get('AlgorithmVersion') is not None: self.algorithm_version = m.get('AlgorithmVersion') if m.get('GmtCreateTime') is not None: self.gmt_create_time = m.get('GmtCreateTime') if m.get('GmtModifiedTime') is not None: self.gmt_modified_time = m.get('GmtModifiedTime') if m.get('TenantId') is not None: self.tenant_id = m.get('TenantId') if m.get('UserId') is not None: self.user_id = m.get('UserId') return self class GetAlgorithmVersionResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: GetAlgorithmVersionResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(GetAlgorithmVersionResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = GetAlgorithmVersionResponseBody() self.body = temp_model.from_map(m['body']) return self class GetMachineGroupResponseBody(TeaModel): def __init__(self, count=None, default_driver=None, duration=None, ecs_type=None, gmt_created=None, gmt_expired=None, gmt_modified=None, gmt_started=None, machine_group_id=None, order_id=None, pairesource_id=None, pay_type=None, pricing_cycle=None, region_id=None, request_id=None, status=None, supported_drivers=None): self.count = count # type: long self.default_driver = default_driver # type: str self.duration = duration # type: str self.ecs_type = ecs_type # type: str self.gmt_created = gmt_created # type: str self.gmt_expired = gmt_expired # type: str self.gmt_modified = gmt_modified # type: str self.gmt_started = gmt_started # type: str self.machine_group_id = machine_group_id # type: str self.order_id = order_id # type: str self.pairesource_id = pairesource_id # type: str self.pay_type = pay_type # type: str self.pricing_cycle = pricing_cycle # type: str self.region_id = region_id # type: str self.request_id = request_id # type: str self.status = status # type: str self.supported_drivers = supported_drivers # type: list[str] def validate(self): pass def to_map(self): _map = super(GetMachineGroupResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.count is not None: result['Count'] = self.count if self.default_driver is not None: result['DefaultDriver'] = self.default_driver if self.duration is not None: result['Duration'] = self.duration if self.ecs_type is not None: result['EcsType'] = self.ecs_type if self.gmt_created is not None: result['GmtCreated'] = self.gmt_created if self.gmt_expired is not None: result['GmtExpired'] = self.gmt_expired if self.gmt_modified is not None: result['GmtModified'] = self.gmt_modified if self.gmt_started is not None: result['GmtStarted'] = self.gmt_started if self.machine_group_id is not None: result['MachineGroupID'] = self.machine_group_id if self.order_id is not None: result['OrderID'] = self.order_id if self.pairesource_id is not None: result['PAIResourceID'] = self.pairesource_id if self.pay_type is not None: result['PayType'] = self.pay_type if self.pricing_cycle is not None: result['PricingCycle'] = self.pricing_cycle if self.region_id is not None: result['RegionID'] = self.region_id if self.request_id is not None: result['RequestId'] = self.request_id if self.status is not None: result['Status'] = self.status if self.supported_drivers is not None: result['SupportedDrivers'] = self.supported_drivers return result def from_map(self, m=None): m = m or dict() if m.get('Count') is not None: self.count = m.get('Count') if m.get('DefaultDriver') is not None: self.default_driver = m.get('DefaultDriver') if m.get('Duration') is not None: self.duration = m.get('Duration') if m.get('EcsType') is not None: self.ecs_type = m.get('EcsType') if m.get('GmtCreated') is not None: self.gmt_created = m.get('GmtCreated') if m.get('GmtExpired') is not None: self.gmt_expired = m.get('GmtExpired') if m.get('GmtModified') is not None: self.gmt_modified = m.get('GmtModified') if m.get('GmtStarted') is not None: self.gmt_started = m.get('GmtStarted') if m.get('MachineGroupID') is not None: self.machine_group_id = m.get('MachineGroupID') if m.get('OrderID') is not None: self.order_id = m.get('OrderID') if m.get('PAIResourceID') is not None: self.pairesource_id = m.get('PAIResourceID') if m.get('PayType') is not None: self.pay_type = m.get('PayType') if m.get('PricingCycle') is not None: self.pricing_cycle = m.get('PricingCycle') if m.get('RegionID') is not None: self.region_id = m.get('RegionID') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('Status') is not None: self.status = m.get('Status') if m.get('SupportedDrivers') is not None: self.supported_drivers = m.get('SupportedDrivers') return self class GetMachineGroupResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: GetMachineGroupResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(GetMachineGroupResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = GetMachineGroupResponseBody() self.body = temp_model.from_map(m['body']) return self class GetNodeMetricsRequest(TeaModel): def __init__(self, end_time=None, gputype=None, start_time=None, time_step=None, verbose=None): self.end_time = end_time # type: str self.gputype = gputype # type: str self.start_time = start_time # type: str self.time_step = time_step # type: str self.verbose = verbose # type: bool def validate(self): pass def to_map(self): _map = super(GetNodeMetricsRequest, self).to_map() if _map is not None: return _map result = dict() if self.end_time is not None: result['EndTime'] = self.end_time if self.gputype is not None: result['GPUType'] = self.gputype if self.start_time is not None: result['StartTime'] = self.start_time if self.time_step is not None: result['TimeStep'] = self.time_step if self.verbose is not None: result['Verbose'] = self.verbose return result def from_map(self, m=None): m = m or dict() if m.get('EndTime') is not None: self.end_time = m.get('EndTime') if m.get('GPUType') is not None: self.gputype = m.get('GPUType') if m.get('StartTime') is not None: self.start_time = m.get('StartTime') if m.get('TimeStep') is not None: self.time_step = m.get('TimeStep') if m.get('Verbose') is not None: self.verbose = m.get('Verbose') return self class GetNodeMetricsResponseBody(TeaModel): def __init__(self, metric_type=None, nodes_metrics=None, resource_group_id=None): self.metric_type = metric_type # type: str self.nodes_metrics = nodes_metrics # type: list[NodeMetric] self.resource_group_id = resource_group_id # type: str def validate(self): if self.nodes_metrics: for k in self.nodes_metrics: if k: k.validate() def to_map(self): _map = super(GetNodeMetricsResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.metric_type is not None: result['MetricType'] = self.metric_type result['NodesMetrics'] = [] if self.nodes_metrics is not None: for k in self.nodes_metrics: result['NodesMetrics'].append(k.to_map() if k else None) if self.resource_group_id is not None: result['ResourceGroupID'] = self.resource_group_id return result def from_map(self, m=None): m = m or dict() if m.get('MetricType') is not None: self.metric_type = m.get('MetricType') self.nodes_metrics = [] if m.get('NodesMetrics') is not None: for k in m.get('NodesMetrics'): temp_model = NodeMetric() self.nodes_metrics.append(temp_model.from_map(k)) if m.get('ResourceGroupID') is not None: self.resource_group_id = m.get('ResourceGroupID') return self class GetNodeMetricsResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: GetNodeMetricsResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(GetNodeMetricsResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = GetNodeMetricsResponseBody() self.body = temp_model.from_map(m['body']) return self class GetQuotaResponseBody(TeaModel): def __init__(self, allocate_strategy=None, creator_id=None, description=None, gmt_created_time=None, gmt_modified_time=None, labels=None, latest_operation_id=None, min=None, parent_quota_id=None, queue_strategy=None, quota_config=None, quota_details=None, quota_id=None, quota_name=None, reason_code=None, reason_message=None, request_id=None, resource_group_ids=None, resource_type=None, status=None, sub_quotas=None, workspaces=None): self.allocate_strategy = allocate_strategy # type: str self.creator_id = creator_id # type: str self.description = description # type: str self.gmt_created_time = gmt_created_time # type: str self.gmt_modified_time = gmt_modified_time # type: str self.labels = labels # type: list[Label] self.latest_operation_id = latest_operation_id # type: str self.min = min # type: ResourceSpec self.parent_quota_id = parent_quota_id # type: str self.queue_strategy = queue_strategy # type: str self.quota_config = quota_config # type: QuotaConfig self.quota_details = quota_details # type: QuotaDetails # Quota Id self.quota_id = quota_id # type: str self.quota_name = quota_name # type: str self.reason_code = reason_code # type: str self.reason_message = reason_message # type: str self.request_id = request_id # type: str self.resource_group_ids = resource_group_ids # type: list[str] self.resource_type = resource_type # type: str self.status = status # type: str self.sub_quotas = sub_quotas # type: list[QuotaIdName] self.workspaces = workspaces # type: list[WorkspaceIdName] def validate(self): if self.labels: for k in self.labels: if k: k.validate() if self.min: self.min.validate() if self.quota_config: self.quota_config.validate() if self.quota_details: self.quota_details.validate() if self.sub_quotas: for k in self.sub_quotas: if k: k.validate() if self.workspaces: for k in self.workspaces: if k: k.validate() def to_map(self): _map = super(GetQuotaResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.allocate_strategy is not None: result['AllocateStrategy'] = self.allocate_strategy if self.creator_id is not None: result['CreatorId'] = self.creator_id if self.description is not None: result['Description'] = self.description if self.gmt_created_time is not None: result['GmtCreatedTime'] = self.gmt_created_time if self.gmt_modified_time is not None: result['GmtModifiedTime'] = self.gmt_modified_time result['Labels'] = [] if self.labels is not None: for k in self.labels: result['Labels'].append(k.to_map() if k else None) if self.latest_operation_id is not None: result['LatestOperationId'] = self.latest_operation_id if self.min is not None: result['Min'] = self.min.to_map() if self.parent_quota_id is not None: result['ParentQuotaId'] = self.parent_quota_id if self.queue_strategy is not None: result['QueueStrategy'] = self.queue_strategy if self.quota_config is not None: result['QuotaConfig'] = self.quota_config.to_map() if self.quota_details is not None: result['QuotaDetails'] = self.quota_details.to_map() if self.quota_id is not None: result['QuotaId'] = self.quota_id if self.quota_name is not None: result['QuotaName'] = self.quota_name if self.reason_code is not None: result['ReasonCode'] = self.reason_code if self.reason_message is not None: result['ReasonMessage'] = self.reason_message if self.request_id is not None: result['RequestId'] = self.request_id if self.resource_group_ids is not None: result['ResourceGroupIds'] = self.resource_group_ids if self.resource_type is not None: result['ResourceType'] = self.resource_type if self.status is not None: result['Status'] = self.status result['SubQuotas'] = [] if self.sub_quotas is not None: for k in self.sub_quotas: result['SubQuotas'].append(k.to_map() if k else None) result['Workspaces'] = [] if self.workspaces is not None: for k in self.workspaces: result['Workspaces'].append(k.to_map() if k else None) return result def from_map(self, m=None): m = m or dict() if m.get('AllocateStrategy') is not None: self.allocate_strategy = m.get('AllocateStrategy') if m.get('CreatorId') is not None: self.creator_id = m.get('CreatorId') if m.get('Description') is not None: self.description = m.get('Description') if m.get('GmtCreatedTime') is not None: self.gmt_created_time = m.get('GmtCreatedTime') if m.get('GmtModifiedTime') is not None: self.gmt_modified_time = m.get('GmtModifiedTime') self.labels = [] if m.get('Labels') is not None: for k in m.get('Labels'): temp_model = Label() self.labels.append(temp_model.from_map(k)) if m.get('LatestOperationId') is not None: self.latest_operation_id = m.get('LatestOperationId') if m.get('Min') is not None: temp_model = ResourceSpec() self.min = temp_model.from_map(m['Min']) if m.get('ParentQuotaId') is not None: self.parent_quota_id = m.get('ParentQuotaId') if m.get('QueueStrategy') is not None: self.queue_strategy = m.get('QueueStrategy') if m.get('QuotaConfig') is not None: temp_model = QuotaConfig() self.quota_config = temp_model.from_map(m['QuotaConfig']) if m.get('QuotaDetails') is not None: temp_model = QuotaDetails() self.quota_details = temp_model.from_map(m['QuotaDetails']) if m.get('QuotaId') is not None: self.quota_id = m.get('QuotaId') if m.get('QuotaName') is not None: self.quota_name = m.get('QuotaName') if m.get('ReasonCode') is not None: self.reason_code = m.get('ReasonCode') if m.get('ReasonMessage') is not None: self.reason_message = m.get('ReasonMessage') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('ResourceGroupIds') is not None: self.resource_group_ids = m.get('ResourceGroupIds') if m.get('ResourceType') is not None: self.resource_type = m.get('ResourceType') if m.get('Status') is not None: self.status = m.get('Status') self.sub_quotas = [] if m.get('SubQuotas') is not None: for k in m.get('SubQuotas'): temp_model = QuotaIdName() self.sub_quotas.append(temp_model.from_map(k)) self.workspaces = [] if m.get('Workspaces') is not None: for k in m.get('Workspaces'): temp_model = WorkspaceIdName() self.workspaces.append(temp_model.from_map(k)) return self class GetQuotaResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: GetQuotaResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(GetQuotaResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = GetQuotaResponseBody() self.body = temp_model.from_map(m['body']) return self class GetResourceGroupRequestTag(TeaModel): def __init__(self, key=None, value=None): self.key = key # type: str self.value = value # type: str def validate(self): pass def to_map(self): _map = super(GetResourceGroupRequestTag, self).to_map() if _map is not None: return _map result = dict() if self.key is not None: result['Key'] = self.key if self.value is not None: result['Value'] = self.value return result def from_map(self, m=None): m = m or dict() if m.get('Key') is not None: self.key = m.get('Key') if m.get('Value') is not None: self.value = m.get('Value') return self class GetResourceGroupRequest(TeaModel): def __init__(self, is_aiworkspace_data_enabled=None, tag=None): self.is_aiworkspace_data_enabled = is_aiworkspace_data_enabled # type: bool self.tag = tag # type: list[GetResourceGroupRequestTag] def validate(self): if self.tag: for k in self.tag: if k: k.validate() def to_map(self): _map = super(GetResourceGroupRequest, self).to_map() if _map is not None: return _map result = dict() if self.is_aiworkspace_data_enabled is not None: result['IsAIWorkspaceDataEnabled'] = self.is_aiworkspace_data_enabled result['Tag'] = [] if self.tag is not None: for k in self.tag: result['Tag'].append(k.to_map() if k else None) return result def from_map(self, m=None): m = m or dict() if m.get('IsAIWorkspaceDataEnabled') is not None: self.is_aiworkspace_data_enabled = m.get('IsAIWorkspaceDataEnabled') self.tag = [] if m.get('Tag') is not None: for k in m.get('Tag'): temp_model = GetResourceGroupRequestTag() self.tag.append(temp_model.from_map(k)) return self class GetResourceGroupShrinkRequest(TeaModel): def __init__(self, is_aiworkspace_data_enabled=None, tag_shrink=None): self.is_aiworkspace_data_enabled = is_aiworkspace_data_enabled # type: bool self.tag_shrink = tag_shrink # type: str def validate(self): pass def to_map(self): _map = super(GetResourceGroupShrinkRequest, self).to_map() if _map is not None: return _map result = dict() if self.is_aiworkspace_data_enabled is not None: result['IsAIWorkspaceDataEnabled'] = self.is_aiworkspace_data_enabled if self.tag_shrink is not None: result['Tag'] = self.tag_shrink return result def from_map(self, m=None): m = m or dict() if m.get('IsAIWorkspaceDataEnabled') is not None: self.is_aiworkspace_data_enabled = m.get('IsAIWorkspaceDataEnabled') if m.get('Tag') is not None: self.tag_shrink = m.get('Tag') return self class GetResourceGroupResponseBodyTags(TeaModel): def __init__(self, tag_key=None, tag_value=None): self.tag_key = tag_key # type: str self.tag_value = tag_value # type: str def validate(self): pass def to_map(self): _map = super(GetResourceGroupResponseBodyTags, self).to_map() if _map is not None: return _map result = dict() if self.tag_key is not None: result['TagKey'] = self.tag_key if self.tag_value is not None: result['TagValue'] = self.tag_value return result def from_map(self, m=None): m = m or dict() if m.get('TagKey') is not None: self.tag_key = m.get('TagKey') if m.get('TagValue') is not None: self.tag_value = m.get('TagValue') return self class GetResourceGroupResponseBody(TeaModel): def __init__(self, cluster_id=None, computing_resource_provider=None, creator_id=None, description=None, gmt_created_time=None, gmt_modified_time=None, name=None, request_id=None, resource_type=None, status=None, support_rdma=None, tags=None, user_vpc=None, workspace_id=None): self.cluster_id = cluster_id # type: str self.computing_resource_provider = computing_resource_provider # type: str self.creator_id = creator_id # type: str self.description = description # type: str self.gmt_created_time = gmt_created_time # type: str self.gmt_modified_time = gmt_modified_time # type: str self.name = name # type: str self.request_id = request_id # type: str self.resource_type = resource_type # type: str self.status = status # type: str self.support_rdma = support_rdma # type: bool self.tags = tags # type: list[GetResourceGroupResponseBodyTags] self.user_vpc = user_vpc # type: UserVpc self.workspace_id = workspace_id # type: str def validate(self): if self.tags: for k in self.tags: if k: k.validate() if self.user_vpc: self.user_vpc.validate() def to_map(self): _map = super(GetResourceGroupResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.cluster_id is not None: result['ClusterID'] = self.cluster_id if self.computing_resource_provider is not None: result['ComputingResourceProvider'] = self.computing_resource_provider if self.creator_id is not None: result['CreatorID'] = self.creator_id if self.description is not None: result['Description'] = self.description if self.gmt_created_time is not None: result['GmtCreatedTime'] = self.gmt_created_time if self.gmt_modified_time is not None: result['GmtModifiedTime'] = self.gmt_modified_time if self.name is not None: result['Name'] = self.name if self.request_id is not None: result['RequestId'] = self.request_id if self.resource_type is not None: result['ResourceType'] = self.resource_type if self.status is not None: result['Status'] = self.status if self.support_rdma is not None: result['SupportRDMA'] = self.support_rdma result['Tags'] = [] if self.tags is not None: for k in self.tags: result['Tags'].append(k.to_map() if k else None) if self.user_vpc is not None: result['UserVpc'] = self.user_vpc.to_map() if self.workspace_id is not None: result['WorkspaceID'] = self.workspace_id return result def from_map(self, m=None): m = m or dict() if m.get('ClusterID') is not None: self.cluster_id = m.get('ClusterID') if m.get('ComputingResourceProvider') is not None: self.computing_resource_provider = m.get('ComputingResourceProvider') if m.get('CreatorID') is not None: self.creator_id = m.get('CreatorID') if m.get('Description') is not None: self.description = m.get('Description') if m.get('GmtCreatedTime') is not None: self.gmt_created_time = m.get('GmtCreatedTime') if m.get('GmtModifiedTime') is not None: self.gmt_modified_time = m.get('GmtModifiedTime') if m.get('Name') is not None: self.name = m.get('Name') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('ResourceType') is not None: self.resource_type = m.get('ResourceType') if m.get('Status') is not None: self.status = m.get('Status') if m.get('SupportRDMA') is not None: self.support_rdma = m.get('SupportRDMA') self.tags = [] if m.get('Tags') is not None: for k in m.get('Tags'): temp_model = GetResourceGroupResponseBodyTags() self.tags.append(temp_model.from_map(k)) if m.get('UserVpc') is not None: temp_model = UserVpc() self.user_vpc = temp_model.from_map(m['UserVpc']) if m.get('WorkspaceID') is not None: self.workspace_id = m.get('WorkspaceID') return self class GetResourceGroupResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: GetResourceGroupResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(GetResourceGroupResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = GetResourceGroupResponseBody() self.body = temp_model.from_map(m['body']) return self class GetResourceGroupMachineGroupRequestTag(TeaModel): def __init__(self, key=None, value=None): self.key = key # type: str self.value = value # type: str def validate(self): pass def to_map(self): _map = super(GetResourceGroupMachineGroupRequestTag, self).to_map() if _map is not None: return _map result = dict() if self.key is not None: result['Key'] = self.key if self.value is not None: result['Value'] = self.value return result def from_map(self, m=None): m = m or dict() if m.get('Key') is not None: self.key = m.get('Key') if m.get('Value') is not None: self.value = m.get('Value') return self class GetResourceGroupMachineGroupRequest(TeaModel): def __init__(self, tag=None): self.tag = tag # type: list[GetResourceGroupMachineGroupRequestTag] def validate(self): if self.tag: for k in self.tag: if k: k.validate() def to_map(self): _map = super(GetResourceGroupMachineGroupRequest, self).to_map() if _map is not None: return _map result = dict() result['Tag'] = [] if self.tag is not None: for k in self.tag: result['Tag'].append(k.to_map() if k else None) return result def from_map(self, m=None): m = m or dict() self.tag = [] if m.get('Tag') is not None: for k in m.get('Tag'): temp_model = GetResourceGroupMachineGroupRequestTag() self.tag.append(temp_model.from_map(k)) return self class GetResourceGroupMachineGroupShrinkRequest(TeaModel): def __init__(self, tag_shrink=None): self.tag_shrink = tag_shrink # type: str def validate(self): pass def to_map(self): _map = super(GetResourceGroupMachineGroupShrinkRequest, self).to_map() if _map is not None: return _map result = dict() if self.tag_shrink is not None: result['Tag'] = self.tag_shrink return result def from_map(self, m=None): m = m or dict() if m.get('Tag') is not None: self.tag_shrink = m.get('Tag') return self class GetResourceGroupMachineGroupResponseBodyTags(TeaModel): def __init__(self, tag_key=None, tag_value=None): self.tag_key = tag_key # type: str self.tag_value = tag_value # type: str def validate(self): pass def to_map(self): _map = super(GetResourceGroupMachineGroupResponseBodyTags, self).to_map() if _map is not None: return _map result = dict() if self.tag_key is not None: result['TagKey'] = self.tag_key if self.tag_value is not None: result['TagValue'] = self.tag_value return result def from_map(self, m=None): m = m or dict() if m.get('TagKey') is not None: self.tag_key = m.get('TagKey') if m.get('TagValue') is not None: self.tag_value = m.get('TagValue') return self class GetResourceGroupMachineGroupResponseBody(TeaModel): def __init__(self, cpu=None, default_driver=None, ecs_count=None, ecs_spec=None, gmt_created_time=None, gmt_expired_time=None, gmt_modified_time=None, gmt_started_time=None, gpu=None, gpu_type=None, machine_group_id=None, memory=None, name=None, payment_duration=None, payment_duration_unit=None, payment_type=None, request_id=None, resource_group_id=None, status=None, supported_drivers=None, tags=None): self.cpu = cpu # type: str self.default_driver = default_driver # type: str self.ecs_count = ecs_count # type: long self.ecs_spec = ecs_spec # type: str self.gmt_created_time = gmt_created_time # type: str self.gmt_expired_time = gmt_expired_time # type: str self.gmt_modified_time = gmt_modified_time # type: str self.gmt_started_time = gmt_started_time # type: str self.gpu = gpu # type: str self.gpu_type = gpu_type # type: str self.machine_group_id = machine_group_id # type: str self.memory = memory # type: str self.name = name # type: str self.payment_duration = payment_duration # type: str self.payment_duration_unit = payment_duration_unit # type: str self.payment_type = payment_type # type: str self.request_id = request_id # type: str self.resource_group_id = resource_group_id # type: str self.status = status # type: str self.supported_drivers = supported_drivers # type: list[str] self.tags = tags # type: list[GetResourceGroupMachineGroupResponseBodyTags] def validate(self): if self.tags: for k in self.tags: if k: k.validate() def to_map(self): _map = super(GetResourceGroupMachineGroupResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.cpu is not None: result['Cpu'] = self.cpu if self.default_driver is not None: result['DefaultDriver'] = self.default_driver if self.ecs_count is not None: result['EcsCount'] = self.ecs_count if self.ecs_spec is not None: result['EcsSpec'] = self.ecs_spec if self.gmt_created_time is not None: result['GmtCreatedTime'] = self.gmt_created_time if self.gmt_expired_time is not None: result['GmtExpiredTime'] = self.gmt_expired_time if self.gmt_modified_time is not None: result['GmtModifiedTime'] = self.gmt_modified_time if self.gmt_started_time is not None: result['GmtStartedTime'] = self.gmt_started_time if self.gpu is not None: result['Gpu'] = self.gpu if self.gpu_type is not None: result['GpuType'] = self.gpu_type if self.machine_group_id is not None: result['MachineGroupID'] = self.machine_group_id if self.memory is not None: result['Memory'] = self.memory if self.name is not None: result['Name'] = self.name if self.payment_duration is not None: result['PaymentDuration'] = self.payment_duration if self.payment_duration_unit is not None: result['PaymentDurationUnit'] = self.payment_duration_unit if self.payment_type is not None: result['PaymentType'] = self.payment_type if self.request_id is not None: result['RequestId'] = self.request_id if self.resource_group_id is not None: result['ResourceGroupID'] = self.resource_group_id if self.status is not None: result['Status'] = self.status if self.supported_drivers is not None: result['SupportedDrivers'] = self.supported_drivers result['Tags'] = [] if self.tags is not None: for k in self.tags: result['Tags'].append(k.to_map() if k else None) return result def from_map(self, m=None): m = m or dict() if m.get('Cpu') is not None: self.cpu = m.get('Cpu') if m.get('DefaultDriver') is not None: self.default_driver = m.get('DefaultDriver') if m.get('EcsCount') is not None: self.ecs_count = m.get('EcsCount') if m.get('EcsSpec') is not None: self.ecs_spec = m.get('EcsSpec') if m.get('GmtCreatedTime') is not None: self.gmt_created_time = m.get('GmtCreatedTime') if m.get('GmtExpiredTime') is not None: self.gmt_expired_time = m.get('GmtExpiredTime') if m.get('GmtModifiedTime') is not None: self.gmt_modified_time = m.get('GmtModifiedTime') if m.get('GmtStartedTime') is not None: self.gmt_started_time = m.get('GmtStartedTime') if m.get('Gpu') is not None: self.gpu = m.get('Gpu') if m.get('GpuType') is not None: self.gpu_type = m.get('GpuType') if m.get('MachineGroupID') is not None: self.machine_group_id = m.get('MachineGroupID') if m.get('Memory') is not None: self.memory = m.get('Memory') if m.get('Name') is not None: self.name = m.get('Name') if m.get('PaymentDuration') is not None: self.payment_duration = m.get('PaymentDuration') if m.get('PaymentDurationUnit') is not None: self.payment_duration_unit = m.get('PaymentDurationUnit') if m.get('PaymentType') is not None: self.payment_type = m.get('PaymentType') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('ResourceGroupID') is not None: self.resource_group_id = m.get('ResourceGroupID') if m.get('Status') is not None: self.status = m.get('Status') if m.get('SupportedDrivers') is not None: self.supported_drivers = m.get('SupportedDrivers') self.tags = [] if m.get('Tags') is not None: for k in m.get('Tags'): temp_model = GetResourceGroupMachineGroupResponseBodyTags() self.tags.append(temp_model.from_map(k)) return self class GetResourceGroupMachineGroupResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: GetResourceGroupMachineGroupResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(GetResourceGroupMachineGroupResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = GetResourceGroupMachineGroupResponseBody() self.body = temp_model.from_map(m['body']) return self class GetResourceGroupRequestRequest(TeaModel): def __init__(self, pod_status=None, resource_group_id=None): self.pod_status = pod_status # type: str self.resource_group_id = resource_group_id # type: str def validate(self): pass def to_map(self): _map = super(GetResourceGroupRequestRequest, self).to_map() if _map is not None: return _map result = dict() if self.pod_status is not None: result['PodStatus'] = self.pod_status if self.resource_group_id is not None: result['ResourceGroupID'] = self.resource_group_id return result def from_map(self, m=None): m = m or dict() if m.get('PodStatus') is not None: self.pod_status = m.get('PodStatus') if m.get('ResourceGroupID') is not None: self.resource_group_id = m.get('ResourceGroupID') return self class GetResourceGroupRequestResponseBody(TeaModel): def __init__(self, request_cpu=None, request_gpu=None, request_gpuinfos=None, request_memory=None): self.request_cpu = request_cpu # type: int self.request_gpu = request_gpu # type: int self.request_gpuinfos = request_gpuinfos # type: list[GPUInfo] self.request_memory = request_memory # type: int def validate(self): if self.request_gpuinfos: for k in self.request_gpuinfos: if k: k.validate() def to_map(self): _map = super(GetResourceGroupRequestResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.request_cpu is not None: result['requestCPU'] = self.request_cpu if self.request_gpu is not None: result['requestGPU'] = self.request_gpu result['requestGPUInfos'] = [] if self.request_gpuinfos is not None: for k in self.request_gpuinfos: result['requestGPUInfos'].append(k.to_map() if k else None) if self.request_memory is not None: result['requestMemory'] = self.request_memory return result def from_map(self, m=None): m = m or dict() if m.get('requestCPU') is not None: self.request_cpu = m.get('requestCPU') if m.get('requestGPU') is not None: self.request_gpu = m.get('requestGPU') self.request_gpuinfos = [] if m.get('requestGPUInfos') is not None: for k in m.get('requestGPUInfos'): temp_model = GPUInfo() self.request_gpuinfos.append(temp_model.from_map(k)) if m.get('requestMemory') is not None: self.request_memory = m.get('requestMemory') return self class GetResourceGroupRequestResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: GetResourceGroupRequestResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(GetResourceGroupRequestResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = GetResourceGroupRequestResponseBody() self.body = temp_model.from_map(m['body']) return self class GetResourceGroupTotalRequest(TeaModel): def __init__(self, resource_group_id=None): self.resource_group_id = resource_group_id # type: str def validate(self): pass def to_map(self): _map = super(GetResourceGroupTotalRequest, self).to_map() if _map is not None: return _map result = dict() if self.resource_group_id is not None: result['ResourceGroupID'] = self.resource_group_id return result def from_map(self, m=None): m = m or dict() if m.get('ResourceGroupID') is not None: self.resource_group_id = m.get('ResourceGroupID') return self class GetResourceGroupTotalResponseBody(TeaModel): def __init__(self, total_cpu=None, total_gpu=None, total_gpuinfos=None, total_memory=None): self.total_cpu = total_cpu # type: int self.total_gpu = total_gpu # type: int self.total_gpuinfos = total_gpuinfos # type: list[GPUInfo] self.total_memory = total_memory # type: int def validate(self): if self.total_gpuinfos: for k in self.total_gpuinfos: if k: k.validate() def to_map(self): _map = super(GetResourceGroupTotalResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.total_cpu is not None: result['totalCPU'] = self.total_cpu if self.total_gpu is not None: result['totalGPU'] = self.total_gpu result['totalGPUInfos'] = [] if self.total_gpuinfos is not None: for k in self.total_gpuinfos: result['totalGPUInfos'].append(k.to_map() if k else None) if self.total_memory is not None: result['totalMemory'] = self.total_memory return result def from_map(self, m=None): m = m or dict() if m.get('totalCPU') is not None: self.total_cpu = m.get('totalCPU') if m.get('totalGPU') is not None: self.total_gpu = m.get('totalGPU') self.total_gpuinfos = [] if m.get('totalGPUInfos') is not None: for k in m.get('totalGPUInfos'): temp_model = GPUInfo() self.total_gpuinfos.append(temp_model.from_map(k)) if m.get('totalMemory') is not None: self.total_memory = m.get('totalMemory') return self class GetResourceGroupTotalResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: GetResourceGroupTotalResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(GetResourceGroupTotalResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = GetResourceGroupTotalResponseBody() self.body = temp_model.from_map(m['body']) return self class GetTrainingJobResponseBodyComputeResourceInstanceSpec(TeaModel): def __init__(self, cpu=None, gpu=None, gputype=None, memory=None, shared_memory=None): self.cpu = cpu # type: str self.gpu = gpu # type: str self.gputype = gputype # type: str self.memory = memory # type: str self.shared_memory = shared_memory # type: str def validate(self): pass def to_map(self): _map = super(GetTrainingJobResponseBodyComputeResourceInstanceSpec, self).to_map() if _map is not None: return _map result = dict() if self.cpu is not None: result['CPU'] = self.cpu if self.gpu is not None: result['GPU'] = self.gpu if self.gputype is not None: result['GPUType'] = self.gputype if self.memory is not None: result['Memory'] = self.memory if self.shared_memory is not None: result['SharedMemory'] = self.shared_memory return result def from_map(self, m=None): m = m or dict() if m.get('CPU') is not None: self.cpu = m.get('CPU') if m.get('GPU') is not None: self.gpu = m.get('GPU') if m.get('GPUType') is not None: self.gputype = m.get('GPUType') if m.get('Memory') is not None: self.memory = m.get('Memory') if m.get('SharedMemory') is not None: self.shared_memory = m.get('SharedMemory') return self class GetTrainingJobResponseBodyComputeResource(TeaModel): def __init__(self, ecs_count=None, ecs_spec=None, instance_count=None, instance_spec=None, resource_id=None): self.ecs_count = ecs_count # type: long self.ecs_spec = ecs_spec # type: str self.instance_count = instance_count # type: long self.instance_spec = instance_spec # type: GetTrainingJobResponseBodyComputeResourceInstanceSpec self.resource_id = resource_id # type: str def validate(self): if self.instance_spec: self.instance_spec.validate() def to_map(self): _map = super(GetTrainingJobResponseBodyComputeResource, self).to_map() if _map is not None: return _map result = dict() if self.ecs_count is not None: result['EcsCount'] = self.ecs_count if self.ecs_spec is not None: result['EcsSpec'] = self.ecs_spec if self.instance_count is not None: result['InstanceCount'] = self.instance_count if self.instance_spec is not None: result['InstanceSpec'] = self.instance_spec.to_map() if self.resource_id is not None: result['ResourceId'] = self.resource_id return result def from_map(self, m=None): m = m or dict() if m.get('EcsCount') is not None: self.ecs_count = m.get('EcsCount') if m.get('EcsSpec') is not None: self.ecs_spec = m.get('EcsSpec') if m.get('InstanceCount') is not None: self.instance_count = m.get('InstanceCount') if m.get('InstanceSpec') is not None: temp_model = GetTrainingJobResponseBodyComputeResourceInstanceSpec() self.instance_spec = temp_model.from_map(m['InstanceSpec']) if m.get('ResourceId') is not None: self.resource_id = m.get('ResourceId') return self class GetTrainingJobResponseBodyExperimentConfig(TeaModel): def __init__(self, experiment_id=None, experiment_name=None): self.experiment_id = experiment_id # type: str self.experiment_name = experiment_name # type: str def validate(self): pass def to_map(self): _map = super(GetTrainingJobResponseBodyExperimentConfig, self).to_map() if _map is not None: return _map result = dict() if self.experiment_id is not None: result['ExperimentId'] = self.experiment_id if self.experiment_name is not None: result['ExperimentName'] = self.experiment_name return result def from_map(self, m=None): m = m or dict() if m.get('ExperimentId') is not None: self.experiment_id = m.get('ExperimentId') if m.get('ExperimentName') is not None: self.experiment_name = m.get('ExperimentName') return self class GetTrainingJobResponseBodyHyperParameters(TeaModel): def __init__(self, name=None, value=None): self.name = name # type: str self.value = value # type: str def validate(self): pass def to_map(self): _map = super(GetTrainingJobResponseBodyHyperParameters, self).to_map() if _map is not None: return _map result = dict() if self.name is not None: result['Name'] = self.name if self.value is not None: result['Value'] = self.value return result def from_map(self, m=None): m = m or dict() if m.get('Name') is not None: self.name = m.get('Name') if m.get('Value') is not None: self.value = m.get('Value') return self class GetTrainingJobResponseBodyInputChannels(TeaModel): def __init__(self, dataset_id=None, input_uri=None, name=None): self.dataset_id = dataset_id # type: str self.input_uri = input_uri # type: str self.name = name # type: str def validate(self): pass def to_map(self): _map = super(GetTrainingJobResponseBodyInputChannels, self).to_map() if _map is not None: return _map result = dict() if self.dataset_id is not None: result['DatasetId'] = self.dataset_id if self.input_uri is not None: result['InputUri'] = self.input_uri if self.name is not None: result['Name'] = self.name return result def from_map(self, m=None): m = m or dict() if m.get('DatasetId') is not None: self.dataset_id = m.get('DatasetId') if m.get('InputUri') is not None: self.input_uri = m.get('InputUri') if m.get('Name') is not None: self.name = m.get('Name') return self class GetTrainingJobResponseBodyInstances(TeaModel): def __init__(self, name=None, role=None, status=None): self.name = name # type: str self.role = role # type: str self.status = status # type: str def validate(self): pass def to_map(self): _map = super(GetTrainingJobResponseBodyInstances, self).to_map() if _map is not None: return _map result = dict() if self.name is not None: result['Name'] = self.name if self.role is not None: result['Role'] = self.role if self.status is not None: result['Status'] = self.status return result def from_map(self, m=None): m = m or dict() if m.get('Name') is not None: self.name = m.get('Name') if m.get('Role') is not None: self.role = m.get('Role') if m.get('Status') is not None: self.status = m.get('Status') return self class GetTrainingJobResponseBodyLabels(TeaModel): def __init__(self, key=None, value=None): self.key = key # type: str self.value = value # type: str def validate(self): pass def to_map(self): _map = super(GetTrainingJobResponseBodyLabels, self).to_map() if _map is not None: return _map result = dict() if self.key is not None: result['Key'] = self.key if self.value is not None: result['Value'] = self.value return result def from_map(self, m=None): m = m or dict() if m.get('Key') is not None: self.key = m.get('Key') if m.get('Value') is not None: self.value = m.get('Value') return self class GetTrainingJobResponseBodyLatestMetrics(TeaModel): def __init__(self, name=None, timestamp=None, value=None): self.name = name # type: str self.timestamp = timestamp # type: str self.value = value # type: float def validate(self): pass def to_map(self): _map = super(GetTrainingJobResponseBodyLatestMetrics, self).to_map() if _map is not None: return _map result = dict() if self.name is not None: result['Name'] = self.name if self.timestamp is not None: result['Timestamp'] = self.timestamp if self.value is not None: result['Value'] = self.value return result def from_map(self, m=None): m = m or dict() if m.get('Name') is not None: self.name = m.get('Name') if m.get('Timestamp') is not None: self.timestamp = m.get('Timestamp') if m.get('Value') is not None: self.value = m.get('Value') return self class GetTrainingJobResponseBodyLatestProgressOverallProgress(TeaModel): def __init__(self, timestamp=None, value=None): self.timestamp = timestamp # type: str self.value = value # type: float def validate(self): pass def to_map(self): _map = super(GetTrainingJobResponseBodyLatestProgressOverallProgress, self).to_map() if _map is not None: return _map result = dict() if self.timestamp is not None: result['Timestamp'] = self.timestamp if self.value is not None: result['Value'] = self.value return result def from_map(self, m=None): m = m or dict() if m.get('Timestamp') is not None: self.timestamp = m.get('Timestamp') if m.get('Value') is not None: self.value = m.get('Value') return self class GetTrainingJobResponseBodyLatestProgressRemainingTime(TeaModel): def __init__(self, timestamp=None, value=None): self.timestamp = timestamp # type: str self.value = value # type: long def validate(self): pass def to_map(self): _map = super(GetTrainingJobResponseBodyLatestProgressRemainingTime, self).to_map() if _map is not None: return _map result = dict() if self.timestamp is not None: result['Timestamp'] = self.timestamp if self.value is not None: result['Value'] = self.value return result def from_map(self, m=None): m = m or dict() if m.get('Timestamp') is not None: self.timestamp = m.get('Timestamp') if m.get('Value') is not None: self.value = m.get('Value') return self class GetTrainingJobResponseBodyLatestProgress(TeaModel): def __init__(self, overall_progress=None, remaining_time=None): self.overall_progress = overall_progress # type: GetTrainingJobResponseBodyLatestProgressOverallProgress self.remaining_time = remaining_time # type: GetTrainingJobResponseBodyLatestProgressRemainingTime def validate(self): if self.overall_progress: self.overall_progress.validate() if self.remaining_time: self.remaining_time.validate() def to_map(self): _map = super(GetTrainingJobResponseBodyLatestProgress, self).to_map() if _map is not None: return _map result = dict() if self.overall_progress is not None: result['OverallProgress'] = self.overall_progress.to_map() if self.remaining_time is not None: result['RemainingTime'] = self.remaining_time.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('OverallProgress') is not None: temp_model = GetTrainingJobResponseBodyLatestProgressOverallProgress() self.overall_progress = temp_model.from_map(m['OverallProgress']) if m.get('RemainingTime') is not None: temp_model = GetTrainingJobResponseBodyLatestProgressRemainingTime() self.remaining_time = temp_model.from_map(m['RemainingTime']) return self class GetTrainingJobResponseBodyOutputChannels(TeaModel): def __init__(self, dataset_id=None, name=None, output_uri=None): self.dataset_id = dataset_id # type: str self.name = name # type: str self.output_uri = output_uri # type: str def validate(self): pass def to_map(self): _map = super(GetTrainingJobResponseBodyOutputChannels, self).to_map() if _map is not None: return _map result = dict() if self.dataset_id is not None: result['DatasetId'] = self.dataset_id if self.name is not None: result['Name'] = self.name if self.output_uri is not None: result['OutputUri'] = self.output_uri return result def from_map(self, m=None): m = m or dict() if m.get('DatasetId') is not None: self.dataset_id = m.get('DatasetId') if m.get('Name') is not None: self.name = m.get('Name') if m.get('OutputUri') is not None: self.output_uri = m.get('OutputUri') return self class GetTrainingJobResponseBodyOutputModel(TeaModel): def __init__(self, output_channel_name=None, uri=None): self.output_channel_name = output_channel_name # type: str self.uri = uri # type: str def validate(self): pass def to_map(self): _map = super(GetTrainingJobResponseBodyOutputModel, self).to_map() if _map is not None: return _map result = dict() if self.output_channel_name is not None: result['OutputChannelName'] = self.output_channel_name if self.uri is not None: result['Uri'] = self.uri return result def from_map(self, m=None): m = m or dict() if m.get('OutputChannelName') is not None: self.output_channel_name = m.get('OutputChannelName') if m.get('Uri') is not None: self.uri = m.get('Uri') return self class GetTrainingJobResponseBodyScheduler(TeaModel): def __init__(self, max_running_time_in_seconds=None): self.max_running_time_in_seconds = max_running_time_in_seconds # type: long def validate(self): pass def to_map(self): _map = super(GetTrainingJobResponseBodyScheduler, self).to_map() if _map is not None: return _map result = dict() if self.max_running_time_in_seconds is not None: result['MaxRunningTimeInSeconds'] = self.max_running_time_in_seconds return result def from_map(self, m=None): m = m or dict() if m.get('MaxRunningTimeInSeconds') is not None: self.max_running_time_in_seconds = m.get('MaxRunningTimeInSeconds') return self class GetTrainingJobResponseBodySettings(TeaModel): def __init__(self, aimaster_type=None, enable_error_monitoring_in_aimaster=None, error_monitoring_args=None, priority=None): self.aimaster_type = aimaster_type # type: str self.enable_error_monitoring_in_aimaster = enable_error_monitoring_in_aimaster # type: bool self.error_monitoring_args = error_monitoring_args # type: str self.priority = priority # type: int def validate(self): pass def to_map(self): _map = super(GetTrainingJobResponseBodySettings, self).to_map() if _map is not None: return _map result = dict() if self.aimaster_type is not None: result['AIMasterType'] = self.aimaster_type if self.enable_error_monitoring_in_aimaster is not None: result['EnableErrorMonitoringInAIMaster'] = self.enable_error_monitoring_in_aimaster if self.error_monitoring_args is not None: result['ErrorMonitoringArgs'] = self.error_monitoring_args if self.priority is not None: result['Priority'] = self.priority return result def from_map(self, m=None): m = m or dict() if m.get('AIMasterType') is not None: self.aimaster_type = m.get('AIMasterType') if m.get('EnableErrorMonitoringInAIMaster') is not None: self.enable_error_monitoring_in_aimaster = m.get('EnableErrorMonitoringInAIMaster') if m.get('ErrorMonitoringArgs') is not None: self.error_monitoring_args = m.get('ErrorMonitoringArgs') if m.get('Priority') is not None: self.priority = m.get('Priority') return self class GetTrainingJobResponseBodyStatusTransitions(TeaModel): def __init__(self, end_time=None, reason_code=None, reason_message=None, start_time=None, status=None): self.end_time = end_time # type: str self.reason_code = reason_code # type: str self.reason_message = reason_message # type: str self.start_time = start_time # type: str self.status = status # type: str def validate(self): pass def to_map(self): _map = super(GetTrainingJobResponseBodyStatusTransitions, self).to_map() if _map is not None: return _map result = dict() if self.end_time is not None: result['EndTime'] = self.end_time if self.reason_code is not None: result['ReasonCode'] = self.reason_code if self.reason_message is not None: result['ReasonMessage'] = self.reason_message if self.start_time is not None: result['StartTime'] = self.start_time if self.status is not None: result['Status'] = self.status return result def from_map(self, m=None): m = m or dict() if m.get('EndTime') is not None: self.end_time = m.get('EndTime') if m.get('ReasonCode') is not None: self.reason_code = m.get('ReasonCode') if m.get('ReasonMessage') is not None: self.reason_message = m.get('ReasonMessage') if m.get('StartTime') is not None: self.start_time = m.get('StartTime') if m.get('Status') is not None: self.status = m.get('Status') return self class GetTrainingJobResponseBodyUserVpc(TeaModel): def __init__(self, extended_cidrs=None, security_group_id=None, switch_id=None, vpc_id=None): self.extended_cidrs = extended_cidrs # type: list[str] self.security_group_id = security_group_id # type: str self.switch_id = switch_id # type: str self.vpc_id = vpc_id # type: str def validate(self): pass def to_map(self): _map = super(GetTrainingJobResponseBodyUserVpc, self).to_map() if _map is not None: return _map result = dict() if self.extended_cidrs is not None: result['ExtendedCIDRs'] = self.extended_cidrs if self.security_group_id is not None: result['SecurityGroupId'] = self.security_group_id if self.switch_id is not None: result['SwitchId'] = self.switch_id if self.vpc_id is not None: result['VpcId'] = self.vpc_id return result def from_map(self, m=None): m = m or dict() if m.get('ExtendedCIDRs') is not None: self.extended_cidrs = m.get('ExtendedCIDRs') if m.get('SecurityGroupId') is not None: self.security_group_id = m.get('SecurityGroupId') if m.get('SwitchId') is not None: self.switch_id = m.get('SwitchId') if m.get('VpcId') is not None: self.vpc_id = m.get('VpcId') return self class GetTrainingJobResponseBody(TeaModel): def __init__(self, algorithm_id=None, algorithm_name=None, algorithm_provider=None, algorithm_spec=None, algorithm_version=None, compute_resource=None, duration=None, experiment_config=None, gmt_create_time=None, gmt_modified_time=None, hyper_parameters=None, input_channels=None, instances=None, is_temp_algo=None, labels=None, latest_metrics=None, latest_progress=None, output_channels=None, output_model=None, reason_code=None, reason_message=None, request_id=None, role_arn=None, scheduler=None, settings=None, status=None, status_transitions=None, training_job_description=None, training_job_id=None, training_job_name=None, training_job_url=None, user_id=None, user_vpc=None, workspace_id=None): self.algorithm_id = algorithm_id # type: str self.algorithm_name = algorithm_name # type: str self.algorithm_provider = algorithm_provider # type: str self.algorithm_spec = algorithm_spec # type: AlgorithmSpec self.algorithm_version = algorithm_version # type: str self.compute_resource = compute_resource # type: GetTrainingJobResponseBodyComputeResource self.duration = duration # type: long self.experiment_config = experiment_config # type: GetTrainingJobResponseBodyExperimentConfig self.gmt_create_time = gmt_create_time # type: str self.gmt_modified_time = gmt_modified_time # type: str self.hyper_parameters = hyper_parameters # type: list[GetTrainingJobResponseBodyHyperParameters] self.input_channels = input_channels # type: list[GetTrainingJobResponseBodyInputChannels] self.instances = instances # type: list[GetTrainingJobResponseBodyInstances] self.is_temp_algo = is_temp_algo # type: bool self.labels = labels # type: list[GetTrainingJobResponseBodyLabels] self.latest_metrics = latest_metrics # type: list[GetTrainingJobResponseBodyLatestMetrics] self.latest_progress = latest_progress # type: GetTrainingJobResponseBodyLatestProgress self.output_channels = output_channels # type: list[GetTrainingJobResponseBodyOutputChannels] self.output_model = output_model # type: GetTrainingJobResponseBodyOutputModel self.reason_code = reason_code # type: str self.reason_message = reason_message # type: str self.request_id = request_id # type: str self.role_arn = role_arn # type: str self.scheduler = scheduler # type: GetTrainingJobResponseBodyScheduler self.settings = settings # type: GetTrainingJobResponseBodySettings self.status = status # type: str self.status_transitions = status_transitions # type: list[GetTrainingJobResponseBodyStatusTransitions] self.training_job_description = training_job_description # type: str self.training_job_id = training_job_id # type: str self.training_job_name = training_job_name # type: str self.training_job_url = training_job_url # type: str self.user_id = user_id # type: str self.user_vpc = user_vpc # type: GetTrainingJobResponseBodyUserVpc self.workspace_id = workspace_id # type: str def validate(self): if self.algorithm_spec: self.algorithm_spec.validate() if self.compute_resource: self.compute_resource.validate() if self.experiment_config: self.experiment_config.validate() if self.hyper_parameters: for k in self.hyper_parameters: if k: k.validate() if self.input_channels: for k in self.input_channels: if k: k.validate() if self.instances: for k in self.instances: if k: k.validate() if self.labels: for k in self.labels: if k: k.validate() if self.latest_metrics: for k in self.latest_metrics: if k: k.validate() if self.latest_progress: self.latest_progress.validate() if self.output_channels: for k in self.output_channels: if k: k.validate() if self.output_model: self.output_model.validate() if self.scheduler: self.scheduler.validate() if self.settings: self.settings.validate() if self.status_transitions: for k in self.status_transitions: if k: k.validate() if self.user_vpc: self.user_vpc.validate() def to_map(self): _map = super(GetTrainingJobResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.algorithm_id is not None: result['AlgorithmId'] = self.algorithm_id if self.algorithm_name is not None: result['AlgorithmName'] = self.algorithm_name if self.algorithm_provider is not None: result['AlgorithmProvider'] = self.algorithm_provider if self.algorithm_spec is not None: result['AlgorithmSpec'] = self.algorithm_spec.to_map() if self.algorithm_version is not None: result['AlgorithmVersion'] = self.algorithm_version if self.compute_resource is not None: result['ComputeResource'] = self.compute_resource.to_map() if self.duration is not None: result['Duration'] = self.duration if self.experiment_config is not None: result['ExperimentConfig'] = self.experiment_config.to_map() if self.gmt_create_time is not None: result['GmtCreateTime'] = self.gmt_create_time if self.gmt_modified_time is not None: result['GmtModifiedTime'] = self.gmt_modified_time result['HyperParameters'] = [] if self.hyper_parameters is not None: for k in self.hyper_parameters: result['HyperParameters'].append(k.to_map() if k else None) result['InputChannels'] = [] if self.input_channels is not None: for k in self.input_channels: result['InputChannels'].append(k.to_map() if k else None) result['Instances'] = [] if self.instances is not None: for k in self.instances: result['Instances'].append(k.to_map() if k else None) if self.is_temp_algo is not None: result['IsTempAlgo'] = self.is_temp_algo result['Labels'] = [] if self.labels is not None: for k in self.labels: result['Labels'].append(k.to_map() if k else None) result['LatestMetrics'] = [] if self.latest_metrics is not None: for k in self.latest_metrics: result['LatestMetrics'].append(k.to_map() if k else None) if self.latest_progress is not None: result['LatestProgress'] = self.latest_progress.to_map() result['OutputChannels'] = [] if self.output_channels is not None: for k in self.output_channels: result['OutputChannels'].append(k.to_map() if k else None) if self.output_model is not None: result['OutputModel'] = self.output_model.to_map() if self.reason_code is not None: result['ReasonCode'] = self.reason_code if self.reason_message is not None: result['ReasonMessage'] = self.reason_message if self.request_id is not None: result['RequestId'] = self.request_id if self.role_arn is not None: result['RoleArn'] = self.role_arn if self.scheduler is not None: result['Scheduler'] = self.scheduler.to_map() if self.settings is not None: result['Settings'] = self.settings.to_map() if self.status is not None: result['Status'] = self.status result['StatusTransitions'] = [] if self.status_transitions is not None: for k in self.status_transitions: result['StatusTransitions'].append(k.to_map() if k else None) if self.training_job_description is not None: result['TrainingJobDescription'] = self.training_job_description if self.training_job_id is not None: result['TrainingJobId'] = self.training_job_id if self.training_job_name is not None: result['TrainingJobName'] = self.training_job_name if self.training_job_url is not None: result['TrainingJobUrl'] = self.training_job_url if self.user_id is not None: result['UserId'] = self.user_id if self.user_vpc is not None: result['UserVpc'] = self.user_vpc.to_map() if self.workspace_id is not None: result['WorkspaceId'] = self.workspace_id return result def from_map(self, m=None): m = m or dict() if m.get('AlgorithmId') is not None: self.algorithm_id = m.get('AlgorithmId') if m.get('AlgorithmName') is not None: self.algorithm_name = m.get('AlgorithmName') if m.get('AlgorithmProvider') is not None: self.algorithm_provider = m.get('AlgorithmProvider') if m.get('AlgorithmSpec') is not None: temp_model = AlgorithmSpec() self.algorithm_spec = temp_model.from_map(m['AlgorithmSpec']) if m.get('AlgorithmVersion') is not None: self.algorithm_version = m.get('AlgorithmVersion') if m.get('ComputeResource') is not None: temp_model = GetTrainingJobResponseBodyComputeResource() self.compute_resource = temp_model.from_map(m['ComputeResource']) if m.get('Duration') is not None: self.duration = m.get('Duration') if m.get('ExperimentConfig') is not None: temp_model = GetTrainingJobResponseBodyExperimentConfig() self.experiment_config = temp_model.from_map(m['ExperimentConfig']) if m.get('GmtCreateTime') is not None: self.gmt_create_time = m.get('GmtCreateTime') if m.get('GmtModifiedTime') is not None: self.gmt_modified_time = m.get('GmtModifiedTime') self.hyper_parameters = [] if m.get('HyperParameters') is not None: for k in m.get('HyperParameters'): temp_model = GetTrainingJobResponseBodyHyperParameters() self.hyper_parameters.append(temp_model.from_map(k)) self.input_channels = [] if m.get('InputChannels') is not None: for k in m.get('InputChannels'): temp_model = GetTrainingJobResponseBodyInputChannels() self.input_channels.append(temp_model.from_map(k)) self.instances = [] if m.get('Instances') is not None: for k in m.get('Instances'): temp_model = GetTrainingJobResponseBodyInstances() self.instances.append(temp_model.from_map(k)) if m.get('IsTempAlgo') is not None: self.is_temp_algo = m.get('IsTempAlgo') self.labels = [] if m.get('Labels') is not None: for k in m.get('Labels'): temp_model = GetTrainingJobResponseBodyLabels() self.labels.append(temp_model.from_map(k)) self.latest_metrics = [] if m.get('LatestMetrics') is not None: for k in m.get('LatestMetrics'): temp_model = GetTrainingJobResponseBodyLatestMetrics() self.latest_metrics.append(temp_model.from_map(k)) if m.get('LatestProgress') is not None: temp_model = GetTrainingJobResponseBodyLatestProgress() self.latest_progress = temp_model.from_map(m['LatestProgress']) self.output_channels = [] if m.get('OutputChannels') is not None: for k in m.get('OutputChannels'): temp_model = GetTrainingJobResponseBodyOutputChannels() self.output_channels.append(temp_model.from_map(k)) if m.get('OutputModel') is not None: temp_model = GetTrainingJobResponseBodyOutputModel() self.output_model = temp_model.from_map(m['OutputModel']) if m.get('ReasonCode') is not None: self.reason_code = m.get('ReasonCode') if m.get('ReasonMessage') is not None: self.reason_message = m.get('ReasonMessage') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('RoleArn') is not None: self.role_arn = m.get('RoleArn') if m.get('Scheduler') is not None: temp_model = GetTrainingJobResponseBodyScheduler() self.scheduler = temp_model.from_map(m['Scheduler']) if m.get('Settings') is not None: temp_model = GetTrainingJobResponseBodySettings() self.settings = temp_model.from_map(m['Settings']) if m.get('Status') is not None: self.status = m.get('Status') self.status_transitions = [] if m.get('StatusTransitions') is not None: for k in m.get('StatusTransitions'): temp_model = GetTrainingJobResponseBodyStatusTransitions() self.status_transitions.append(temp_model.from_map(k)) if m.get('TrainingJobDescription') is not None: self.training_job_description = m.get('TrainingJobDescription') if m.get('TrainingJobId') is not None: self.training_job_id = m.get('TrainingJobId') if m.get('TrainingJobName') is not None: self.training_job_name = m.get('TrainingJobName') if m.get('TrainingJobUrl') is not None: self.training_job_url = m.get('TrainingJobUrl') if m.get('UserId') is not None: self.user_id = m.get('UserId') if m.get('UserVpc') is not None: temp_model = GetTrainingJobResponseBodyUserVpc() self.user_vpc = temp_model.from_map(m['UserVpc']) if m.get('WorkspaceId') is not None: self.workspace_id = m.get('WorkspaceId') return self class GetTrainingJobResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: GetTrainingJobResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(GetTrainingJobResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = GetTrainingJobResponseBody() self.body = temp_model.from_map(m['body']) return self class GetUserViewMetricsRequest(TeaModel): def __init__(self, order=None, page_number=None, page_size=None, sort_by=None, time_step=None, user_id=None, workspace_id=None): self.order = order # type: str self.page_number = page_number # type: str self.page_size = page_size # type: str self.sort_by = sort_by # type: str self.time_step = time_step # type: str self.user_id = user_id # type: str self.workspace_id = workspace_id # type: str def validate(self): pass def to_map(self): _map = super(GetUserViewMetricsRequest, self).to_map() if _map is not None: return _map result = dict() if self.order is not None: result['Order'] = self.order if self.page_number is not None: result['PageNumber'] = self.page_number if self.page_size is not None: result['PageSize'] = self.page_size if self.sort_by is not None: result['SortBy'] = self.sort_by if self.time_step is not None: result['TimeStep'] = self.time_step if self.user_id is not None: result['UserId'] = self.user_id if self.workspace_id is not None: result['WorkspaceId'] = self.workspace_id return result def from_map(self, m=None): m = m or dict() if m.get('Order') is not None: self.order = m.get('Order') if m.get('PageNumber') is not None: self.page_number = m.get('PageNumber') if m.get('PageSize') is not None: self.page_size = m.get('PageSize') if m.get('SortBy') is not None: self.sort_by = m.get('SortBy') if m.get('TimeStep') is not None: self.time_step = m.get('TimeStep') if m.get('UserId') is not None: self.user_id = m.get('UserId') if m.get('WorkspaceId') is not None: self.workspace_id = m.get('WorkspaceId') return self class GetUserViewMetricsResponseBody(TeaModel): def __init__(self, resource_group_id=None, summary=None, total=None, user_metrics=None): self.resource_group_id = resource_group_id # type: str self.summary = summary # type: UserViewMetric self.total = total # type: int self.user_metrics = user_metrics # type: list[UserViewMetric] def validate(self): if self.summary: self.summary.validate() if self.user_metrics: for k in self.user_metrics: if k: k.validate() def to_map(self): _map = super(GetUserViewMetricsResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.resource_group_id is not None: result['ResourceGroupId'] = self.resource_group_id if self.summary is not None: result['Summary'] = self.summary.to_map() if self.total is not None: result['Total'] = self.total result['UserMetrics'] = [] if self.user_metrics is not None: for k in self.user_metrics: result['UserMetrics'].append(k.to_map() if k else None) return result def from_map(self, m=None): m = m or dict() if m.get('ResourceGroupId') is not None: self.resource_group_id = m.get('ResourceGroupId') if m.get('Summary') is not None: temp_model = UserViewMetric() self.summary = temp_model.from_map(m['Summary']) if m.get('Total') is not None: self.total = m.get('Total') self.user_metrics = [] if m.get('UserMetrics') is not None: for k in m.get('UserMetrics'): temp_model = UserViewMetric() self.user_metrics.append(temp_model.from_map(k)) return self class GetUserViewMetricsResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: GetUserViewMetricsResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(GetUserViewMetricsResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = GetUserViewMetricsResponseBody() self.body = temp_model.from_map(m['body']) return self class ListAlgorithmVersionsRequest(TeaModel): def __init__(self, page_number=None, page_size=None): self.page_number = page_number # type: long self.page_size = page_size # type: long def validate(self): pass def to_map(self): _map = super(ListAlgorithmVersionsRequest, self).to_map() if _map is not None: return _map result = dict() if self.page_number is not None: result['PageNumber'] = self.page_number if self.page_size is not None: result['PageSize'] = self.page_size return result def from_map(self, m=None): m = m or dict() if m.get('PageNumber') is not None: self.page_number = m.get('PageNumber') if m.get('PageSize') is not None: self.page_size = m.get('PageSize') return self class ListAlgorithmVersionsResponseBodyAlgorithmVersions(TeaModel): def __init__(self, algorithm_id=None, algorithm_name=None, algorithm_provider=None, algorithm_version=None, gmt_create_time=None, gmt_modified_time=None, tenant_id=None, user_id=None): self.algorithm_id = algorithm_id # type: str self.algorithm_name = algorithm_name # type: str self.algorithm_provider = algorithm_provider # type: str self.algorithm_version = algorithm_version # type: str self.gmt_create_time = gmt_create_time # type: str self.gmt_modified_time = gmt_modified_time # type: str self.tenant_id = tenant_id # type: str self.user_id = user_id # type: str def validate(self): pass def to_map(self): _map = super(ListAlgorithmVersionsResponseBodyAlgorithmVersions, self).to_map() if _map is not None: return _map result = dict() if self.algorithm_id is not None: result['AlgorithmId'] = self.algorithm_id if self.algorithm_name is not None: result['AlgorithmName'] = self.algorithm_name if self.algorithm_provider is not None: result['AlgorithmProvider'] = self.algorithm_provider if self.algorithm_version is not None: result['AlgorithmVersion'] = self.algorithm_version if self.gmt_create_time is not None: result['GmtCreateTime'] = self.gmt_create_time if self.gmt_modified_time is not None: result['GmtModifiedTime'] = self.gmt_modified_time if self.tenant_id is not None: result['TenantId'] = self.tenant_id if self.user_id is not None: result['UserId'] = self.user_id return result def from_map(self, m=None): m = m or dict() if m.get('AlgorithmId') is not None: self.algorithm_id = m.get('AlgorithmId') if m.get('AlgorithmName') is not None: self.algorithm_name = m.get('AlgorithmName') if m.get('AlgorithmProvider') is not None: self.algorithm_provider = m.get('AlgorithmProvider') if m.get('AlgorithmVersion') is not None: self.algorithm_version = m.get('AlgorithmVersion') if m.get('GmtCreateTime') is not None: self.gmt_create_time = m.get('GmtCreateTime') if m.get('GmtModifiedTime') is not None: self.gmt_modified_time = m.get('GmtModifiedTime') if m.get('TenantId') is not None: self.tenant_id = m.get('TenantId') if m.get('UserId') is not None: self.user_id = m.get('UserId') return self class ListAlgorithmVersionsResponseBody(TeaModel): def __init__(self, algorithm_versions=None, request_id=None, total_count=None): self.algorithm_versions = algorithm_versions # type: list[ListAlgorithmVersionsResponseBodyAlgorithmVersions] self.request_id = request_id # type: str self.total_count = total_count # type: long def validate(self): if self.algorithm_versions: for k in self.algorithm_versions: if k: k.validate() def to_map(self): _map = super(ListAlgorithmVersionsResponseBody, self).to_map() if _map is not None: return _map result = dict() result['AlgorithmVersions'] = [] if self.algorithm_versions is not None: for k in self.algorithm_versions: result['AlgorithmVersions'].append(k.to_map() if k else None) if self.request_id is not None: result['RequestId'] = self.request_id if self.total_count is not None: result['TotalCount'] = self.total_count return result def from_map(self, m=None): m = m or dict() self.algorithm_versions = [] if m.get('AlgorithmVersions') is not None: for k in m.get('AlgorithmVersions'): temp_model = ListAlgorithmVersionsResponseBodyAlgorithmVersions() self.algorithm_versions.append(temp_model.from_map(k)) if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('TotalCount') is not None: self.total_count = m.get('TotalCount') return self class ListAlgorithmVersionsResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: ListAlgorithmVersionsResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(ListAlgorithmVersionsResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = ListAlgorithmVersionsResponseBody() self.body = temp_model.from_map(m['body']) return self class ListAlgorithmsRequest(TeaModel): def __init__(self, algorithm_id=None, algorithm_name=None, algorithm_provider=None, page_number=None, page_size=None, workspace_id=None): self.algorithm_id = algorithm_id # type: str self.algorithm_name = algorithm_name # type: str self.algorithm_provider = algorithm_provider # type: str self.page_number = page_number # type: long self.page_size = page_size # type: long self.workspace_id = workspace_id # type: str def validate(self): pass def to_map(self): _map = super(ListAlgorithmsRequest, self).to_map() if _map is not None: return _map result = dict() if self.algorithm_id is not None: result['AlgorithmId'] = self.algorithm_id if self.algorithm_name is not None: result['AlgorithmName'] = self.algorithm_name if self.algorithm_provider is not None: result['AlgorithmProvider'] = self.algorithm_provider if self.page_number is not None: result['PageNumber'] = self.page_number if self.page_size is not None: result['PageSize'] = self.page_size if self.workspace_id is not None: result['WorkspaceId'] = self.workspace_id return result def from_map(self, m=None): m = m or dict() if m.get('AlgorithmId') is not None: self.algorithm_id = m.get('AlgorithmId') if m.get('AlgorithmName') is not None: self.algorithm_name = m.get('AlgorithmName') if m.get('AlgorithmProvider') is not None: self.algorithm_provider = m.get('AlgorithmProvider') if m.get('PageNumber') is not None: self.page_number = m.get('PageNumber') if m.get('PageSize') is not None: self.page_size = m.get('PageSize') if m.get('WorkspaceId') is not None: self.workspace_id = m.get('WorkspaceId') return self class ListAlgorithmsResponseBodyAlgorithms(TeaModel): def __init__(self, algorithm_description=None, algorithm_id=None, algorithm_name=None, algorithm_provider=None, display_name=None, gmt_create_time=None, gmt_modified_time=None, user_id=None, workspace_id=None): self.algorithm_description = algorithm_description # type: str self.algorithm_id = algorithm_id # type: str self.algorithm_name = algorithm_name # type: str self.algorithm_provider = algorithm_provider # type: str self.display_name = display_name # type: str self.gmt_create_time = gmt_create_time # type: str self.gmt_modified_time = gmt_modified_time # type: str self.user_id = user_id # type: str self.workspace_id = workspace_id # type: str def validate(self): pass def to_map(self): _map = super(ListAlgorithmsResponseBodyAlgorithms, self).to_map() if _map is not None: return _map result = dict() if self.algorithm_description is not None: result['AlgorithmDescription'] = self.algorithm_description if self.algorithm_id is not None: result['AlgorithmId'] = self.algorithm_id if self.algorithm_name is not None: result['AlgorithmName'] = self.algorithm_name if self.algorithm_provider is not None: result['AlgorithmProvider'] = self.algorithm_provider if self.display_name is not None: result['DisplayName'] = self.display_name if self.gmt_create_time is not None: result['GmtCreateTime'] = self.gmt_create_time if self.gmt_modified_time is not None: result['GmtModifiedTime'] = self.gmt_modified_time if self.user_id is not None: result['UserId'] = self.user_id if self.workspace_id is not None: result['WorkspaceId'] = self.workspace_id return result def from_map(self, m=None): m = m or dict() if m.get('AlgorithmDescription') is not None: self.algorithm_description = m.get('AlgorithmDescription') if m.get('AlgorithmId') is not None: self.algorithm_id = m.get('AlgorithmId') if m.get('AlgorithmName') is not None: self.algorithm_name = m.get('AlgorithmName') if m.get('AlgorithmProvider') is not None: self.algorithm_provider = m.get('AlgorithmProvider') if m.get('DisplayName') is not None: self.display_name = m.get('DisplayName') if m.get('GmtCreateTime') is not None: self.gmt_create_time = m.get('GmtCreateTime') if m.get('GmtModifiedTime') is not None: self.gmt_modified_time = m.get('GmtModifiedTime') if m.get('UserId') is not None: self.user_id = m.get('UserId') if m.get('WorkspaceId') is not None: self.workspace_id = m.get('WorkspaceId') return self class ListAlgorithmsResponseBody(TeaModel): def __init__(self, algorithms=None, request_id=None, total_count=None): self.algorithms = algorithms # type: list[ListAlgorithmsResponseBodyAlgorithms] self.request_id = request_id # type: str self.total_count = total_count # type: long def validate(self): if self.algorithms: for k in self.algorithms: if k: k.validate() def to_map(self): _map = super(ListAlgorithmsResponseBody, self).to_map() if _map is not None: return _map result = dict() result['Algorithms'] = [] if self.algorithms is not None: for k in self.algorithms: result['Algorithms'].append(k.to_map() if k else None) if self.request_id is not None: result['RequestId'] = self.request_id if self.total_count is not None: result['TotalCount'] = self.total_count return result def from_map(self, m=None): m = m or dict() self.algorithms = [] if m.get('Algorithms') is not None: for k in m.get('Algorithms'): temp_model = ListAlgorithmsResponseBodyAlgorithms() self.algorithms.append(temp_model.from_map(k)) if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('TotalCount') is not None: self.total_count = m.get('TotalCount') return self class ListAlgorithmsResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: ListAlgorithmsResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(ListAlgorithmsResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = ListAlgorithmsResponseBody() self.body = temp_model.from_map(m['body']) return self class ListQuotasRequest(TeaModel): def __init__(self, labels=None, layout_mode=None, order=None, page_number=None, page_size=None, parent_quota_id=None, quota_ids=None, quota_name=None, resource_type=None, sort_by=None, statuses=None, workspace_ids=None): self.labels = labels # type: str self.layout_mode = layout_mode # type: str self.order = order # type: str self.page_number = page_number # type: int self.page_size = page_size # type: int self.parent_quota_id = parent_quota_id # type: str self.quota_ids = quota_ids # type: str self.quota_name = quota_name # type: str self.resource_type = resource_type # type: str self.sort_by = sort_by # type: str self.statuses = statuses # type: str self.workspace_ids = workspace_ids # type: str def validate(self): pass def to_map(self): _map = super(ListQuotasRequest, self).to_map() if _map is not None: return _map result = dict() if self.labels is not None: result['Labels'] = self.labels if self.layout_mode is not None: result['LayoutMode'] = self.layout_mode if self.order is not None: result['Order'] = self.order if self.page_number is not None: result['PageNumber'] = self.page_number if self.page_size is not None: result['PageSize'] = self.page_size if self.parent_quota_id is not None: result['ParentQuotaId'] = self.parent_quota_id if self.quota_ids is not None: result['QuotaIds'] = self.quota_ids if self.quota_name is not None: result['QuotaName'] = self.quota_name if self.resource_type is not None: result['ResourceType'] = self.resource_type if self.sort_by is not None: result['SortBy'] = self.sort_by if self.statuses is not None: result['Statuses'] = self.statuses if self.workspace_ids is not None: result['WorkspaceIds'] = self.workspace_ids return result def from_map(self, m=None): m = m or dict() if m.get('Labels') is not None: self.labels = m.get('Labels') if m.get('LayoutMode') is not None: self.layout_mode = m.get('LayoutMode') if m.get('Order') is not None: self.order = m.get('Order') if m.get('PageNumber') is not None: self.page_number = m.get('PageNumber') if m.get('PageSize') is not None: self.page_size = m.get('PageSize') if m.get('ParentQuotaId') is not None: self.parent_quota_id = m.get('ParentQuotaId') if m.get('QuotaIds') is not None: self.quota_ids = m.get('QuotaIds') if m.get('QuotaName') is not None: self.quota_name = m.get('QuotaName') if m.get('ResourceType') is not None: self.resource_type = m.get('ResourceType') if m.get('SortBy') is not None: self.sort_by = m.get('SortBy') if m.get('Statuses') is not None: self.statuses = m.get('Statuses') if m.get('WorkspaceIds') is not None: self.workspace_ids = m.get('WorkspaceIds') return self class ListQuotasResponseBody(TeaModel): def __init__(self, quotas=None, request_id=None, total_count=None): self.quotas = quotas # type: list[Quota] self.request_id = request_id # type: str self.total_count = total_count # type: int def validate(self): if self.quotas: for k in self.quotas: if k: k.validate() def to_map(self): _map = super(ListQuotasResponseBody, self).to_map() if _map is not None: return _map result = dict() result['Quotas'] = [] if self.quotas is not None: for k in self.quotas: result['Quotas'].append(k.to_map() if k else None) if self.request_id is not None: result['RequestId'] = self.request_id if self.total_count is not None: result['TotalCount'] = self.total_count return result def from_map(self, m=None): m = m or dict() self.quotas = [] if m.get('Quotas') is not None: for k in m.get('Quotas'): temp_model = Quota() self.quotas.append(temp_model.from_map(k)) if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('TotalCount') is not None: self.total_count = m.get('TotalCount') return self class ListQuotasResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: ListQuotasResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(ListQuotasResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = ListQuotasResponseBody() self.body = temp_model.from_map(m['body']) return self class ListResourceGroupMachineGroupsRequest(TeaModel): def __init__(self, creator_id=None, ecs_spec=None, name=None, order=None, page_number=None, page_size=None, payment_duration=None, payment_duration_unit=None, payment_type=None, sort_by=None, status=None): self.creator_id = creator_id # type: str self.ecs_spec = ecs_spec # type: str self.name = name # type: str self.order = order # type: str self.page_number = page_number # type: int self.page_size = page_size # type: int self.payment_duration = payment_duration # type: str self.payment_duration_unit = payment_duration_unit # type: str self.payment_type = payment_type # type: str self.sort_by = sort_by # type: str self.status = status # type: str def validate(self): pass def to_map(self): _map = super(ListResourceGroupMachineGroupsRequest, self).to_map() if _map is not None: return _map result = dict() if self.creator_id is not None: result['CreatorID'] = self.creator_id if self.ecs_spec is not None: result['EcsSpec'] = self.ecs_spec if self.name is not None: result['Name'] = self.name if self.order is not None: result['Order'] = self.order if self.page_number is not None: result['PageNumber'] = self.page_number if self.page_size is not None: result['PageSize'] = self.page_size if self.payment_duration is not None: result['PaymentDuration'] = self.payment_duration if self.payment_duration_unit is not None: result['PaymentDurationUnit'] = self.payment_duration_unit if self.payment_type is not None: result['PaymentType'] = self.payment_type if self.sort_by is not None: result['SortBy'] = self.sort_by if self.status is not None: result['Status'] = self.status return result def from_map(self, m=None): m = m or dict() if m.get('CreatorID') is not None: self.creator_id = m.get('CreatorID') if m.get('EcsSpec') is not None: self.ecs_spec = m.get('EcsSpec') if m.get('Name') is not None: self.name = m.get('Name') if m.get('Order') is not None: self.order = m.get('Order') if m.get('PageNumber') is not None: self.page_number = m.get('PageNumber') if m.get('PageSize') is not None: self.page_size = m.get('PageSize') if m.get('PaymentDuration') is not None: self.payment_duration = m.get('PaymentDuration') if m.get('PaymentDurationUnit') is not None: self.payment_duration_unit = m.get('PaymentDurationUnit') if m.get('PaymentType') is not None: self.payment_type = m.get('PaymentType') if m.get('SortBy') is not None: self.sort_by = m.get('SortBy') if m.get('Status') is not None: self.status = m.get('Status') return self class ListResourceGroupMachineGroupsResponseBody(TeaModel): def __init__(self, machine_groups=None, request_id=None, total_count=None): self.machine_groups = machine_groups # type: list[MachineGroup] self.request_id = request_id # type: str self.total_count = total_count # type: str def validate(self): if self.machine_groups: for k in self.machine_groups: if k: k.validate() def to_map(self): _map = super(ListResourceGroupMachineGroupsResponseBody, self).to_map() if _map is not None: return _map result = dict() result['MachineGroups'] = [] if self.machine_groups is not None: for k in self.machine_groups: result['MachineGroups'].append(k.to_map() if k else None) if self.request_id is not None: result['RequestId'] = self.request_id if self.total_count is not None: result['TotalCount'] = self.total_count return result def from_map(self, m=None): m = m or dict() self.machine_groups = [] if m.get('MachineGroups') is not None: for k in m.get('MachineGroups'): temp_model = MachineGroup() self.machine_groups.append(temp_model.from_map(k)) if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('TotalCount') is not None: self.total_count = m.get('TotalCount') return self class ListResourceGroupMachineGroupsResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: ListResourceGroupMachineGroupsResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(ListResourceGroupMachineGroupsResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = ListResourceGroupMachineGroupsResponseBody() self.body = temp_model.from_map(m['body']) return self class ListResourceGroupsRequest(TeaModel): def __init__(self, computing_resource_provider=None, name=None, order=None, page_number=None, page_size=None, resource_type=None, show_all=None, sort_by=None, status=None): self.computing_resource_provider = computing_resource_provider # type: str self.name = name # type: str self.order = order # type: str self.page_number = page_number # type: long self.page_size = page_size # type: long self.resource_type = resource_type # type: str self.show_all = show_all # type: bool self.sort_by = sort_by # type: str self.status = status # type: str def validate(self): pass def to_map(self): _map = super(ListResourceGroupsRequest, self).to_map() if _map is not None: return _map result = dict() if self.computing_resource_provider is not None: result['ComputingResourceProvider'] = self.computing_resource_provider if self.name is not None: result['Name'] = self.name if self.order is not None: result['Order'] = self.order if self.page_number is not None: result['PageNumber'] = self.page_number if self.page_size is not None: result['PageSize'] = self.page_size if self.resource_type is not None: result['ResourceType'] = self.resource_type if self.show_all is not None: result['ShowAll'] = self.show_all if self.sort_by is not None: result['SortBy'] = self.sort_by if self.status is not None: result['Status'] = self.status return result def from_map(self, m=None): m = m or dict() if m.get('ComputingResourceProvider') is not None: self.computing_resource_provider = m.get('ComputingResourceProvider') if m.get('Name') is not None: self.name = m.get('Name') if m.get('Order') is not None: self.order = m.get('Order') if m.get('PageNumber') is not None: self.page_number = m.get('PageNumber') if m.get('PageSize') is not None: self.page_size = m.get('PageSize') if m.get('ResourceType') is not None: self.resource_type = m.get('ResourceType') if m.get('ShowAll') is not None: self.show_all = m.get('ShowAll') if m.get('SortBy') is not None: self.sort_by = m.get('SortBy') if m.get('Status') is not None: self.status = m.get('Status') return self class ListResourceGroupsResponseBody(TeaModel): def __init__(self, request_id=None, resource_groups=None, total_count=None): self.request_id = request_id # type: str self.resource_groups = resource_groups # type: list[ResourceGroup] self.total_count = total_count # type: long def validate(self): if self.resource_groups: for k in self.resource_groups: if k: k.validate() def to_map(self): _map = super(ListResourceGroupsResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.request_id is not None: result['RequestId'] = self.request_id result['ResourceGroups'] = [] if self.resource_groups is not None: for k in self.resource_groups: result['ResourceGroups'].append(k.to_map() if k else None) if self.total_count is not None: result['TotalCount'] = self.total_count return result def from_map(self, m=None): m = m or dict() if m.get('RequestId') is not None: self.request_id = m.get('RequestId') self.resource_groups = [] if m.get('ResourceGroups') is not None: for k in m.get('ResourceGroups'): temp_model = ResourceGroup() self.resource_groups.append(temp_model.from_map(k)) if m.get('TotalCount') is not None: self.total_count = m.get('TotalCount') return self class ListResourceGroupsResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: ListResourceGroupsResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(ListResourceGroupsResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = ListResourceGroupsResponseBody() self.body = temp_model.from_map(m['body']) return self class ListTrainingJobLogsRequest(TeaModel): def __init__(self, end_time=None, instance_id=None, page_number=None, page_size=None, start_time=None, worker_id=None): self.end_time = end_time # type: str self.instance_id = instance_id # type: str self.page_number = page_number # type: long self.page_size = page_size # type: long self.start_time = start_time # type: str self.worker_id = worker_id # type: str def validate(self): pass def to_map(self): _map = super(ListTrainingJobLogsRequest, self).to_map() if _map is not None: return _map result = dict() if self.end_time is not None: result['EndTime'] = self.end_time if self.instance_id is not None: result['InstanceId'] = self.instance_id if self.page_number is not None: result['PageNumber'] = self.page_number if self.page_size is not None: result['PageSize'] = self.page_size if self.start_time is not None: result['StartTime'] = self.start_time if self.worker_id is not None: result['WorkerId'] = self.worker_id return result def from_map(self, m=None): m = m or dict() if m.get('EndTime') is not None: self.end_time = m.get('EndTime') if m.get('InstanceId') is not None: self.instance_id = m.get('InstanceId') if m.get('PageNumber') is not None: self.page_number = m.get('PageNumber') if m.get('PageSize') is not None: self.page_size = m.get('PageSize') if m.get('StartTime') is not None: self.start_time = m.get('StartTime') if m.get('WorkerId') is not None: self.worker_id = m.get('WorkerId') return self class ListTrainingJobLogsResponseBody(TeaModel): def __init__(self, logs=None, request_id=None, total_count=None): self.logs = logs # type: list[str] self.request_id = request_id # type: str self.total_count = total_count # type: str def validate(self): pass def to_map(self): _map = super(ListTrainingJobLogsResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.logs is not None: result['Logs'] = self.logs if self.request_id is not None: result['RequestId'] = self.request_id if self.total_count is not None: result['TotalCount'] = self.total_count return result def from_map(self, m=None): m = m or dict() if m.get('Logs') is not None: self.logs = m.get('Logs') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('TotalCount') is not None: self.total_count = m.get('TotalCount') return self class ListTrainingJobLogsResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: ListTrainingJobLogsResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(ListTrainingJobLogsResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = ListTrainingJobLogsResponseBody() self.body = temp_model.from_map(m['body']) return self class ListTrainingJobMetricsRequest(TeaModel): def __init__(self, end_time=None, name=None, order=None, page_number=None, page_size=None, start_time=None): self.end_time = end_time # type: str self.name = name # type: str self.order = order # type: str self.page_number = page_number # type: long self.page_size = page_size # type: long self.start_time = start_time # type: str def validate(self): pass def to_map(self): _map = super(ListTrainingJobMetricsRequest, self).to_map() if _map is not None: return _map result = dict() if self.end_time is not None: result['EndTime'] = self.end_time if self.name is not None: result['Name'] = self.name if self.order is not None: result['Order'] = self.order if self.page_number is not None: result['PageNumber'] = self.page_number if self.page_size is not None: result['PageSize'] = self.page_size if self.start_time is not None: result['StartTime'] = self.start_time return result def from_map(self, m=None): m = m or dict() if m.get('EndTime') is not None: self.end_time = m.get('EndTime') if m.get('Name') is not None: self.name = m.get('Name') if m.get('Order') is not None: self.order = m.get('Order') if m.get('PageNumber') is not None: self.page_number = m.get('PageNumber') if m.get('PageSize') is not None: self.page_size = m.get('PageSize') if m.get('StartTime') is not None: self.start_time = m.get('StartTime') return self class ListTrainingJobMetricsResponseBodyMetrics(TeaModel): def __init__(self, name=None, timestamp=None, value=None): self.name = name # type: str self.timestamp = timestamp # type: str self.value = value # type: float def validate(self): pass def to_map(self): _map = super(ListTrainingJobMetricsResponseBodyMetrics, self).to_map() if _map is not None: return _map result = dict() if self.name is not None: result['Name'] = self.name if self.timestamp is not None: result['Timestamp'] = self.timestamp if self.value is not None: result['Value'] = self.value return result def from_map(self, m=None): m = m or dict() if m.get('Name') is not None: self.name = m.get('Name') if m.get('Timestamp') is not None: self.timestamp = m.get('Timestamp') if m.get('Value') is not None: self.value = m.get('Value') return self class ListTrainingJobMetricsResponseBody(TeaModel): def __init__(self, metrics=None, request_id=None): self.metrics = metrics # type: list[ListTrainingJobMetricsResponseBodyMetrics] self.request_id = request_id # type: str def validate(self): if self.metrics: for k in self.metrics: if k: k.validate() def to_map(self): _map = super(ListTrainingJobMetricsResponseBody, self).to_map() if _map is not None: return _map result = dict() result['Metrics'] = [] if self.metrics is not None: for k in self.metrics: result['Metrics'].append(k.to_map() if k else None) if self.request_id is not None: result['RequestId'] = self.request_id return result def from_map(self, m=None): m = m or dict() self.metrics = [] if m.get('Metrics') is not None: for k in m.get('Metrics'): temp_model = ListTrainingJobMetricsResponseBodyMetrics() self.metrics.append(temp_model.from_map(k)) if m.get('RequestId') is not None: self.request_id = m.get('RequestId') return self class ListTrainingJobMetricsResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: ListTrainingJobMetricsResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(ListTrainingJobMetricsResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = ListTrainingJobMetricsResponseBody() self.body = temp_model.from_map(m['body']) return self class ListTrainingJobsRequest(TeaModel): def __init__(self, algorithm_name=None, algorithm_provider=None, end_time=None, is_temp_algo=None, labels=None, order=None, page_number=None, page_size=None, sort_by=None, start_time=None, status=None, training_job_id=None, training_job_name=None, workspace_id=None): self.algorithm_name = algorithm_name # type: str self.algorithm_provider = algorithm_provider # type: str self.end_time = end_time # type: str self.is_temp_algo = is_temp_algo # type: bool self.labels = labels # type: dict[str, any] self.order = order # type: str self.page_number = page_number # type: long self.page_size = page_size # type: long self.sort_by = sort_by # type: str self.start_time = start_time # type: str self.status = status # type: str self.training_job_id = training_job_id # type: str self.training_job_name = training_job_name # type: str self.workspace_id = workspace_id # type: str def validate(self): pass def to_map(self): _map = super(ListTrainingJobsRequest, self).to_map() if _map is not None: return _map result = dict() if self.algorithm_name is not None: result['AlgorithmName'] = self.algorithm_name if self.algorithm_provider is not None: result['AlgorithmProvider'] = self.algorithm_provider if self.end_time is not None: result['EndTime'] = self.end_time if self.is_temp_algo is not None: result['IsTempAlgo'] = self.is_temp_algo if self.labels is not None: result['Labels'] = self.labels if self.order is not None: result['Order'] = self.order if self.page_number is not None: result['PageNumber'] = self.page_number if self.page_size is not None: result['PageSize'] = self.page_size if self.sort_by is not None: result['SortBy'] = self.sort_by if self.start_time is not None: result['StartTime'] = self.start_time if self.status is not None: result['Status'] = self.status if self.training_job_id is not None: result['TrainingJobId'] = self.training_job_id if self.training_job_name is not None: result['TrainingJobName'] = self.training_job_name if self.workspace_id is not None: result['WorkspaceId'] = self.workspace_id return result def from_map(self, m=None): m = m or dict() if m.get('AlgorithmName') is not None: self.algorithm_name = m.get('AlgorithmName') if m.get('AlgorithmProvider') is not None: self.algorithm_provider = m.get('AlgorithmProvider') if m.get('EndTime') is not None: self.end_time = m.get('EndTime') if m.get('IsTempAlgo') is not None: self.is_temp_algo = m.get('IsTempAlgo') if m.get('Labels') is not None: self.labels = m.get('Labels') if m.get('Order') is not None: self.order = m.get('Order') if m.get('PageNumber') is not None: self.page_number = m.get('PageNumber') if m.get('PageSize') is not None: self.page_size = m.get('PageSize') if m.get('SortBy') is not None: self.sort_by = m.get('SortBy') if m.get('StartTime') is not None: self.start_time = m.get('StartTime') if m.get('Status') is not None: self.status = m.get('Status') if m.get('TrainingJobId') is not None: self.training_job_id = m.get('TrainingJobId') if m.get('TrainingJobName') is not None: self.training_job_name = m.get('TrainingJobName') if m.get('WorkspaceId') is not None: self.workspace_id = m.get('WorkspaceId') return self class ListTrainingJobsShrinkRequest(TeaModel): def __init__(self, algorithm_name=None, algorithm_provider=None, end_time=None, is_temp_algo=None, labels_shrink=None, order=None, page_number=None, page_size=None, sort_by=None, start_time=None, status=None, training_job_id=None, training_job_name=None, workspace_id=None): self.algorithm_name = algorithm_name # type: str self.algorithm_provider = algorithm_provider # type: str self.end_time = end_time # type: str self.is_temp_algo = is_temp_algo # type: bool self.labels_shrink = labels_shrink # type: str self.order = order # type: str self.page_number = page_number # type: long self.page_size = page_size # type: long self.sort_by = sort_by # type: str self.start_time = start_time # type: str self.status = status # type: str self.training_job_id = training_job_id # type: str self.training_job_name = training_job_name # type: str self.workspace_id = workspace_id # type: str def validate(self): pass def to_map(self): _map = super(ListTrainingJobsShrinkRequest, self).to_map() if _map is not None: return _map result = dict() if self.algorithm_name is not None: result['AlgorithmName'] = self.algorithm_name if self.algorithm_provider is not None: result['AlgorithmProvider'] = self.algorithm_provider if self.end_time is not None: result['EndTime'] = self.end_time if self.is_temp_algo is not None: result['IsTempAlgo'] = self.is_temp_algo if self.labels_shrink is not None: result['Labels'] = self.labels_shrink if self.order is not None: result['Order'] = self.order if self.page_number is not None: result['PageNumber'] = self.page_number if self.page_size is not None: result['PageSize'] = self.page_size if self.sort_by is not None: result['SortBy'] = self.sort_by if self.start_time is not None: result['StartTime'] = self.start_time if self.status is not None: result['Status'] = self.status if self.training_job_id is not None: result['TrainingJobId'] = self.training_job_id if self.training_job_name is not None: result['TrainingJobName'] = self.training_job_name if self.workspace_id is not None: result['WorkspaceId'] = self.workspace_id return result def from_map(self, m=None): m = m or dict() if m.get('AlgorithmName') is not None: self.algorithm_name = m.get('AlgorithmName') if m.get('AlgorithmProvider') is not None: self.algorithm_provider = m.get('AlgorithmProvider') if m.get('EndTime') is not None: self.end_time = m.get('EndTime') if m.get('IsTempAlgo') is not None: self.is_temp_algo = m.get('IsTempAlgo') if m.get('Labels') is not None: self.labels_shrink = m.get('Labels') if m.get('Order') is not None: self.order = m.get('Order') if m.get('PageNumber') is not None: self.page_number = m.get('PageNumber') if m.get('PageSize') is not None: self.page_size = m.get('PageSize') if m.get('SortBy') is not None: self.sort_by = m.get('SortBy') if m.get('StartTime') is not None: self.start_time = m.get('StartTime') if m.get('Status') is not None: self.status = m.get('Status') if m.get('TrainingJobId') is not None: self.training_job_id = m.get('TrainingJobId') if m.get('TrainingJobName') is not None: self.training_job_name = m.get('TrainingJobName') if m.get('WorkspaceId') is not None: self.workspace_id = m.get('WorkspaceId') return self class ListTrainingJobsResponseBodyTrainingJobsComputeResourceInstanceSpec(TeaModel): def __init__(self, cpu=None, gpu=None, gputype=None, memory=None, shared_memory=None): self.cpu = cpu # type: str self.gpu = gpu # type: str self.gputype = gputype # type: str self.memory = memory # type: str self.shared_memory = shared_memory # type: str def validate(self): pass def to_map(self): _map = super(ListTrainingJobsResponseBodyTrainingJobsComputeResourceInstanceSpec, self).to_map() if _map is not None: return _map result = dict() if self.cpu is not None: result['CPU'] = self.cpu if self.gpu is not None: result['GPU'] = self.gpu if self.gputype is not None: result['GPUType'] = self.gputype if self.memory is not None: result['Memory'] = self.memory if self.shared_memory is not None: result['SharedMemory'] = self.shared_memory return result def from_map(self, m=None): m = m or dict() if m.get('CPU') is not None: self.cpu = m.get('CPU') if m.get('GPU') is not None: self.gpu = m.get('GPU') if m.get('GPUType') is not None: self.gputype = m.get('GPUType') if m.get('Memory') is not None: self.memory = m.get('Memory') if m.get('SharedMemory') is not None: self.shared_memory = m.get('SharedMemory') return self class ListTrainingJobsResponseBodyTrainingJobsComputeResource(TeaModel): def __init__(self, ecs_count=None, ecs_spec=None, instance_count=None, instance_spec=None, resource_id=None): self.ecs_count = ecs_count # type: long self.ecs_spec = ecs_spec # type: str self.instance_count = instance_count # type: long self.instance_spec = instance_spec # type: ListTrainingJobsResponseBodyTrainingJobsComputeResourceInstanceSpec self.resource_id = resource_id # type: str def validate(self): if self.instance_spec: self.instance_spec.validate() def to_map(self): _map = super(ListTrainingJobsResponseBodyTrainingJobsComputeResource, self).to_map() if _map is not None: return _map result = dict() if self.ecs_count is not None: result['EcsCount'] = self.ecs_count if self.ecs_spec is not None: result['EcsSpec'] = self.ecs_spec if self.instance_count is not None: result['InstanceCount'] = self.instance_count if self.instance_spec is not None: result['InstanceSpec'] = self.instance_spec.to_map() if self.resource_id is not None: result['ResourceId'] = self.resource_id return result def from_map(self, m=None): m = m or dict() if m.get('EcsCount') is not None: self.ecs_count = m.get('EcsCount') if m.get('EcsSpec') is not None: self.ecs_spec = m.get('EcsSpec') if m.get('InstanceCount') is not None: self.instance_count = m.get('InstanceCount') if m.get('InstanceSpec') is not None: temp_model = ListTrainingJobsResponseBodyTrainingJobsComputeResourceInstanceSpec() self.instance_spec = temp_model.from_map(m['InstanceSpec']) if m.get('ResourceId') is not None: self.resource_id = m.get('ResourceId') return self class ListTrainingJobsResponseBodyTrainingJobsExperimentConfig(TeaModel): def __init__(self, experiment_id=None, experiment_name=None): self.experiment_id = experiment_id # type: str self.experiment_name = experiment_name # type: str def validate(self): pass def to_map(self): _map = super(ListTrainingJobsResponseBodyTrainingJobsExperimentConfig, self).to_map() if _map is not None: return _map result = dict() if self.experiment_id is not None: result['ExperimentId'] = self.experiment_id if self.experiment_name is not None: result['ExperimentName'] = self.experiment_name return result def from_map(self, m=None): m = m or dict() if m.get('ExperimentId') is not None: self.experiment_id = m.get('ExperimentId') if m.get('ExperimentName') is not None: self.experiment_name = m.get('ExperimentName') return self class ListTrainingJobsResponseBodyTrainingJobsHyperParameters(TeaModel): def __init__(self, name=None, value=None): self.name = name # type: str self.value = value # type: str def validate(self): pass def to_map(self): _map = super(ListTrainingJobsResponseBodyTrainingJobsHyperParameters, self).to_map() if _map is not None: return _map result = dict() if self.name is not None: result['Name'] = self.name if self.value is not None: result['Value'] = self.value return result def from_map(self, m=None): m = m or dict() if m.get('Name') is not None: self.name = m.get('Name') if m.get('Value') is not None: self.value = m.get('Value') return self class ListTrainingJobsResponseBodyTrainingJobsInputChannels(TeaModel): def __init__(self, dataset_id=None, input_uri=None, name=None): self.dataset_id = dataset_id # type: str self.input_uri = input_uri # type: str self.name = name # type: str def validate(self): pass def to_map(self): _map = super(ListTrainingJobsResponseBodyTrainingJobsInputChannels, self).to_map() if _map is not None: return _map result = dict() if self.dataset_id is not None: result['DatasetId'] = self.dataset_id if self.input_uri is not None: result['InputUri'] = self.input_uri if self.name is not None: result['Name'] = self.name return result def from_map(self, m=None): m = m or dict() if m.get('DatasetId') is not None: self.dataset_id = m.get('DatasetId') if m.get('InputUri') is not None: self.input_uri = m.get('InputUri') if m.get('Name') is not None: self.name = m.get('Name') return self class ListTrainingJobsResponseBodyTrainingJobsLabels(TeaModel): def __init__(self, key=None, value=None): self.key = key # type: str self.value = value # type: str def validate(self): pass def to_map(self): _map = super(ListTrainingJobsResponseBodyTrainingJobsLabels, self).to_map() if _map is not None: return _map result = dict() if self.key is not None: result['Key'] = self.key if self.value is not None: result['Value'] = self.value return result def from_map(self, m=None): m = m or dict() if m.get('Key') is not None: self.key = m.get('Key') if m.get('Value') is not None: self.value = m.get('Value') return self class ListTrainingJobsResponseBodyTrainingJobsOutputChannels(TeaModel): def __init__(self, dataset_id=None, name=None, output_uri=None): self.dataset_id = dataset_id # type: str self.name = name # type: str self.output_uri = output_uri # type: str def validate(self): pass def to_map(self): _map = super(ListTrainingJobsResponseBodyTrainingJobsOutputChannels, self).to_map() if _map is not None: return _map result = dict() if self.dataset_id is not None: result['DatasetId'] = self.dataset_id if self.name is not None: result['Name'] = self.name if self.output_uri is not None: result['OutputUri'] = self.output_uri return result def from_map(self, m=None): m = m or dict() if m.get('DatasetId') is not None: self.dataset_id = m.get('DatasetId') if m.get('Name') is not None: self.name = m.get('Name') if m.get('OutputUri') is not None: self.output_uri = m.get('OutputUri') return self class ListTrainingJobsResponseBodyTrainingJobsScheduler(TeaModel): def __init__(self, max_running_time_in_seconds=None): self.max_running_time_in_seconds = max_running_time_in_seconds # type: long def validate(self): pass def to_map(self): _map = super(ListTrainingJobsResponseBodyTrainingJobsScheduler, self).to_map() if _map is not None: return _map result = dict() if self.max_running_time_in_seconds is not None: result['MaxRunningTimeInSeconds'] = self.max_running_time_in_seconds return result def from_map(self, m=None): m = m or dict() if m.get('MaxRunningTimeInSeconds') is not None: self.max_running_time_in_seconds = m.get('MaxRunningTimeInSeconds') return self class ListTrainingJobsResponseBodyTrainingJobsStatusTransitions(TeaModel): def __init__(self, end_time=None, reason_code=None, reason_message=None, start_time=None, status=None): self.end_time = end_time # type: str self.reason_code = reason_code # type: str self.reason_message = reason_message # type: str self.start_time = start_time # type: str self.status = status # type: str def validate(self): pass def to_map(self): _map = super(ListTrainingJobsResponseBodyTrainingJobsStatusTransitions, self).to_map() if _map is not None: return _map result = dict() if self.end_time is not None: result['EndTime'] = self.end_time if self.reason_code is not None: result['ReasonCode'] = self.reason_code if self.reason_message is not None: result['ReasonMessage'] = self.reason_message if self.start_time is not None: result['StartTime'] = self.start_time if self.status is not None: result['Status'] = self.status return result def from_map(self, m=None): m = m or dict() if m.get('EndTime') is not None: self.end_time = m.get('EndTime') if m.get('ReasonCode') is not None: self.reason_code = m.get('ReasonCode') if m.get('ReasonMessage') is not None: self.reason_message = m.get('ReasonMessage') if m.get('StartTime') is not None: self.start_time = m.get('StartTime') if m.get('Status') is not None: self.status = m.get('Status') return self class ListTrainingJobsResponseBodyTrainingJobsUserVpc(TeaModel): def __init__(self, default_route=None, extended_cidrs=None, security_group_id=None, switch_id=None, vpc_id=None): self.default_route = default_route # type: str self.extended_cidrs = extended_cidrs # type: list[str] self.security_group_id = security_group_id # type: str self.switch_id = switch_id # type: str self.vpc_id = vpc_id # type: str def validate(self): pass def to_map(self): _map = super(ListTrainingJobsResponseBodyTrainingJobsUserVpc, self).to_map() if _map is not None: return _map result = dict() if self.default_route is not None: result['DefaultRoute'] = self.default_route if self.extended_cidrs is not None: result['ExtendedCIDRs'] = self.extended_cidrs if self.security_group_id is not None: result['SecurityGroupId'] = self.security_group_id if self.switch_id is not None: result['SwitchId'] = self.switch_id if self.vpc_id is not None: result['VpcId'] = self.vpc_id return result def from_map(self, m=None): m = m or dict() if m.get('DefaultRoute') is not None: self.default_route = m.get('DefaultRoute') if m.get('ExtendedCIDRs') is not None: self.extended_cidrs = m.get('ExtendedCIDRs') if m.get('SecurityGroupId') is not None: self.security_group_id = m.get('SecurityGroupId') if m.get('SwitchId') is not None: self.switch_id = m.get('SwitchId') if m.get('VpcId') is not None: self.vpc_id = m.get('VpcId') return self class ListTrainingJobsResponseBodyTrainingJobs(TeaModel): def __init__(self, algorithm_name=None, algorithm_provider=None, algorithm_version=None, compute_resource=None, experiment_config=None, gmt_create_time=None, gmt_modified_time=None, hyper_parameters=None, input_channels=None, is_temp_algo=None, labels=None, output_channels=None, reason_code=None, reason_message=None, role_arn=None, scheduler=None, status=None, status_transitions=None, training_job_description=None, training_job_id=None, training_job_name=None, user_id=None, user_vpc=None, workspace_id=None): self.algorithm_name = algorithm_name # type: str self.algorithm_provider = algorithm_provider # type: str self.algorithm_version = algorithm_version # type: str self.compute_resource = compute_resource # type: ListTrainingJobsResponseBodyTrainingJobsComputeResource self.experiment_config = experiment_config # type: ListTrainingJobsResponseBodyTrainingJobsExperimentConfig self.gmt_create_time = gmt_create_time # type: str self.gmt_modified_time = gmt_modified_time # type: str self.hyper_parameters = hyper_parameters # type: list[ListTrainingJobsResponseBodyTrainingJobsHyperParameters] self.input_channels = input_channels # type: list[ListTrainingJobsResponseBodyTrainingJobsInputChannels] self.is_temp_algo = is_temp_algo # type: bool self.labels = labels # type: list[ListTrainingJobsResponseBodyTrainingJobsLabels] self.output_channels = output_channels # type: list[ListTrainingJobsResponseBodyTrainingJobsOutputChannels] self.reason_code = reason_code # type: str self.reason_message = reason_message # type: str self.role_arn = role_arn # type: str self.scheduler = scheduler # type: ListTrainingJobsResponseBodyTrainingJobsScheduler self.status = status # type: str self.status_transitions = status_transitions # type: list[ListTrainingJobsResponseBodyTrainingJobsStatusTransitions] self.training_job_description = training_job_description # type: str self.training_job_id = training_job_id # type: str self.training_job_name = training_job_name # type: str self.user_id = user_id # type: str self.user_vpc = user_vpc # type: ListTrainingJobsResponseBodyTrainingJobsUserVpc self.workspace_id = workspace_id # type: str def validate(self): if self.compute_resource: self.compute_resource.validate() if self.experiment_config: self.experiment_config.validate() if self.hyper_parameters: for k in self.hyper_parameters: if k: k.validate() if self.input_channels: for k in self.input_channels: if k: k.validate() if self.labels: for k in self.labels: if k: k.validate() if self.output_channels: for k in self.output_channels: if k: k.validate() if self.scheduler: self.scheduler.validate() if self.status_transitions: for k in self.status_transitions: if k: k.validate() if self.user_vpc: self.user_vpc.validate() def to_map(self): _map = super(ListTrainingJobsResponseBodyTrainingJobs, self).to_map() if _map is not None: return _map result = dict() if self.algorithm_name is not None: result['AlgorithmName'] = self.algorithm_name if self.algorithm_provider is not None: result['AlgorithmProvider'] = self.algorithm_provider if self.algorithm_version is not None: result['AlgorithmVersion'] = self.algorithm_version if self.compute_resource is not None: result['ComputeResource'] = self.compute_resource.to_map() if self.experiment_config is not None: result['ExperimentConfig'] = self.experiment_config.to_map() if self.gmt_create_time is not None: result['GmtCreateTime'] = self.gmt_create_time if self.gmt_modified_time is not None: result['GmtModifiedTime'] = self.gmt_modified_time result['HyperParameters'] = [] if self.hyper_parameters is not None: for k in self.hyper_parameters: result['HyperParameters'].append(k.to_map() if k else None) result['InputChannels'] = [] if self.input_channels is not None: for k in self.input_channels: result['InputChannels'].append(k.to_map() if k else None) if self.is_temp_algo is not None: result['IsTempAlgo'] = self.is_temp_algo result['Labels'] = [] if self.labels is not None: for k in self.labels: result['Labels'].append(k.to_map() if k else None) result['OutputChannels'] = [] if self.output_channels is not None: for k in self.output_channels: result['OutputChannels'].append(k.to_map() if k else None) if self.reason_code is not None: result['ReasonCode'] = self.reason_code if self.reason_message is not None: result['ReasonMessage'] = self.reason_message if self.role_arn is not None: result['RoleArn'] = self.role_arn if self.scheduler is not None: result['Scheduler'] = self.scheduler.to_map() if self.status is not None: result['Status'] = self.status result['StatusTransitions'] = [] if self.status_transitions is not None: for k in self.status_transitions: result['StatusTransitions'].append(k.to_map() if k else None) if self.training_job_description is not None: result['TrainingJobDescription'] = self.training_job_description if self.training_job_id is not None: result['TrainingJobId'] = self.training_job_id if self.training_job_name is not None: result['TrainingJobName'] = self.training_job_name if self.user_id is not None: result['UserId'] = self.user_id if self.user_vpc is not None: result['UserVpc'] = self.user_vpc.to_map() if self.workspace_id is not None: result['WorkspaceId'] = self.workspace_id return result def from_map(self, m=None): m = m or dict() if m.get('AlgorithmName') is not None: self.algorithm_name = m.get('AlgorithmName') if m.get('AlgorithmProvider') is not None: self.algorithm_provider = m.get('AlgorithmProvider') if m.get('AlgorithmVersion') is not None: self.algorithm_version = m.get('AlgorithmVersion') if m.get('ComputeResource') is not None: temp_model = ListTrainingJobsResponseBodyTrainingJobsComputeResource() self.compute_resource = temp_model.from_map(m['ComputeResource']) if m.get('ExperimentConfig') is not None: temp_model = ListTrainingJobsResponseBodyTrainingJobsExperimentConfig() self.experiment_config = temp_model.from_map(m['ExperimentConfig']) if m.get('GmtCreateTime') is not None: self.gmt_create_time = m.get('GmtCreateTime') if m.get('GmtModifiedTime') is not None: self.gmt_modified_time = m.get('GmtModifiedTime') self.hyper_parameters = [] if m.get('HyperParameters') is not None: for k in m.get('HyperParameters'): temp_model = ListTrainingJobsResponseBodyTrainingJobsHyperParameters() self.hyper_parameters.append(temp_model.from_map(k)) self.input_channels = [] if m.get('InputChannels') is not None: for k in m.get('InputChannels'): temp_model = ListTrainingJobsResponseBodyTrainingJobsInputChannels() self.input_channels.append(temp_model.from_map(k)) if m.get('IsTempAlgo') is not None: self.is_temp_algo = m.get('IsTempAlgo') self.labels = [] if m.get('Labels') is not None: for k in m.get('Labels'): temp_model = ListTrainingJobsResponseBodyTrainingJobsLabels() self.labels.append(temp_model.from_map(k)) self.output_channels = [] if m.get('OutputChannels') is not None: for k in m.get('OutputChannels'): temp_model = ListTrainingJobsResponseBodyTrainingJobsOutputChannels() self.output_channels.append(temp_model.from_map(k)) if m.get('ReasonCode') is not None: self.reason_code = m.get('ReasonCode') if m.get('ReasonMessage') is not None: self.reason_message = m.get('ReasonMessage') if m.get('RoleArn') is not None: self.role_arn = m.get('RoleArn') if m.get('Scheduler') is not None: temp_model = ListTrainingJobsResponseBodyTrainingJobsScheduler() self.scheduler = temp_model.from_map(m['Scheduler']) if m.get('Status') is not None: self.status = m.get('Status') self.status_transitions = [] if m.get('StatusTransitions') is not None: for k in m.get('StatusTransitions'): temp_model = ListTrainingJobsResponseBodyTrainingJobsStatusTransitions() self.status_transitions.append(temp_model.from_map(k)) if m.get('TrainingJobDescription') is not None: self.training_job_description = m.get('TrainingJobDescription') if m.get('TrainingJobId') is not None: self.training_job_id = m.get('TrainingJobId') if m.get('TrainingJobName') is not None: self.training_job_name = m.get('TrainingJobName') if m.get('UserId') is not None: self.user_id = m.get('UserId') if m.get('UserVpc') is not None: temp_model = ListTrainingJobsResponseBodyTrainingJobsUserVpc() self.user_vpc = temp_model.from_map(m['UserVpc']) if m.get('WorkspaceId') is not None: self.workspace_id = m.get('WorkspaceId') return self class ListTrainingJobsResponseBody(TeaModel): def __init__(self, request_id=None, total_count=None, training_jobs=None): self.request_id = request_id # type: str self.total_count = total_count # type: long self.training_jobs = training_jobs # type: list[ListTrainingJobsResponseBodyTrainingJobs] def validate(self): if self.training_jobs: for k in self.training_jobs: if k: k.validate() def to_map(self): _map = super(ListTrainingJobsResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.request_id is not None: result['RequestId'] = self.request_id if self.total_count is not None: result['TotalCount'] = self.total_count result['TrainingJobs'] = [] if self.training_jobs is not None: for k in self.training_jobs: result['TrainingJobs'].append(k.to_map() if k else None) return result def from_map(self, m=None): m = m or dict() if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('TotalCount') is not None: self.total_count = m.get('TotalCount') self.training_jobs = [] if m.get('TrainingJobs') is not None: for k in m.get('TrainingJobs'): temp_model = ListTrainingJobsResponseBodyTrainingJobs() self.training_jobs.append(temp_model.from_map(k)) return self class ListTrainingJobsResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: ListTrainingJobsResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(ListTrainingJobsResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = ListTrainingJobsResponseBody() self.body = temp_model.from_map(m['body']) return self class ScaleQuotaRequest(TeaModel): def __init__(self, min=None, resource_group_ids=None): self.min = min # type: ResourceSpec self.resource_group_ids = resource_group_ids # type: list[str] def validate(self): if self.min: self.min.validate() def to_map(self): _map = super(ScaleQuotaRequest, self).to_map() if _map is not None: return _map result = dict() if self.min is not None: result['Min'] = self.min.to_map() if self.resource_group_ids is not None: result['ResourceGroupIds'] = self.resource_group_ids return result def from_map(self, m=None): m = m or dict() if m.get('Min') is not None: temp_model = ResourceSpec() self.min = temp_model.from_map(m['Min']) if m.get('ResourceGroupIds') is not None: self.resource_group_ids = m.get('ResourceGroupIds') return self class ScaleQuotaResponseBody(TeaModel): def __init__(self, quota_id=None, request_id=None): # Quota Id self.quota_id = quota_id # type: str self.request_id = request_id # type: str def validate(self): pass def to_map(self): _map = super(ScaleQuotaResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.quota_id is not None: result['QuotaId'] = self.quota_id if self.request_id is not None: result['RequestId'] = self.request_id return result def from_map(self, m=None): m = m or dict() if m.get('QuotaId') is not None: self.quota_id = m.get('QuotaId') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') return self class ScaleQuotaResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: ScaleQuotaResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(ScaleQuotaResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = ScaleQuotaResponseBody() self.body = temp_model.from_map(m['body']) return self class StopTrainingJobResponseBody(TeaModel): def __init__(self, request_id=None): self.request_id = request_id # type: str def validate(self): pass def to_map(self): _map = super(StopTrainingJobResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.request_id is not None: result['RequestId'] = self.request_id return result def from_map(self, m=None): m = m or dict() if m.get('RequestId') is not None: self.request_id = m.get('RequestId') return self class StopTrainingJobResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: StopTrainingJobResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(StopTrainingJobResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = StopTrainingJobResponseBody() self.body = temp_model.from_map(m['body']) return self class UpdateAlgorithmRequest(TeaModel): def __init__(self, algorithm_description=None, display_name=None): self.algorithm_description = algorithm_description # type: str self.display_name = display_name # type: str def validate(self): pass def to_map(self): _map = super(UpdateAlgorithmRequest, self).to_map() if _map is not None: return _map result = dict() if self.algorithm_description is not None: result['AlgorithmDescription'] = self.algorithm_description if self.display_name is not None: result['DisplayName'] = self.display_name return result def from_map(self, m=None): m = m or dict() if m.get('AlgorithmDescription') is not None: self.algorithm_description = m.get('AlgorithmDescription') if m.get('DisplayName') is not None: self.display_name = m.get('DisplayName') return self class UpdateAlgorithmResponseBody(TeaModel): def __init__(self, algorithm_id=None, request_id=None): self.algorithm_id = algorithm_id # type: str self.request_id = request_id # type: str def validate(self): pass def to_map(self): _map = super(UpdateAlgorithmResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.algorithm_id is not None: result['AlgorithmId'] = self.algorithm_id if self.request_id is not None: result['RequestId'] = self.request_id return result def from_map(self, m=None): m = m or dict() if m.get('AlgorithmId') is not None: self.algorithm_id = m.get('AlgorithmId') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') return self class UpdateAlgorithmResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: UpdateAlgorithmResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(UpdateAlgorithmResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = UpdateAlgorithmResponseBody() self.body = temp_model.from_map(m['body']) return self class UpdateAlgorithmVersionRequest(TeaModel): def __init__(self, algorithm_spec=None): self.algorithm_spec = algorithm_spec # type: AlgorithmSpec def validate(self): if self.algorithm_spec: self.algorithm_spec.validate() def to_map(self): _map = super(UpdateAlgorithmVersionRequest, self).to_map() if _map is not None: return _map result = dict() if self.algorithm_spec is not None: result['AlgorithmSpec'] = self.algorithm_spec.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('AlgorithmSpec') is not None: temp_model = AlgorithmSpec() self.algorithm_spec = temp_model.from_map(m['AlgorithmSpec']) return self class UpdateAlgorithmVersionShrinkRequest(TeaModel): def __init__(self, algorithm_spec_shrink=None): self.algorithm_spec_shrink = algorithm_spec_shrink # type: str def validate(self): pass def to_map(self): _map = super(UpdateAlgorithmVersionShrinkRequest, self).to_map() if _map is not None: return _map result = dict() if self.algorithm_spec_shrink is not None: result['AlgorithmSpec'] = self.algorithm_spec_shrink return result def from_map(self, m=None): m = m or dict() if m.get('AlgorithmSpec') is not None: self.algorithm_spec_shrink = m.get('AlgorithmSpec') return self class UpdateAlgorithmVersionResponseBody(TeaModel): def __init__(self, algorithm_id=None, algorithm_version=None): self.algorithm_id = algorithm_id # type: str self.algorithm_version = algorithm_version # type: str def validate(self): pass def to_map(self): _map = super(UpdateAlgorithmVersionResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.algorithm_id is not None: result['AlgorithmId'] = self.algorithm_id if self.algorithm_version is not None: result['AlgorithmVersion'] = self.algorithm_version return result def from_map(self, m=None): m = m or dict() if m.get('AlgorithmId') is not None: self.algorithm_id = m.get('AlgorithmId') if m.get('AlgorithmVersion') is not None: self.algorithm_version = m.get('AlgorithmVersion') return self class UpdateAlgorithmVersionResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: UpdateAlgorithmVersionResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(UpdateAlgorithmVersionResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = UpdateAlgorithmVersionResponseBody() self.body = temp_model.from_map(m['body']) return self class UpdateQuotaRequest(TeaModel): def __init__(self, description=None, labels=None, queue_strategy=None): self.description = description # type: str self.labels = labels # type: list[Label] self.queue_strategy = queue_strategy # type: str def validate(self): if self.labels: for k in self.labels: if k: k.validate() def to_map(self): _map = super(UpdateQuotaRequest, self).to_map() if _map is not None: return _map result = dict() if self.description is not None: result['Description'] = self.description result['Labels'] = [] if self.labels is not None: for k in self.labels: result['Labels'].append(k.to_map() if k else None) if self.queue_strategy is not None: result['QueueStrategy'] = self.queue_strategy return result def from_map(self, m=None): m = m or dict() if m.get('Description') is not None: self.description = m.get('Description') self.labels = [] if m.get('Labels') is not None: for k in m.get('Labels'): temp_model = Label() self.labels.append(temp_model.from_map(k)) if m.get('QueueStrategy') is not None: self.queue_strategy = m.get('QueueStrategy') return self class UpdateQuotaResponseBody(TeaModel): def __init__(self, quota_id=None, request_id=None): # Quota Id self.quota_id = quota_id # type: str self.request_id = request_id # type: str def validate(self): pass def to_map(self): _map = super(UpdateQuotaResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.quota_id is not None: result['QuotaId'] = self.quota_id if self.request_id is not None: result['RequestId'] = self.request_id return result def from_map(self, m=None): m = m or dict() if m.get('QuotaId') is not None: self.quota_id = m.get('QuotaId') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') return self class UpdateQuotaResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: UpdateQuotaResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(UpdateQuotaResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = UpdateQuotaResponseBody() self.body = temp_model.from_map(m['body']) return self class UpdateResourceGroupRequest(TeaModel): def __init__(self, description=None, name=None, unbind=None, user_vpc=None): self.description = description # type: str self.name = name # type: str self.unbind = unbind # type: bool self.user_vpc = user_vpc # type: UserVpc def validate(self): if self.user_vpc: self.user_vpc.validate() def to_map(self): _map = super(UpdateResourceGroupRequest, self).to_map() if _map is not None: return _map result = dict() if self.description is not None: result['Description'] = self.description if self.name is not None: result['Name'] = self.name if self.unbind is not None: result['Unbind'] = self.unbind if self.user_vpc is not None: result['UserVpc'] = self.user_vpc.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('Description') is not None: self.description = m.get('Description') if m.get('Name') is not None: self.name = m.get('Name') if m.get('Unbind') is not None: self.unbind = m.get('Unbind') if m.get('UserVpc') is not None: temp_model = UserVpc() self.user_vpc = temp_model.from_map(m['UserVpc']) return self class UpdateResourceGroupResponseBody(TeaModel): def __init__(self, resource_group_id=None, request_id=None): self.resource_group_id = resource_group_id # type: str self.request_id = request_id # type: str def validate(self): pass def to_map(self): _map = super(UpdateResourceGroupResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.resource_group_id is not None: result['ResourceGroupID'] = self.resource_group_id if self.request_id is not None: result['requestId'] = self.request_id return result def from_map(self, m=None): m = m or dict() if m.get('ResourceGroupID') is not None: self.resource_group_id = m.get('ResourceGroupID') if m.get('requestId') is not None: self.request_id = m.get('requestId') return self class UpdateResourceGroupResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: UpdateResourceGroupResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(UpdateResourceGroupResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = UpdateResourceGroupResponseBody() self.body = temp_model.from_map(m['body']) return self class UpdateTrainingJobLabelsRequestLabels(TeaModel): def __init__(self, key=None, value=None): self.key = key # type: str self.value = value # type: str def validate(self): pass def to_map(self): _map = super(UpdateTrainingJobLabelsRequestLabels, self).to_map() if _map is not None: return _map result = dict() if self.key is not None: result['Key'] = self.key if self.value is not None: result['Value'] = self.value return result def from_map(self, m=None): m = m or dict() if m.get('Key') is not None: self.key = m.get('Key') if m.get('Value') is not None: self.value = m.get('Value') return self class UpdateTrainingJobLabelsRequest(TeaModel): def __init__(self, labels=None): self.labels = labels # type: list[UpdateTrainingJobLabelsRequestLabels] def validate(self): if self.labels: for k in self.labels: if k: k.validate() def to_map(self): _map = super(UpdateTrainingJobLabelsRequest, self).to_map() if _map is not None: return _map result = dict() result['Labels'] = [] if self.labels is not None: for k in self.labels: result['Labels'].append(k.to_map() if k else None) return result def from_map(self, m=None): m = m or dict() self.labels = [] if m.get('Labels') is not None: for k in m.get('Labels'): temp_model = UpdateTrainingJobLabelsRequestLabels() self.labels.append(temp_model.from_map(k)) return self class UpdateTrainingJobLabelsResponseBody(TeaModel): def __init__(self, request_id=None): self.request_id = request_id # type: str def validate(self): pass def to_map(self): _map = super(UpdateTrainingJobLabelsResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.request_id is not None: result['RequestId'] = self.request_id return result def from_map(self, m=None): m = m or dict() if m.get('RequestId') is not None: self.request_id = m.get('RequestId') return self class UpdateTrainingJobLabelsResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: UpdateTrainingJobLabelsResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(UpdateTrainingJobLabelsResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = UpdateTrainingJobLabelsResponseBody() self.body = temp_model.from_map(m['body']) return self