models

package
v1.7.0 Latest Latest
Warning

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

Go to latest
Published: May 9, 2019 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CloudDisk

type CloudDisk struct {

	/* 云盘id,使用已有云盘 (Optional) */
	VolumeId string `json:"volumeId"`

	/* 云盘类型:ssd,premium-hdd,hdd.std1,ssd.gp1,ssd.io1 (Optional) */
	DiskType string `json:"diskType"`

	/* 指定volume文件系统类型,目前支持[xfs, ext4];如果新创建的盘,不指定文件系统类型默认格式化成xfs (Optional) */
	FsType string `json:"fsType"`

	/* 是否随pod删除。默认:true (Optional) */
	AutoDelete bool `json:"autoDelete"`
}

type CloudDiskSpec

type CloudDiskSpec struct {

	/* 云盘id,使用已有云盘 (Optional) */
	VolumeId *string `json:"volumeId"`

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

	/* 云盘快照id,根据云盘快照创建云盘。 (Optional) */
	Snapshot *string `json:"snapshot"`

	/* 云盘类型:ssd,premium-hdd,hdd.std1,ssd.gp1,ssd.io1 (Optional) */
	DiskType *string `json:"diskType"`

	/* 云盘size,单位 GB,要求 (Optional) */
	SizeGB *int `json:"sizeGB"`

	/* 指定volume文件系统类型,目前支持[xfs, ext4];如果新创建的盘,不指定文件系统类型默认格式化成xfs (Optional) */
	FsType *string `json:"fsType"`

	/* 是否随pod删除。默认:true (Optional) */
	AutoDelete *bool `json:"autoDelete"`
}

type Container

type Container struct {

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

	/* 容器执行命令,如果不指定默认是docker镜像的ENTRYPOINT。总长度256个字符。 (Optional) */
	Command []string `json:"command"`

	/* 容器执行命令的参数,如果不指定默认是docker镜像的CMD。总长度2048个字符。 (Optional) */
	Args []string `json:"args"`

	/* 容器执行的环境变量;如果和镜像中的环境变量Key相同,会覆盖镜像中的值。长度范围:[0-100] (Optional) */
	Env []EnvSpec `json:"env"`

	/* 镜像名称 </br> 容器镜像名字。 nginx:latest。长度范围:[1-500] 1. Docker Hub官方镜像通过类似nginx, mysql/mysql-server的名字指定 </br> 2. repository长度最大256个字符,tag最大128个字符,registry最大255个字符 </br> (Optional) */
	Image string `json:"image"`

	/* 镜像仓库secret名字。如果目前不传,默认选择dockerHub镜像 (Optional) */
	Secret string `json:"secret"`

	/* 容器是否分配tty。默认不分配 (Optional) */
	Tty bool `json:"tty"`

	/* 容器的工作目录。如果不指定,默认是根目录(/);必须是绝对路径;长度范围:[0-1024] (Optional) */
	WorkingDir string `json:"workingDir"`

	/* 容器存活探针配置 (Optional) */
	LivenessProbe ProbeSpec `json:"livenessProbe"`

	/* 容器服务就绪探针配置 (Optional) */
	ReadinessProbe ProbeSpec `json:"readinessProbe"`

	/* 容器计算资源配置 (Optional) */
	Resources ResourceRequestsSpec `json:"resources"`

	/* 容器计算资源配置 (Optional) */
	SystemDisk CloudDiskSpec `json:"systemDisk"`

	/* 容器计算资源配置 (Optional) */
	VolumeMounts []VolumeMount `json:"volumeMounts"`

	/* 容器状态信息 (Optional) */
	ContainerStatus ContainerStatus `json:"containerStatus"`
}

type ContainerSpec

type ContainerSpec struct {

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

	/* 容器执行命令,如果不指定默认是docker镜像的ENTRYPOINT。总长度256个字符。 (Optional) */
	Command []string `json:"command"`

	/* 容器执行命令的参数,如果不指定默认是docker镜像的CMD。总长度2048个字符。 (Optional) */
	Args []string `json:"args"`

	/* 容器执行的环境变量;如果和镜像中的环境变量Key相同,会覆盖镜像中的值。长度范围:[0-100] (Optional) */
	Env []EnvSpec `json:"env"`

	/* 镜像名称 </br>
	容器镜像名字。 nginx:latest。长度范围:[1-500]
	1. Docker Hub官方镜像通过类似nginx, mysql/mysql-server的名字指定 </br>
	2. repository长度最大256个字符,tag最大128个字符,registry最大255个字符 </br>
	*/
	Image string `json:"image"`

	/* 镜像仓库secret名字。如果目前不传,默认选择dockerHub镜像 (Optional) */
	Secret *string `json:"secret"`

	/* 容器是否分配tty。默认不分配 (Optional) */
	Tty *bool `json:"tty"`

	/* 容器的工作目录。如果不指定,默认是根目录(/);必须是绝对路径;长度范围:[0-1024] (Optional) */
	WorkingDir *string `json:"workingDir"`

	/* 容器存活探针配置 (Optional) */
	LivenessProbe *ProbeSpec `json:"livenessProbe"`

	/* 容器服务就绪探针配置 (Optional) */
	ReadinessProbe *ProbeSpec `json:"readinessProbe"`

	/* 容器计算资源配置 (Optional) */
	Resources *ResourceRequestsSpec `json:"resources"`

	/* 容器计算资源配置  */
	SystemDisk *CloudDiskSpec `json:"systemDisk"`

	/* 容器计算资源配置 (Optional) */
	VolumeMounts []VolumeMount `json:"volumeMounts"`
}

type ContainerState

type ContainerState struct {

	/* 容器running的详细信息 (Optional) */
	Running ContainerStateRunning `json:"running"`

	/* 容器Terminated的详细信息 (Optional) */
	Terminated ContainerStateTerminated `json:"terminated"`

	/* 容器waiting的详细信息 (Optional) */
	Waiting ContainerStateWaiting `json:"waiting"`
}

type ContainerStateRunning

type ContainerStateRunning struct {

	/* 容器最后一次重启或启动的时间。 (Optional) */
	StartedAt string `json:"startedAt"`
}

type ContainerStateTerminated

type ContainerStateTerminated struct {

	/* 容器被termination的信号。 (Optional) */
	Signal int `json:"signal"`

	/* 容器被termination的退出码。 (Optional) */
	ExitCode int `json:"exitCode"`

	/* (简要)容器被termination的原因。 (Optional) */
	Reason string `json:"reason"`

	/* 容器被termination的详细信息。 (Optional) */
	Message string `json:"message"`

	/* 容器被termination的时间。 (Optional) */
	FinishedAt string `json:"finishedAt"`

	/* 容器开始执行的时间。 (Optional) */
	StartedAt string `json:"startedAt"`
}

type ContainerStateWaiting

type ContainerStateWaiting struct {

	/* (简要)容器还没有运行原因。<br>
	eg ContainerCreating
	 (Optional) */
	Reason string `json:"reason"`

	/* 容器还没有运行的详细信息。 (Optional) */
	Message string `json:"message"`
}

type ContainerStatus

type ContainerStatus struct {

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

	/* 容器被重新启动的次数 (Optional) */
	RestartCount int `json:"restartCount"`

	/* 容器是否通过了就绪探针探测 (Optional) */
	Ready bool `json:"ready"`

	/* 关于容器当前状态详细信息 (Optional) */
	State ContainerState `json:"state"`

	/* 关于容器最后一次termination详细信息 (Optional) */
	LastState ContainerState `json:"lastState"`
}

type DnsConfig

type DnsConfig struct {

	/* DNS服务器IP地址列表,重复的将会被移除。<br>
	eg ["8.8.8.8", "4.2.2.2"]。列表长度:[0-20],元素符合IPv4格式。
	 (Optional) */
	Nameservers []string `json:"nameservers"`

	/* DNS搜索域列表,用于主机名查找。<br>
	eg ["ns1.svc.cluster.local", "my.dns.search.suffix"]。列表长度:[0-6],列表中所有字符总长度不超过256个。
	 (Optional) */
	Searches []string `json:"searches"`

	/* DNS解析器选项列表。<br>
	eg  ["ndots":"2", "edns0":""]。列表长度:[0-10] (Optional) */
	Options []PodDnsConfigOption `json:"options"`
}

type ElasticIp

type ElasticIp struct {

	/* 弹性ip的Id (Optional) */
	ElasticIpId *string `json:"elasticIpId"`

	/* 弹性ip地址 (Optional) */
	ElasticIpAddress *string `json:"elasticIpAddress"`
}

type EnvSpec

type EnvSpec struct {

	/* 环境变量名称(ASCII)。范围:[1-64]。必须为字母、数字、下划线(),正则为`[a-zA-Z0-9]*$`。  */
	Name string `json:"name"`

	/* 环境变量取值。范围:[0-1024] (Optional) */
	Value *string `json:"value"`
}

type Exec

type Exec struct {

	/* 执行的命令,总长度256个字符。 s  */
	Command []string `json:"command"`
}

type Hg

type Hg struct {

	/* 默认值: http;可选值 http, https (Optional) */
	Scheme *string `json:"scheme"`

	/* 连接到pod的host信息,默认使用pod_ip,满足hostname或者ipv4格式 (Optional) */
	Host *string `json:"host"`

	/* 范围:[1-65535]  */
	Port int `json:"port"`

	/* HTTP的路径。范围:[1-256]  */
	Path string `json:"path"`

	/* 对指定的端口和路径上的容器的 IP 地址执行 HTTP Get 请求。<br>
	如果响应的状态码大于等于200 且小于 400,则诊断被认为是成功的。  (Optional) */
	HttpHeader []Hh `json:"httpHeader"`
}

type Hh

type Hh struct {

	/* http header key,需满足http的规则  */
	Name string `json:"name"`

	/* 容器探活方式  */
	Value string `json:"value"`
}

type HostAlias

type HostAlias struct {

	/* 域名列表。<br>
	eg  ["foo.local", "bar.local"]。长度范围 1-10; 元素符合hostname命名规范。
	*/
	Hostnames []string `json:"hostnames"`

	/* ipv4信息;eg "127.0.0.1"  */
	Ip string `json:"ip"`
}

type JDCloudVolumeSource

type JDCloudVolumeSource struct {

	/* 云盘id,使用已有云盘 (Optional) */
	VolumeId *string `json:"volumeId"`

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

	/* 云盘快照id,根据云盘快照创建云盘。 (Optional) */
	Snapshot *string `json:"snapshot"`

	/* 云盘类型:ssd,premium-hdd,hdd.std1,ssd.gp1,ssd.io1 (Optional) */
	DiskType *string `json:"diskType"`

	/* 云盘size,单位 GB,要求 (Optional) */
	SizeGB *int `json:"sizeGB"`

	/* 指定volume文件系统类型,目前支持[xfs, ext4];如果新创建的盘,不指定文件系统类型默认格式化成xfs  */
	FsType string `json:"fsType"`

	/* 随容器自动创建的新盘,会自动格式化成指定的文件系统类型;挂载已有的盘,默认不会格式化,只会按照指定的fsType去挂载;如果希望格式化,必须设置此字段为true (Optional) */
	FormatVolume *bool `json:"formatVolume"`

	/* 是否随pod删除。默认:true (Optional) */
	AutoDelete *bool `json:"autoDelete"`
}

type LogConfig

type LogConfig struct {

	/* 日志Driver名称,目前只支持默认为每一个容器在本地分配10MB的存储空间,自动rotate。默认值:default。 (Optional) */
	LogDriver *string `json:"logDriver"`
}

type Logs

type Logs struct {

	/* 容器日志内容,最多返回4KB (Optional) */
	Content string `json:"content"`
}

type NetworkInterfaceAttachment

type NetworkInterfaceAttachment struct {

	/* 指明删除pod时是否删除网卡,默认True;当前只能是True (Optional) */
	AutoDelete bool `json:"autoDelete"`

	/* 设备Index,目前pod只支持一个网卡,所以只能设置为1 (Optional) */
	DeviceIndex int `json:"deviceIndex"`

	/* 绑定状态 (Optional) */
	AttachStatus string `json:"attachStatus"`

	/* 绑定时间 (Optional) */
	AttachTime string `json:"attachTime"`

	/* 网卡接口规范 (Optional) */
	NetworkInterface nc.InstanceNetworkInterface `json:"networkInterface"`
}

type NetworkInterfaceAttachmentSpec

type NetworkInterfaceAttachmentSpec struct {

	/* 指明删除pod时是否删除网卡,默认True;当前只能是True (Optional) */
	AutoDelete *bool `json:"autoDelete"`

	/* 设备Index,目前pod只支持一个网卡,所以只能设置为1 (Optional) */
	DeviceIndex *int `json:"deviceIndex"`

	/* 网卡接口规范  */
	NetworkInterface *vpc.NetworkInterfaceSpec `json:"networkInterface"`
}

type Pod

type Pod struct {

	/* pod ID (Optional) */
	PodId string `json:"podId"`

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

	/* 描述信息,默认为空。 (Optional) */
	Description string `json:"description"`

	/* 可用区 (Optional) */
	Az string `json:"az"`

	/* 主机名 (Optional) */
	Hostname string `json:"hostname"`

	/* pod 所需的计算资源规格 (Optional) */
	InstanceType string `json:"instanceType"`

	/* pod重启策略 (Optional) */
	RestartPolicy string `json:"restartPolicy"`

	/* 优雅关闭的时间 (Optional) */
	TerminationGracePeriodSeconds int `json:"terminationGracePeriodSeconds"`

	/* 主网卡所属vpcId (Optional) */
	VpcId string `json:"vpcId"`

	/* 主网卡所属子网的ID (Optional) */
	SubnetId string `json:"subnetId"`

	/* 主网卡主IP地址 (Optional) */
	PrivateIpAddress string `json:"privateIpAddress"`

	/* pod内容器的/etc/resolv.conf配置 [DnsConfig](DnsConfig.md)      pod内容器的/etc/resolv.conf配置 (Optional) */
	DnsConfig DnsConfig `json:"dnsConfig"`

	/* 容器日志配置信息;默认会在本地分配10MB的存储空间 (Optional) */
	LogConfig LogConfig `json:"logConfig"`

	/* pod内容器的/etc/hosts配置 (Optional) */
	HostAliases []HostAlias `json:"hostAliases"`

	/* 属于Pod的volume列表,提供挂载到containers上。 (Optional) */
	Volumes []Volume `json:"volumes"`

	/* pod内的容器信息 (Optional) */
	Containers []Container `json:"containers"`

	/* pod状态信息 (Optional) */
	PodStatus PodStatus `json:"podStatus"`

	/* 主网卡主IP关联的弹性IP规格 (Optional) */
	ElasticIp ElasticIp `json:"elasticIp"`

	/* 主网卡配置信息 (Optional) */
	PrimaryNetworkInterface NetworkInterfaceAttachment `json:"primaryNetworkInterface"`

	/* 计费配置;如不指定,默认计费类型是后付费-按使用时常付费 (Optional) */
	Charge charge.Charge `json:"charge"`

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

type PodCondition

type PodCondition struct {

	/* Last time we probed the condition. (Optional) */
	LastProbeTime string `json:"lastProbeTime"`

	/* Last time the condition transitioned from one status to another. (Optional) */
	LastTransitionTime string `json:"lastTransitionTime"`

	/* Unique, one-word, CamelCase reason for the condition's last transition. (Optional) */
	Reason string `json:"reason"`

	/* Status is the status of the condition. Can be True, False, Unknown. (Optional) */
	Status string `json:"status"`

	/* Human-readable message indicating details about last transition. (Optional) */
	Message string `json:"message"`

	/* Type is the type of the condition. Currently only Ready. (Optional) */
	ConditionType string `json:"conditionType"`
}

type PodDnsConfigOption

type PodDnsConfigOption struct {

	/* 长度范围:[1-63],需满足linux resolver限制  */
	Name string `json:"name"`

	/* 长度范围:[0-100],仅限timeout, attempts, ndots (Optional) */
	Value *string `json:"value"`
}

type PodSpec

type PodSpec struct {

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

	/* 描述信息,默认为空;允许输入UTF-8编码下的全部字符,不超过256字符。 (Optional) */
	Description *string `json:"description"`

	/* 主机名;范围:[1-63]个ASCII字符,默认值为 podId (Optional) */
	Hostname *string `json:"hostname"`

	/* pod中容器重启策略;Always, OnFailure, Never;默认:Always (Optional) */
	RestartPolicy *string `json:"restartPolicy"`

	/* 优雅关机宽限时长,如果超时,则触发强制关机。默认:30s,值不能是负数,范围:[0-300] (Optional) */
	TerminationGracePeriodSeconds *int `json:"terminationGracePeriodSeconds"`

	/* 实例类型;参考[文档](https://www.jdcloud.com/help/detail/1992/isCatalog/1)  */
	InstanceType string `json:"instanceType"`

	/* 容器所属可用区  */
	Az string `json:"az"`

	/* pod内容器的/etc/resolv.conf配置 (Optional) */
	DnsConfig *DnsConfig `json:"dnsConfig"`

	/* 容器日志配置信息;默认会在本地分配10MB的存储空间 (Optional) */
	LogConfig *LogConfig `json:"logConfig"`

	/* 域名和IP映射的信息;</br> 最大10个alias (Optional) */
	HostAliases []HostAlias `json:"hostAliases"`

	/* 域名和IP映射的信息;</br> 最大10个alias (Optional) */
	Volumes []Volume `json:"volumes"`

	/* 域名和IP映射的信息;</br> 最大10个alias  */
	Containers []ContainerSpec `json:"containers"`

	/* 预付费(prepaid_by_duration), 按配置后付费(postpaid_by_duration)。默认:按配置后付费 (Optional) */
	Charge *charge.ChargeSpec `json:"charge"`

	/* 主网卡主IP关联的弹性IP规格 (Optional) */
	ElasticIp *ElasticIp `json:"elasticIp"`

	/* 主网卡配置信息  */
	PrimaryNetworkInterface *NetworkInterfaceAttachmentSpec `json:"primaryNetworkInterface"`
}

type PodStatus

type PodStatus struct {

	/* pod当前状态 (Optional) */
	Phase string `json:"phase"`

	/* (简要)pod处于当前状态的原因 (Optional) */
	Reason string `json:"reason"`

	/* pod处于当前状态原因的详细信息 (Optional) */
	Message string `json:"message"`

	/* IP address allocated to the pod. Routable at least within the cluster. Empty if not yet allocated. (Optional) */
	PodIP string `json:"podIP"`

	/* Current service state of pod. (Optional) */
	Conditions []PodCondition `json:"conditions"`

	/* Pod生命周期开始的时间。 (Optional) */
	StartTime string `json:"startTime"`
}

type Probe

type Probe struct {

	/* 容器启动多长时\间后,触发探针。默认10秒;范围:[0-300] (Optional) */
	InitialDelaySeconds int `json:"initialDelaySeconds"`

	/* 探测的时间间隔。默认值 10秒,范围:[1-300] (Optional) */
	PeriodSeconds int `json:"periodSeconds"`

	/* 探测的超时时间。默认值 1秒;范围:[1-300] (Optional) */
	TimeoutSeconds int `json:"timeoutSeconds"`

	/* 在成功状态后,连续探活失败的次数,认为探活失败。默认值 3次;范围 1-10 (Optional) */
	FailureThreshold int `json:"failureThreshold"`

	/* 在失败状态后,连续探活成功的次数,认为探活成功。默认值 1次;范围 1-10 (Optional) */
	SuccessThreshold int `json:"successThreshold"`

	/* 在容器内执行指定命令;如果命令退出时返回码为 0 则认为诊断成功。 (Optional) */
	Exec Exec `json:"exec"`

	/* 对指定的端口和路径上的容器的 IP 地址执行 HTTP Get 请求。如果响应的状态码大于等于200 且小于 400,则诊断被认为是成功的。 (Optional) */
	HttpGet Hg `json:"httpGet"`

	/* 对指定端口上的容器的 IP 地址进行 TCP 检查;如果端口打开,则诊断被认为是成功的。 (Optional) */
	TcpSocket TcpSocket `json:"tcpSocket"`
}

type ProbeSpec

type ProbeSpec struct {

	/* 容器启动多长时间后,触发探针。默认值:10秒;范围:[0-300] (Optional) */
	InitialDelaySeconds *int `json:"initialDelaySeconds"`

	/* 探测的时间间隔。默认值 10秒,范围:[1-300] (Optional) */
	PeriodSeconds *int `json:"periodSeconds"`

	/* 探测的超时时间。默认值 1秒;范围:[1-300] (Optional) */
	TimeoutSeconds *int `json:"timeoutSeconds"`

	/* 在成功状态后,连续探活失败的次数,认为探活失败。默认值 3次;范围 1-10 (Optional) */
	FailureThreshold *int `json:"failureThreshold"`

	/* 在失败状态后,连续探活成功的次数,认为探活成功。默认值 1次;范围 1-10 (Optional) */
	SuccessThreshold *int `json:"successThreshold"`

	/* 在容器内执行指定命令;如果命令退出时返回码为 0 则认为诊断成功。 (Optional) */
	Exec *Exec `json:"exec"`

	/* 对指定的端口和路径上的容器的 IP 地址执行 HTTP Get 请求。<br>
	如果响应的状态码大于等于200 且小于 400,则诊断被认为是成功的。
	 (Optional) */
	HttpGet *Hg `json:"httpGet"`

	/* 对指定端口上的容器的 IP 地址进行 TCP 检查;如果端口打开,则诊断被认为是成功的。 (Optional) */
	TcpSocket *TcpSocketSpec `json:"tcpSocket"`
}

type Quota

type Quota struct {

	/* 类型 (Optional) */
	ResourceType string `json:"resourceType"`

	/* 配额 (Optional) */
	Limit int `json:"limit"`

	/* 已使用的数目 (Optional) */
	Used int `json:"used"`
}

type RequestSpec

type RequestSpec struct {

	/* 容器必需的计算资源 (Optional) */
	Cpu *string `json:"cpu"`

	/* 容器使用计算资源上限 (Optional) */
	MemoryMB *string `json:"memoryMB"`
}

type ResourceRequestsSpec

type ResourceRequestsSpec struct {

	/* 容器必需的计算资源 (Optional) */
	Requests *RequestSpec `json:"requests"`

	/* 容器使用计算资源上限 (Optional) */
	Limits *RequestSpec `json:"limits"`
}

type Secret

type Secret struct {

	/* 机密数据名称 (Optional) */
	Name string `json:"name"`

	/* 私密数据的类型,目前仅支持如下类型:docker-registry:用来和docker registry认证的类型 (Optional) */
	Type string `json:"type"`

	/* 创建时间 (Optional) */
	CreatedAt string `json:"createdAt"`

	/* 机密的数据 (Optional) */
	Data nc.DockerRegistryData `json:"data"`
}

type TcpSocket

type TcpSocket struct {

	/* 连接到pod的host信息,默认使用pod_ip (Optional) */
	Host string `json:"host"`

	/* 范围:[1-65535]  */
	Port int `json:"port"`
}

type TcpSocketSpec

type TcpSocketSpec struct {

	/* 范围:[1-65535]  */
	Port int `json:"port"`
}

type Volume

type Volume struct {

	/* volume名字,必须是DNS_LABEL,在一个Pod是唯一的。  */
	Name string `json:"name"`

	/* 提供给Pod的cloud disk.  */
	JdcloudDisk *JDCloudVolumeSource `json:"jdcloudDisk"`
}

type VolumeMount

type VolumeMount struct {

	/* 必须使用pod volume名称  */
	Name string `json:"name"`

	/* 容器内挂载点,绝对路径,不得重复和嵌套挂载,不得挂载到根目录("/")。长度范围:[1-1024]  */
	MountPath string `json:"mountPath"`

	/* 是否以只读方式挂载。默认 读写模式 (Optional) */
	ReadOnly *bool `json:"readOnly"`
}

Jump to

Keyboard shortcuts

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