resources - 带有标题 munge 的 puppet 资源命令

标签 resources puppet title case-insensitive

我已经为界面创建了一个 puppet 资源。除了以太网接口(interface)外,我的交换机上的大多数接口(interface)名称都是小写的,因此我修改了接口(interface)名称以希望减少 list 中的错误;例如:

list :

  cisco_interface { 'Ethernet1/1': description => 'foo' }

类型/cisco_interface.rb:

  newparam(:name) do
    munge { |value|
      value.downcase
    }  
  end 

当我使用 self.instances 收集接口(interface)列表时,我的提供程序代码也会将接口(interface)名称小写。

好的,所以当我使用 list 进行测试时这很好用,但对于 puppet 资源命令却不是很好,它仅在我使用已经小写的名称调用它时才有效:

switch# puppet resource cisco_interface 'Ethernet1/1'
cisco_interface { 'Ethernet1/1':
  ensure => 'absent',
}

switch# puppet resource cisco_interface 'ethernet1/1'
cisco_interface { 'ethernet1/1':
  ensure                       => 'present',
  description                  => 'foo',
}

puppet 资源命令名称字段似乎只是一个简单的过滤器,所以我想我被卡住了,但我想我已经看到其他资源类型像这样修改标题值。

是否有可能以适用于两种情况的方式修改标题值? 如果不是,那么我不确定是否让它区分大小写会更好,因为这是用户将在开关配置中看到的,或者“帮助”他们避免 list 中的错误。

最佳答案

你对这里发生的事情是正确的,puppet 目前要求传递到命令行的名称根据类型与名称完全匹配。它被深埋了几层,但看看 RALfindresource_name 方法。 .

在我看来,这不是一个重大更改,因此您可能想要记录一个缺陷或自己进行更改!

关于resources - 带有标题 munge 的 puppet 资源命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29898339/

相关文章:

java - 如何从 java.lang.Process 适当关闭 std-streams?

puppet - 可选择将参数传递给 puppet 资源

linux - puppet 模块未添加到目录中

PHP 页面标题标签未正确显示

swift - 如何在 MKAnnotationView 的标注中自定义标题/副标题字体或只是隐藏它们?

r - ggplot2垂直颜色条标题右居中

android - Android 上的文件描述符的最大数量是多少?

ruby-on-rails - 资源 vs 资源 rails 3

java - java 应用程序运行时 jar 文件输入 == null

ssl - 证书请求的指纹 (CSR)