
ksyun.client.kci.createcontainergroup.v20200702.CreateContainerGroupRequest Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of ksyun-java-sdk Show documentation
Show all versions of ksyun-java-sdk Show documentation
The KSYUN Web Services SDK for Java provides Java APIs
for building software on KSYUN' cost-effective, scalable, and reliable
infrastructure products. The KSYUN Java SDK allows developers to code
against APIs for all of KSYUN's infrastructure web services (KSC
S3, KSC KEC, KSC RDS etc).
The newest version!
package ksyun.client.kci.createcontainergroup.v20200702;
import common.annotation.KsYunField;
import lombok.Data;
import lombok.ToString;
import java.util.List;
/**
* @Classname CreateContainerGroupRequest
* @Description 请求参数
*/
@Data
public class CreateContainerGroupRequest {
/**
* 容器实例名称,不超过128个字符,只能包含小写字母、数字、和分隔符(“-”,“.”),不能以分隔符开头或结尾
*/
@KsYunField(name = "ContainerGroupName")
private String ContainerGroupName;
/**
* 子网ID
*/
@KsYunField(name = "SubnetId")
private String SubnetId;
/**
* 子网ID(多值传参用法),如果SubnetId为空,则该参数为必填,最多传5个
*/
@KsYunField(name = "MultiSubnetId")
private List MultiSubnetIdList;
/**
* 安全组ID,最多3个
*/
@KsYunField(name = "SecurityGroupId")
private List SecurityGroupIdList;
/**
* 容器实例类型,当前固定为RBKCI
*/
@KsYunField(name = "KciType")
private String KciType;
/**
* 容器实例底层机型套餐,如N3.4B,没有特殊需求可以不填写,系统以最小规格自动适配,有特殊资源要求的请联系产品咨询所在可用区是否售卖
*/
@KsYunField(name = "InstanceType")
private String InstanceType;
/**
* 指定容器实例底层资源机型列表,如N3,如果有多个以英文逗号分隔,如S6,X7。系统按填写顺序从InstanceFamily指定的机型列表自动适配规格。如果填写了InstanceType,则忽略该字段。
*/
@KsYunField(name = "InstanceFamily")
private String InstanceFamily;
/**
* 计费方式- HourlyInstantSettlement 按小时实时结算, 所有机型都支持- Spot 竞价实例,有折扣的机型,仅部分机型支持,需要联系产品
*/
@KsYunField(name = "ChargeType")
private String ChargeType;
/**
* 竞价实例策略,当计费方式为Spot时,该字段有效,当前固定为SpotAsPriceGo
*/
@KsYunField(name = "SpotStrategy")
private String SpotStrategy;
/**
* 项目ID,不填写默认0
*/
@KsYunField(name = "ProjectId")
private Integer ProjectId;
/**
* 容器实例CPU规格,支持三位小数,最大值256,系统会自动以标准规格适配,如指定的Cpu是2.5核,系统最终可能根据机型还要求开出4核,最小规格去适配
*/
@KsYunField(name = "Cpu")
private Double Cpu;
/**
* 容器实例内存规格,支持最多三位小数,最大512,单位GB。填写3G,最终系统根据机型以最小规格适配可能开出4G标准规格。
*/
@KsYunField(name = "Memory")
private Double Memory;
/**
* Gpu颗数,创建Gpu容器实例时,系统根据Gpu指定的颗数创建符合条件的gpu容器实例,非Gpu机型实例该参数无效
*/
@KsYunField(name = "Gpu")
private Double Gpu;
/**
* 当创建集群模式容器实例时,KubeConfig必须填写
*/
@KsYunField(name = "KubeConfig")
private String KubeConfig;
/**
* 是否保留ip,当RetainIp为true时,在相同子网下再次创建同名称的实例时,系统会继续使用上一次的ip,但不保证一定成功,ip可能被其它资源抢占。
*/
@KsYunField(name = "RetainIp")
private Boolean RetainIp;
/**
* ip保留时间,默认24小时,最大365*24,如果RetainIp为空或者false时,该字段无效
*/
@KsYunField(name = "RetainIpHours")
private Integer RetainIpHours;
/**
* EIP实例ID,容器实例成功启动后会自动进行EIP绑定
*/
@KsYunField(name = "EipAllocationId")
private String EipAllocationId;
/**
* 自动匹配镜像缓存,默认False
*/
@KsYunField(name = "AutoMatchImageCache")
private Boolean AutoMatchImageCache;
/**
* 镜像缓存ID,指定镜像缓存,则AutoMatchImageCache无效
*/
@KsYunField(name = "ImageCacheId")
private String ImageCacheId;
/**
* 容器实例高级属性设置,主要用于控制容器实例底层KVM的启动配置
*/
@KsYunField(name = "AdvanceSettings")
private AdvanceSettingsDto AdvanceSettingsList;
/**
* 容器实例底层云服务器DNS配置
*/
@KsYunField(name = "MachineDnsConfig")
private MachineDnsConfigDto MachineDnsConfigList;
/**
* 容器实例底层云主机host配置,如使用场景:当有自建镜像仓库时,可通过此参数配置host,通过域名拉取vpc下自建仓库镜像
*/
@KsYunField(name = "MachineHostAliase")
private List MachineHostAliaseList;
/****创建无集群模式实例时该字段才生效**,Pod重启策略,不填写默认 Always
- Always 总是重启
- OnFailure 失败时重启
- Never 从不重启*/
@KsYunField(name = "RestartPolicy")
private String RestartPolicy;
/****创建无集群模式实例时该字段才生效**拉取镜像仓库私有镜像凭据,公开镜像无须填写。*/
@KsYunField(name = "ImageRegistryCredential")
private List ImageRegistryCredentialList;
/****创建无集群模式实例时该字段必填***/
@KsYunField(name = "Volume")
private List VolumeList;
/****创建无集群模式实例时该字段必填***/
@KsYunField(name = "Container")
private List ContainerList;
/****创建无集群模式实例时该字段必填**pod dns配置*/
@KsYunField(name = "DnsConfig")
private DnsConfigDto DnsConfigList;
/****创建无集群模式实例时该字段必填**pod host配置*/
@KsYunField(name = "HostAliase")
private List HostAliaseList;
/****非Serverless集群模式容器实例创建时必填**集群DNS*/
@KsYunField(name = "ClusterDns")
private String ClusterDns;
/****非Serverless集群模式容器实例创建时必填**集群域名*/
@KsYunField(name = "ClusterDomain")
private String ClusterDomain;
/**
* 创建集群模式容器实例时,cluster-id、namespace、pod-name标签必填,通常该标签由virtual-kubelet组件自动传递。
*/
@KsYunField(name = "Label")
private List LabelList;
/****创建集群模式容器实例时该字段才生效**KubeProxy配置*/
@KsYunField(name = "KubeProxy")
private KubeProxyDto KubeProxyList;
/****创建集群模式容器实例该字段才生效**pod日志是否采集到klog,默认false,若开启,则按照kce集群的配置的采集规则将日志输出到klog。*/
@KsYunField(name = "KlogEnabled")
private Boolean KlogEnabled;
/****创建集群模式容器实例该字段生效**
实例开机时需要创建的ebs数据盘,主要用于创建集群工作负载中指定了ebs类型的存储卷,最大8块ebs盘,这是底层云服务器的限制。*/
@KsYunField(name = "DataDisk")
private List DataDiskList;
/****创建集群模式容器实例该字段生效**
pod内部所有容器申请的资源列表,不填写,开出的容器实例就是默认规格大小。
计算规格时,优先以Limit值进行计算,Limit值为空,再以Request值累加计算。*/
@KsYunField(name = "ContainerSpec")
private List ContainerSpecList;
@Data
@ToString
public static class AdvanceSettingsDto {
/**
* 容器实例底层云主机启动镜像,该镜像必须是容器实例研发研发提供的镜像,否则无法启动容器实例
*/
@KsYunField(name = "ImageId")
private String ImageId;
/**
* 本地数据盘,基本已经弃用,仅少量机型支持本地数据盘
*/
@KsYunField(name = "DataDiskGb")
private Integer DataDiskGb;
/**
* 系统盘配置,有特殊系统盘要求,可填写,系统盘配置会决定可采用的机型
*/
@KsYunField(name = "SystemDisk")
private SystemDiskDto SystemDiskList;
@Data
@ToString
public static class SystemDiskDto {
/**
* 支持以下几种类型- Local_SSD 本地SSD- SSD3.0 云盘SSD3.0- EHDD 高效云盘- ESSD_SYSTEM_PL0 极速盘- ESSD_SYSTEM_PL1 极速盘- ESSD_SYSTEM_PL2 极速盘请谨慎指定系统盘类型,系统盘类型需要机型的支持
*/
@KsYunField(name = "Type")
private String Type;
/**
* 系统盘大小范围,当填写了Type,不填写Size时,盘大小默认为最小值Local_SSD 20~100SSD 20~500EHDD 20~500ESSD_SYSTEM_PL0 50~500ESSD_SYSTEM_PL1 50~500ESSD_SYSTEM_PL2 461~500
*/
@KsYunField(name = "Size")
private Integer Size;
}
}
@Data
@ToString
public static class MachineDnsConfigDto {
/***/
@KsYunField(name = "NameServer")
private List NameServerList;
/***/
@KsYunField(name = "Search")
private List SearchList;
/***/
@KsYunField(name = "Option")
private List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy