mirror of
https://hubproxy.babadafafafafa.cn/https://github.com/yunionio/cloudpods.git
synced 2026-09-21 00:24:07 +08:00
91 lines
2.3 KiB
Go
91 lines
2.3 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/jsonutils"
|
|
|
|
"yunion.io/x/onecloud/pkg/apis"
|
|
)
|
|
|
|
type GuestImageDetails struct {
|
|
apis.SharableVirtualResourceDetails
|
|
apis.EncryptedResourceDetails
|
|
|
|
SGuestImage
|
|
|
|
//Status string `json:"status"`
|
|
Size int64 `json:"size"`
|
|
MinRamMb int32 `json:"min_ram_mb"`
|
|
DiskFormat string `json:"disk_format"`
|
|
RootImage SubImageInfo `json:"root_image"`
|
|
DataImages []SubImageInfo `json:"data_images"`
|
|
|
|
Properties *jsonutils.JSONDict `json:"properties"`
|
|
|
|
DisableDelete bool `json:"disable_delete"`
|
|
}
|
|
|
|
type SubImageInfo struct {
|
|
ID string `json:"id"`
|
|
Name string `json:"name"`
|
|
MinDiskMB int32 `json:"min_disk_mb"`
|
|
DiskFormat string `json:"disk_format"`
|
|
Size int64 `json:"size"`
|
|
Status string `json:"status"`
|
|
CreatedAt time.Time `json:"created_at"`
|
|
|
|
EncryptKeyId string `json:"encrypt_key_id"`
|
|
DisableDelete bool `json:"disable_delete"`
|
|
}
|
|
|
|
type GuestImageCreateInputBase struct {
|
|
apis.SharableVirtualResourceCreateInput
|
|
apis.EncryptedResourceCreateInput
|
|
|
|
// 备注
|
|
Notes string `json:"notes"`
|
|
// 镜像格式
|
|
DiskFormat string `json:"disk_format"`
|
|
// 是否有删除保护
|
|
Protected *bool `json:"protected"`
|
|
}
|
|
|
|
type GuestImageCreateInputSubimage struct {
|
|
// Id
|
|
Id string `json:"id"`
|
|
// 磁盘格式
|
|
DiskFormat string `json:"disk_format"`
|
|
// 磁盘大小
|
|
VirtualSize int `json:"virtual_size"`
|
|
}
|
|
|
|
type GuestImageCreateInput struct {
|
|
GuestImageCreateInputBase
|
|
|
|
// 镜像列表
|
|
Images []GuestImageCreateInputSubimage `json:"images"`
|
|
|
|
// 镜像大小, 单位Byte
|
|
Size *int64 `json:"size"`
|
|
// CPU架构 x86_64 or aarch64
|
|
OsArch string `json:"os_arch"`
|
|
|
|
// 镜像属性
|
|
Properties map[string]string `json:"properties"`
|
|
}
|