mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-05-09 07:02:06 +08:00
123 lines
3.2 KiB
Go
123 lines
3.2 KiB
Go
// Copyright 2019 Yunion
|
||
//
|
||
// 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.
|
||
|
||
package image
|
||
|
||
import (
|
||
"time"
|
||
|
||
"yunion.io/x/onecloud/pkg/apis"
|
||
)
|
||
|
||
type ImageListInput struct {
|
||
apis.SharableVirtualResourceListInput
|
||
apis.MultiArchResourceBaseListInput
|
||
|
||
// 以镜像的格式过滤,可能值为:qcow2, iso, vmdk, vhd, raw等
|
||
DiskFormats []string `json:"disk_formats"`
|
||
// 列出是否支持UEFI启动的镜像
|
||
Uefi *bool `json:"uefi"`
|
||
|
||
// 根据已转换格式过滤, 可能值为: qcow2, vmdk, vhd, raw等
|
||
SubFormats []string `json:"subFormats"`
|
||
|
||
// 是否为标准镜像
|
||
IsStandard *bool `json:"is_standard"`
|
||
|
||
// 是否删除保护
|
||
Protected *bool `json:"protected"`
|
||
|
||
// 是否为主机镜像的子镜像
|
||
IsGuestImage *bool `json:"is_guest_image"`
|
||
|
||
// 是否为数据盘
|
||
IsData *bool `json:"is_data"`
|
||
|
||
// 操作系统类型,可能值为: Linux, Windows, FreeBSD 等
|
||
OsTypes []string `json:"os_types"`
|
||
// 操作系统精确匹配
|
||
OsTypePreciseMatch bool `json:"os_type_precise_match"`
|
||
|
||
// 操作系统架构, 可能值为: arm, x86 等
|
||
OsArchs []string `json:"os_archs"`
|
||
// 操作系统架构精确匹配
|
||
OsArchPreciseMatch bool `json:"os_arch_precise_match"`
|
||
|
||
// 发行版本,可能值为: CentOS, Ubuntu, Debian, ArchLinux, OpenEuler 等
|
||
Distributions []string `json:"distributions"`
|
||
// 发行版精确匹配
|
||
DistributionPreciseMatch bool `json:"distribution_precise_match`
|
||
}
|
||
|
||
type GuestImageListInput struct {
|
||
apis.SharableVirtualResourceListInput
|
||
apis.MultiArchResourceBaseListInput
|
||
|
||
// 是否删除保护
|
||
Protected *bool `json:"protected"`
|
||
}
|
||
|
||
type ImageDetails struct {
|
||
apis.SharableVirtualResourceDetails
|
||
apis.EncryptedResourceDetails
|
||
|
||
SImage
|
||
|
||
// 镜像属性信息
|
||
Properties map[string]string `json:"properties"`
|
||
// 自动清除时间
|
||
AutoDeleteAt time.Time `json:"auto_delete_at"`
|
||
// 删除保护
|
||
DisableDelete bool `json:"disable_delete"`
|
||
//OssChecksum string `json:"oss_checksum"`
|
||
}
|
||
|
||
type ImageCreateInput struct {
|
||
apis.SharableVirtualResourceCreateInput
|
||
|
||
// 镜像大小, 单位Byte
|
||
Size *int64 `json:"size"`
|
||
// 镜像格式
|
||
DiskFormat string `json:"disk_format"`
|
||
// 最小系统盘要求
|
||
MinDiskMB *int32 `json:"min_disk"`
|
||
// 最小内存要求
|
||
MinRamMB *int32 `json:"min_ram"`
|
||
// 是否有删除保护
|
||
Protected *bool `json:"protected"`
|
||
// 是否是标准镜像
|
||
IsStandard *bool `json:"is_standard"`
|
||
// 是否是主机镜像
|
||
IsGuestImage *bool `json:"is_guest_image"`
|
||
// 是否是数据盘镜像
|
||
IsData *bool `json:"is_data"`
|
||
|
||
apis.EncryptedResourceCreateInput
|
||
|
||
// 镜像属性
|
||
Properties map[string]string `json:"properties"`
|
||
}
|
||
|
||
type ImageUpdateStatusInput struct {
|
||
apis.Meta
|
||
|
||
// 镜像状态
|
||
Status string `json:"status"`
|
||
// 更新镜像状态原因
|
||
Reason string `json:"reason"`
|
||
}
|
||
|
||
type PerformProbeInput struct {
|
||
}
|