All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.huawei.openstack4j.openstack.ims.v2.domain.Image Maven / Gradle / Ivy

There is a newer version: 1.0.26
Show newest version
 /*******************************************************************************
 * 	Copyright 2018 Huawei Technologies Co.,Ltd.                                         
 * 	                                                                                 
 * 	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 com.huawei.openstack4j.openstack.ims.v2.domain;

import java.util.List;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.ToString;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.huawei.openstack4j.model.ModelEntity;
import com.huawei.openstack4j.openstack.common.ListResult;

@Getter
@ToString
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class Image implements ModelEntity{
	/**
	 * 
	 */
	private static final long serialVersionUID = -3663422920131120608L;
	
	/**
	 * 镜像文件下载和上传链接。
	 */
	private String 	file;
	/**
	 * 镜像属于哪个租户。
	 */
	private String 	owner;
	/**
	 * 镜像ID。
	 */
	private String 	id;
	/**
	 *目前暂时不使用。
	 */
	private String 	size;
	/**
	 *镜像链接信息。
	 */
	private String 	self;
	/**
	 * 镜像视图。
	 */
	private String 	schema;
	/**
	 * 镜像状态。取值如下:
	 *
	 *	queued:表示镜像元数据已经创建成功,等待上传镜像文件。
	 *	saving:表示镜像正在上传文件到后端存储。
	 *	deleted:表示镜像已经删除。
	 *	killed:表示镜像上传错误。
	 *	active:表示镜像可以正常使用。
	 */
	private String 	status;
	/**
	 * 镜像标签列表,提供用户可以自定义管理私有镜像的能力。
	 * 用户可以通过镜像标签接口为每个镜像增加不同的标签,在查询接口中可以根据标签进行过滤。
	 */
	private List tags;
	/**
	 * 是否被其他租户可见,取值为private或public。
	 */
	private String 	visibility;
	/**
	 *镜像名称
	 */
	private String 	name;
	/**
	 *目前暂时不使用。
	 */
	private String 	checksum;
	/**
	 * 是否是删除的镜像
	 */
	private Boolean deleted;
	/**
	 *是否是受保护的,受保护的镜像不允许删除。取值为true或false
	 */
	@JsonProperty("protected")
	private Boolean protec;
	/**
	 * 容器类型。
	 */
	@JsonProperty("container_format")
	private String 	containerFormat;
	/**
	 *镜像运行最小内存,单位为MB。取值参考弹性云服务器规格限制,一般设置为0
	 */
	@JsonProperty("min_ram")
	private Integer minRam;
	/**
	 *更新时间。格式为UTC时间
	 */
	@JsonProperty("updated_at")
	private String 	updatedAt;
	/**
	 *操作系统位数,一般取值为“32”或者“64”。
	 */
	@JsonProperty("__os_bit")
	private String 	osBit;
	/**
	 *操作系统具体版本。
	 */
	@JsonProperty("__os_version")
	private String 	osVersion;
	/**
	 *镜像描述信息
	 */
	@JsonProperty("__description")
	private String 	description;
	/**
	 *镜像的格式,目前支持vhd,zvhd、raw,qcow2。默认值是vhd。
	 */
	@JsonProperty("disk_format")
	private String 	diskFormat;
	/**
	 * 是否是注册过的镜像,取值为“true”或者“false”。
	 */
	@JsonProperty("__isregistered")
	private String 	isRegistered;
	/**
	 *镜像平台分类,
	 *取值为Windows,Ubuntu,RedHat,SUSE,CentOS,Debian,
	 *OpenSUSE, Oracle Linux,Fedora,Other,CoreOS和EulerOS。
	 */
	@JsonProperty("__platform")
	private String 	platForm;
	/**
	 *操作系统类型,目前取值Linux, Windows,Other。
	 */
	@JsonProperty("__os_type")
	private String 	osType;
	/**
	 *镜像运行需要的最小磁盘,单位为GB 。取值为40~1024GB。
	 */
	@JsonProperty("min_disk")
	private Integer minDisk;
	/**
	 *镜像使用环境类型
	 */
	@JsonProperty("virtual_env_type")
	private String 	virtualEnvType;
	/**
	 *镜像后端存储类型,目前支持uds
	 */
	@JsonProperty("__image_source_type")
	private String 	imageSourceType;
	/**
	 *镜像类型,目前支持以下类型:
	 *
	 *	公共镜像:gold
	 *	私有镜像:private
	 *	共享镜像:shared
	 */
	@JsonProperty("__imagetype")
	private String 	imageType;
	/**
	 *创建时间。格式为UTC时间。
	 */
	@JsonProperty("created_at")
	private String 	createdAt;
	/**
	 *目前暂时不使用。
	 */
	@JsonProperty("virtual_size")
	private Integer virtualSize;
	/**
	 *删除时间。格式为UTC时间。
	 */
	@JsonProperty("deleted_at")
	private String 	deletedAt;
	/**
	 *父镜像ID
	 *公共镜像或通过文件创建的私有镜像,取值为空。
	 */
	@JsonProperty("__originalimagename")
	private String 	originalImageName;
	/**
	 *备份ID。如果是备份创建的镜像,则填写为备份的ID,否则为空。
	 */
	@JsonProperty("__backup_id")
	private String 	backupId;
	/**
	 *市场镜像的产品ID。
	 */
	@JsonProperty("__productcode")
	private String 	productCode;
	/**
	 *镜像文件的大小,单位为字节。
	 */
	@JsonProperty("__image_size")
	private String 	imageSize;
	/**
	 *镜像来源。公共镜像为空。
	 */
	@JsonProperty("__data_origin")
	private String 	dataOrigin;
	/**
	 *如果镜像支持KVM,取值为true,否则无需增加该属性。
	 */
	@JsonProperty("__support_kvm")
	private String 	supportKvm;
	/**
	 *如果镜像支持XEN,取值为true,否则无需增加该属性。
	 */
	@JsonProperty("__support_xen")
	private String 	supportXen;
	/**
	 *表示该镜像支持密集存储。如果镜像支持密集存储性能,则值为true,否则无需增加该属性。
	 */
	@JsonProperty("__support_diskintensive")
	private String 	supportDiskintensive;
	/**
	 *表示该镜像支持高计算性能。如果镜像支持高计算性能,则值为true,否则无需增加该属性。
	 */
	@JsonProperty("__support_highperformance")
	private String 	supportHighperformance;
	/**
	 *表示该镜像是支持XEN虚拟化平台下的GPU优化类型
	 */
	@JsonProperty("__support_xen_gpu_type")
	private String 	supportXenGpuType;
	/**
	 *表示当前镜像是否支持发布为市场镜像。
	 *
	 *	true表示支持
	 *	false 表示不支持
	 */
	@JsonProperty("__system_support_market")
	private Boolean systemSupportMarket;
	/**
	 * 表示当前镜像所属的企业项目
	 */
	@JsonProperty("enterprise_project_id")
	private String 	enterpriseProjectId;
	/**
	 * 表示当前镜像来源是从外部导入。取值样例:file。
	 */
	@JsonProperty("__root_origin")
	private String 	rootOrigin;
	/**
	 * 表示当前镜像对应云服务器的系统盘插槽位置。
	 */
	@JsonProperty("__sequence_num")
	private String 	sequenceNum;
	
	/**
	 * 表示当前镜像对应云服务器的系统盘插槽位置。
	 */
	@JsonProperty("max_ram")
	private String 	maxRam;
	
	public  static class Images extends ListResult{
		/**
		 * 
		 */
		private static final long serialVersionUID = 8442936931557447760L;
		@JsonProperty("images")
		private List images;
		@Override
		protected List value() {
			return images;
		}	
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy