ksyun.client.kci.createcontainergroup.v20200702.CreateContainerGroupRequest Maven / Gradle / Ivy
package ksyun.client.kci.createcontainergroup.v20200702;
import common.annotation.KsYunField;
import lombok.Builder;
import lombok.Data;
import lombok.ToString;
import java.util.List;
import java.util.Arrays;
/**
* @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;
/**容器实例底层云主机host配置,如使用场景:当有自建镜像仓库时,可通过此参数配置host,通过域名拉取vpc下自建仓库镜像*/
@KsYunField(name="MachineHostAliase")
private List MachineHostAliaseList;
@Data
@ToString
public static class MachineHostAliaseDto {
/***/
@KsYunField(name="Ip")
private String Ip;
/***/
@KsYunField(name="Hostname")
private List HostnameList;
}
/****创建无集群模式实例时该字段才生效**,Pod重启策略,不填写默认 Always
- Always 总是重启
- OnFailure 失败时重启
- Never 从不重启*/
@KsYunField(name="RestartPolicy")
private String RestartPolicy;
/****创建无集群模式实例时该字段才生效**拉取镜像仓库私有镜像凭据,公开镜像无须填写。*/
@KsYunField(name="ImageRegistryCredential")
private List ImageRegistryCredentialList;
@Data
@ToString
public static class ImageRegistryCredentialDto {
/**仓库域名,不能重复填写相同Server配置*/
@KsYunField(name="Server")
private String Server;
/**镜像仓库用户名*/
@KsYunField(name="Username")
private String Username;
/**镜像仓库密码*/
@KsYunField(name="Password")
private String Password;
}
/****创建无集群模式实例时该字段必填***/
@KsYunField(name="Volume")
private List VolumeList;
@Data
@ToString
public static class VolumeDto {
/**Volume类型
- EBSVolume
- NFSVolume
- HostPathVolume
- EmptyDirVolume
- ConfigFileVolume*/
@KsYunField(name="Type")
private String Type;
/**Volume名称,格式需符合`^[a-z0-9]([-a-z0-9]*[a-z0-9])?$`*/
@KsYunField(name="Name")
private String Name;
}
/****创建无集群模式实例时该字段必填***/
@KsYunField(name="Container")
private List ContainerList;
@Data
@ToString
public static class ContainerDto {
/**容器名称必填,格式`^[a-z0-9]([-a-z0-9]*[a-z0-9])?$`,不能超过63个字符*/
@KsYunField(name="Name")
private String Name;
/**运行命令*/
@KsYunField(name="Command")
private List CommandList;
/**命令行参数*/
@KsYunField(name="Arg")
private List ArgList;
/**最多三位小数*/
@KsYunField(name="Cpu")
private Double Cpu;
/**最多三位小数*/
@KsYunField(name="Memory")
private String Memory;
/**最多三位小数*/
@KsYunField(name="Gpu")
private Double Gpu;
/***/
@KsYunField(name="WorkingDir")
private String WorkingDir;
/**容器运行镜像,必填*/
@KsYunField(name="Image")
private String Image;
/**镜像拉取策略- Always- IfNotPresent- Never*/
@KsYunField(name="ImagePullPolicy")
private String ImagePullPolicy;
/**环境变量*/
@KsYunField(name="EnvironmentVar")
private List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy