CIM call

这几天搞CIM相关的东西,之前对CIM完全不了解,网上DMTF的官网一堆官话,看完还是不明确,下载DSP的文档读起来也十分拗口,对instance,association,reference,各种invokemethod感到比较困惑,请教CSF同学之后茅塞顿开,趁有时间赶紧记录下来。


1. 安装ecute,这样可以使用eclipse的插件方便的图形化的展示所有的CIM类,包括类的方法和属性

2. 看到这些方法和属性之后还是零散的概念,这时再来看DMTF中DSP的文档,特别是文档中展示的各个功能模块之间的类图,很好的解释了类间关系和是用功能时候的过程

3. 特别深刻的是:CIM中各个类之间不是和我想象的java的各个类之间通过聚合,组合等联系在一起的,而是通过association table,在table中的每一项都是相关联的类名。

4. association可以拿到一个实例关联的实例对象,reference也可以拿到一个实例关联的实例对象,然而对于像ComputerSystem这样的大类来说,如果直接通过reference来拿相关联的实例对象会拿到很多无用的,这样会很慢,而通过associator拿到关联的实例对象后,再通过associator反过来再拿reference更合适。


看完之后可能有点儿晕,两个例子:

读取,设置bootorder:

读取: 通过CIM_ComputerSystem的instance拿到host的instance,通过此instance associator instance (ElementSettingData,BootConfigSetting),拿到BootConfigSetting的instance之后,通过BootConfigSetting的instance拿其Reference,可以得到ElementSettingData读取isNext属性,如果是3表示下一次boot时候使用。

如何知道这个BootConfigSetting对应的是什么设备呢,再通过associator instance(OrderComponent, BootSourceSetting),得到BootSourceSetting的实例,查看这些实例中assignsequence便可以知道下次启动是什么设备


设置:

查看BootConfigSetting的类的方法,有SetBoorOrder,需要传入Source,这个Source就是上述读取的步骤中通过associator instance得到的BootSourceSetting的实例,比如我们传入”PXE“的实例,就可以设置下次从PXE启动了。


其他的功能都是类似的,只要我们认真观察类图,查看文档,就能尝试出来,CIM开始变得容易起来。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值