mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-11-02 20:38:09 +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 {
|
|
}
|