mirror of
https://github.com/LamGC/oracle-manager.git
synced 2025-04-29 14:17:33 +00:00
feat: 在实例信息显示主要 VNIC 的 IPv4 地址.
This commit is contained in:
parent
0ae31a3d74
commit
f3f36a2beb
@ -71,8 +71,28 @@ class OracleServerExtension(private val bot: BaseAbilityBot) : AbilityExtension
|
||||
val profile = getProfileByCallback(upd.callbackQuery.callbackData)
|
||||
val instanceInfo = ServerInstance.fromJson(upd.callbackQuery.callbackData.extraData[JsonFields.ServerInstance])
|
||||
val client = ComputeClient(profile.getAuthenticationDetailsProvider())
|
||||
val networkClient = VirtualNetworkClient(profile.getAuthenticationDetailsProvider())
|
||||
val instance = client.getInstance(GetInstanceRequest.builder().instanceId(instanceInfo.id).build()).instance
|
||||
|
||||
val mainVnic: Vnic? = client.listVnicAttachments(
|
||||
ListVnicAttachmentsRequest.builder()
|
||||
.compartmentId(profile.tenantId)
|
||||
.instanceId(instance.id)
|
||||
.build()
|
||||
).items.let {
|
||||
if (it.size == 1) {
|
||||
return@let networkClient.getVnic(GetVnicRequest.builder().vnicId(it.first().vnicId).build()).vnic
|
||||
} else {
|
||||
for (vnicAttachment in it) {
|
||||
val v = networkClient.getVnic(GetVnicRequest.builder().vnicId(vnicAttachment.vnicId).build()).vnic
|
||||
if (v.isPrimary) {
|
||||
return@let v
|
||||
}
|
||||
}
|
||||
return@let null
|
||||
}
|
||||
}
|
||||
|
||||
val keyboardBuilder = InlineKeyboardGroupBuilder()
|
||||
.newRow()
|
||||
.addButton {
|
||||
@ -108,6 +128,7 @@ class OracleServerExtension(private val bot: BaseAbilityBot) : AbilityExtension
|
||||
网络带宽:${shape.networkingBandwidthInGbps} Gbps
|
||||
区域:${instanceInfo.regionId}
|
||||
可用区 / 容错区:${instanceInfo.availabilityDomain} / ${instanceInfo.faultDomain}
|
||||
主要公共 IPv4:${mainVnic?.publicIp ?: "(无主要 VNIC)"}
|
||||
""".trimIndent()
|
||||
)
|
||||
.chatId(upd.callbackQuery.message.chatId.toString())
|
||||
|
Loading…
Reference in New Issue
Block a user