tencentcloud-sdk-nodejs-intl-en
Version:
1,666 lines (1,424 loc) • 264 kB
JavaScript
/*
* Copyright (c) 2018 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.
*/
const AbstractModel = require("../../common/abstract_model");
/**
* Other pod information.
* @class
*/
class PodSpecInfo extends AbstractModel {
constructor(){
super();
/**
* The specified information such as pod spec and source for scale-out with pod resources.
* @type {PodNewSpec || null}
*/
this.PodSpec = null;
/**
* The custom pod permission and parameter.
* @type {PodNewParameter || null}
*/
this.PodParameter = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.PodSpec) {
let obj = new PodNewSpec();
obj.deserialize(params.PodSpec)
this.PodSpec = obj;
}
if (params.PodParameter) {
let obj = new PodNewParameter();
obj.deserialize(params.PodParameter)
this.PodParameter = obj;
}
}
}
/**
* ScaleOutInstance response structure.
* @class
*/
class ScaleOutInstanceResponse extends AbstractModel {
constructor(){
super();
/**
* Instance ID.
* @type {string || null}
*/
this.InstanceId = null;
/**
* Order number.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<string> || null}
*/
this.DealNames = null;
/**
* Client token.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.ClientToken = null;
/**
* Scale-out workflow ID.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.FlowId = null;
/**
* Big order ID.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.BillId = null;
/**
* The unique request ID, which is returned for each request. RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.InstanceId = 'InstanceId' in params ? params.InstanceId : null;
this.DealNames = 'DealNames' in params ? params.DealNames : null;
this.ClientToken = 'ClientToken' in params ? params.ClientToken : null;
this.FlowId = 'FlowId' in params ? params.FlowId : null;
this.BillId = 'BillId' in params ? params.BillId : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* ModifyUserManagerPwd response structure.
* @class
*/
class ModifyUserManagerPwdResponse extends AbstractModel {
constructor(){
super();
/**
* The unique request ID, which is returned for each request. RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* Description of Pod storage.
* @class
*/
class PodVolume extends AbstractModel {
constructor(){
super();
/**
* Storage type. Valid values: `pvc` and `hostpath`.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.VolumeType = null;
/**
* This field will take effect if `VolumeType` is `pvc`.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {PersistentVolumeContext || null}
*/
this.PVCVolume = null;
/**
* This field will take effect if `VolumeType` is `hostpath`.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {HostVolumeContext || null}
*/
this.HostVolume = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.VolumeType = 'VolumeType' in params ? params.VolumeType : null;
if (params.PVCVolume) {
let obj = new PersistentVolumeContext();
obj.deserialize(params.PVCVolume)
this.PVCVolume = obj;
}
if (params.HostVolume) {
let obj = new HostVolumeContext();
obj.deserialize(params.HostVolume)
this.HostVolume = obj;
}
}
}
/**
* CreateInstance response structure.
* @class
*/
class CreateInstanceResponse extends AbstractModel {
constructor(){
super();
/**
* Instance ID
Note: this field may return `null`, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.InstanceId = null;
/**
* The unique request ID, which is returned for each request. RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.InstanceId = 'InstanceId' in params ? params.InstanceId : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* TerminateTasks request structure.
* @class
*/
class TerminateTasksRequest extends AbstractModel {
constructor(){
super();
/**
* Instance ID.
* @type {string || null}
*/
this.InstanceId = null;
/**
* List of resource IDs of the node to be terminated. The resource ID is in the format of `emr-vm-xxxxxxxx`. A valid resource ID can be queried in the [console](https://console.cloud.tencent.com/emr/static/hardware).
* @type {Array.<string> || null}
*/
this.ResourceIds = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.InstanceId = 'InstanceId' in params ? params.InstanceId : null;
this.ResourceIds = 'ResourceIds' in params ? params.ResourceIds : null;
}
}
/**
* Description of `HostPath` mounting method in the pod
* @class
*/
class HostVolumeContext extends AbstractModel {
constructor(){
super();
/**
* The directory for mounting the host in the pod, which is the mount point of the host in the resource. A specified mount point corresponds to the host path and is used as the data storage directory in the pod.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.VolumePath = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.VolumePath = 'VolumePath' in params ? params.VolumePath : null;
}
}
/**
* ScaleOutCluster request structure.
* @class
*/
class ScaleOutClusterRequest extends AbstractModel {
constructor(){
super();
/**
* The node billing mode. Valid values:
<li>`POSTPAID_BY_HOUR`: The postpaid mode by hour.</li>
<li>`SPOTPAID`: The spot instance mode (for task nodes only).</li>
* @type {string || null}
*/
this.InstanceChargeType = null;
/**
* The cluster instance ID.
* @type {string || null}
*/
this.InstanceId = null;
/**
* The type and number of nodes to be added.
* @type {ScaleOutNodeConfig || null}
*/
this.ScaleOutNodeConfig = null;
/**
* A unique random token, which is valid for 5 minutes and needs to be specified by the caller to prevent the client from repeatedly creating resources. An example value is `a9a90aa6-751a-41b6-aad6-fae36063280`.
* @type {string || null}
*/
this.ClientToken = null;
/**
* The details of the monthly subscription, including the instance period and auto-renewal. It is required if the `InstanceChargeType` is `PREPAID`.
* @type {InstanceChargePrepaid || null}
*/
this.InstanceChargePrepaid = null;
/**
* The [Bootstrap action](https://intl.cloud.tencent.com/document/product/589/35656?from_cn_redirect=1) script settings.
* @type {Array.<ScriptBootstrapActionConfig> || null}
*/
this.ScriptBootstrapActionConfig = null;
/**
* The services to be deployed for new nodes. By default, new nodes will inherit services deployed for the current node type, including default optional services. This parameter only supports the inclusion of optional services. For example, if HDFS, YARN, and Impala have been deployed for existing task nodes, when using the API for task node scale-out without deploying Impala, only HDFS and YARN are included in with this parameter.
* @type {Array.<number> || null}
*/
this.SoftDeployInfo = null;
/**
* The processes to be deployed. All processes for services to be added are deployed by default. Deployed processes can be changed. For example, HDFS, YARN, and Impala have been deployed for current task nodes, and default services are DataNode, NodeManager, and ImpalaServer; if you want to change deployed processes, you can set this parameter to DataNode,NodeManager,ImpalaServerCoordinator or DataNode,NodeManager,ImpalaServerExecutor.
* @type {Array.<number> || null}
*/
this.ServiceNodeInfo = null;
/**
* The list of spread placement group IDs. Only one can be specified.
You can call the [DescribeDisasterRecoverGroups](https://intl.cloud.tencent.com/document/product/213/17810?from_cn_redirect=1) API and obtain this parameter from the `DisasterRecoverGroupId` field in the response.
* @type {Array.<string> || null}
*/
this.DisasterRecoverGroupIds = null;
/**
* The list of tags bound to added nodes.
* @type {Array.<Tag> || null}
*/
this.Tags = null;
/**
* The type of resources to add. Valid values: `host` (general CVM resources) and `pod` (resources provided by a TKE or EKS cluster).
* @type {string || null}
*/
this.HardwareSourceType = null;
/**
* The pod resource information.
* @type {PodSpecInfo || null}
*/
this.PodSpecInfo = null;
/**
* The server group name selected for ClickHouse cluster scale-out.
* @type {string || null}
*/
this.ClickHouseClusterName = null;
/**
* The server group type selected for ClickHouse cluster scale-out. Valid values: `new` (create a group) and `old` (select an existing group).
* @type {string || null}
*/
this.ClickHouseClusterType = null;
/**
* The YARN node label specified for scale-out.
* @type {string || null}
*/
this.YarnNodeLabel = null;
/**
* Whether to start services after scale-out.
<li>`true`: Yes</li>
<li>`false` (default): No</li>
* @type {boolean || null}
*/
this.EnableStartServiceFlag = null;
/**
* The spec settings.
* @type {NodeResourceSpec || null}
*/
this.ResourceSpec = null;
/**
* The ID of the AZ where the instance resides, such as `ap-guangzhou-1`. You can call the [DescribeZones](https://intl.cloud.tencent.com/document/product/213/15707?from_cn_redirect=1) API and obtain this ID from the `Zone` field in the response.
* @type {string || null}
*/
this.Zone = null;
/**
* The subnet, which defaults to the subnet used when the cluster is created.
* @type {string || null}
*/
this.SubnetId = null;
/**
*
* @type {Array.<ScaleOutServiceConfGroupsInfo> || null}
*/
this.ScaleOutServiceConfGroupsInfo = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.InstanceChargeType = 'InstanceChargeType' in params ? params.InstanceChargeType : null;
this.InstanceId = 'InstanceId' in params ? params.InstanceId : null;
if (params.ScaleOutNodeConfig) {
let obj = new ScaleOutNodeConfig();
obj.deserialize(params.ScaleOutNodeConfig)
this.ScaleOutNodeConfig = obj;
}
this.ClientToken = 'ClientToken' in params ? params.ClientToken : null;
if (params.InstanceChargePrepaid) {
let obj = new InstanceChargePrepaid();
obj.deserialize(params.InstanceChargePrepaid)
this.InstanceChargePrepaid = obj;
}
if (params.ScriptBootstrapActionConfig) {
this.ScriptBootstrapActionConfig = new Array();
for (let z in params.ScriptBootstrapActionConfig) {
let obj = new ScriptBootstrapActionConfig();
obj.deserialize(params.ScriptBootstrapActionConfig[z]);
this.ScriptBootstrapActionConfig.push(obj);
}
}
this.SoftDeployInfo = 'SoftDeployInfo' in params ? params.SoftDeployInfo : null;
this.ServiceNodeInfo = 'ServiceNodeInfo' in params ? params.ServiceNodeInfo : null;
this.DisasterRecoverGroupIds = 'DisasterRecoverGroupIds' in params ? params.DisasterRecoverGroupIds : null;
if (params.Tags) {
this.Tags = new Array();
for (let z in params.Tags) {
let obj = new Tag();
obj.deserialize(params.Tags[z]);
this.Tags.push(obj);
}
}
this.HardwareSourceType = 'HardwareSourceType' in params ? params.HardwareSourceType : null;
if (params.PodSpecInfo) {
let obj = new PodSpecInfo();
obj.deserialize(params.PodSpecInfo)
this.PodSpecInfo = obj;
}
this.ClickHouseClusterName = 'ClickHouseClusterName' in params ? params.ClickHouseClusterName : null;
this.ClickHouseClusterType = 'ClickHouseClusterType' in params ? params.ClickHouseClusterType : null;
this.YarnNodeLabel = 'YarnNodeLabel' in params ? params.YarnNodeLabel : null;
this.EnableStartServiceFlag = 'EnableStartServiceFlag' in params ? params.EnableStartServiceFlag : null;
if (params.ResourceSpec) {
let obj = new NodeResourceSpec();
obj.deserialize(params.ResourceSpec)
this.ResourceSpec = obj;
}
this.Zone = 'Zone' in params ? params.Zone : null;
this.SubnetId = 'SubnetId' in params ? params.SubnetId : null;
if (params.ScaleOutServiceConfGroupsInfo) {
this.ScaleOutServiceConfGroupsInfo = new Array();
for (let z in params.ScaleOutServiceConfGroupsInfo) {
let obj = new ScaleOutServiceConfGroupsInfo();
obj.deserialize(params.ScaleOutServiceConfGroupsInfo[z]);
this.ScaleOutServiceConfGroupsInfo.push(obj);
}
}
}
}
/**
* Node disk information
* @class
*/
class DiskSpecInfo extends AbstractModel {
constructor(){
super();
/**
* The number of disks.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.Count = null;
/**
* The system disk type. Valid values:
<li>`CLOUD_SSD`: Cloud SSD</li>
<li>`CLOUD_PREMIUM`: Premium cloud disk</li>
<li>`CLOUD_BASIC`: Cloud HDD</li>
<li>`LOCAL_BASIC`: Local disk</li>
<li>`LOCAL_SSD`: Local SSD</li>
The data disk type. Valid values:
<li>`CLOUD_SSD`: Cloud SSD</li>
<li>`CLOUD_PREMIUM`: Premium cloud disk</li>
<li>`CLOUD_BASIC`: Cloud HDD</li>
<li>`LOCAL_BASIC`: Local disk</li>
<li>`LOCAL_SSD`: Local SSD</li>
<li>`CLOUD_HSSD`: Enhanced SSD</li>
<li>`CLOUD_THROUGHPUT`: Throughput HDD</li>
<li>CLOUD_TSSD: ulTra SSD</li>
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.DiskType = null;
/**
* The disk capacity in GB.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.DiskSize = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Count = 'Count' in params ? params.Count : null;
this.DiskType = 'DiskType' in params ? params.DiskType : null;
this.DiskSize = 'DiskSize' in params ? params.DiskSize : null;
}
}
/**
* Hive query details
* @class
*/
class HiveQuery extends AbstractModel {
constructor(){
super();
/**
* Query statementNote: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Statement = null;
/**
* Execution Duration
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Duration = null;
/**
* Start Time in Milliseconds
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.StartTime = null;
/**
* End Time in Milliseconds
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.EndTime = null;
/**
* StatusNote: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.State = null;
/**
* UserNote: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.User = null;
/**
* AppId List
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<string> || null}
*/
this.JobIds = null;
/**
* Execution Engine
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.ExecutionEngine = null;
/**
* Query ID
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Id = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Statement = 'Statement' in params ? params.Statement : null;
this.Duration = 'Duration' in params ? params.Duration : null;
this.StartTime = 'StartTime' in params ? params.StartTime : null;
this.EndTime = 'EndTime' in params ? params.EndTime : null;
this.State = 'State' in params ? params.State : null;
this.User = 'User' in params ? params.User : null;
this.JobIds = 'JobIds' in params ? params.JobIds : null;
this.ExecutionEngine = 'ExecutionEngine' in params ? params.ExecutionEngine : null;
this.Id = 'Id' in params ? params.Id : null;
}
}
/**
* Key-value pair, primarily used for filtering
* @class
*/
class KeyValue extends AbstractModel {
constructor(){
super();
/**
* Key
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Key = null;
/**
* ValueNote: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Value = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Key = 'Key' in params ? params.Key : null;
this.Value = 'Value' in params ? params.Value : null;
}
}
/**
* DescribeEmrApplicationStatics request structure.
* @class
*/
class DescribeEmrApplicationStaticsRequest extends AbstractModel {
constructor(){
super();
/**
* Cluster ID
* @type {string || null}
*/
this.InstanceId = null;
/**
* Start time in the format of timestamp. Unit: seconds.
* @type {number || null}
*/
this.StartTime = null;
/**
* End time in the format of timestamp. Unit: seconds.
* @type {number || null}
*/
this.EndTime = null;
/**
* Queue name used for filtering
* @type {Array.<string> || null}
*/
this.Queues = null;
/**
* Username used for filtering
* @type {Array.<string> || null}
*/
this.Users = null;
/**
* Application type used for filtering
* @type {Array.<string> || null}
*/
this.ApplicationTypes = null;
/**
* Group field. Valid values: `queue`, `user`, and `applicationType`.
* @type {Array.<string> || null}
*/
this.GroupBy = null;
/**
* Sorting field. Valid values: `sumMemorySeconds`, `sumVCoreSeconds`, `sumHDFSBytesWritten`, and `sumHDFSBytesRead`.
* @type {string || null}
*/
this.OrderBy = null;
/**
* Order type. Valid values: `0` (descending) and `1`(ascending).
* @type {number || null}
*/
this.IsAsc = null;
/**
* Page number
* @type {number || null}
*/
this.Offset = null;
/**
* Page limit
* @type {number || null}
*/
this.Limit = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.InstanceId = 'InstanceId' in params ? params.InstanceId : null;
this.StartTime = 'StartTime' in params ? params.StartTime : null;
this.EndTime = 'EndTime' in params ? params.EndTime : null;
this.Queues = 'Queues' in params ? params.Queues : null;
this.Users = 'Users' in params ? params.Users : null;
this.ApplicationTypes = 'ApplicationTypes' in params ? params.ApplicationTypes : null;
this.GroupBy = 'GroupBy' in params ? params.GroupBy : null;
this.OrderBy = 'OrderBy' in params ? params.OrderBy : null;
this.IsAsc = 'IsAsc' in params ? params.IsAsc : null;
this.Offset = 'Offset' in params ? params.Offset : null;
this.Limit = 'Limit' in params ? params.Limit : null;
}
}
/**
* User management list filter
* @class
*/
class UserManagerFilter extends AbstractModel {
constructor(){
super();
/**
* Username
Note: This field may return null, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.UserName = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.UserName = 'UserName' in params ? params.UserName : null;
}
}
/**
* Pod floating specification
* @class
*/
class DynamicPodSpec extends AbstractModel {
constructor(){
super();
/**
* Minimum number of CPUs
* @type {number || null}
*/
this.RequestCpu = null;
/**
* Maximum number of CPUs
* @type {number || null}
*/
this.LimitCpu = null;
/**
* Minimum memory in MB
* @type {number || null}
*/
this.RequestMemory = null;
/**
* Maximum memory in MB
* @type {number || null}
*/
this.LimitMemory = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.RequestCpu = 'RequestCpu' in params ? params.RequestCpu : null;
this.LimitCpu = 'LimitCpu' in params ? params.LimitCpu : null;
this.RequestMemory = 'RequestMemory' in params ? params.RequestMemory : null;
this.LimitMemory = 'LimitMemory' in params ? params.LimitMemory : null;
}
}
/**
* ModifyUserManagerPwd request structure.
* @class
*/
class ModifyUserManagerPwdRequest extends AbstractModel {
constructor(){
super();
/**
* Cluster instance ID
* @type {string || null}
*/
this.InstanceId = null;
/**
* Username
* @type {string || null}
*/
this.UserName = null;
/**
* Password
* @type {string || null}
*/
this.PassWord = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.InstanceId = 'InstanceId' in params ? params.InstanceId : null;
this.UserName = 'UserName' in params ? params.UserName : null;
this.PassWord = 'PassWord' in params ? params.PassWord : null;
}
}
/**
* COS-related configuration
* @class
*/
class COSSettings extends AbstractModel {
constructor(){
super();
/**
* COS `SecretId`
* @type {string || null}
*/
this.CosSecretId = null;
/**
* COS `SecrectKey`
* @type {string || null}
*/
this.CosSecretKey = null;
/**
* COS path to log
* @type {string || null}
*/
this.LogOnCosPath = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.CosSecretId = 'CosSecretId' in params ? params.CosSecretId : null;
this.CosSecretKey = 'CosSecretKey' in params ? params.CosSecretKey : null;
this.LogOnCosPath = 'LogOnCosPath' in params ? params.LogOnCosPath : null;
}
}
/**
* Cluster instance information
* @class
*/
class ClusterInstancesInfo extends AbstractModel {
constructor(){
super();
/**
* ID
Note: this field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.Id = null;
/**
* Cluster ID
Note: this field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.ClusterId = null;
/**
* Title
Note: this field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Ftitle = null;
/**
* Cluster name
Note: this field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.ClusterName = null;
/**
* Region ID
Note: this field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.RegionId = null;
/**
* Region ID
Note: this field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.ZoneId = null;
/**
* User APPID
Note: this field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.AppId = null;
/**
* User UIN
Note: this field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Uin = null;
/**
* Project ID
Note: this field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.ProjectId = null;
/**
* Cluster `VPCID`
Note: this field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.VpcId = null;
/**
* Subnet ID
Note: this field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.SubnetId = null;
/**
* Instance status code. Value range:
<li>2: cluster running</li>
<li>3: creating cluster.</li>
<li>4: scaling out cluster.</li>
<li>5: adding router node in cluster.</li>
<li>6: installing component in cluster.</li>
<li>7: cluster executing command.</li>
<li>8: restarting service.</li>
<li>9: entering maintenance.</li>
<li>10: suspending service.</li>
<li>11: exiting maintenance.</li>
<li>12: exiting suspension.</li>
<li>13: delivering configuration.</li>
<li>14: terminating cluster.</li>
<li>15: terminating core node.</li>
<li>16: terminating task node.</li>
<li>17: terminating router node.</li>
<li>18: changing webproxy password.</li>
<li>19: isolating cluster.</li>
<li>20: resuming cluster.</li>
<li>21: repossessing cluster.</li>
<li>22: waiting for configuration adjustment.</li>
<li>23: cluster isolated.</li>
<li>24: removing node.</li>
<li>33: waiting for refund.</li>
<li>34: refunded.</li>
<li>301: creation failed.</li>
<li>302: scale-out failed.</li>
Note: this field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.Status = null;
/**
* Creation time
Note: this field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.AddTime = null;
/**
* Execution duration
Note: this field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.RunTime = null;
/**
* Cluster product configuration information
Note: this field may return null, indicating that no valid values can be obtained.
* @type {EmrProductConfigOutter || null}
*/
this.Config = null;
/**
* Public IP of master node
Note: this field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.MasterIp = null;
/**
* EMR version
Note: this field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.EmrVersion = null;
/**
* Billing mode
Note: this field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.ChargeType = null;
/**
* Transaction version
Note: this field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.TradeVersion = null;
/**
* Resource order ID
Note: this field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.ResourceOrderId = null;
/**
* Whether this is a paid cluster
Note: this field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.IsTradeCluster = null;
/**
* Alarm information for cluster error
Note: this field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.AlarmInfo = null;
/**
* Whether the new architecture is used
Note: this field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.IsWoodpeckerCluster = null;
/**
* Metadatabase information
Note: this field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.MetaDb = null;
/**
* Tag information
Note: this field may return null, indicating that no valid values can be obtained.
* @type {Array.<Tag> || null}
*/
this.Tags = null;
/**
* Hive metadata
Note: this field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.HiveMetaDb = null;
/**
* Cluster type: EMR, CLICKHOUSE, DRUID
Note: this field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.ServiceClass = null;
/**
* Alias serialization of all nodes in cluster
Note: this field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.AliasInfo = null;
/**
* Cluster version ID
Note: this field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.ProductId = null;
/**
* Availability zone
Note: this field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.Zone = null;
/**
* Scenario name
Note: This field may return `null`, indicating that no valid value was found.
* @type {string || null}
*/
this.SceneName = null;
/**
* Scenario-based cluster type
Note: This field may return `null`, indicating that no valid value was found.
* @type {string || null}
*/
this.SceneServiceClass = null;
/**
* Scenario-based EMR version
Note: This field may return `null`, indicating that no valid value was found.
* @type {string || null}
*/
this.SceneEmrVersion = null;
/**
* Scenario-based cluster type
Note: This field may return `null`, indicating that no valid value was found.
* @type {string || null}
*/
this.DisplayName = null;
/**
* VPC name
Note: This field may return `null`, indicating that no valid value was found.
* @type {string || null}
*/
this.VpcName = null;
/**
* Subnet name
Note: This field may return `null`, indicating that no valid value was found.
* @type {string || null}
*/
this.SubnetName = null;
/**
* Cluster dependency
Note: This field may return `null`, indicating that no valid value was found.
* @type {Array.<ClusterExternalServiceInfo> || null}
*/
this.ClusterExternalServiceInfo = null;
/**
* The VPC ID string type of the cluster
Note: This field may return `null`, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.UniqVpcId = null;
/**
* The subnet ID string type of the cluster
Note: This field may return `null`, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.UniqSubnetId = null;
/**
* Node information
Note: This field may return `null`, indicating that no valid values can be obtained.
* @type {Array.<TopologyInfo> || null}
*/
this.TopologyInfoList = null;
/**
* Multi-AZ cluster
Note: This field may return `null`, indicating that no valid values can be obtained.
* @type {boolean || null}
*/
this.IsMultiZoneCluster = null;
/**
* Whether the feature of automatic abnormal node replacement is enabled.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {boolean || null}
*/
this.IsCvmReplace = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Id = 'Id' in params ? params.Id : null;
this.ClusterId = 'ClusterId' in params ? params.ClusterId : null;
this.Ftitle = 'Ftitle' in params ? params.Ftitle : null;
this.ClusterName = 'ClusterName' in params ? params.ClusterName : null;
this.RegionId = 'RegionId' in params ? params.RegionId : null;
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
this.AppId = 'AppId' in params ? params.AppId : null;
this.Uin = 'Uin' in params ? params.Uin : null;
this.ProjectId = 'ProjectId' in params ? params.ProjectId : null;
this.VpcId = 'VpcId' in params ? params.VpcId : null;
this.SubnetId = 'SubnetId' in params ? params.SubnetId : null;
this.Status = 'Status' in params ? params.Status : null;
this.AddTime = 'AddTime' in params ? params.AddTime : null;
this.RunTime = 'RunTime' in params ? params.RunTime : null;
if (params.Config) {
let obj = new EmrProductConfigOutter();
obj.deserialize(params.Config)
this.Config = obj;
}
this.MasterIp = 'MasterIp' in params ? params.MasterIp : null;
this.EmrVersion = 'EmrVersion' in params ? params.EmrVersion : null;
this.ChargeType = 'ChargeType' in params ? params.ChargeType : null;
this.TradeVersion = 'TradeVersion' in params ? params.TradeVersion : null;
this.ResourceOrderId = 'ResourceOrderId' in params ? params.ResourceOrderId : null;
this.IsTradeCluster = 'IsTradeCluster' in params ? params.IsTradeCluster : null;
this.AlarmInfo = 'AlarmInfo' in params ? params.AlarmInfo : null;
this.IsWoodpeckerCluster = 'IsWoodpeckerCluster' in params ? params.IsWoodpeckerCluster : null;
this.MetaDb = 'MetaDb' in params ? params.MetaDb : null;
if (params.Tags) {
this.Tags = new Array();
for (let z in params.Tags) {
let obj = new Tag();
obj.deserialize(params.Tags[z]);
this.Tags.push(obj);
}
}
this.HiveMetaDb = 'HiveMetaDb' in params ? params.HiveMetaDb : null;
this.ServiceClass = 'ServiceClass' in params ? params.ServiceClass : null;
this.AliasInfo = 'AliasInfo' in params ? params.AliasInfo : null;
this.ProductId = 'ProductId' in params ? params.ProductId : null;
this.Zone = 'Zone' in params ? params.Zone : null;
this.SceneName = 'SceneName' in params ? params.SceneName : null;
this.SceneServiceClass = 'SceneServiceClass' in params ? params.SceneServiceClass : null;
this.SceneEmrVersion = 'SceneEmrVersion' in params ? params.SceneEmrVersion : null;
this.DisplayName = 'DisplayName' in params ? params.DisplayName : null;
this.VpcName = 'VpcName' in params ? params.VpcName : null;
this.SubnetName = 'SubnetName' in params ? params.SubnetName : null;
if (params.ClusterExternalServiceInfo) {
this.ClusterExternalServiceInfo = new Array();
for (let z in params.ClusterExternalServiceInfo) {
let obj = new ClusterExternalServiceInfo();
obj.deserialize(params.ClusterExternalServiceInfo[z]);
this.ClusterExternalServiceInfo.push(obj);
}
}
this.UniqVpcId = 'UniqVpcId' in params ? params.UniqVpcId : null;
this.UniqSubnetId = 'UniqSubnetId' in params ? params.UniqSubnetId : null;
if (params.TopologyInfoList) {
this.TopologyInfoList = new Array();
for (let z in params.TopologyInfoList) {
let obj = new TopologyInfo();
obj.deserialize(params.TopologyInfoList[z]);
this.TopologyInfoList.push(obj);
}
}
this.IsMultiZoneCluster = 'IsMultiZoneCluster' in params ? params.IsMultiZoneCluster : null;
this.IsCvmReplace = 'IsCvmReplace' in params ? params.IsCvmReplace : null;
}
}
/**
* Subnet information
* @class
*/
class SubnetInfo extends AbstractModel {
constructor(){
super();
/**
* Subnet information (name)
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.SubnetName = null;
/**
* Subnet information (ID)
Note: This field may return `null`, indicating that no valid value can be obtained.
* @type {string || null}
*/
this.SubnetId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.SubnetName = 'SubnetName' in params ? params.SubnetName : null;
this.SubnetId = 'SubnetId' in params ? params.SubnetId : null;
}
}
/**
* ScaleOutInstance request structure.
* @class
*/
class ScaleOutInstanceRequest extends AbstractModel {
constructor(){
super();
/**
* Time unit of scale-out. Valid values:
<li>s: Second. When `PayMode` is 0, `TimeUnit` can only be `s`.</li>
<li>m: Month. When `PayMode` is 1, `TimeUnit` can only be `m`.</li>
* @type {string || null}
*/
this.TimeUnit = null;
/**
* Time span of scale-out, which needs to be used together with `TimeUnit`.
* @type {number || null}
*/
this.TimeSpan = null;
/**
* Instance ID.
* @type {string || null}
*/
this.InstanceId = null;
/**
* Instance billing mode. Valid value:
<li>0: Pay-as-you-go.</li>
* @type {number || null}
*/
this.PayMode = null;
/**
* Client token.
* @type {string || null}
*/
this.ClientToken = null;
/**
* Bootstrap script settings.
* @type {Array.<PreExecuteFileSettings> || null}
*/
this.PreExecutedFileSettings = null;
/**
* Number of task nodes to be added.
* @type {number || null}
*/
this.TaskCount = null;
/**
* Number of core nodes to be added.
* @type {number || null}
*/
this.CoreCount = null;
/**
* Processes unnecessary for scale-out.
* @type {Array.<number> || null}
*/
this.UnNecessaryNodeList = null;
/**
* Number of router nodes to be added.
* @type {number || null}
*/
this.RouterCount = null;
/**
* Deployed service.
<li>`SoftDeployInfo` and `ServiceNodeInfo` are in the same group and mutually exclusive with `UnNecessaryNodeList`.</li>
<li>The combination of `SoftDeployInfo` and `ServiceNodeInfo` is recommended.</li>
* @type {Array.<number> || null}
*/
this.SoftDeployInfo = null;
/**
* Started process.
* @type {Array.<number> || null}
*/
this.ServiceNodeInfo = null;
/**
* List of spread placement group IDs. Only one can be specified currently.
* @type {Array.<string> || null}
*/
this.DisasterRecoverGroupIds = null;
/**
* List of tags bound to added nodes.
* @type {Array.<Tag> || null}
*/
this.Tags = null;
/**
* Resource type selected for scaling. Valid values: `host` (general CVM resource) and `pod` (resource provided by TKE or EKS cluster).
* @type {string || null}
*/
this.HardwareResourceType = null;
/**
* Specified information such as pod specification and source for scale-out with pod resources.
* @type {PodSpec || null}
*/
this.PodSpec = null;
/**
* Server group name selected for ClickHouse cluster scale-out.
* @type {string || null}
*/
this.ClickHouseClusterName = null;
/**
* Server group type selected for ClickHouse cluster scale-out. Valid values: `new` (create a group) and `old` (select an existing group).
* @type {string || null}
*/
this.ClickHouseClusterType = null;
/**
* Yarn node label specified for rule-based scale-out.
* @type {string || null}
*/
this.YarnNodeLabel = null;
/**
* Custom pod permission and parameter
* @type {PodParameter || null}
*/
this.PodParameter = null;
/**
* Number of master nodes to be added.
When a ClickHouse cluster is scaled, this parameter does not take effect.
When a Kafka cluster is scaled, this parameter does not take effect.
When `HardwareResourceType` is `pod`, this parameter does not take effect.
* @type {number || null}
*/
this.MasterCount = null;
/**
* Whether to start the service after scale-out. `true`: Yes; `false`: No.
* @type {string || null}
*/
this.StartServiceAfterScaleOut = null;
/**
* AZ, which defaults to the primary AZ of the cluster.
* @type {number || null}
*/
this.ZoneId = null;
/**
* Subnet, which defaults to the subnet used when the cluster is created.
* @type {string || null}
*/
this.SubnetId = null;
/**
* Pre-defined configuration set
* @type {string || null}
*/
this.ScaleOutServiceConfAssign = null;
/**
* Whether to enable auto-renewal. Valid values: `0` (no), `1` (yes).
* @type {number || null}
*/
this.AutoRenew = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.TimeUnit = 'TimeUnit' in params ? params.TimeUnit : null;
this.TimeSpan = 'TimeSpan' in params ? params.TimeSpan : null;
this.InstanceId = 'InstanceId' in params ? params.InstanceId : null;
this.PayMode = 'PayMode' in params ? params.PayMode : null;
this.ClientToken = 'ClientToken' in params ? params.ClientToken : null;
if (params.PreExecutedFileSettings) {
this.PreExecutedFileSettings = new Array();
for (let z in params.PreExecutedFileSettings) {
let obj = new PreExecuteFileSettings();
obj.deserialize(params.PreExecutedFileSettings[z]);
this.PreExecutedFileSettings.push(obj);
}
}
this.TaskCount = 'TaskCount' in params ? params.TaskCount : null;
this.CoreCount = 'CoreCount' in params ? params.CoreCount : null;
this.UnNecessaryNodeList = 'UnNecessaryNodeList' in params ? params.UnNecessaryNodeList : null;
this.RouterCount = 'RouterCount' in params ? params.RouterCount : null;
this.SoftDeployInfo = 'SoftDeployInfo' in params ? params.SoftDeployInfo : null;
this.ServiceNodeInfo = 'ServiceNodeInfo' in params ? params.ServiceNodeInfo : null;
this.DisasterRecoverGroupIds = 'DisasterRecoverGroupIds' in params ? params.DisasterRecoverGroupIds : null;
if (params.Tags) {
this.Tags = new Array();
for (let z in params.Tags) {
let obj = new Tag();
obj.deserialize(params.Tags[z]);
this.Tags.push(obj);
}
}
this.HardwareResourceType = 'HardwareResourceType' in params ? params.HardwareResourceType : null;
if (params.PodSpec) {
let obj = new PodSpec();
obj.deserialize(params.PodSpec)
this.PodSpec = obj;
}
this.ClickHouseClusterName = 'ClickHouseClusterName' in params ? params.ClickHouseClusterName : null;
this.ClickHouseClusterType = 'ClickHouseClusterType' in params ? params.ClickHouseClusterType : null;
this.YarnNodeLabel = 'YarnNodeLabel' in params ? params.YarnNodeLabel : null;
if (params.PodParameter) {
let obj = new PodParameter();
obj.deserialize(params.PodParameter)
this.PodParameter = obj;
}
this.MasterCount = 'MasterCount' in params ? params.MasterCount : null;
this.StartServiceAfterScaleOut = 'StartServiceAfterScaleOut' in params ? params.StartServiceAfterScaleOut : null;
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
this.SubnetId = 'SubnetId' in params ? params.SubnetId : null;
this.ScaleOutServiceConfAssign = 'ScaleOutServiceConfAssign' in params ? params.ScaleOutServiceConfAssign : null;
this.AutoRenew = 'AutoRenew' in params ? params.AutoRenew : null;
}
}
/**
* Price details by AZ, used for creating the cluster price list
* @class
*/
class ZoneDetailPriceResult extends AbstractModel {
constructor(){
super();
/**