mirror of
https://github.com/LamGC/Oracle-Sentry.git
synced 2025-04-30 06:37:42 +00:00
refactor: 包装 Image 对象.
包装 Image 对象以简化脚本对 Image 的访问.
This commit is contained in:
parent
499c3d283c
commit
4dd6a9b695
@ -0,0 +1,90 @@
|
|||||||
|
package net.lamgc.oracle.sentry.oci.compute;
|
||||||
|
|
||||||
|
import com.oracle.bmc.core.model.Image;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 引导镜像.
|
||||||
|
* <p> 创建实例时所指定的引导镜像.
|
||||||
|
* <p> 如果实例经过其他方式重新安装了系统, 则本信息有偏差.
|
||||||
|
* @author LamGC
|
||||||
|
*/
|
||||||
|
public final class BootImage {
|
||||||
|
|
||||||
|
private final Image image;
|
||||||
|
|
||||||
|
BootImage(Image image) {
|
||||||
|
this.image = image;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取镜像 Id.
|
||||||
|
* <p> 该 Id 可在创建服务器时指定所使用的系统镜像.
|
||||||
|
* @return 返回镜像在 Oracle 的 Id.
|
||||||
|
*/
|
||||||
|
public String getImageId() {
|
||||||
|
return image.getId();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取镜像所在的区域 Id.
|
||||||
|
* @return 返回镜像所在区域的 Id.
|
||||||
|
*/
|
||||||
|
public String getCompartmentId() {
|
||||||
|
return image.getCompartmentId();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取镜像系统名称.
|
||||||
|
* <p> 比如 Ubuntu 或者说 CentOS.
|
||||||
|
* @return 返回系统名称(不是计算机名称).
|
||||||
|
*/
|
||||||
|
public String getOS() {
|
||||||
|
return image.getOperatingSystem();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取该镜像基于某一镜像的 Id.
|
||||||
|
* <p> Oracle 提供了方法, 可以通过当前服务器生成新的镜像,
|
||||||
|
* 生成后, 新的镜像就是基于原镜像生成, 该项就不为空.
|
||||||
|
* @return 如果存在, 返回基础镜像 Id, 无基础镜像则返回 {@code null}.
|
||||||
|
*/
|
||||||
|
public String getBaseImageId() {
|
||||||
|
return image.getBaseImageId();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 镜像的显示名称.
|
||||||
|
* <p> 获取镜像显示名, 该名称与该镜像系统在官方为 iso 的命名差不多.
|
||||||
|
* @return 获取镜像的显示名称.
|
||||||
|
*/
|
||||||
|
public String getName() {
|
||||||
|
return image.getDisplayName();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取镜像大小.
|
||||||
|
* @return 返回镜像大小, 单位为 MiB.
|
||||||
|
*/
|
||||||
|
public Long getSize() {
|
||||||
|
return image.getSizeInMBs();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取系统版本号.
|
||||||
|
* @return 返回镜像内系统的版本号, 如果版本较旧且服务器更新过系统, 则版本号不是最新的.
|
||||||
|
*/
|
||||||
|
public String getOSVersion() {
|
||||||
|
return image.getOperatingSystemVersion();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取镜像创建时间.
|
||||||
|
* @return 获取镜像创建时间.
|
||||||
|
*/
|
||||||
|
public Date getTimeCreated() {
|
||||||
|
return image.getTimeCreated();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -2,7 +2,6 @@ package net.lamgc.oracle.sentry.oci.compute;
|
|||||||
|
|
||||||
import com.oracle.bmc.auth.AuthenticationDetailsProvider;
|
import com.oracle.bmc.auth.AuthenticationDetailsProvider;
|
||||||
import com.oracle.bmc.core.ComputeClient;
|
import com.oracle.bmc.core.ComputeClient;
|
||||||
import com.oracle.bmc.core.model.Image;
|
|
||||||
import com.oracle.bmc.core.model.Instance;
|
import com.oracle.bmc.core.model.Instance;
|
||||||
import com.oracle.bmc.core.requests.GetImageRequest;
|
import com.oracle.bmc.core.requests.GetImageRequest;
|
||||||
import com.oracle.bmc.core.requests.GetInstanceRequest;
|
import com.oracle.bmc.core.requests.GetInstanceRequest;
|
||||||
@ -58,21 +57,17 @@ public final class ComputeInstance {
|
|||||||
return compartmentId;
|
return compartmentId;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getImageId() {
|
|
||||||
return imageId;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取并返回实例镜像信息.
|
* 获取并返回实例镜像信息.
|
||||||
* <p> 可获取系统信息.
|
* <p> 可获取系统信息.
|
||||||
* <p> 如果实例被 dd, 则本信息不准确.
|
* <p> 如果实例被 dd, 则本信息不准确.
|
||||||
* @return 返回实例信息.
|
* @return 返回实例信息.
|
||||||
*/
|
*/
|
||||||
public Image getImage() {
|
public BootImage getImage() {
|
||||||
GetImageResponse image = computeClient.getImage(GetImageRequest.builder()
|
GetImageResponse image = computeClient.getImage(GetImageRequest.builder()
|
||||||
.imageId(imageId)
|
.imageId(imageId)
|
||||||
.build());
|
.build());
|
||||||
return image.getImage();
|
return new BootImage(image.getImage());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user