com.jdcloud.sdk.service.vm.model.InstanceSpec Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of vm Show documentation
Show all versions of vm Show documentation
JDCLOUD Open API SDK for Java
/*
* Copyright 2018 JDCLOUD.COM
*
* 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.
*
*
*
*
*
* Contact:
*
* NOTE: This class is auto generated by the jdcloud code generator program.
*/
package com.jdcloud.sdk.service.vm.model;
import java.util.List;
import java.util.ArrayList;
import com.jdcloud.sdk.annotation.Required;
import com.jdcloud.sdk.service.vpc.model.ElasticIpSpec;
import com.jdcloud.sdk.service.charge.model.ChargeSpec;
/**
* instanceSpec
*/
public class InstanceSpec implements java.io.Serializable {
private static final long serialVersionUID = 1L;
/**
* 高可用组Id。指定了此参数后,只能通过高可用组关联的实例模板创建虚机,并且实例模板中的参数不可覆盖替换。实例模板以外的参数还可以指定。
*/
private String agId;
/**
* 实例模板id,如果没有使用高可用组,那么对于实例模板中没有的信息,需要使用创建虚机的参数进行补充,或者选择覆盖启动模板中的参数。
*/
private String instanceTemplateId;
/**
* 云主机所属的可用区。
*/
private String az;
/**
* 实例规格。可查询<a href="https://www.jdcloud.com/help/detail/2901/isCatalog/1">DescribeInstanceTypes</a>接口获得指定地域或可用区的规格信息。
*/
private String instanceType;
/**
* 镜像ID。可查询<a href="https://www.jdcloud.com/help/detail/2874/isCatalog/1">DescribeImages</a>接口获得指定地域的镜像信息。
*/
private String imageId;
/**
* 云主机名称,<a href="https://www.jdcloud.com/help/detail/3870/isCatalog/1">参考公共参数规范</a>。
* Required:true
*/
@Required
private String name;
/**
* 密码,<a href="https://www.jdcloud.com/help/detail/3870/isCatalog/1">参考公共参数规范</a>。
*/
private String password;
/**
* 密钥对名称,当前只支持传入一个。
*/
private List keyNames;
/**
* 主网卡主IP关联的弹性IP规格
*/
private ElasticIpSpec elasticIp;
/**
* 主网卡配置信息
*/
private InstanceNetworkInterfaceAttachmentSpec primaryNetworkInterface;
/**
* 系统盘配置信息
*/
private InstanceDiskAttachmentSpec systemDisk;
/**
* 数据盘配置信息,本地盘(local类型)做系统盘的云主机可挂载8块数据盘,云硬盘(cloud类型)做系统盘的云主机可挂载7块数据盘。
*/
private List dataDisks;
/**
* 计费配置
云主机不支持按用量方式计费,默认为按配置计费。
打包创建数据盘的情况下,数据盘的计费方式只能与云主机保持一致。
打包创建弹性公网IP的情况下,若公网IP的计费方式没有指定为按用量计费,那么公网IP计费方式只能与云主机保持一致。
*/
private ChargeSpec charge;
/**
* 主机描述,<a href="https://www.jdcloud.com/help/detail/3870/isCatalog/1">参考公共参数规范</a>。
*/
private String description;
/**
* get 高可用组Id。指定了此参数后,只能通过高可用组关联的实例模板创建虚机,并且实例模板中的参数不可覆盖替换。实例模板以外的参数还可以指定。
*
* @return
*/
public String getAgId() {
return agId;
}
/**
* set 高可用组Id。指定了此参数后,只能通过高可用组关联的实例模板创建虚机,并且实例模板中的参数不可覆盖替换。实例模板以外的参数还可以指定。
*
* @param agId
*/
public void setAgId(String agId) {
this.agId = agId;
}
/**
* get 实例模板id,如果没有使用高可用组,那么对于实例模板中没有的信息,需要使用创建虚机的参数进行补充,或者选择覆盖启动模板中的参数。
*
* @return
*/
public String getInstanceTemplateId() {
return instanceTemplateId;
}
/**
* set 实例模板id,如果没有使用高可用组,那么对于实例模板中没有的信息,需要使用创建虚机的参数进行补充,或者选择覆盖启动模板中的参数。
*
* @param instanceTemplateId
*/
public void setInstanceTemplateId(String instanceTemplateId) {
this.instanceTemplateId = instanceTemplateId;
}
/**
* get 云主机所属的可用区。
*
* @return
*/
public String getAz() {
return az;
}
/**
* set 云主机所属的可用区。
*
* @param az
*/
public void setAz(String az) {
this.az = az;
}
/**
* get 实例规格。可查询<a href="https://www.jdcloud.com/help/detail/2901/isCatalog/1">DescribeInstanceTypes</a>接口获得指定地域或可用区的规格信息。
*
* @return
*/
public String getInstanceType() {
return instanceType;
}
/**
* set 实例规格。可查询<a href="https://www.jdcloud.com/help/detail/2901/isCatalog/1">DescribeInstanceTypes</a>接口获得指定地域或可用区的规格信息。
*
* @param instanceType
*/
public void setInstanceType(String instanceType) {
this.instanceType = instanceType;
}
/**
* get 镜像ID。可查询<a href="https://www.jdcloud.com/help/detail/2874/isCatalog/1">DescribeImages</a>接口获得指定地域的镜像信息。
*
* @return
*/
public String getImageId() {
return imageId;
}
/**
* set 镜像ID。可查询<a href="https://www.jdcloud.com/help/detail/2874/isCatalog/1">DescribeImages</a>接口获得指定地域的镜像信息。
*
* @param imageId
*/
public void setImageId(String imageId) {
this.imageId = imageId;
}
/**
* get 云主机名称,<a href="https://www.jdcloud.com/help/detail/3870/isCatalog/1">参考公共参数规范</a>。
*
* @return
*/
public String getName() {
return name;
}
/**
* set 云主机名称,<a href="https://www.jdcloud.com/help/detail/3870/isCatalog/1">参考公共参数规范</a>。
*
* @param name
*/
public void setName(String name) {
this.name = name;
}
/**
* get 密码,<a href="https://www.jdcloud.com/help/detail/3870/isCatalog/1">参考公共参数规范</a>。
*
* @return
*/
public String getPassword() {
return password;
}
/**
* set 密码,<a href="https://www.jdcloud.com/help/detail/3870/isCatalog/1">参考公共参数规范</a>。
*
* @param password
*/
public void setPassword(String password) {
this.password = password;
}
/**
* get 密钥对名称,当前只支持传入一个。
*
* @return
*/
public List getKeyNames() {
return keyNames;
}
/**
* set 密钥对名称,当前只支持传入一个。
*
* @param keyNames
*/
public void setKeyNames(List keyNames) {
this.keyNames = keyNames;
}
/**
* get 主网卡主IP关联的弹性IP规格
*
* @return
*/
public ElasticIpSpec getElasticIp() {
return elasticIp;
}
/**
* set 主网卡主IP关联的弹性IP规格
*
* @param elasticIp
*/
public void setElasticIp(ElasticIpSpec elasticIp) {
this.elasticIp = elasticIp;
}
/**
* get 主网卡配置信息
*
* @return
*/
public InstanceNetworkInterfaceAttachmentSpec getPrimaryNetworkInterface() {
return primaryNetworkInterface;
}
/**
* set 主网卡配置信息
*
* @param primaryNetworkInterface
*/
public void setPrimaryNetworkInterface(InstanceNetworkInterfaceAttachmentSpec primaryNetworkInterface) {
this.primaryNetworkInterface = primaryNetworkInterface;
}
/**
* get 系统盘配置信息
*
* @return
*/
public InstanceDiskAttachmentSpec getSystemDisk() {
return systemDisk;
}
/**
* set 系统盘配置信息
*
* @param systemDisk
*/
public void setSystemDisk(InstanceDiskAttachmentSpec systemDisk) {
this.systemDisk = systemDisk;
}
/**
* get 数据盘配置信息,本地盘(local类型)做系统盘的云主机可挂载8块数据盘,云硬盘(cloud类型)做系统盘的云主机可挂载7块数据盘。
*
* @return
*/
public List getDataDisks() {
return dataDisks;
}
/**
* set 数据盘配置信息,本地盘(local类型)做系统盘的云主机可挂载8块数据盘,云硬盘(cloud类型)做系统盘的云主机可挂载7块数据盘。
*
* @param dataDisks
*/
public void setDataDisks(List dataDisks) {
this.dataDisks = dataDisks;
}
/**
* get 计费配置
云主机不支持按用量方式计费,默认为按配置计费。
打包创建数据盘的情况下,数据盘的计费方式只能与云主机保持一致。
打包创建弹性公网IP的情况下,若公网IP的计费方式没有指定为按用量计费,那么公网IP计费方式只能与云主机保持一致。
*
* @return
*/
public ChargeSpec getCharge() {
return charge;
}
/**
* set 计费配置
云主机不支持按用量方式计费,默认为按配置计费。
打包创建数据盘的情况下,数据盘的计费方式只能与云主机保持一致。
打包创建弹性公网IP的情况下,若公网IP的计费方式没有指定为按用量计费,那么公网IP计费方式只能与云主机保持一致。
*
* @param charge
*/
public void setCharge(ChargeSpec charge) {
this.charge = charge;
}
/**
* get 主机描述,<a href="https://www.jdcloud.com/help/detail/3870/isCatalog/1">参考公共参数规范</a>。
*
* @return
*/
public String getDescription() {
return description;
}
/**
* set 主机描述,<a href="https://www.jdcloud.com/help/detail/3870/isCatalog/1">参考公共参数规范</a>。
*
* @param description
*/
public void setDescription(String description) {
this.description = description;
}
/**
* set 高可用组Id。指定了此参数后,只能通过高可用组关联的实例模板创建虚机,并且实例模板中的参数不可覆盖替换。实例模板以外的参数还可以指定。
*
* @param agId
*/
public InstanceSpec agId(String agId) {
this.agId = agId;
return this;
}
/**
* set 实例模板id,如果没有使用高可用组,那么对于实例模板中没有的信息,需要使用创建虚机的参数进行补充,或者选择覆盖启动模板中的参数。
*
* @param instanceTemplateId
*/
public InstanceSpec instanceTemplateId(String instanceTemplateId) {
this.instanceTemplateId = instanceTemplateId;
return this;
}
/**
* set 云主机所属的可用区。
*
* @param az
*/
public InstanceSpec az(String az) {
this.az = az;
return this;
}
/**
* set 实例规格。可查询<a href="https://www.jdcloud.com/help/detail/2901/isCatalog/1">DescribeInstanceTypes</a>接口获得指定地域或可用区的规格信息。
*
* @param instanceType
*/
public InstanceSpec instanceType(String instanceType) {
this.instanceType = instanceType;
return this;
}
/**
* set 镜像ID。可查询<a href="https://www.jdcloud.com/help/detail/2874/isCatalog/1">DescribeImages</a>接口获得指定地域的镜像信息。
*
* @param imageId
*/
public InstanceSpec imageId(String imageId) {
this.imageId = imageId;
return this;
}
/**
* set 云主机名称,<a href="https://www.jdcloud.com/help/detail/3870/isCatalog/1">参考公共参数规范</a>。
*
* @param name
*/
public InstanceSpec name(String name) {
this.name = name;
return this;
}
/**
* set 密码,<a href="https://www.jdcloud.com/help/detail/3870/isCatalog/1">参考公共参数规范</a>。
*
* @param password
*/
public InstanceSpec password(String password) {
this.password = password;
return this;
}
/**
* set 密钥对名称,当前只支持传入一个。
*
* @param keyNames
*/
public InstanceSpec keyNames(List keyNames) {
this.keyNames = keyNames;
return this;
}
/**
* set 主网卡主IP关联的弹性IP规格
*
* @param elasticIp
*/
public InstanceSpec elasticIp(ElasticIpSpec elasticIp) {
this.elasticIp = elasticIp;
return this;
}
/**
* set 主网卡配置信息
*
* @param primaryNetworkInterface
*/
public InstanceSpec primaryNetworkInterface(InstanceNetworkInterfaceAttachmentSpec primaryNetworkInterface) {
this.primaryNetworkInterface = primaryNetworkInterface;
return this;
}
/**
* set 系统盘配置信息
*
* @param systemDisk
*/
public InstanceSpec systemDisk(InstanceDiskAttachmentSpec systemDisk) {
this.systemDisk = systemDisk;
return this;
}
/**
* set 数据盘配置信息,本地盘(local类型)做系统盘的云主机可挂载8块数据盘,云硬盘(cloud类型)做系统盘的云主机可挂载7块数据盘。
*
* @param dataDisks
*/
public InstanceSpec dataDisks(List dataDisks) {
this.dataDisks = dataDisks;
return this;
}
/**
* set 计费配置
云主机不支持按用量方式计费,默认为按配置计费。
打包创建数据盘的情况下,数据盘的计费方式只能与云主机保持一致。
打包创建弹性公网IP的情况下,若公网IP的计费方式没有指定为按用量计费,那么公网IP计费方式只能与云主机保持一致。
*
* @param charge
*/
public InstanceSpec charge(ChargeSpec charge) {
this.charge = charge;
return this;
}
/**
* set 主机描述,<a href="https://www.jdcloud.com/help/detail/3870/isCatalog/1">参考公共参数规范</a>。
*
* @param description
*/
public InstanceSpec description(String description) {
this.description = description;
return this;
}
/**
* add item to 密钥对名称,当前只支持传入一个。
*
* @param keyName
*/
public void addKeyName(String keyName) {
if (this.keyNames == null) {
this.keyNames = new ArrayList<>();
}
this.keyNames.add(keyName);
}
/**
* add item to 数据盘配置信息,本地盘(local类型)做系统盘的云主机可挂载8块数据盘,云硬盘(cloud类型)做系统盘的云主机可挂载7块数据盘。
*
* @param dataDisk
*/
public void addDataDisk(InstanceDiskAttachmentSpec dataDisk) {
if (this.dataDisks == null) {
this.dataDisks = new ArrayList<>();
}
this.dataDisks.add(dataDisk);
}
}