简体   繁体   English

在Puppet自定义资源类型的实现中访问资源类型

[英]Access resource type in implementation of Puppet custom resource type

I am implementing a custom resource type in Puppet 4.8.2. 我正在Puppet 4.8.2中实现自定义资源类型 I would like the implementation of its provider to have access to its resource type. 我希望其提供者的实现能够访问其资源类型。 The Puppet source code indicates that a Puppet::Provider has these attribute accessors: Puppet源代码指示Puppet::Provider具有以下属性访问器:

attr_accessor :resource_type
attr_accessor :resource

But when I print their values in my provider like so 但是当我像这样在我的提供程序中打印它们的值时

Puppet::Type.type(:my_type).provide(:my_provider, :parent => Puppet::Provider) do
  # ...

  def my_property
     r = @resource
     rt = @resource_type
     notice("resource #{r} resource_type #{rt}")
     # ...
  end
end

it appears as if @resource has a value (of the form My_type[TITLE] ) but @resource_type does none. 它看起来好像@resource有一个值(格式为My_type[TITLE] ),但是@resource_type没有任何值。

How can a provider (ie Puppet::Provider ) access its resource type (ie Puppet::Type )? 提供者(即Puppet::Provider )如何访问其资源类型(即Puppet::Type )?

@resource.type (而不是@resource_type )显然可以工作。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM