# -*- coding: utf8 -*- # Copyright (c) 2017-2021 THL A29 Limited, a Tencent company. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. import warnings from tencentcloud.common.abstract_model import AbstractModel class BindAutoScalingGroupRequest(AbstractModel): """BindAutoScalingGroup请求参数结构体 """ def __init__(self): r""" :param _ClusterId: 集群ID。 :type ClusterId: str :param _LaunchConfigurationId: 弹性伸缩启动配置ID。 :type LaunchConfigurationId: str :param _AutoScalingGroupId: 弹性伸缩组ID。 :type AutoScalingGroupId: str :param _QueueName: 队列名称。 :type QueueName: str :param _ExpansionBusyTime: 任务连续等待时间,队列的任务处于连续等待的时间。单位秒。默认值120。 :type ExpansionBusyTime: int :param _ShrinkIdleTime: 节点连续空闲(未运行作业)时间,一个节点连续处于空闲状态时间。单位秒。默认值300。 :type ShrinkIdleTime: int :param _EnableAutoExpansion: 是否开启自动扩容,默认值true。 :type EnableAutoExpansion: bool :param _EnableAutoShrink: 是否开启自动缩容,默认值true。 :type EnableAutoShrink: bool :param _DryRun: 是否只预检此次请求。 true:发送检查请求,不会绑定弹性伸缩组。检查项包括是否填写了必需参数,请求格式,业务限制。 如果检查不通过,则返回对应错误码; 如果检查通过,则返回RequestId。 false(默认):发送正常请求,通过检查后直接绑定弹性伸缩组。 :type DryRun: bool """ self._ClusterId = None self._LaunchConfigurationId = None self._AutoScalingGroupId = None self._QueueName = None self._ExpansionBusyTime = None self._ShrinkIdleTime = None self._EnableAutoExpansion = None self._EnableAutoShrink = None self._DryRun = None @property def ClusterId(self): """集群ID。 :rtype: str """ return self._ClusterId @ClusterId.setter def ClusterId(self, ClusterId): self._ClusterId = ClusterId @property def LaunchConfigurationId(self): """弹性伸缩启动配置ID。 :rtype: str """ return self._LaunchConfigurationId @LaunchConfigurationId.setter def LaunchConfigurationId(self, LaunchConfigurationId): self._LaunchConfigurationId = LaunchConfigurationId @property def AutoScalingGroupId(self): """弹性伸缩组ID。 :rtype: str """ return self._AutoScalingGroupId @AutoScalingGroupId.setter def AutoScalingGroupId(self, AutoScalingGroupId): self._AutoScalingGroupId = AutoScalingGroupId @property def QueueName(self): """队列名称。 :rtype: str """ return self._QueueName @QueueName.setter def QueueName(self, QueueName): self._QueueName = QueueName @property def ExpansionBusyTime(self): """任务连续等待时间,队列的任务处于连续等待的时间。单位秒。默认值120。 :rtype: int """ return self._ExpansionBusyTime @ExpansionBusyTime.setter def ExpansionBusyTime(self, ExpansionBusyTime): self._ExpansionBusyTime = ExpansionBusyTime @property def ShrinkIdleTime(self): """节点连续空闲(未运行作业)时间,一个节点连续处于空闲状态时间。单位秒。默认值300。 :rtype: int """ return self._ShrinkIdleTime @ShrinkIdleTime.setter def ShrinkIdleTime(self, ShrinkIdleTime): self._ShrinkIdleTime = ShrinkIdleTime @property def EnableAutoExpansion(self): """是否开启自动扩容,默认值true。 :rtype: bool """ return self._EnableAutoExpansion @EnableAutoExpansion.setter def EnableAutoExpansion(self, EnableAutoExpansion): self._EnableAutoExpansion = EnableAutoExpansion @property def EnableAutoShrink(self): """是否开启自动缩容,默认值true。 :rtype: bool """ return self._EnableAutoShrink @EnableAutoShrink.setter def EnableAutoShrink(self, EnableAutoShrink): self._EnableAutoShrink = EnableAutoShrink @property def DryRun(self): """是否只预检此次请求。 true:发送检查请求,不会绑定弹性伸缩组。检查项包括是否填写了必需参数,请求格式,业务限制。 如果检查不通过,则返回对应错误码; 如果检查通过,则返回RequestId。 false(默认):发送正常请求,通过检查后直接绑定弹性伸缩组。 :rtype: bool """ return self._DryRun @DryRun.setter def DryRun(self, DryRun): self._DryRun = DryRun def _deserialize(self, params): self._ClusterId = params.get("ClusterId") self._LaunchConfigurationId = params.get("LaunchConfigurationId") self._AutoScalingGroupId = params.get("AutoScalingGroupId") self._QueueName = params.get("QueueName") self._ExpansionBusyTime = params.get("ExpansionBusyTime") self._ShrinkIdleTime = params.get("ShrinkIdleTime") self._EnableAutoExpansion = params.get("EnableAutoExpansion") self._EnableAutoShrink = params.get("EnableAutoShrink") self._DryRun = params.get("DryRun") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class BindAutoScalingGroupResponse(AbstractModel): """BindAutoScalingGroup返回参数结构体 """ def __init__(self): r""" :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._RequestId = None @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._RequestId = params.get("RequestId") class CFSOption(AbstractModel): """描述CFS文件系统版本和挂载信息 """ def __init__(self): r""" :param _LocalPath: 文件系统本地挂载路径 :type LocalPath: str :param _RemotePath: 文件系统远程挂载ip及路径 :type RemotePath: str :param _Protocol: 文件系统协议类型,默认值NFS 3.0。 <li>NFS 3.0。 <li>NFS 4.0。 <li>TURBO。 :type Protocol: str :param _StorageType: 文件系统存储类型,默认值SD;其中 SD 为通用标准型标准型存储, HP为通用性能型存储, TB为turbo标准型, TP 为turbo性能型。 :type StorageType: str """ self._LocalPath = None self._RemotePath = None self._Protocol = None self._StorageType = None @property def LocalPath(self): """文件系统本地挂载路径 :rtype: str """ return self._LocalPath @LocalPath.setter def LocalPath(self, LocalPath): self._LocalPath = LocalPath @property def RemotePath(self): """文件系统远程挂载ip及路径 :rtype: str """ return self._RemotePath @RemotePath.setter def RemotePath(self, RemotePath): self._RemotePath = RemotePath @property def Protocol(self): """文件系统协议类型,默认值NFS 3.0。 <li>NFS 3.0。 <li>NFS 4.0。 <li>TURBO。 :rtype: str """ return self._Protocol @Protocol.setter def Protocol(self, Protocol): self._Protocol = Protocol @property def StorageType(self): """文件系统存储类型,默认值SD;其中 SD 为通用标准型标准型存储, HP为通用性能型存储, TB为turbo标准型, TP 为turbo性能型。 :rtype: str """ return self._StorageType @StorageType.setter def StorageType(self, StorageType): self._StorageType = StorageType def _deserialize(self, params): self._LocalPath = params.get("LocalPath") self._RemotePath = params.get("RemotePath") self._Protocol = params.get("Protocol") self._StorageType = params.get("StorageType") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ClusterOverview(AbstractModel): """集群概览信息。 """ def __init__(self): r""" :param _ClusterId: 集群ID。 :type ClusterId: str :param _ClusterStatus: 集群状态。取值范围:<br><li>PENDING:创建中</li><br><li>INITING:初始化中</li><br><li>INIT_FAILED:初始化失败</li><br><li>RUNNING:运行中</li><br><li>TERMINATING:销毁中</li> :type ClusterStatus: str :param _ClusterName: 集群名称。 :type ClusterName: str :param _Placement: 集群位置信息。 :type Placement: :class:`tencentcloud.thpc.v20211109.models.Placement` :param _CreateTime: 集群创建时间。 :type CreateTime: str :param _SchedulerType: 集群调度器。 :type SchedulerType: str :param _ComputeNodeCount: 计算节点数量。 :type ComputeNodeCount: int :param _ComputeNodeSet: 计算节点概览。 :type ComputeNodeSet: list of ComputeNodeOverview :param _ManagerNodeCount: 管控节点数量。 :type ManagerNodeCount: int :param _ManagerNodeSet: 管控节点概览。 :type ManagerNodeSet: list of ManagerNodeOverview :param _LoginNodeSet: 登录节点概览。 :type LoginNodeSet: list of LoginNodeOverview :param _LoginNodeCount: 登录节点数量。 :type LoginNodeCount: int """ self._ClusterId = None self._ClusterStatus = None self._ClusterName = None self._Placement = None self._CreateTime = None self._SchedulerType = None self._ComputeNodeCount = None self._ComputeNodeSet = None self._ManagerNodeCount = None self._ManagerNodeSet = None self._LoginNodeSet = None self._LoginNodeCount = None @property def ClusterId(self): """集群ID。 :rtype: str """ return self._ClusterId @ClusterId.setter def ClusterId(self, ClusterId): self._ClusterId = ClusterId @property def ClusterStatus(self): """集群状态。取值范围:<br><li>PENDING:创建中</li><br><li>INITING:初始化中</li><br><li>INIT_FAILED:初始化失败</li><br><li>RUNNING:运行中</li><br><li>TERMINATING:销毁中</li> :rtype: str """ return self._ClusterStatus @ClusterStatus.setter def ClusterStatus(self, ClusterStatus): self._ClusterStatus = ClusterStatus @property def ClusterName(self): """集群名称。 :rtype: str """ return self._ClusterName @ClusterName.setter def ClusterName(self, ClusterName): self._ClusterName = ClusterName @property def Placement(self): """集群位置信息。 :rtype: :class:`tencentcloud.thpc.v20211109.models.Placement` """ return self._Placement @Placement.setter def Placement(self, Placement): self._Placement = Placement @property def CreateTime(self): """集群创建时间。 :rtype: str """ return self._CreateTime @CreateTime.setter def CreateTime(self, CreateTime): self._CreateTime = CreateTime @property def SchedulerType(self): """集群调度器。 :rtype: str """ return self._SchedulerType @SchedulerType.setter def SchedulerType(self, SchedulerType): self._SchedulerType = SchedulerType @property def ComputeNodeCount(self): """计算节点数量。 :rtype: int """ return self._ComputeNodeCount @ComputeNodeCount.setter def ComputeNodeCount(self, ComputeNodeCount): self._ComputeNodeCount = ComputeNodeCount @property def ComputeNodeSet(self): """计算节点概览。 :rtype: list of ComputeNodeOverview """ return self._ComputeNodeSet @ComputeNodeSet.setter def ComputeNodeSet(self, ComputeNodeSet): self._ComputeNodeSet = ComputeNodeSet @property def ManagerNodeCount(self): """管控节点数量。 :rtype: int """ return self._ManagerNodeCount @ManagerNodeCount.setter def ManagerNodeCount(self, ManagerNodeCount): self._ManagerNodeCount = ManagerNodeCount @property def ManagerNodeSet(self): """管控节点概览。 :rtype: list of ManagerNodeOverview """ return self._ManagerNodeSet @ManagerNodeSet.setter def ManagerNodeSet(self, ManagerNodeSet): self._ManagerNodeSet = ManagerNodeSet @property def LoginNodeSet(self): """登录节点概览。 :rtype: list of LoginNodeOverview """ return self._LoginNodeSet @LoginNodeSet.setter def LoginNodeSet(self, LoginNodeSet): self._LoginNodeSet = LoginNodeSet @property def LoginNodeCount(self): """登录节点数量。 :rtype: int """ return self._LoginNodeCount @LoginNodeCount.setter def LoginNodeCount(self, LoginNodeCount): self._LoginNodeCount = LoginNodeCount def _deserialize(self, params): self._ClusterId = params.get("ClusterId") self._ClusterStatus = params.get("ClusterStatus") self._ClusterName = params.get("ClusterName") if params.get("Placement") is not None: self._Placement = Placement() self._Placement._deserialize(params.get("Placement")) self._CreateTime = params.get("CreateTime") self._SchedulerType = params.get("SchedulerType") self._ComputeNodeCount = params.get("ComputeNodeCount") if params.get("ComputeNodeSet") is not None: self._ComputeNodeSet = [] for item in params.get("ComputeNodeSet"): obj = ComputeNodeOverview() obj._deserialize(item) self._ComputeNodeSet.append(obj) self._ManagerNodeCount = params.get("ManagerNodeCount") if params.get("ManagerNodeSet") is not None: self._ManagerNodeSet = [] for item in params.get("ManagerNodeSet"): obj = ManagerNodeOverview() obj._deserialize(item) self._ManagerNodeSet.append(obj) if params.get("LoginNodeSet") is not None: self._LoginNodeSet = [] for item in params.get("LoginNodeSet"): obj = LoginNodeOverview() obj._deserialize(item) self._LoginNodeSet.append(obj) self._LoginNodeCount = params.get("LoginNodeCount") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ComputeNode(AbstractModel): """计算节点信息。 """ def __init__(self): r""" :param _InstanceChargeType: 节点[计费类型](https://cloud.tencent.com/document/product/213/2180)。<br><li>PREPAID:预付费,即包年包月</li><br><li>POSTPAID_BY_HOUR:按小时后付费</li><br><li>SPOTPAID:竞价付费<br>默认值:POSTPAID_BY_HOUR。</li> :type InstanceChargeType: str :param _InstanceChargePrepaid: 预付费模式,即包年包月相关参数设置。通过该参数可以指定包年包月节点的购买时长、是否设置自动续费等属性。若指定节点的付费模式为预付费则该参数必传。 :type InstanceChargePrepaid: :class:`tencentcloud.thpc.v20211109.models.InstanceChargePrepaid` :param _InstanceType: 节点机型。不同实例机型指定了不同的资源规格。 <br><li>具体取值可通过调用接口[DescribeInstanceTypeConfigs](https://cloud.tencent.com/document/api/213/15749)来获得最新的规格表或参见[实例规格](https://cloud.tencent.com/document/product/213/11518)描述。</li> :type InstanceType: str :param _SystemDisk: 节点系统盘配置信息。若不指定该参数,则按照系统默认值进行分配。 :type SystemDisk: :class:`tencentcloud.thpc.v20211109.models.SystemDisk` :param _DataDisks: 节点数据盘配置信息。若不指定该参数,则默认不购买数据盘。支持购买的时候指定21块数据盘,其中最多包含1块LOCAL_BASIC数据盘或者LOCAL_SSD数据盘,最多包含20块CLOUD_BASIC数据盘、CLOUD_PREMIUM数据盘或者CLOUD_SSD数据盘。 :type DataDisks: list of DataDisk :param _InternetAccessible: 公网带宽相关信息设置。若不指定该参数,则默认公网带宽为0Mbps。 :type InternetAccessible: :class:`tencentcloud.thpc.v20211109.models.InternetAccessible` :param _InstanceName: 节点显示名称。<br><li> 不指定节点显示名称则默认显示‘未命名’。 最多支持60个字符。</li> :type InstanceName: str """ self._InstanceChargeType = None self._InstanceChargePrepaid = None self._InstanceType = None self._SystemDisk = None self._DataDisks = None self._InternetAccessible = None self._InstanceName = None @property def InstanceChargeType(self): """节点[计费类型](https://cloud.tencent.com/document/product/213/2180)。<br><li>PREPAID:预付费,即包年包月</li><br><li>POSTPAID_BY_HOUR:按小时后付费</li><br><li>SPOTPAID:竞价付费<br>默认值:POSTPAID_BY_HOUR。</li> :rtype: str """ return self._InstanceChargeType @InstanceChargeType.setter def InstanceChargeType(self, InstanceChargeType): self._InstanceChargeType = InstanceChargeType @property def InstanceChargePrepaid(self): """预付费模式,即包年包月相关参数设置。通过该参数可以指定包年包月节点的购买时长、是否设置自动续费等属性。若指定节点的付费模式为预付费则该参数必传。 :rtype: :class:`tencentcloud.thpc.v20211109.models.InstanceChargePrepaid` """ return self._InstanceChargePrepaid @InstanceChargePrepaid.setter def InstanceChargePrepaid(self, InstanceChargePrepaid): self._InstanceChargePrepaid = InstanceChargePrepaid @property def InstanceType(self): """节点机型。不同实例机型指定了不同的资源规格。 <br><li>具体取值可通过调用接口[DescribeInstanceTypeConfigs](https://cloud.tencent.com/document/api/213/15749)来获得最新的规格表或参见[实例规格](https://cloud.tencent.com/document/product/213/11518)描述。</li> :rtype: str """ return self._InstanceType @InstanceType.setter def InstanceType(self, InstanceType): self._InstanceType = InstanceType @property def SystemDisk(self): """节点系统盘配置信息。若不指定该参数,则按照系统默认值进行分配。 :rtype: :class:`tencentcloud.thpc.v20211109.models.SystemDisk` """ return self._SystemDisk @SystemDisk.setter def SystemDisk(self, SystemDisk): self._SystemDisk = SystemDisk @property def DataDisks(self): """节点数据盘配置信息。若不指定该参数,则默认不购买数据盘。支持购买的时候指定21块数据盘,其中最多包含1块LOCAL_BASIC数据盘或者LOCAL_SSD数据盘,最多包含20块CLOUD_BASIC数据盘、CLOUD_PREMIUM数据盘或者CLOUD_SSD数据盘。 :rtype: list of DataDisk """ return self._DataDisks @DataDisks.setter def DataDisks(self, DataDisks): self._DataDisks = DataDisks @property def InternetAccessible(self): """公网带宽相关信息设置。若不指定该参数,则默认公网带宽为0Mbps。 :rtype: :class:`tencentcloud.thpc.v20211109.models.InternetAccessible` """ return self._InternetAccessible @InternetAccessible.setter def InternetAccessible(self, InternetAccessible): self._InternetAccessible = InternetAccessible @property def InstanceName(self): """节点显示名称。<br><li> 不指定节点显示名称则默认显示‘未命名’。 最多支持60个字符。</li> :rtype: str """ return self._InstanceName @InstanceName.setter def InstanceName(self, InstanceName): self._InstanceName = InstanceName def _deserialize(self, params): self._InstanceChargeType = params.get("InstanceChargeType") if params.get("InstanceChargePrepaid") is not None: self._InstanceChargePrepaid = InstanceChargePrepaid() self._InstanceChargePrepaid._deserialize(params.get("InstanceChargePrepaid")) self._InstanceType = params.get("InstanceType") if params.get("SystemDisk") is not None: self._SystemDisk = SystemDisk() self._SystemDisk._deserialize(params.get("SystemDisk")) if params.get("DataDisks") is not None: self._DataDisks = [] for item in params.get("DataDisks"): obj = DataDisk() obj._deserialize(item) self._DataDisks.append(obj) if params.get("InternetAccessible") is not None: self._InternetAccessible = InternetAccessible() self._InternetAccessible._deserialize(params.get("InternetAccessible")) self._InstanceName = params.get("InstanceName") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ComputeNodeOverview(AbstractModel): """计算节点概览。 """ def __init__(self): r""" :param _NodeId: 计算节点ID。 注意:此字段可能返回 null,表示取不到有效值。 :type NodeId: str """ self._NodeId = None @property def NodeId(self): """计算节点ID。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._NodeId @NodeId.setter def NodeId(self, NodeId): self._NodeId = NodeId def _deserialize(self, params): self._NodeId = params.get("NodeId") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class CreateClusterRequest(AbstractModel): """CreateCluster请求参数结构体 """ def __init__(self): r""" :param _Placement: 集群中实例所在的位置。 :type Placement: :class:`tencentcloud.thpc.v20211109.models.Placement` :param _ManagerNode: 指定管理节点。 :type ManagerNode: :class:`tencentcloud.thpc.v20211109.models.ManagerNode` :param _ManagerNodeCount: 指定管理节点的数量。默认取值:1。取值范围:1~2。 :type ManagerNodeCount: int :param _ComputeNode: 指定计算节点。 :type ComputeNode: :class:`tencentcloud.thpc.v20211109.models.ComputeNode` :param _ComputeNodeCount: 指定计算节点的数量。默认取值:0。 :type ComputeNodeCount: int :param _SchedulerType: 调度器类型。<br><li>SGE:SGE调度器。</li><br><li>SLURM:SLURM调度器。</li> :type SchedulerType: str :param _ImageId: 指定有效的[镜像](https://cloud.tencent.com/document/product/213/4940)ID,格式形如`img-xxx`。目前仅支持公有镜像。 :type ImageId: str :param _VirtualPrivateCloud: 私有网络相关信息配置。 :type VirtualPrivateCloud: :class:`tencentcloud.thpc.v20211109.models.VirtualPrivateCloud` :param _LoginSettings: 集群登录设置。 :type LoginSettings: :class:`tencentcloud.thpc.v20211109.models.LoginSettings` :param _SecurityGroupIds: 集群中实例所属安全组。该参数可以通过调用 [DescribeSecurityGroups](https://cloud.tencent.com/document/api/215/15808) 的返回值中的sgId字段来获取。若不指定该参数,则绑定默认安全组。 :type SecurityGroupIds: list of str :param _ClientToken: 用于保证请求幂等性的字符串。该字符串由客户生成,需保证不同请求之间唯一,最大值不超过64个ASCII字符。若不指定该参数,则无法保证请求的幂等性。 :type ClientToken: str :param _DryRun: 是否只预检此次请求。 true:发送检查请求,不会创建实例。检查项包括是否填写了必需参数,请求格式,业务限制和云服务器库存。 如果检查不通过,则返回对应错误码; 如果检查通过,则返回RequestId. false(默认):发送正常请求,通过检查后直接创建实例 :type DryRun: bool :param _AccountType: 域名字服务类型。默认值:NIS<li>NIS:NIS域名字服务。</li> :type AccountType: str :param _ClusterName: 集群显示名称。 :type ClusterName: str :param _StorageOption: 集群存储选项 :type StorageOption: :class:`tencentcloud.thpc.v20211109.models.StorageOption` :param _LoginNode: 已废弃。 指定登录节点。 :type LoginNode: list of LoginNode :param _LoginNodeCount: 已废弃。 指定登录节点的数量。默认取值:0。取值范围:0~10。 :type LoginNodeCount: int :param _Tags: 创建集群时同时绑定的标签对说明。 :type Tags: list of Tag """ self._Placement = None self._ManagerNode = None self._ManagerNodeCount = None self._ComputeNode = None self._ComputeNodeCount = None self._SchedulerType = None self._ImageId = None self._VirtualPrivateCloud = None self._LoginSettings = None self._SecurityGroupIds = None self._ClientToken = None self._DryRun = None self._AccountType = None self._ClusterName = None self._StorageOption = None self._LoginNode = None self._LoginNodeCount = None self._Tags = None @property def Placement(self): """集群中实例所在的位置。 :rtype: :class:`tencentcloud.thpc.v20211109.models.Placement` """ return self._Placement @Placement.setter def Placement(self, Placement): self._Placement = Placement @property def ManagerNode(self): """指定管理节点。 :rtype: :class:`tencentcloud.thpc.v20211109.models.ManagerNode` """ return self._ManagerNode @ManagerNode.setter def ManagerNode(self, ManagerNode): self._ManagerNode = ManagerNode @property def ManagerNodeCount(self): """指定管理节点的数量。默认取值:1。取值范围:1~2。 :rtype: int """ return self._ManagerNodeCount @ManagerNodeCount.setter def ManagerNodeCount(self, ManagerNodeCount): self._ManagerNodeCount = ManagerNodeCount @property def ComputeNode(self): """指定计算节点。 :rtype: :class:`tencentcloud.thpc.v20211109.models.ComputeNode` """ return self._ComputeNode @ComputeNode.setter def ComputeNode(self, ComputeNode): self._ComputeNode = ComputeNode @property def ComputeNodeCount(self): """指定计算节点的数量。默认取值:0。 :rtype: int """ return self._ComputeNodeCount @ComputeNodeCount.setter def ComputeNodeCount(self, ComputeNodeCount): self._ComputeNodeCount = ComputeNodeCount @property def SchedulerType(self): """调度器类型。<br><li>SGE:SGE调度器。</li><br><li>SLURM:SLURM调度器。</li> :rtype: str """ return self._SchedulerType @SchedulerType.setter def SchedulerType(self, SchedulerType): self._SchedulerType = SchedulerType @property def ImageId(self): """指定有效的[镜像](https://cloud.tencent.com/document/product/213/4940)ID,格式形如`img-xxx`。目前仅支持公有镜像。 :rtype: str """ return self._ImageId @ImageId.setter def ImageId(self, ImageId): self._ImageId = ImageId @property def VirtualPrivateCloud(self): """私有网络相关信息配置。 :rtype: :class:`tencentcloud.thpc.v20211109.models.VirtualPrivateCloud` """ return self._VirtualPrivateCloud @VirtualPrivateCloud.setter def VirtualPrivateCloud(self, VirtualPrivateCloud): self._VirtualPrivateCloud = VirtualPrivateCloud @property def LoginSettings(self): """集群登录设置。 :rtype: :class:`tencentcloud.thpc.v20211109.models.LoginSettings` """ return self._LoginSettings @LoginSettings.setter def LoginSettings(self, LoginSettings): self._LoginSettings = LoginSettings @property def SecurityGroupIds(self): """集群中实例所属安全组。该参数可以通过调用 [DescribeSecurityGroups](https://cloud.tencent.com/document/api/215/15808) 的返回值中的sgId字段来获取。若不指定该参数,则绑定默认安全组。 :rtype: list of str """ return self._SecurityGroupIds @SecurityGroupIds.setter def SecurityGroupIds(self, SecurityGroupIds): self._SecurityGroupIds = SecurityGroupIds @property def ClientToken(self): """用于保证请求幂等性的字符串。该字符串由客户生成,需保证不同请求之间唯一,最大值不超过64个ASCII字符。若不指定该参数,则无法保证请求的幂等性。 :rtype: str """ return self._ClientToken @ClientToken.setter def ClientToken(self, ClientToken): self._ClientToken = ClientToken @property def DryRun(self): """是否只预检此次请求。 true:发送检查请求,不会创建实例。检查项包括是否填写了必需参数,请求格式,业务限制和云服务器库存。 如果检查不通过,则返回对应错误码; 如果检查通过,则返回RequestId. false(默认):发送正常请求,通过检查后直接创建实例 :rtype: bool """ return self._DryRun @DryRun.setter def DryRun(self, DryRun): self._DryRun = DryRun @property def AccountType(self): """域名字服务类型。默认值:NIS<li>NIS:NIS域名字服务。</li> :rtype: str """ return self._AccountType @AccountType.setter def AccountType(self, AccountType): self._AccountType = AccountType @property def ClusterName(self): """集群显示名称。 :rtype: str """ return self._ClusterName @ClusterName.setter def ClusterName(self, ClusterName): self._ClusterName = ClusterName @property def StorageOption(self): """集群存储选项 :rtype: :class:`tencentcloud.thpc.v20211109.models.StorageOption` """ return self._StorageOption @StorageOption.setter def StorageOption(self, StorageOption): self._StorageOption = StorageOption @property def LoginNode(self): """已废弃。 指定登录节点。 :rtype: list of LoginNode """ return self._LoginNode @LoginNode.setter def LoginNode(self, LoginNode): self._LoginNode = LoginNode @property def LoginNodeCount(self): """已废弃。 指定登录节点的数量。默认取值:0。取值范围:0~10。 :rtype: int """ return self._LoginNodeCount @LoginNodeCount.setter def LoginNodeCount(self, LoginNodeCount): self._LoginNodeCount = LoginNodeCount @property def Tags(self): """创建集群时同时绑定的标签对说明。 :rtype: list of Tag """ return self._Tags @Tags.setter def Tags(self, Tags): self._Tags = Tags def _deserialize(self, params): if params.get("Placement") is not None: self._Placement = Placement() self._Placement._deserialize(params.get("Placement")) if params.get("ManagerNode") is not None: self._ManagerNode = ManagerNode() self._ManagerNode._deserialize(params.get("ManagerNode")) self._ManagerNodeCount = params.get("ManagerNodeCount") if params.get("ComputeNode") is not None: self._ComputeNode = ComputeNode() self._ComputeNode._deserialize(params.get("ComputeNode")) self._ComputeNodeCount = params.get("ComputeNodeCount") self._SchedulerType = params.get("SchedulerType") self._ImageId = params.get("ImageId") if params.get("VirtualPrivateCloud") is not None: self._VirtualPrivateCloud = VirtualPrivateCloud() self._VirtualPrivateCloud._deserialize(params.get("VirtualPrivateCloud")) if params.get("LoginSettings") is not None: self._LoginSettings = LoginSettings() self._LoginSettings._deserialize(params.get("LoginSettings")) self._SecurityGroupIds = params.get("SecurityGroupIds") self._ClientToken = params.get("ClientToken") self._DryRun = params.get("DryRun") self._AccountType = params.get("AccountType") self._ClusterName = params.get("ClusterName") if params.get("StorageOption") is not None: self._StorageOption = StorageOption() self._StorageOption._deserialize(params.get("StorageOption")) if params.get("LoginNode") is not None: self._LoginNode = [] for item in params.get("LoginNode"): obj = LoginNode() obj._deserialize(item) self._LoginNode.append(obj) self._LoginNodeCount = params.get("LoginNodeCount") if params.get("Tags") is not None: self._Tags = [] for item in params.get("Tags"): obj = Tag() obj._deserialize(item) self._Tags.append(obj) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class CreateClusterResponse(AbstractModel): """CreateCluster返回参数结构体 """ def __init__(self): r""" :param _ClusterId: 集群ID。 注意:此字段可能返回 null,表示取不到有效值。 :type ClusterId: str :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._ClusterId = None self._RequestId = None @property def ClusterId(self): """集群ID。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._ClusterId @ClusterId.setter def ClusterId(self, ClusterId): self._ClusterId = ClusterId @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._ClusterId = params.get("ClusterId") self._RequestId = params.get("RequestId") class DataDisk(AbstractModel): """描述了数据盘的信息 """ def __init__(self): r""" :param _DiskSize: 数据盘大小,单位:GB。最小调整步长为10G,不同数据盘类型取值范围不同,具体限制详见:[存储概述](https://cloud.tencent.com/document/product/213/4952)。默认值为0,表示不购买数据盘。更多限制详见产品文档。 :type DiskSize: int :param _DiskType: 数据盘类型。数据盘类型限制详见[存储概述](https://cloud.tencent.com/document/product/213/4952)。取值范围:<br><li>LOCAL_BASIC:本地硬盘<br><li>LOCAL_SSD:本地SSD硬盘<br><li>LOCAL_NVME:本地NVME硬盘,与InstanceType强相关,不支持指定<br><li>LOCAL_PRO:本地HDD硬盘,与InstanceType强相关,不支持指定<br><li>CLOUD_BASIC:普通云硬盘<br><li>CLOUD_PREMIUM:高性能云硬盘<br><li>CLOUD_SSD:SSD云硬盘<br><li>CLOUD_HSSD:增强型SSD云硬盘<br><li>CLOUD_TSSD:极速型SSD云硬盘<br><br>默认取值:LOCAL_BASIC。 :type DiskType: str """ self._DiskSize = None self._DiskType = None @property def DiskSize(self): """数据盘大小,单位:GB。最小调整步长为10G,不同数据盘类型取值范围不同,具体限制详见:[存储概述](https://cloud.tencent.com/document/product/213/4952)。默认值为0,表示不购买数据盘。更多限制详见产品文档。 :rtype: int """ return self._DiskSize @DiskSize.setter def DiskSize(self, DiskSize): self._DiskSize = DiskSize @property def DiskType(self): """数据盘类型。数据盘类型限制详见[存储概述](https://cloud.tencent.com/document/product/213/4952)。取值范围:<br><li>LOCAL_BASIC:本地硬盘<br><li>LOCAL_SSD:本地SSD硬盘<br><li>LOCAL_NVME:本地NVME硬盘,与InstanceType强相关,不支持指定<br><li>LOCAL_PRO:本地HDD硬盘,与InstanceType强相关,不支持指定<br><li>CLOUD_BASIC:普通云硬盘<br><li>CLOUD_PREMIUM:高性能云硬盘<br><li>CLOUD_SSD:SSD云硬盘<br><li>CLOUD_HSSD:增强型SSD云硬盘<br><li>CLOUD_TSSD:极速型SSD云硬盘<br><br>默认取值:LOCAL_BASIC。 :rtype: str """ return self._DiskType @DiskType.setter def DiskType(self, DiskType): self._DiskType = DiskType def _deserialize(self, params): self._DiskSize = params.get("DiskSize") self._DiskType = params.get("DiskType") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DeleteClusterRequest(AbstractModel): """DeleteCluster请求参数结构体 """ def __init__(self): r""" :param _ClusterId: 集群ID。 :type ClusterId: str """ self._ClusterId = None @property def ClusterId(self): """集群ID。 :rtype: str """ return self._ClusterId @ClusterId.setter def ClusterId(self, ClusterId): self._ClusterId = ClusterId def _deserialize(self, params): self._ClusterId = params.get("ClusterId") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DeleteClusterResponse(AbstractModel): """DeleteCluster返回参数结构体 """ def __init__(self): r""" :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._RequestId = None @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._RequestId = params.get("RequestId") class DescribeClustersRequest(AbstractModel): """DescribeClusters请求参数结构体 """ def __init__(self): r""" :param _ClusterIds: 集群ID列表。通过该参数可以指定需要查询信息的集群列表。<br>如果您不指定该参数,则返回Limit数量以内的集群信息。 :type ClusterIds: list of str :param _Offset: 偏移量,默认为0。关于`Offset`的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。 :type Offset: int :param _Limit: 返回数量,默认为20,最大值为100。关于`Limit`的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。 :type Limit: int """ self._ClusterIds = None self._Offset = None self._Limit = None @property def ClusterIds(self): """集群ID列表。通过该参数可以指定需要查询信息的集群列表。<br>如果您不指定该参数,则返回Limit数量以内的集群信息。 :rtype: list of str """ return self._ClusterIds @ClusterIds.setter def ClusterIds(self, ClusterIds): self._ClusterIds = ClusterIds @property def Offset(self): """偏移量,默认为0。关于`Offset`的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。 :rtype: int """ return self._Offset @Offset.setter def Offset(self, Offset): self._Offset = Offset @property def Limit(self): """返回数量,默认为20,最大值为100。关于`Limit`的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。 :rtype: int """ return self._Limit @Limit.setter def Limit(self, Limit): self._Limit = Limit def _deserialize(self, params): self._ClusterIds = params.get("ClusterIds") self._Offset = params.get("Offset") self._Limit = params.get("Limit") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DescribeClustersResponse(AbstractModel): """DescribeClusters返回参数结构体 """ def __init__(self): r""" :param _ClusterSet: 集群概览信息列表。 :type ClusterSet: list of ClusterOverview :param _TotalCount: 集群数量。 :type TotalCount: int :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._ClusterSet = None self._TotalCount = None self._RequestId = None @property def ClusterSet(self): """集群概览信息列表。 :rtype: list of ClusterOverview """ return self._ClusterSet @ClusterSet.setter def ClusterSet(self, ClusterSet): self._ClusterSet = ClusterSet @property def TotalCount(self): """集群数量。 :rtype: int """ return self._TotalCount @TotalCount.setter def TotalCount(self, TotalCount): self._TotalCount = TotalCount @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): if params.get("ClusterSet") is not None: self._ClusterSet = [] for item in params.get("ClusterSet"): obj = ClusterOverview() obj._deserialize(item) self._ClusterSet.append(obj) self._TotalCount = params.get("TotalCount") self._RequestId = params.get("RequestId") class GooseFSOption(AbstractModel): """描述GooseFS挂载信息 """ def __init__(self): r""" :param _LocalPath: 文件系统本地挂载路径 :type LocalPath: str :param _RemotePath: 文件系统远程挂载路径 :type RemotePath: str :param _Masters: 文件系统master的ip和端口 :type Masters: list of str """ self._LocalPath = None self._RemotePath = None self._Masters = None @property def LocalPath(self): """文件系统本地挂载路径 :rtype: str """ return self._LocalPath @LocalPath.setter def LocalPath(self, LocalPath): self._LocalPath = LocalPath @property def RemotePath(self): """文件系统远程挂载路径 :rtype: str """ return self._RemotePath @RemotePath.setter def RemotePath(self, RemotePath): self._RemotePath = RemotePath @property def Masters(self): """文件系统master的ip和端口 :rtype: list of str """ return self._Masters @Masters.setter def Masters(self, Masters): self._Masters = Masters def _deserialize(self, params): self._LocalPath = params.get("LocalPath") self._RemotePath = params.get("RemotePath") self._Masters = params.get("Masters") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class InstanceChargePrepaid(AbstractModel): """描述了实例的计费模式 """ def __init__(self): r""" :param _Period: 购买实例的时长,单位:月。取值范围:1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 24, 36, 48, 60。 :type Period: int :param _RenewFlag: 自动续费标识。取值范围: NOTIFY_AND_AUTO_RENEW:通知过期且自动续费 NOTIFY_AND_MANUAL_RENEW:通知过期不自动续费 DISABLE_NOTIFY_AND_MANUAL_RENEW:不通知过期不自动续费 默认取值:NOTIFY_AND_MANUAL_RENEW。若该参数指定为NOTIFY_AND_AUTO_RENEW,在账户余额充足的情况下,实例到期后将按月自动续费。 :type RenewFlag: str """ self._Period = None self._RenewFlag = None @property def Period(self): """购买实例的时长,单位:月。取值范围:1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 24, 36, 48, 60。 :rtype: int """ return self._Period @Period.setter def Period(self, Period): self._Period = Period @property def RenewFlag(self): """自动续费标识。取值范围: NOTIFY_AND_AUTO_RENEW:通知过期且自动续费 NOTIFY_AND_MANUAL_RENEW:通知过期不自动续费 DISABLE_NOTIFY_AND_MANUAL_RENEW:不通知过期不自动续费 默认取值:NOTIFY_AND_MANUAL_RENEW。若该参数指定为NOTIFY_AND_AUTO_RENEW,在账户余额充足的情况下,实例到期后将按月自动续费。 :rtype: str """ return self._RenewFlag @RenewFlag.setter def RenewFlag(self, RenewFlag): self._RenewFlag = RenewFlag def _deserialize(self, params): self._Period = params.get("Period") self._RenewFlag = params.get("RenewFlag") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class InternetAccessible(AbstractModel): """描述了实例的公网可访问性,声明了实例的公网使用计费模式,最大带宽等 """ def __init__(self): r""" :param _InternetChargeType: 网络计费类型。取值范围: BANDWIDTH_PREPAID:预付费按带宽结算 TRAFFIC_POSTPAID_BY_HOUR:流量按小时后付费 BANDWIDTH_POSTPAID_BY_HOUR:带宽按小时后付费 BANDWIDTH_PACKAGE:带宽包用户 默认取值:非带宽包用户默认与子机付费类型保持一致。 :type InternetChargeType: str :param _InternetMaxBandwidthOut: 公网出带宽上限,单位:Mbps。默认值:0Mbps。不同机型带宽上限范围不一致,具体限制详见购买网络带宽。 :type InternetMaxBandwidthOut: int """ self._InternetChargeType = None self._InternetMaxBandwidthOut = None @property def InternetChargeType(self): """网络计费类型。取值范围: BANDWIDTH_PREPAID:预付费按带宽结算 TRAFFIC_POSTPAID_BY_HOUR:流量按小时后付费 BANDWIDTH_POSTPAID_BY_HOUR:带宽按小时后付费 BANDWIDTH_PACKAGE:带宽包用户 默认取值:非带宽包用户默认与子机付费类型保持一致。 :rtype: str """ return self._InternetChargeType @InternetChargeType.setter def InternetChargeType(self, InternetChargeType): self._InternetChargeType = InternetChargeType @property def InternetMaxBandwidthOut(self): """公网出带宽上限,单位:Mbps。默认值:0Mbps。不同机型带宽上限范围不一致,具体限制详见购买网络带宽。 :rtype: int """ return self._InternetMaxBandwidthOut @InternetMaxBandwidthOut.setter def InternetMaxBandwidthOut(self, InternetMaxBandwidthOut): self._InternetMaxBandwidthOut = InternetMaxBandwidthOut def _deserialize(self, params): self._InternetChargeType = params.get("InternetChargeType") self._InternetMaxBandwidthOut = params.get("InternetMaxBandwidthOut") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class LoginNode(AbstractModel): """登录节点信息。 """ def __init__(self): r""" :param _InstanceChargeType: 节点[计费类型](https://cloud.tencent.com/document/product/213/2180)。<br><li>PREPAID:预付费,即包年包月</li><br><li>POSTPAID_BY_HOUR:按小时后付费</li><br><li>SPOTPAID:竞价付费<br>默认值:POSTPAID_BY_HOUR。</li> :type InstanceChargeType: str :param _InstanceChargePrepaid: 预付费模式,即包年包月相关参数设置。通过该参数可以指定包年包月节点的购买时长、是否设置自动续费等属性。若指定节点的付费模式为预付费则该参数必传。 :type InstanceChargePrepaid: :class:`tencentcloud.thpc.v20211109.models.InstanceChargePrepaid` :param _InstanceType: 节点机型。不同实例机型指定了不同的资源规格。 <br><li>具体取值可通过调用接口[DescribeInstanceTypeConfigs](https://cloud.tencent.com/document/api/213/15749)来获得最新的规格表或参见[实例规格](https://cloud.tencent.com/document/product/213/11518)描述。</li> :type InstanceType: str :param _SystemDisk: 节点系统盘配置信息。若不指定该参数,则按照系统默认值进行分配。 :type SystemDisk: list of SystemDisk :param _DataDisks: 节点数据盘配置信息。若不指定该参数,则默认不购买数据盘。支持购买的时候指定21块数据盘,其中最多包含1块LOCAL_BASIC数据盘或者LOCAL_SSD数据盘,最多包含20块CLOUD_BASIC数据盘、CLOUD_PREMIUM数据盘或者CLOUD_SSD数据盘。 :type DataDisks: list of DataDisk :param _InternetAccessible: 公网带宽相关信息设置。若不指定该参数,则默认公网带宽为0Mbps。 :type InternetAccessible: list of InternetAccessible :param _InstanceName: 节点显示名称。<br><li> 不指定节点显示名称则默认显示‘未命名’。 最多支持60个字符。</li> :type InstanceName: str """ self._InstanceChargeType = None self._InstanceChargePrepaid = None self._InstanceType = None self._SystemDisk = None self._DataDisks = None self._InternetAccessible = None self._InstanceName = None @property def InstanceChargeType(self): """节点[计费类型](https://cloud.tencent.com/document/product/213/2180)。<br><li>PREPAID:预付费,即包年包月</li><br><li>POSTPAID_BY_HOUR:按小时后付费</li><br><li>SPOTPAID:竞价付费<br>默认值:POSTPAID_BY_HOUR。</li> :rtype: str """ return self._InstanceChargeType @InstanceChargeType.setter def InstanceChargeType(self, InstanceChargeType): self._InstanceChargeType = InstanceChargeType @property def InstanceChargePrepaid(self): """预付费模式,即包年包月相关参数设置。通过该参数可以指定包年包月节点的购买时长、是否设置自动续费等属性。若指定节点的付费模式为预付费则该参数必传。 :rtype: :class:`tencentcloud.thpc.v20211109.models.InstanceChargePrepaid` """ return self._InstanceChargePrepaid @InstanceChargePrepaid.setter def InstanceChargePrepaid(self, InstanceChargePrepaid): self._InstanceChargePrepaid = InstanceChargePrepaid @property def InstanceType(self): """节点机型。不同实例机型指定了不同的资源规格。 <br><li>具体取值可通过调用接口[DescribeInstanceTypeConfigs](https://cloud.tencent.com/document/api/213/15749)来获得最新的规格表或参见[实例规格](https://cloud.tencent.com/document/product/213/11518)描述。</li> :rtype: str """ return self._InstanceType @InstanceType.setter def InstanceType(self, InstanceType): self._InstanceType = InstanceType @property def SystemDisk(self): """节点系统盘配置信息。若不指定该参数,则按照系统默认值进行分配。 :rtype: list of SystemDisk """ return self._SystemDisk @SystemDisk.setter def SystemDisk(self, SystemDisk): self._SystemDisk = SystemDisk @property def DataDisks(self): """节点数据盘配置信息。若不指定该参数,则默认不购买数据盘。支持购买的时候指定21块数据盘,其中最多包含1块LOCAL_BASIC数据盘或者LOCAL_SSD数据盘,最多包含20块CLOUD_BASIC数据盘、CLOUD_PREMIUM数据盘或者CLOUD_SSD数据盘。 :rtype: list of DataDisk """ return self._DataDisks @DataDisks.setter def DataDisks(self, DataDisks): self._DataDisks = DataDisks @property def InternetAccessible(self): """公网带宽相关信息设置。若不指定该参数,则默认公网带宽为0Mbps。 :rtype: list of InternetAccessible """ return self._InternetAccessible @InternetAccessible.setter def InternetAccessible(self, InternetAccessible): self._InternetAccessible = InternetAccessible @property def InstanceName(self): """节点显示名称。<br><li> 不指定节点显示名称则默认显示‘未命名’。 最多支持60个字符。</li> :rtype: str """ return self._InstanceName @InstanceName.setter def InstanceName(self, InstanceName): self._InstanceName = InstanceName def _deserialize(self, params): self._InstanceChargeType = params.get("InstanceChargeType") if params.get("InstanceChargePrepaid") is not None: self._InstanceChargePrepaid = InstanceChargePrepaid() self._InstanceChargePrepaid._deserialize(params.get("InstanceChargePrepaid")) self._InstanceType = params.get("InstanceType") if params.get("SystemDisk") is not None: self._SystemDisk = [] for item in params.get("SystemDisk"): obj = SystemDisk() obj._deserialize(item) self._SystemDisk.append(obj) if params.get("DataDisks") is not None: self._DataDisks = [] for item in params.get("DataDisks"): obj = DataDisk() obj._deserialize(item) self._DataDisks.append(obj) if params.get("InternetAccessible") is not None: self._InternetAccessible = [] for item in params.get("InternetAccessible"): obj = InternetAccessible() obj._deserialize(item) self._InternetAccessible.append(obj) self._InstanceName = params.get("InstanceName") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class LoginNodeOverview(AbstractModel): """登录节点概览。 """ def __init__(self): r""" :param _NodeId: 登录节点ID。 :type NodeId: str """ self._NodeId = None @property def NodeId(self): """登录节点ID。 :rtype: str """ return self._NodeId @NodeId.setter def NodeId(self, NodeId): self._NodeId = NodeId def _deserialize(self, params): self._NodeId = params.get("NodeId") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class LoginSettings(AbstractModel): """描述了实例登录相关配置与信息。 """ def __init__(self): r""" :param _Password: 实例登录密码。不同操作系统类型密码复杂度限制不一样,具体如下:<br><li>Linux实例密码必须8到30位,至少包括两项[a-z],[A-Z]、[0-9] 和 [( ) \` ~ ! @ # $ % ^ & * - + = | { } [ ] : ; ' , . ? / ]中的特殊符号。</li><br><li>Windows实例密码必须12到30位,至少包括三项[a-z],[A-Z],[0-9] 和 [( ) \` ~ ! @ # $ % ^ & * - + = | { } [ ] : ; ' , . ? /]中的特殊符号。</li><br><br>若不指定该参数,则由系统随机生成密码,并通过站内信方式通知到用户。 :type Password: str """ self._Password = None @property def Password(self): """实例登录密码。不同操作系统类型密码复杂度限制不一样,具体如下:<br><li>Linux实例密码必须8到30位,至少包括两项[a-z],[A-Z]、[0-9] 和 [( ) \` ~ ! @ # $ % ^ & * - + = | { } [ ] : ; ' , . ? / ]中的特殊符号。</li><br><li>Windows实例密码必须12到30位,至少包括三项[a-z],[A-Z],[0-9] 和 [( ) \` ~ ! @ # $ % ^ & * - + = | { } [ ] : ; ' , . ? /]中的特殊符号。</li><br><br>若不指定该参数,则由系统随机生成密码,并通过站内信方式通知到用户。 :rtype: str """ return self._Password @Password.setter def Password(self, Password): self._Password = Password def _deserialize(self, params): self._Password = params.get("Password") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ManagerNode(AbstractModel): """管控节点信息 """ def __init__(self): r""" :param _InstanceChargeType: 节点[计费类型](https://cloud.tencent.com/document/product/213/2180)。<br><li>PREPAID:预付费,即包年包月</li><br><li>POSTPAID_BY_HOUR:按小时后付费</li><br><li>SPOTPAID:竞价付费<br>默认值:POSTPAID_BY_HOUR。</li> :type InstanceChargeType: str :param _InstanceChargePrepaid: 预付费模式,即包年包月相关参数设置。通过该参数可以指定包年包月节点的购买时长、是否设置自动续费等属性。若指定节点的付费模式为预付费则该参数必传。 :type InstanceChargePrepaid: :class:`tencentcloud.thpc.v20211109.models.InstanceChargePrepaid` :param _InstanceType: 节点机型。不同实例机型指定了不同的资源规格。 <br><li>具体取值可通过调用接口[DescribeInstanceTypeConfigs](https://cloud.tencent.com/document/api/213/15749)来获得最新的规格表或参见[实例规格](https://cloud.tencent.com/document/product/213/11518)描述。</li> :type InstanceType: str :param _SystemDisk: 节点系统盘配置信息。若不指定该参数,则按照系统默认值进行分配。 :type SystemDisk: :class:`tencentcloud.thpc.v20211109.models.SystemDisk` :param _DataDisks: 节点数据盘配置信息。若不指定该参数,则默认不购买数据盘。支持购买的时候指定21块数据盘,其中最多包含1块LOCAL_BASIC数据盘或者LOCAL_SSD数据盘,最多包含20块CLOUD_BASIC数据盘、CLOUD_PREMIUM数据盘或者CLOUD_SSD数据盘。 :type DataDisks: list of DataDisk :param _InternetAccessible: 公网带宽相关信息设置。若不指定该参数,则默认公网带宽为0Mbps。 :type InternetAccessible: :class:`tencentcloud.thpc.v20211109.models.InternetAccessible` :param _InstanceName: 节点显示名称。<br><li> 不指定节点显示名称则默认显示‘未命名’。 </li><li>购买多个节点,如果指定模式串`{R:x}`,表示生成数字[`[x, x+n-1]`,其中`n`表示购买节点的数量,例如`server_{R:3}`,购买1个时,节点显示名称为`server_3`;购买2个时,节点显示名称分别为`server_3`,`server_4`。支持指定多个模式串`{R:x}`。 购买多个节点,如果不指定模式串,则在节点显示名称添加后缀`1、2...n`,其中`n`表示购买节点的数量,例如`server_`,购买2个时,节点显示名称分别为`server_1`,`server_2`。</li><li> 最多支持60个字符(包含模式串)。</li> :type InstanceName: str """ self._InstanceChargeType = None self._InstanceChargePrepaid = None self._InstanceType = None self._SystemDisk = None self._DataDisks = None self._InternetAccessible = None self._InstanceName = None @property def InstanceChargeType(self): """节点[计费类型](https://cloud.tencent.com/document/product/213/2180)。<br><li>PREPAID:预付费,即包年包月</li><br><li>POSTPAID_BY_HOUR:按小时后付费</li><br><li>SPOTPAID:竞价付费<br>默认值:POSTPAID_BY_HOUR。</li> :rtype: str """ return self._InstanceChargeType @InstanceChargeType.setter def InstanceChargeType(self, InstanceChargeType): self._InstanceChargeType = InstanceChargeType @property def InstanceChargePrepaid(self): """预付费模式,即包年包月相关参数设置。通过该参数可以指定包年包月节点的购买时长、是否设置自动续费等属性。若指定节点的付费模式为预付费则该参数必传。 :rtype: :class:`tencentcloud.thpc.v20211109.models.InstanceChargePrepaid` """ return self._InstanceChargePrepaid @InstanceChargePrepaid.setter def InstanceChargePrepaid(self, InstanceChargePrepaid): self._InstanceChargePrepaid = InstanceChargePrepaid @property def InstanceType(self): """节点机型。不同实例机型指定了不同的资源规格。 <br><li>具体取值可通过调用接口[DescribeInstanceTypeConfigs](https://cloud.tencent.com/document/api/213/15749)来获得最新的规格表或参见[实例规格](https://cloud.tencent.com/document/product/213/11518)描述。</li> :rtype: str """ return self._InstanceType @InstanceType.setter def InstanceType(self, InstanceType): self._InstanceType = InstanceType @property def SystemDisk(self): """节点系统盘配置信息。若不指定该参数,则按照系统默认值进行分配。 :rtype: :class:`tencentcloud.thpc.v20211109.models.SystemDisk` """ return self._SystemDisk @SystemDisk.setter def SystemDisk(self, SystemDisk): self._SystemDisk = SystemDisk @property def DataDisks(self): """节点数据盘配置信息。若不指定该参数,则默认不购买数据盘。支持购买的时候指定21块数据盘,其中最多包含1块LOCAL_BASIC数据盘或者LOCAL_SSD数据盘,最多包含20块CLOUD_BASIC数据盘、CLOUD_PREMIUM数据盘或者CLOUD_SSD数据盘。 :rtype: list of DataDisk """ return self._DataDisks @DataDisks.setter def DataDisks(self, DataDisks): self._DataDisks = DataDisks @property def InternetAccessible(self): """公网带宽相关信息设置。若不指定该参数,则默认公网带宽为0Mbps。 :rtype: :class:`tencentcloud.thpc.v20211109.models.InternetAccessible` """ return self._InternetAccessible @InternetAccessible.setter def InternetAccessible(self, InternetAccessible): self._InternetAccessible = InternetAccessible @property def InstanceName(self): """节点显示名称。<br><li> 不指定节点显示名称则默认显示‘未命名’。 </li><li>购买多个节点,如果指定模式串`{R:x}`,表示生成数字[`[x, x+n-1]`,其中`n`表示购买节点的数量,例如`server_{R:3}`,购买1个时,节点显示名称为`server_3`;购买2个时,节点显示名称分别为`server_3`,`server_4`。支持指定多个模式串`{R:x}`。 购买多个节点,如果不指定模式串,则在节点显示名称添加后缀`1、2...n`,其中`n`表示购买节点的数量,例如`server_`,购买2个时,节点显示名称分别为`server_1`,`server_2`。</li><li> 最多支持60个字符(包含模式串)。</li> :rtype: str """ return self._InstanceName @InstanceName.setter def InstanceName(self, InstanceName): self._InstanceName = InstanceName def _deserialize(self, params): self._InstanceChargeType = params.get("InstanceChargeType") if params.get("InstanceChargePrepaid") is not None: self._InstanceChargePrepaid = InstanceChargePrepaid() self._InstanceChargePrepaid._deserialize(params.get("InstanceChargePrepaid")) self._InstanceType = params.get("InstanceType") if params.get("SystemDisk") is not None: self._SystemDisk = SystemDisk() self._SystemDisk._deserialize(params.get("SystemDisk")) if params.get("DataDisks") is not None: self._DataDisks = [] for item in params.get("DataDisks"): obj = DataDisk() obj._deserialize(item) self._DataDisks.append(obj) if params.get("InternetAccessible") is not None: self._InternetAccessible = InternetAccessible() self._InternetAccessible._deserialize(params.get("InternetAccessible")) self._InstanceName = params.get("InstanceName") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ManagerNodeOverview(AbstractModel): """管控节点概览。 """ def __init__(self): r""" :param _NodeId: 管控节点ID。 注意:此字段可能返回 null,表示取不到有效值。 :type NodeId: str """ self._NodeId = None @property def NodeId(self): """管控节点ID。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._NodeId @NodeId.setter def NodeId(self, NodeId): self._NodeId = NodeId def _deserialize(self, params): self._NodeId = params.get("NodeId") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class Placement(AbstractModel): """描述了实例的抽象位置 """ def __init__(self): r""" :param _Zone: 实例所属的可用区名称。该参数可以通过调用 [DescribeZones](https://cloud.tencent.com/document/product/213/15707) 的返回值中的Zone字段来获取。 :type Zone: str """ self._Zone = None @property def Zone(self): """实例所属的可用区名称。该参数可以通过调用 [DescribeZones](https://cloud.tencent.com/document/product/213/15707) 的返回值中的Zone字段来获取。 :rtype: str """ return self._Zone @Zone.setter def Zone(self, Zone): self._Zone = Zone def _deserialize(self, params): self._Zone = params.get("Zone") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class StorageOption(AbstractModel): """描述集群文件系统选项 """ def __init__(self): r""" :param _CFSOptions: 集群挂载CFS文件系统选项 :type CFSOptions: list of CFSOption :param _GooseFSOptions: 集群挂在GooseFS文件系统选项 :type GooseFSOptions: list of GooseFSOption """ self._CFSOptions = None self._GooseFSOptions = None @property def CFSOptions(self): """集群挂载CFS文件系统选项 :rtype: list of CFSOption """ return self._CFSOptions @CFSOptions.setter def CFSOptions(self, CFSOptions): self._CFSOptions = CFSOptions @property def GooseFSOptions(self): """集群挂在GooseFS文件系统选项 :rtype: list of GooseFSOption """ return self._GooseFSOptions @GooseFSOptions.setter def GooseFSOptions(self, GooseFSOptions): self._GooseFSOptions = GooseFSOptions def _deserialize(self, params): if params.get("CFSOptions") is not None: self._CFSOptions = [] for item in params.get("CFSOptions"): obj = CFSOption() obj._deserialize(item) self._CFSOptions.append(obj) if params.get("GooseFSOptions") is not None: self._GooseFSOptions = [] for item in params.get("GooseFSOptions"): obj = GooseFSOption() obj._deserialize(item) self._GooseFSOptions.append(obj) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class SystemDisk(AbstractModel): """描述了操作系统所在块设备即系统盘的信息 """ def __init__(self): r""" :param _DiskType: 系统盘类型。系统盘类型限制详见存储概述。取值范围: LOCAL_BASIC:本地硬盘 LOCAL_SSD:本地SSD硬盘 CLOUD_BASIC:普通云硬盘 CLOUD_SSD:SSD云硬盘 CLOUD_PREMIUM:高性能云硬盘 默认取值:当前有库存的硬盘类型。 :type DiskType: str :param _DiskSize: 系统盘大小,单位:GB。默认值为 50 :type DiskSize: int """ self._DiskType = None self._DiskSize = None @property def DiskType(self): """系统盘类型。系统盘类型限制详见存储概述。取值范围: LOCAL_BASIC:本地硬盘 LOCAL_SSD:本地SSD硬盘 CLOUD_BASIC:普通云硬盘 CLOUD_SSD:SSD云硬盘 CLOUD_PREMIUM:高性能云硬盘 默认取值:当前有库存的硬盘类型。 :rtype: str """ return self._DiskType @DiskType.setter def DiskType(self, DiskType): self._DiskType = DiskType @property def DiskSize(self): """系统盘大小,单位:GB。默认值为 50 :rtype: int """ return self._DiskSize @DiskSize.setter def DiskSize(self, DiskSize): self._DiskSize = DiskSize def _deserialize(self, params): self._DiskType = params.get("DiskType") self._DiskSize = params.get("DiskSize") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class Tag(AbstractModel): """标签键值对。 """ def __init__(self): r""" :param _Key: 标签键 :type Key: str :param _Value: 标签值 :type Value: str """ self._Key = None self._Value = None @property def Key(self): """标签键 :rtype: str """ return self._Key @Key.setter def Key(self, Key): self._Key = Key @property def Value(self): """标签值 :rtype: str """ return self._Value @Value.setter def Value(self, Value): self._Value = Value def _deserialize(self, params): self._Key = params.get("Key") self._Value = params.get("Value") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class VirtualPrivateCloud(AbstractModel): """描述了VPC相关信息 """ def __init__(self): r""" :param _VpcId: 私有网络ID,形如`vpc-xxx`。有效的VpcId可通过登录[控制台](https://console.cloud.tencent.com/vpc/vpc?rid=1)查询;也可以调用接口 [DescribeVpcEx](/document/api/215/1372) ,从接口返回中的`unVpcId`字段获取。若在创建子机时VpcId与SubnetId同时传入`DEFAULT`,则强制使用默认vpc网络。 :type VpcId: str :param _SubnetId: 私有网络子网ID,形如`subnet-xxx`。有效的私有网络子网ID可通过登录[控制台](https://console.cloud.tencent.com/vpc/subnet?rid=1)查询;也可以调用接口 [DescribeSubnets](/document/api/215/15784) ,从接口返回中的`unSubnetId`字段获取。若在创建子机时SubnetId与VpcId同时传入`DEFAULT`,则强制使用默认vpc网络。 :type SubnetId: str """ self._VpcId = None self._SubnetId = None @property def VpcId(self): """私有网络ID,形如`vpc-xxx`。有效的VpcId可通过登录[控制台](https://console.cloud.tencent.com/vpc/vpc?rid=1)查询;也可以调用接口 [DescribeVpcEx](/document/api/215/1372) ,从接口返回中的`unVpcId`字段获取。若在创建子机时VpcId与SubnetId同时传入`DEFAULT`,则强制使用默认vpc网络。 :rtype: str """ return self._VpcId @VpcId.setter def VpcId(self, VpcId): self._VpcId = VpcId @property def SubnetId(self): """私有网络子网ID,形如`subnet-xxx`。有效的私有网络子网ID可通过登录[控制台](https://console.cloud.tencent.com/vpc/subnet?rid=1)查询;也可以调用接口 [DescribeSubnets](/document/api/215/15784) ,从接口返回中的`unSubnetId`字段获取。若在创建子机时SubnetId与VpcId同时传入`DEFAULT`,则强制使用默认vpc网络。 :rtype: str """ return self._SubnetId @SubnetId.setter def SubnetId(self, SubnetId): self._SubnetId = SubnetId def _deserialize(self, params): self._VpcId = params.get("VpcId") self._SubnetId = params.get("SubnetId") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set))
Memory