mirror of
https://github.com/LamGC/oracle-manager.git
synced 2025-04-30 06:37:42 +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 profile = getProfileByCallback(upd.callbackQuery.callbackData)
|
||||||
val instanceInfo = ServerInstance.fromJson(upd.callbackQuery.callbackData.extraData[JsonFields.ServerInstance])
|
val instanceInfo = ServerInstance.fromJson(upd.callbackQuery.callbackData.extraData[JsonFields.ServerInstance])
|
||||||
val client = ComputeClient(profile.getAuthenticationDetailsProvider())
|
val client = ComputeClient(profile.getAuthenticationDetailsProvider())
|
||||||
|
val networkClient = VirtualNetworkClient(profile.getAuthenticationDetailsProvider())
|
||||||
val instance = client.getInstance(GetInstanceRequest.builder().instanceId(instanceInfo.id).build()).instance
|
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()
|
val keyboardBuilder = InlineKeyboardGroupBuilder()
|
||||||
.newRow()
|
.newRow()
|
||||||
.addButton {
|
.addButton {
|
||||||
@ -108,6 +128,7 @@ class OracleServerExtension(private val bot: BaseAbilityBot) : AbilityExtension
|
|||||||
网络带宽:${shape.networkingBandwidthInGbps} Gbps
|
网络带宽:${shape.networkingBandwidthInGbps} Gbps
|
||||||
区域:${instanceInfo.regionId}
|
区域:${instanceInfo.regionId}
|
||||||
可用区 / 容错区:${instanceInfo.availabilityDomain} / ${instanceInfo.faultDomain}
|
可用区 / 容错区:${instanceInfo.availabilityDomain} / ${instanceInfo.faultDomain}
|
||||||
|
主要公共 IPv4:${mainVnic?.publicIp ?: "(无主要 VNIC)"}
|
||||||
""".trimIndent()
|
""".trimIndent()
|
||||||
)
|
)
|
||||||
.chatId(upd.callbackQuery.message.chatId.toString())
|
.chatId(upd.callbackQuery.message.chatId.toString())
|
||||||
|
Loading…
Reference in New Issue
Block a user