From 7dcbcc3270d3c80c1c16c889c545f5e1d765bf39 Mon Sep 17 00:00:00 2001 From: LamGC Date: Fri, 10 Sep 2021 02:30:02 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=94=AF=E6=8C=81=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E8=AE=A1=E7=AE=97=E5=AE=9E=E4=BE=8B=E7=9A=84=E4=B8=BB=E8=A6=81?= =?UTF-8?q?=20VNIC=20=E4=BF=A1=E6=81=AF.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 增加 getPrimaryVnic 方法以获取主要的 VNIC 信息. --- .../sentry/oci/compute/InstanceNetwork.java | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/lamgc/oracle/sentry/oci/compute/InstanceNetwork.java b/src/main/java/net/lamgc/oracle/sentry/oci/compute/InstanceNetwork.java index db6003a..9acf969 100644 --- a/src/main/java/net/lamgc/oracle/sentry/oci/compute/InstanceNetwork.java +++ b/src/main/java/net/lamgc/oracle/sentry/oci/compute/InstanceNetwork.java @@ -1,6 +1,7 @@ package net.lamgc.oracle.sentry.oci.compute; import com.oracle.bmc.core.VirtualNetworkClient; +import com.oracle.bmc.core.model.Vnic; import com.oracle.bmc.core.model.VnicAttachment; import com.oracle.bmc.core.requests.GetVnicRequest; import com.oracle.bmc.core.requests.ListVnicAttachmentsRequest; @@ -56,8 +57,24 @@ public class InstanceNetwork { .build() ); - return listVnicAttachments.getItems().stream().toList(); + return listVnicAttachments.getItems(); } + /** + * 获取实例的主要 VNIC(虚拟网络接口) + * @return 返回实例的主要 VNIC 对象. + * @throws NoSuchElementException 当找不到主要 VNIC 时抛出该异常. + */ + public Vnic getPrimaryVnic() { + for (VnicAttachment vnicAttachment : listVnicAttachments()) { + GetVnicResponse vnic = vcnClient.getVnic(GetVnicRequest.builder() + .vnicId(vnicAttachment.getVnicId()) + .build()); + if (vnic.getVnic().getIsPrimary()) { + return vnic.getVnic(); + } + } + throw new NoSuchElementException("Primary vnic not found."); + } }