0

Chef のレシピでカスタム LWRP を使用しています。そのために次の手順を実行しました。

  1. 必要な属性とアクションを含む resource.rb ファイルを含むリソース フォルダーを作成します。
  2. 上記の各アクションの定義を含む provider.rb ファイルを含む providers フォルダーを作成します。
  3. 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操作を実行します。アクションが実行/実行されていないことを示す出力は表示されません。

この問題の原因は何ですか? この問題を解決するために必要な手順を提案してください。

4

0 に答える 0