38 lines
1.4 KiB
TypeScript
38 lines
1.4 KiB
TypeScript
/** OCI 审计 / 回传事件名的中文标签。
|
|
* 审计事件 eventName 为尾名(LaunchInstance);回传 eventType 为全限定名
|
|
* (com.oraclecloud.ComputeApi.TerminateInstance),先取尾段再匹配,大小写不敏感。 */
|
|
const EVENT_LABELS: Record<string, string> = {
|
|
launchinstance: '创建实例',
|
|
terminateinstance: '终止实例',
|
|
instanceaction: '实例电源操作',
|
|
updateinstance: '修改实例',
|
|
changeinstancecompartment: '移动实例',
|
|
createuser: '创建用户',
|
|
deleteuser: '删除用户',
|
|
updateuser: '修改用户',
|
|
createapikey: '创建 API 密钥',
|
|
deleteapikey: '删除 API 密钥',
|
|
uploadapikey: '上传 API 密钥',
|
|
updateusercapabilities: '修改用户能力',
|
|
createregionsubscription: '订阅区域',
|
|
createpolicy: '创建策略',
|
|
updatepolicy: '修改策略',
|
|
deletepolicy: '删除策略',
|
|
interactivelogin: '控制台登录',
|
|
createvcn: '创建 VCN',
|
|
deletevcn: '删除 VCN',
|
|
createsubnet: '创建子网',
|
|
deletesubnet: '删除子网',
|
|
}
|
|
|
|
/** 全限定事件类型的尾段;已是尾名时原样返回 */
|
|
export function eventTail(nameOrType: string): string {
|
|
const i = nameOrType.lastIndexOf('.')
|
|
return i >= 0 ? nameOrType.slice(i + 1) : nameOrType
|
|
}
|
|
|
|
/** 事件中文名;未收录返回空串,调用方回退原名 */
|
|
export function eventLabel(nameOrType: string): string {
|
|
return EVENT_LABELS[eventTail(nameOrType).toLowerCase()] ?? ''
|
|
}
|