我在Chef的配方中使用自定义LWRP。我已执行以下步骤来执行此操作:
我有一个动作:normalize_customer_domain
,其定义如下
action :normalize_customer_domain do
converge_by('Normalizing Customer Domain') do
dns = AzureDns::DNS.new(@new_resource.prg, @new_resource.azure_rest_token, @new_resource.dns_attributes)
node.set["normalize_customer_domain"] = dns.normalize_customer_domain(@new_resource.customer_domain)
end
@new_resource.updated_by_last_action(true)
end
我在配方中使用这个LWRP
azuredns_dns 'DNS' do
prg node['platform-resource-group']
azure_rest_token node['azure_rest_token']
dns_attributes service_attrs
customer_domain node['customer_domain']
action :normalize_customer_domain
end
其中azuredns
是食谱名称,dns
是自定义LWRP的名称。所有属性都在资源文件中定义为
actions :normalize_customer_domain
attribute :prg, :required => true
attribute :azure_rest_token, :required => true
attribute :dns_attributes, :required => true
attribute :customer_domain, :required => false
我遇到的问题是,当我的配方执行时,它不会执行LWRP中指定的操作。 provider.rb中指定的操作执行简单的puts
操作。没有显示输出,表明未执行/执行操作。
这个问题可能是什么原因?请提出我可以采取的必要步骤来解决此问题。