轻量级资源与提供者深入解析
1. LWRP DSL 资源定义方法与验证选项
在资源定义方面,有一些重要的方法和验证选项。
- :respond_to 选项 :该选项允许指定特定属性必须具备特定方法。例如,允许一个属性为实现了 to_s 方法的任何类,而无需将属性限制为特定的类类型列表。这些验证选项作为 attribute 方法的参数使用,如:
attribute :working_dir, :kind_of => String, :default => "/tmp/awesomeator"
使用属性验证选项能让我们对允许传递给轻量级资源与提供者(LWRP)的属性进行大量控制,从而无需在提供者中实现属性验证。
- attr_accessor 方法 :虽然它不是严格意义上的 LWRP 资源领域特定语言(DSL)的一部分,但在资源定义中经常使用。与本部分列出的其他方法不同,它是 Ruby 内置的方法。在 LWRP 中,当提供者可能需要对属性进行读写操作时会用到它。可以将 attribute 方法的调用视为定义传递给提供者的只读参数,而 attr_accessor 方法的调用则定义了资源上可由提供者读写的属性。
2. 提供者 DSL 方法
提供者部分在 Chef::Provider::LWRPBase 类中定义,该类
超级会员免费看
订阅专栏 解锁全文
7986

被折叠的 条评论
为什么被折叠?



