package com.bocloud.ims.entity.resource.kubernetes;

import com.bocloud.entity.annotations.Column;
import com.bocloud.entity.annotations.IgnoreAll;
import com.bocloud.entity.annotations.PK;
import com.bocloud.entity.annotations.Table;
import com.bocloud.entity.bean.GenericEntity;
import com.bocloud.entity.meta.PKStrategy;

import lombok.Data;

import java.util.Date;

/**
 * k8s持久化存储卷
 * 
 * @author weiwei
 *
 */
@Table("kube_persistent_volume")
@Data
public class KubePersistentVolume extends GenericEntity {

	@PK(value = PKStrategy.AUTO)
	private Long id; // ID
	@Column("instance_id")
	private String instanceId;// 实例ID
	@Column("vendor_id")
	private Long vendorId; // 云供应商Id
	@Column("yaml_text")
	private String yamlText;
	@Column("access_modes")
	private String accessModes;
	@Column("volume_mode")
	private String volumeMode;
	@Column("reclaim_policy")
	private String reclaimPolicy;
	@Column("capacity")
	private String capacity;
	@Column("source")
	private String source;
	@Column("storage_class")
	private String storageClass;
	@Column("storage_amount")
	private String storageAmount;
	@Column("labels")
	private String labels;
	@Column("uid")
	private String uid;// uuid
	@Column("app_id")
	private Long appId;
	@Column("app_name")
	private String appName;
	@Column("kind")
	private String kind;
	@Column("api_version")
	private String apiVersion;
	@Column("creation_time")
	private Date creationTime;
	@Column("tenant_id")
	private Long tenantId;

	@Column("message")
	private String message;
	@Column("reason")
	private String reason;

	@IgnoreAll
	private Long namespaceId;

}
