我正在为食谱创建 LWRP azuretrafficmanager
,步骤如下
创建的资源:
traffic_manager.rb
actions :create default_action :create attribute :resource_group_name attribute :profile_name attribute :subscription attribute :traffic_manager attribute :azure_token
创建的提供者:
traffic_manager.rb
def whyrun_supported? true end action :create do converge_by("Creating.") do traffic_manager_processor = TrafficManagers.new(@new_resource.resource_group_name, @new_resource.profile_name, @new_resource.subscription, @new_resource.traffic_manager, @new_resource.azure_token) traffic_manager_processor.create_update_profile end # Move on next line, copy/paste error or root cause ? @new_resource.updated_by_last_action(true) end
然后我在我的食谱中称它为
azuretrafficmanager_traffic_manager 'createtrafficmanager' do resource_group_name resource_group_name profile_name profile_name subscription subscription traffic_manager traffic_manager azure_token azure_token action :create end
上述调用 lwrp 的方法不起作用,但是当我尝试第二种方法时:
azuretrafficmanager_traffic_manager 'createtrafficmanager' do resource_group_name resource_group_name profile_name profile_name subscription subscription traffic_manager traffic_manager azure_token azure_token action :nothing end.run_action(:create)
按照这个调用lwrp的方法(run_action),它工作得很好。
问题是,为什么调用 lwrps 的第一种语法不起作用?