問題タブ [lwrp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
95 参照

chef-infra - LWRP が冪等モードで実行されないのはなぜですか?

これは私action :createのカスタム LWRP ですが、常に実行されます。冪等のアクションを行いたい。

これが私の実装です:

最後の行が機能しないのはなぜ@new_resource.updated_by_last_action(true)ですか?

0 投票する
1 に答える
216 参照

chef-infra - LWRP を作成すると、グローバル リソースが Chef リソース コンテキストに nil になるのはなぜですか

カスタム LWRP の作成は、リソースが Chef のリソース コンテキストに nil であることを報告しています。これは私の最初のステップでしたか?

ただし、グローバル変数の値を別のローカル変数に保存します。このような:

そして、問題は解決しました。

グローバル変数を使用した Chef リソース コンテキストに問題はありますか?

0 投票する
2 に答える
2978 参照

ruby - シェフのLWリソース属性のデフォルト値はどのように別の属性を参照できますか?

あるリソース属性のデフォルト値を別の属性の値に設定しようとしています。

作成中のTomcatクックブック用に、次の定義を含むリソースを定義しています。個別に設定できる「name」属性と「service_name」属性が必要です。サービス名が設定されていない場合、「名前」に指定されているものをデフォルトにしたい。

以下は期待どおりに機能しません。

2 行目の末尾にある ":default => :name" に注意してください。レシピの新しいブロックで自分のリソースを参照するとき

属性値は次のように割り当てられます

これは私が期待したものではありません。明示的に設定されていない限り、service_name を「foo_bar」にしたかったのです。

私はもう試した

しかし、それらはコンパイルされません。

私がやろうとしていることをする方法はありますか?

0 投票する
2 に答える
33824 参照

ruby - シェフの only_if 属性が true に等しい

問題:属性が「true」の場合にのみ実行するシェフ ステートメントがあります。しかし、それは毎回実行されます。

予想される動作:default[:QuickBase_Legacy_Stack][:dotNetFx4_Install] = "false" dotnet4 をインストールしない場合 。

実際の動作:属性の設定に関係なく、dotnet4 がインストールされます。

私のコード:

属性ファイル:

レシピファイル:

0 投票する
1 に答える
282 参照

chef-infra - Chef LWRP での git リソースの使用

LWRP (Chef 10) を使用して独自のデプロイ リソースを作成しようとしていますが、エラーが発生し、ドキュメントで例を見つけることができませんでした。

私のリソースファイルは次のようになります。

このリソースを使用しようとすると、次のエラーが発生します。

トレースで参照されるプロバイダー ファイルのブロックは次のとおりです。

印刷してみました@new_resource.deploy_tagが、期待どおりの値が含まれているため、LWRP 内から git リソースが正しく機能していないだけだと思いますが、それを示すドキュメントを見つけることができませんでしたこのことをどのように呼ぶべきか。助言がありますか?


実際の答え:

次のように、リソース ブロックを使用する前にローカル変数を作成する必要があるようです。

0 投票する
0 に答える
1105 参照

ruby - レシピで Chef LWRP 属性にアクセスするにはどうすればよいですか

一部のデフォルトのchefリソースでは、呼び出された後に一部の属性にアクセスできます

カスタム LWRP でこれをどのように達成できますか (ここに例があります)

このプロバイダーでnew_resource.full_pathは、ファイル リソースのパスと等しくなるようにのプロパティを更新しようとしています。

しかしresource.full_path、レシピでアクセスしようとするとnil、期待されたものではなく/path/to/my/resource/relative/path

この例はかなり不自然です。実際のアプリケーション/理由は、https://github.com/peterjmit/chef-ssl-certのデフォルトのリソース/プロバイダーで確認できます。

0 投票する
2 に答える
357 参照

chef-infra - 必要に応じてリソース :create アクションをスキップする方法

アクションだけのカスタム LWRP があり:createます (これもデフォルト アクションに設定されています)。

これで、ノードを収束するたびに、LWRP アクションが実行され、更新されたリソースの最終カウントに追加されます。他のリソースに「(up to date)」というメッセージが表示されていることに気付きました。

必要でない場合、LWRP が実行されないようにするにはどうすればよいですか?

私の LWRP は標準の Chef リソースの小さなセットにすぎないので、すべてのステータスを収集してラッパー リソースからプッシュする方法があると思います。