models

package
v1.62.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 16, 2023 License: Apache-2.0 Imports: 0 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AddonConfig added in v1.12.0

type AddonConfig struct {

	/* 组件名称 (Optional) */
	Name string `json:"name"`

	/* 组件版本,非必须,未安装时填充为默认版本号 (Optional) */
	Version string `json:"version"`

	/* 组件是否开启 (Optional) */
	Enabled bool `json:"enabled"`

	/* 组件安装状态 not_installed,installed,installing,uninstalling,error_installed (Optional) */
	State string `json:"state"`

	/* 组件的额外参数(deprecated) (Optional) */
	Params interface{} `json:"params"`

	/* 组件的额外参数(新) (Optional) */
	Parameters []StringKeyValuePair `json:"parameters"`

	/* 可安装的addons (Optional) */
	AddonDetail ClusterAddon `json:"addonDetail"`
}

type AddonConfigSpec added in v1.12.0

type AddonConfigSpec struct {

	/* 组件名称,目前支持customMetrics、logging  */
	Name string `json:"name"`

	/* 组件版本,非必须 (Optional) */
	Version *string `json:"version"`

	/* 是否开启该组件,默认为false。 (Optional) */
	Enabled *bool `json:"enabled"`

	/* 组件参数(deprecated) (Optional) */
	Params *interface{} `json:"params"`

	/* 组件的额外参数(新) (Optional) */
	Parameters []StringKeyValuePair `json:"parameters"`
}

type AutoClusterNetworkSpec added in v1.59.0

type AutoClusterNetworkSpec struct {

	/* kube-apiserver是否可公网访问,false则kube-apiserver不绑定公网地址,true绑定公网地址  */
	PublicApiServer bool `json:"publicApiServer"`

	/* master网络的cidr  */
	MasterCidr string `json:"masterCidr"`

	/* node网络的cidr,自动切分  */
	NodeNetworkCidr string `json:"nodeNetworkCidr"`

	/* 用户侧承载node和pod的vpc id  */
	VpcId string `json:"vpcId"`

	/* 是否双栈支持,开启后,kube-apiserver将拥有ipv6地址,默认不开启 (Optional) */
	DualStack *bool `json:"dualStack"`

	/* 是否开启master访问公网的能力,如果需要引入公网OIDC认证时需要开启,默认不开启 (Optional) */
	MasterNatEnabled *bool `json:"masterNatEnabled"`

	/* nat网关配置,如果clusterNetworkType为auto,当natGateway和nodeElasticIpSpec都为空时会自动创建nat虚机 (Optional) */
	NatGateway *NatGatewaySpec `json:"natGateway"`

	/* 节点公网IP的配置,与nat网关配置互斥,不可同时设置 (Optional) */
	NodeElasticIpSpec *NodeElasticIpSpec `json:"nodeElasticIpSpec"`
}

type CAConfig added in v1.15.0

type CAConfig struct {

	/* 是否启用了自动伸缩
	(Optional) */
	Enable bool `json:"enable"`

	/* 自动扩容最大工作节点数 (Optional) */
	MaxNode int `json:"maxNode"`

	/* 自动扩容最小工作节点数 (Optional) */
	MinNode int `json:"minNode"`
}

type CAConfigSpec added in v1.15.0

type CAConfigSpec struct {

	/* 是否启用自动伸缩,默认为 false
	(Optional) */
	Enable *bool `json:"enable"`

	/* 自动扩容最大工作节点数, 取值范围[1, min(2000, 子网剩余ip)] (Optional) */
	MaxNode *int `json:"maxNode"`

	/* 自动扩容最小工作节点数, 取值范围[0, min(2000, maxNode)] (Optional) */
	MinNode *int `json:"minNode"`
}

type Cluster

type Cluster struct {

	/* 集群id (Optional) */
	ClusterId string `json:"clusterId"`

	/* 名称 (Optional) */
	Name string `json:"name"`

	/* 描述 (Optional) */
	Description string `json:"description"`

	/* kubernetes的版本 (Optional) */
	Version string `json:"version"`

	/* 集群所在的az (Optional) */
	Azs []string `json:"azs"`

	/* 节点组列表 (Optional) */
	NodeGroups []NodeGroup `json:"nodeGroups"`

	/* k8s的cluster的cidr (Optional) */
	ClusterCidr string `json:"clusterCidr"`

	/* 认证信息 (Optional) */
	MasterAuth MasterAuth `json:"masterAuth"`

	/* 状态  [pending,running,reconciling(升级时的状态), deleting, deleted, error] (Optional) */
	ClusterState string `json:"clusterState"`

	/* 状态变更原因 (Optional) */
	StateMessage string `json:"stateMessage"`

	/* 更新时间 (Optional) */
	UpdateTime string `json:"updateTime"`

	/* 创建时间 (Optional) */
	CreateTime string `json:"createTime"`

	/* 用户的AccessKey,插件调用open-api时的认证凭证 (Optional) */
	AccessKey string `json:"accessKey"`

	/* 基本验证方式 (Optional) */
	BasicAuth bool `json:"basicAuth"`

	/* 证书验证方式 (Optional) */
	ClientCertificate bool `json:"clientCertificate"`

	/* 用户访问的内网ip (Optional) */
	PrivateEndpoint string `json:"privateEndpoint"`

	/* 用户访问的ip (Optional) */
	Endpoint string `json:"endpoint"`

	/* IPv6地址 (Optional) */
	EndpointIPV6 string `json:"endpointIPV6"`

	/* endpoint的port (Optional) */
	EndpointPort string `json:"endpointPort"`

	/* endpoint的dashboard port (Optional) */
	DashboardPort string `json:"dashboardPort"`

	/* deprecated 优先以addonsConfig中的配置为准 <br>用户是否启用集群自定义监控,true 表示开启用,false 表示未开启用 (Optional) */
	UserMetrics bool `json:"userMetrics"`

	/* 集群组件配置信息 (Optional) */
	AddonsConfig []AddonConfig `json:"addonsConfig"`

	/* 是否开启集群自动升级,true 表示开启,false 表示未开启 (Optional) */
	AutoUpgrade bool `json:"autoUpgrade"`

	/* 配置集群维护策略 (Optional) */
	MaintenanceWindow MaintenanceWindow `json:"maintenanceWindow"`

	/* 集群升级计划信息, 仅展示最新一条升级计划信息 (Optional) */
	UpgradePlan UpgradePlan `json:"upgradePlan"`

	/* 控制节点操作进度 (Optional) */
	MasterProgress MaintenanceWindow `json:"masterProgress"`

	/* 网络配置信息 (Optional) */
	ClusterNetwork ClusterNetwork `json:"clusterNetwork"`

	/* 集群网络类型,可取值为auto和customized (Optional) */
	NetworkMode string `json:"networkMode"`

	/* 用户自定义的集群的环境信息,会影响到创建集群时的组件模版的渲染 (Optional) */
	ClusterEnvironments []StringKeyValuePair `json:"clusterEnvironments"`

	/* 是否是边缘计算集群 (Optional) */
	IsEdge bool `json:"isEdge"`
}

type ClusterAddon added in v1.59.0

type ClusterAddon struct {

	/* 组件名称 (Optional) */
	Name string `json:"name"`

	/* 组件是否必需开启 (Optional) */
	Required bool `json:"required"`

	/* 组件说明 (Optional) */
	Description string `json:"description"`

	/*  (Optional) */
	AvailableVersions []ClusterAddonVersion `json:"availableVersions"`
}

type ClusterAddonVersion added in v1.59.0

type ClusterAddonVersion struct {

	/* 组件名称 (Optional) */
	Name string `json:"name"`

	/* 组件版本,非必须 (Optional) */
	Version string `json:"version"`

	/* 组件版本简要说明 (Optional) */
	Description string `json:"description"`

	/* 组件版本发布说明 (Optional) */
	ReleaseNote string `json:"releaseNote"`

	/* 适配的k8s最低版本,如 1.12 (Optional) */
	MinAdaptedK8sVersion string `json:"minAdaptedK8sVersion"`

	/* 适配的k8s最高版本,如 1.18 (Optional) */
	MaxAdaptedK8sVersion string `json:"maxAdaptedK8sVersion"`
}

type ClusterNetwork added in v1.21.0

type ClusterNetwork struct {

	/* kube-apiserver是否可公网访问,false则kube-apiserver不绑定公网地址,true绑定公网地址 (Optional) */
	PublicApiServer bool `json:"publicApiServer"`

	/* master网络的cidr (Optional) */
	MasterCidr string `json:"masterCidr"`

	/* service网络的cidr (Optional) */
	ServiceCidr string `json:"serviceCidr"`

	/* 用户侧承载node和pod的vpc id (Optional) */
	VpcId string `json:"vpcId"`

	/* 集群Pod子网信息 (Optional) */
	PodSubnets []ClusterNetworkPodSubnet `json:"podSubnets"`

	/* 集群子网信息 (Optional) */
	ClusterSubnets []ClusterNetworkSubnet `json:"clusterSubnets"`

	/* nat网关配置 (Optional) */
	NatGateway []NatGateway `json:"natGateway"`

	/* 节点公网IP的配置,如果设置了节点公网IP,此项不为空 (Optional) */
	NodeElasticIpSpec NodeElasticIpSpec `json:"nodeElasticIpSpec"`
}

type ClusterNetworkPodSubnet added in v1.59.0

type ClusterNetworkPodSubnet struct {

	/* 子网 ID (Optional) */
	SubnetId string `json:"subnetId"`

	/* 子网类型,可取值为:pod_subnet/lb_subnet/node_subnet (Optional) */
	SubnetType string `json:"subnetType"`

	/* 子网是否启用,仅pod子网可用 (Optional) */
	Enabled bool `json:"enabled"`

	/* 是否允许自动删除 (Optional) */
	AutoDelete bool `json:"autoDelete"`

	/* ip mask of subnet view (Optional) */
	IpMaskLen int `json:"ipMaskLen"`

	/* 可用的node数量 (Optional) */
	AvailableCidrCount int `json:"availableCidrCount"`

	/* ip count of each cidr. defined by user (Optional) */
	EniLen int `json:"eniLen"`

	/* ipam policy. defined by user (Optional) */
	IpamPolicy string `json:"ipamPolicy"`

	/* tell if runtime subnet has error (Optional) */
	RuntimeError string `json:"runtimeError"`
}

type ClusterNetworkSpec added in v1.21.0

type ClusterNetworkSpec struct {

	/* kube-apiserver是否可公网访问,false则kube-apiserver不绑定公网地址,true绑定公网地址  */
	PublicApiServer bool `json:"publicApiServer"`

	/* master网络的cidr  */
	MasterCidr string `json:"masterCidr"`

	/* service网络的cidr  */
	ServiceCidr string `json:"serviceCidr"`

	/* 用户侧承载node和pod的vpc id  */
	VpcId string `json:"vpcId"`

	/* 初始pod的子网id  */
	PodSubnetId string `json:"podSubnetId"`

	/* 初始loadbalancer类型的service所创建的lb所在的subnet  */
	LbSubnetId string `json:"lbSubnetId"`

	/* 初始的node子网ID  */
	NodeSubnetId string `json:"nodeSubnetId"`

	/* nat网关配置  */
	NatGateway NatGatewaySpec `json:"natGateway"`
}

type ClusterNetworkSubnet added in v1.21.0

type ClusterNetworkSubnet struct {

	/* 子网 ID (Optional) */
	SubnetId string `json:"subnetId"`

	/* 子网类型,可取值为:pod_subnet/lb_subnet/node_subnet (Optional) */
	SubnetType string `json:"subnetType"`

	/* 子网是否启用,仅pod子网可用。 (Optional) */
	Enabled bool `json:"enabled"`
}

type ClusterPodSubnet added in v1.59.0

type ClusterPodSubnet struct {

	/* 子网 ID (Optional) */
	SubnetId string `json:"subnetId"`

	/* 子网类型,可取值为:pod_subnet/lb_subnet/node_subnet (Optional) */
	SubnetType string `json:"subnetType"`

	/* 子网是否启用,仅pod子网可用 (Optional) */
	Enabled bool `json:"enabled"`

	/* 是否允许自动删除 (Optional) */
	AutoDelete bool `json:"autoDelete"`

	/* ip mask of subnet view (Optional) */
	IpMaskLen int `json:"ipMaskLen"`

	/* 可用的node数量 (Optional) */
	AvailableCidrCount int `json:"availableCidrCount"`

	/* ip count of each cidr. defined by user (Optional) */
	EniLen int `json:"eniLen"`

	/* ipam policy. defined by user (Optional) */
	IpamPolicy string `json:"ipamPolicy"`

	/* tell if runtime subnet has error (Optional) */
	RuntimeError string `json:"runtimeError"`

	/* 子网CIDR (Optional) */
	Cidr string `json:"cidr"`

	/* 子网中可用的IP数量 (Optional) */
	AvailableIpNum int `json:"availableIpNum"`

	/* 子网名称 (Optional) */
	SubnetName string `json:"subnetName"`
}

type ClusterSpec

type ClusterSpec struct {

	/* 名称(同一用户的 cluster 允许重名)  */
	Name string `json:"name"`

	/* 描述 (Optional) */
	Description string `json:"description"`

	/* 默认开启 basicAuth与clientCertificate最少选择一个 (Optional) */
	BasicAuth bool `json:"basicAuth"`

	/* 默认开启 basicAuth与clientCertificate最少选择一个 (Optional) */
	ClientCertificate bool `json:"clientCertificate"`

	/* kubernetes的版本,默认1.8 (Optional) */
	Version string `json:"version"`

	/* 集群所在的az  */
	Azs []string `json:"azs"`

	/* 实例组 (Optional) */
	NodeGroup NodeGroupSpec `json:"nodeGroup"`

	/* k8s的master的cidr  */
	MasterCIDR string `json:"masterCIDR"`

	/* 用户的AccessKey,插件调用open-api时的认证凭证  */
	AccessKey string `json:"accessKey"`

	/* 用户的SecretKey,插件调用open-api时的认证凭证  */
	SecretKey string `json:"secretKey"`
}

type ClusterSubnet added in v1.21.0

type ClusterSubnet struct {

	/* 子网 ID (Optional) */
	SubnetId string `json:"subnetId"`

	/* 子网类型,可取值为:pod_subnet/lb_subnet/node_subnet (Optional) */
	SubnetType string `json:"subnetType"`

	/* 子网是否启用,仅pod子网可用。 (Optional) */
	Enabled bool `json:"enabled"`

	/* 子网是否自动删除,用户自定义子网不会自动删除 (Optional) */
	AutoDelete bool `json:"autoDelete"`

	/* 子网CIDR (Optional) */
	Cidr string `json:"cidr"`

	/* 子网中可用的IP数量 (Optional) */
	AvailableIpNum int `json:"availableIpNum"`

	/* 子网名称 (Optional) */
	SubnetName string `json:"subnetName"`
}

type CustomizedClusterNetworkSpec added in v1.59.0

type CustomizedClusterNetworkSpec struct {

	/* kube-apiserver是否可公网访问,false则kube-apiserver不绑定公网地址,true绑定公网地址  */
	PublicApiServer bool `json:"publicApiServer"`

	/* master网络的cidr  */
	MasterCidr string `json:"masterCidr"`

	/* service网络的cidr  */
	ServiceCidr string `json:"serviceCidr"`

	/* 用户侧承载node和pod的vpc id  */
	VpcId string `json:"vpcId"`

	/* 初始pod的子网id  */
	PodSubnetId string `json:"podSubnetId"`

	/* 初始loadbalancer类型的service所创建的lb所在的subnet  */
	LbSubnetId string `json:"lbSubnetId"`

	/* 初始的node子网ID  */
	NodeSubnetId string `json:"nodeSubnetId"`

	/* 是否双栈支持,开启后,kube-apiserver将拥有ipv6地址,默认不开启 (Optional) */
	DualStack *bool `json:"dualStack"`

	/* 是否开启master访问公网的能力,如果需要引入公网OIDC认证时需要开启,默认不开启 (Optional) */
	MasterNatEnabled *bool `json:"masterNatEnabled"`

	/* nat网关配置 (Optional) */
	NatGateway *NatGatewaySpec `json:"natGateway"`

	/* 节点公网IP的配置,与nat网关配置互斥,不可同时设置 (Optional) */
	NodeElasticIpSpec *NodeElasticIpSpec `json:"nodeElasticIpSpec"`
}

type CustomizedNodeGroupSpec added in v1.21.0

type CustomizedNodeGroupSpec struct {

	/* 名称  */
	Name string `json:"name"`

	/*  (Optional) */
	Description string `json:"description"`

	/* 工作节点组的信息  */
	NodeConfig NodeConfigSpec `json:"nodeConfig"`

	/* 工作节点组的 az,必须为集群az的子集,默认为集群az (Optional) */
	Azs []string `json:"azs"`

	/* 工作节点组初始化大小,至少为1个  */
	InitialNodeCount int `json:"initialNodeCount"`

	/* 是否开启自动修复,默认不开启。 (Optional) */
	AutoRepair bool `json:"autoRepair"`

	/* 自动伸缩配置 (Optional) */
	CaConfig CAConfigSpec `json:"caConfig"`
}

type DataDiskSpec added in v1.59.0

type DataDiskSpec struct {

	/* 云硬盘类型,取值为ssd、premium-hdd、ssd.gp1、ssd.io1、hdd.std1之一  */
	DiskType string `json:"diskType"`

	/* 云硬盘大小,单位为 GiB,ssd 类型取值范围[20,1000]GB,步长为10G,premium-hdd 类型取值范围[20,3000]GB,步长为10G, ssd.gp1, ssd.io1, hdd.std1 类型取值均是范围[20,16000]GB,步长为10G  */
	DiskSizeGB int `json:"diskSizeGB"`

	/* 云硬盘IOPS的大小,当且仅当云盘类型是ssd.io1型的云盘有效,步长是10. (Optional) */
	Iops *int `json:"iops"`

	/* 用于创建云硬盘的快照ID (Optional) */
	SnapshotId *string `json:"snapshotId"`

	/* 随虚机删除,默认true (Optional) */
	AutoDelete *bool `json:"autoDelete"`

	/* 自动format,默认true (Optional) */
	AutoFormat *bool `json:"autoFormat"`

	/* 支持ext4,xfs  */
	FsType string `json:"fsType"`

	/* 挂载点,默认 /var/lib/docker (Optional) */
	MountPoint *string `json:"mountPoint"`
}

type DiskSpec added in v1.13.0

type DiskSpec struct {

	/* 磁盘类型,取值为cloud、local,默认为cloud (Optional) */
	SystemDiskCategory *string `json:"systemDiskCategory"`

	/* 云盘系统盘的大小 单位(GB) (Optional) */
	SystemDiskSize *int `json:"systemDiskSize"`

	/* 云盘系统盘的类型,支持 hdd.std1,ssd.gp1,ssd.io1 (Optional) */
	SystemDiskType *string `json:"systemDiskType"`

	/* 云盘 iops,仅限 ssd.io1 类型云盘有效 (Optional) */
	SystemDiskIops *int `json:"systemDiskIops"`
}

type GpuInstaller added in v1.59.0

type GpuInstaller struct {

	/* 驱动安装器名称,驱动安装器名称格式:{GPU型号}-{驱动版本}-{CUDA版本} (Optional) */
	InstallerName string `json:"installerName"`

	/* 驱动安装器镜像名称 (Optional) */
	ImageName string `json:"imageName"`

	/* 驱动安装器镜像版本 (Optional) */
	ImageVersion string `json:"imageVersion"`

	/* 设备配型,例如v100/p40 (Optional) */
	DeviceType string `json:"deviceType"`

	/* 驱动版本 (Optional) */
	DriverVersion string `json:"driverVersion"`

	/* cuda版本 (Optional) */
	CudaVersion string `json:"cudaVersion"`

	/* Gpu驱动安装器状态,1 启动,0禁用 (Optional) */
	Status int `json:"status"`
}

type Label

type Label struct {

	/*  (Optional) */
	Key string `json:"key"`

	/*  (Optional) */
	Value string `json:"value"`
}

type LabelSpec

type LabelSpec struct {

	/* key包含两个部分:prefix与name,name是必须的,prefix是可选的。prefix与name分隔用"/"。
	name 可以是字母,数字,[-_.]。长度小于63。prefix:遵循DNS标准(例如:kubernetes.io/),长度不超过253
	[参照](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#syntax-and-character-set)
	*/
	Key string `json:"key"`

	/* 字母,数字,[-_.],长度不超过63 (Optional) */
	Value *string `json:"value"`
}

type MaintenanceWindow added in v1.12.0

type MaintenanceWindow struct {

	/* daily, weekly, monthly, 默认 weekly (Optional) */
	PeriodType string `json:"periodType"`

	/* 维护操作开始具体日期, 仅对 periodType 取值为 weekly 或 monthly 时有效, periodType 为 weekly 时可以取 1-7, periodType 为 monthly 时可取 1-28
	(Optional) */
	StartDay int `json:"startDay"`

	/* 维护操作开始具体时间. 时间格式符合RFC3339,并使用 UTC 时间,精确到分钟,例如 23:27 (Optional) */
	StartTime string `json:"startTime"`

	/* 维护运行时长: 4-24 小时,步长 1 小时, 默认为: 4小时 (Optional) */
	Duration int `json:"duration"`
}

type MaintenanceWindowSpec added in v1.8.0

type MaintenanceWindowSpec struct {

	/* daily, weekly, monthly, 默认 weekly (Optional) */
	PeriodType string `json:"periodType"`

	/* 维护操作开始具体日期, 仅对 periodType 取值为 weekly 或 monthly 时有效, periodType 为 weekly 时可以取 1-7, periodType 为 monthly 时可取 1-28
	(Optional) */
	StartDay int `json:"startDay"`

	/* 维护操作开始具体时间. 时间格式符合RFC3339,并使用 UTC 时间,精确到分钟,例如 23:27  */
	StartTime string `json:"startTime"`

	/* 时区,使用 IANA 数据格式,例如:"Asia/Shanghai" 或 "America/Los_Angeles",默认 "UTC" (Optional) */
	TimeZone string `json:"timeZone"`

	/* 维护运行时长: 4-24 小时,步长 1 小时, 默认为: 4小时 (Optional) */
	Duration int `json:"duration"`
}

type MasterAuth

type MasterAuth struct {

	/* base64编码,集群的根的public certificate (Optional) */
	ClusterCaCertificate string `json:"clusterCaCertificate"`

	/* base64编码,客户端连接集群的public certificate (Optional) */
	ClientCertificate string `json:"clientCertificate"`

	/* base64编码, client的私钥 (Optional) */
	ClientKey string `json:"clientKey"`

	/* basic auth的user (Optional) */
	User string `json:"user"`

	/* basic auth的password (Optional) */
	Password string `json:"password"`
}

type MasterImage

type MasterImage struct {

	/* 镜像编码 (Optional) */
	Code string `json:"code"`

	/* 虚机镜像id (Optional) */
	ImageId string `json:"imageId"`

	/* 主版本号 (Optional) */
	MainVersion string `json:"mainVersion"`

	/* 内部版本号 (Optional) */
	InnerVersion string `json:"innerVersion"`

	/* 是否默认镜像 (Optional) */
	IsDefault bool `json:"isDefault"`

	/* 可见度:0:所有人可见;1:授权用户可见;2:只有白名单用户可见 (Optional) */
	Visibility int `json:"visibility"`

	/* 默认节点镜像编码 (Optional) */
	DefaultNodeImageCode string `json:"defaultNodeImageCode"`

	/* 工作节点镜像 (Optional) */
	NodeImages []NodeImage `json:"nodeImages"`
}

type MasterProgress added in v1.8.0

type MasterProgress struct {

	/* 操作类型 upgrade,rollback,downgrade 等 (Optional) */
	Action string `json:"action"`

	/* 升级范围, 目前只有三个值:0, 50, 100 (Optional) */
	Progress string `json:"progress"`
}

type MasterVersion

type MasterVersion struct {

	/* 集群版本号 (Optional) */
	Version string `json:"version"`

	/* 是否默认版本 (Optional) */
	IsDefault bool `json:"isDefault"`

	/* 默认工作节点版本号 (Optional) */
	DefaultNodeVersion string `json:"defaultNodeVersion"`

	/* 版本状态 (Optional) */
	VersionStatus string `json:"versionStatus"`

	/* node节点操作系统类型列表,以 "," 分割,目前支持 CentOS|Windows (Optional) */
	NodeOsTypes string `json:"nodeOsTypes"`

	/* 该版本可安装的addons (Optional) */
	ClusterAddons []ClusterAddon `json:"clusterAddons"`
}

type NatGateway added in v1.21.0

type NatGateway struct {

	/* nat的类型,nat_vm/nat_gw/nat_none (Optional) */
	NatType string `json:"natType"`

	/* nat虚机id,或者nat网关的实例id (Optional) */
	NatId string `json:"natId"`
}

type NatGatewaySpec added in v1.21.0

type NatGatewaySpec struct {

	/* nat的类型,nat_vm/nat_gw/nat_none (Optional) */
	NatType *string `json:"natType"`

	/* nat虚机id,或者nat网关的实例id (Optional) */
	NatId *string `json:"natId"`

	/* Nat实例对应的公网IP的配置,只有nat_vm时才生效 (Optional) */
	ElasticIpSpec *NodeElasticIpSpec `json:"elasticIpSpec"`
}

type NodeConfig

type NodeConfig struct {

	/* 实例类型 (Optional) */
	InstanceType string `json:"instanceType"`

	/* 镜像信息 (Optional) */
	ImageId string `json:"imageId"`

	/* 云主机SSH密钥对名称 (Optional) */
	KeyNames []string `json:"keyNames"`

	/* 云主机磁盘类型 (Optional) */
	SystemDiskCategory string `json:"systemDiskCategory"`

	/* 云主机云盘系统盘大小  单位(GB) (Optional) */
	SystemDiskSize int `json:"systemDiskSize"`

	/* 云主机云盘系统盘类型 (Optional) */
	SystemDiskType string `json:"systemDiskType"`

	/* 云主机云盘 iops,仅限 ssd 类型云盘有效 (Optional) */
	SystemDiskIops int `json:"systemDiskIops"`

	/* 工作节点组标签 (Optional) */
	Labels []LabelSpec `json:"labels"`

	/* 云主机脚本,目前支持启动脚本,key为launch-script。 (Optional) */
	UserScripts []UserScriptSpec `json:"userScripts"`

	/* 数据盘配置信息 (Optional) */
	DataDiskSpec []DataDiskSpec `json:"dataDiskSpec"`

	/* 数据盘配置信息 (Optional) */
	SystemDiskSpec DiskSpec `json:"systemDiskSpec"`

	/* 工作节点组的安全组配置,为空则使用默认安全组 (Optional) */
	SecurityGroup string `json:"securityGroup"`
}

type NodeConfigSpec

type NodeConfigSpec struct {

	/* 实例类型  */
	InstanceType string `json:"instanceType"`

	/* 云主机密码,默认为集群密码,密码规范参考:[公共参数规范](https://docs.jdcloud.com/cn/virtual-machines/api/general_parameters) (Optional) */
	Password *string `json:"password"`

	/* 云主机SSH密钥对名称,当前仅支持一个。使用中的SSH密钥请勿删除。 (Optional) */
	KeyNames []string `json:"keyNames"`

	/* 云主机系统盘配置信息 (Optional) */
	SystemDisk *DiskSpec `json:"systemDisk"`

	/* 工作节点组标签,最多支持 10 个 (Optional) */
	Labels []LabelSpec `json:"labels"`

	/* 云主机脚本,暂定最多支持5个脚本,目前支持脚本类型为启动脚本,key为launch-script。 (Optional) */
	UserScripts []UserScriptSpec `json:"userScripts"`

	/* 云主机数据盘配置信息 (Optional) */
	DataDiskSpec []DataDiskSpec `json:"dataDiskSpec"`

	/* 工作节点组的安全组配置,为空则使用默认安全组 (Optional) */
	SecurityGroup *string `json:"securityGroup"`
}

type NodeElasticIpSpec added in v1.59.0

type NodeElasticIpSpec struct {

	/* 公网IP带宽【1-200】  */
	BandWidthMbps int `json:"bandWidthMbps"`

	/* 公网IP的provider:BGP  */
	Provider string `json:"provider"`

	/* 公网IP计费类型:flow流量计费,bandwith带宽计费  */
	ChargeMode string `json:"chargeMode"`
}

type NodeGroup

type NodeGroup struct {

	/* 集群 id (Optional) */
	ClusterId string `json:"clusterId"`

	/* 工作节点组 id (Optional) */
	NodeGroupId string `json:"nodeGroupId"`

	/* 工作节点组名称 (Optional) */
	Name string `json:"name"`

	/* 工作节点组描述 (Optional) */
	Description string `json:"description"`

	/* 工作节点组配置信息 (Optional) */
	NodeConfig NodeConfig `json:"nodeConfig"`

	/* 工作节点版本 (Optional) */
	Version string `json:"version"`

	/* 工作节点所属的网络信息 (Optional) */
	NodeNetwork NodeNetwork `json:"nodeNetwork"`

	/* 当前工作节点数量 (Optional) */
	CurrentCount int `json:"currentCount"`

	/* 期望的工作节点数量 (Optional) */
	ExpectCount int `json:"expectCount"`

	/* 工作节点组的ag id ,通过agid可以查询该工作节点组下的实例 (Optional) */
	AgId string `json:"agId"`

	/* 工作节点组所在的 az (Optional) */
	Azs []string `json:"azs"`

	/* 工作节点组的 ag 对应的实例模板 (Optional) */
	InstanceTemplateId string `json:"instanceTemplateId"`

	/* 状态  [pending,running,resizing,reconciling,deleting,deleted,error,running_with_error(部分节点有问题)] (Optional) */
	State string `json:"state"`

	/*  (Optional) */
	Tags []Tag `json:"tags"`

	/* 更新时间 (Optional) */
	UpdateTime string `json:"updateTime"`

	/* 状态变更原因 (Optional) */
	StateMessage string `json:"stateMessage"`

	/* 控制节点操作进度 (Optional) */
	Progress NodeGroupProgress `json:"progress"`

	/* 自动伸缩配置 (Optional) */
	CaConfig CAConfig `json:"caConfig"`

	/* 创建时间 (Optional) */
	CreatedTime string `json:"createdTime"`
}

type NodeGroupNetworkSpec added in v1.21.0

type NodeGroupNetworkSpec struct {

	/* node所在子网id (Optional) */
	SubnetId *string `json:"subnetId"`
}

type NodeGroupProgress added in v1.8.0

type NodeGroupProgress struct {

	/* 工作节点组 id (Optional) */
	NodeGroupId string `json:"nodeGroupId"`

	/* 操作类型, upgrade, downgrade, rollback (Optional) */
	Action string `json:"action"`

	/* 总工作节点个数 (Optional) */
	TotalCount int `json:"totalCount"`

	/* 升级完成工作节点个数 (Optional) */
	UpdatedCount int `json:"updatedCount"`
}

type NodeGroupSpec

type NodeGroupSpec struct {

	/* 名称  */
	Name string `json:"name"`

	/*  (Optional) */
	Description *string `json:"description"`

	/* 工作节点组的信息  */
	NodeConfig *NodeConfigSpec `json:"nodeConfig"`

	/* 工作节点组的 az,必须为集群az的子集,默认为集群az (Optional) */
	Azs []string `json:"azs"`

	/* 工作节点组初始化大小,至少为1个  */
	InitialNodeCount int `json:"initialNodeCount"`

	/* 自动伸缩配置 (Optional) */
	CaConfig *CAConfigSpec `json:"caConfig"`
}

type NodeImage

type NodeImage struct {

	/* 镜像编码 (Optional) */
	Code string `json:"code"`

	/* 虚机镜像id (Optional) */
	ImageId string `json:"imageId"`

	/* 镜像操作系统 (Optional) */
	ImageOs string `json:"imageOs"`

	/* 主版本号 (Optional) */
	MainVersion string `json:"mainVersion"`

	/* 内部版本号 (Optional) */
	InnerVersion string `json:"innerVersion"`

	/* 可见度 (Optional) */
	Visibility int `json:"visibility"`
}

type NodeNetwork

type NodeNetwork struct {

	/* node子网的id (Optional) */
	NodeSubnetId string `json:"nodeSubnetId"`
}

type NodeVersion

type NodeVersion struct {

	/* 节点版本 (Optional) */
	Version string `json:"version"`

	/* 镜像操作系统 (Optional) */
	ImageOs string `json:"imageOs"`

	/* 版本状态 (Optional) */
	VersionStatus string `json:"versionStatus"`
}

type Param added in v1.59.0

type Param struct {

	/* 组件参数键 (Optional) */
	Key string `json:"key"`

	/* 组件参数值 (Optional) */
	Name string `json:"name"`
}

type ParamSpec added in v1.59.0

type ParamSpec struct {

	/* 组件参数键  */
	Key string `json:"key"`

	/* 组件参数值 (Optional) */
	Name string `json:"name"`
}

type Quota

type Quota struct {

	/* 资源类型[kubernetes、serverless-kubernetes] (Optional) */
	ResourceType string `json:"resourceType"`

	/* 可用资源上限 (Optional) */
	Limit int `json:"limit"`

	/* 已用资源数量 (Optional) */
	Used int `json:"used"`
}

type ServerConfig

type ServerConfig struct {

	/* kubernetes master 的支持版本 (Optional) */
	ValidMasterVersions []string `json:"validMasterVersions"`

	/* kubernetes master 的默认版本 (Optional) */
	DefaultMasterVersion string `json:"defaultMasterVersion"`

	/* node 节点的配置 (Optional) */
	ValidNodeConfig []ValidNodeConfig `json:"validNodeConfig"`
}

type ServerlessCluster added in v1.59.0

type ServerlessCluster struct {

	/* 集群id (Optional) */
	ClusterId string `json:"clusterId"`

	/* 名称 (Optional) */
	Name string `json:"name"`

	/* 描述 (Optional) */
	Description string `json:"description"`

	/* kubernetes的版本 (Optional) */
	Version string `json:"version"`

	/* 集群所在的az (Optional) */
	Azs []string `json:"azs"`

	/* k8s的cluster的cidr (Optional) */
	ClusterCidr string `json:"clusterCidr"`

	/* 认证信息 (Optional) */
	MasterAuth MasterAuth `json:"masterAuth"`

	/* 状态  [pending,running,reconciling(升级时的状态), deleting, deleted, error] (Optional) */
	ClusterState string `json:"clusterState"`

	/* 状态变更原因 (Optional) */
	StateMessage string `json:"stateMessage"`

	/* 用户的AccessKey,插件调用open-api时的认证凭证 (Optional) */
	AccessKey string `json:"accessKey"`

	/* 基本验证方式 (Optional) */
	BasicAuth bool `json:"basicAuth"`

	/* 证书验证方式 (Optional) */
	ClientCertificate bool `json:"clientCertificate"`

	/* 用户访问的内网ip (Optional) */
	PrivateEndpoint string `json:"privateEndpoint"`

	/* 用户访问的ip (Optional) */
	Endpoint string `json:"endpoint"`

	/* IPv6地址 (Optional) */
	EndpointIPV6 string `json:"endpointIPV6"`

	/* endpoint的port (Optional) */
	EndpointPort string `json:"endpointPort"`

	/* endpoint的dashboard port (Optional) */
	DashboardPort string `json:"dashboardPort"`

	/* deprecated 优先以addonsConfig中的配置为准 <br>用户是否启用集群自定义监控,true 表示开启用,false 表示未开启用 (Optional) */
	UserMetrics bool `json:"userMetrics"`

	/* 集群组件配置信息 (Optional) */
	AddonsConfig []AddonConfig `json:"addonsConfig"`

	/* 控制节点操作进度 (Optional) */
	MasterProgress MaintenanceWindow `json:"masterProgress"`

	/* 网络配置信息 (Optional) */
	ClusterNetwork ServerlessClusterNetworkConfig `json:"clusterNetwork"`

	/* 创建时间 (Optional) */
	CreateTime string `json:"createTime"`

	/* 集群网络类型,可取值为auto和customized (Optional) */
	NetworkMode string `json:"networkMode"`

	/* 用户自定义的集群的环境信息,会影响到创建集群时的组件模版的渲染 (Optional) */
	ClusterEnvironments []StringKeyValuePair `json:"clusterEnvironments"`

	/* 是否是边缘计算集群 (Optional) */
	IsEdge bool `json:"isEdge"`
}

type ServerlessClusterNetworkConfig added in v1.59.0

type ServerlessClusterNetworkConfig struct {

	/* kube-apiserver是否可公网访问,false则kube-apiserver不绑定公网地址,true绑定公网地址 (Optional) */
	PublicApiServer bool `json:"publicApiServer"`

	/* master网络的cidr (Optional) */
	MasterCidr string `json:"masterCidr"`

	/* service网络的cidr (Optional) */
	ServiceCidr string `json:"serviceCidr"`

	/* 用户侧承载node和pod的vpc id (Optional) */
	VpcId string `json:"vpcId"`

	/* 集群Pod子网信息 (Optional) */
	PodSubnets []ClusterNetworkPodSubnet `json:"podSubnets"`

	/* 集群lb子网信息 (Optional) */
	LbSubnets []ClusterNetworkSubnet `json:"lbSubnets"`

	/* nat网关配置 (Optional) */
	NatGateways []NatGateway `json:"natGateways"`
}

type ServerlessClusterNetworkSpec added in v1.59.0

type ServerlessClusterNetworkSpec struct {

	/* kube-apiserver是否可公网访问,false则kube-apiserver不绑定公网地址,true绑定公网地址 (Optional) */
	PublicApiServer *bool `json:"publicApiServer"`

	/* master子网CIDR (Optional) */
	MasterCidr *string `json:"masterCidr"`

	/* Pod所在VPC (Optional) */
	VpcId *string `json:"vpcId"`

	/*  (Optional) */
	NatGateway *NatGatewaySpec `json:"natGateway"`

	/* service所在子网CIDR (Optional) */
	ServiceCidr *string `json:"serviceCidr"`

	/* pod所在子网ID (Optional) */
	PodSubnetId *string `json:"podSubnetId"`

	/* lb所在子网ID (Optional) */
	LbSubnetId *string `json:"lbSubnetId"`

	/* 是否双栈支持,开启后,kube-apiserver将拥有ipv6地址,默认不开启 (Optional) */
	DualStack *bool `json:"dualStack"`

	/* 是否开启master访问公网的能力,如果需要引入公网OIDC认证时需要开启,默认不开启 (Optional) */
	MasterNatEnabled *bool `json:"masterNatEnabled"`
}

type ServerlessMasterVersion added in v1.59.0

type ServerlessMasterVersion struct {

	/* 版本号 (Optional) */
	Version string `json:"version"`

	/* 是否默认版本 (Optional) */
	IsDefault bool `json:"isDefault"`

	/* 版本状态 (Optional) */
	VersionStatus string `json:"versionStatus"`

	/* 该版本可以安装的组件列表 (Optional) */
	ClusterAddons []ClusterAddon `json:"clusterAddons"`
}

type StringKeyValuePair added in v1.59.0

type StringKeyValuePair struct {

	/* key  */
	Key string `json:"key"`

	/* value  */
	Value string `json:"value"`
}

type Tag added in v1.8.0

type Tag struct {

	/* Tag键 (Optional) */
	Key string `json:"key"`

	/* Tag值 (Optional) */
	Value string `json:"value"`
}

type TagFilter added in v1.8.0

type TagFilter struct {

	/* Tag键 (Optional) */
	Key *string `json:"key"`

	/* Tag值 (Optional) */
	Values []string `json:"values"`
}

type UpgradePlan added in v1.12.0

type UpgradePlan struct {

	/* 升级方式 auto, manual (Optional) */
	Mode string `json:"mode"`

	/* 升级范围 cluster, master, nodegroup (Optional) */
	Scope string `json:"scope"`

	/* 升级计划状态 waiting, upgrading (Optional) */
	State string `json:"state"`

	/* master 期望版本 (Optional) */
	MasterExpectedVersion string `json:"masterExpectedVersion"`

	/* node 期望版本 (Optional) */
	NodeExpectedVersion string `json:"nodeExpectedVersion"`

	/* 升级启动时间 (Optional) */
	StartTime string `json:"startTime"`

	/* 持续时长 (Optional) */
	Duration int `json:"duration"`
}

type UserScriptSpec added in v1.59.0

type UserScriptSpec struct {

	/* 脚本名称,最大长度暂定为100 byte,目前支持值为 launch-script,表示云主机启动脚本。 (Optional) */
	Key *string `json:"key"`

	/* 脚本详情,启动脚本(key为launch-script时对应的value)内容经过base64编码,编码前数据不能大于2KB(2048 byte),编码后数据不大于2768 byte,只支持bash脚本,编码前内容必须以 "#!/bin/bash" 作为首行。 (Optional) */
	Value *string `json:"value"`
}

type ValidNodeConfig

type ValidNodeConfig struct {

	/* kubernetes node 的版本 (Optional) */
	NodeVersion string `json:"nodeVersion"`

	/* 镜像id (Optional) */
	ImageId []string `json:"imageId"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL