2017-11-23 8 views
0

に仮想リソースを変換する方法:私はargumnentとして「ハッシュ」をとるリソース持つハッシュ

nginx::resource::map { ‘verions’: 
    mappings => { hash of nginx upstreams here } 
} 

を問題はあるが、そのハッシュのデータは場所では使用できませんが、すべての上環境。

@upstream_entry { ‘name’: location => ‘location’ } 

そして場所

Upstream_Entry <| |> 

でそれらを集めるしかし、それdoesntのは、それが一緒にデータを収集くらいexceptsでを助ける:だから私はそれらの場所で仮想リソースを使用するためにアイデアを思い付きました。これらの偽のリソースをハッシュに変換してnginxに供給することはできますか?

すべてのnginx :: resource :: mapはハッシュコンセントでファイルを作成するので、これはテンプレートに関連しています。

+0

リソースコレクタを 'nginx :: resource :: map'と一緒に使用してみませんか? –

+0

@MattSchuchardリソースコレクタは、リソースを1か所で収集しますが、リソースへの参照のハッシュは可能な限り返しません。私の答えを見てください。 – desertkun

答えて

0

調査の数日後、私は実際には不可能であるという結論に達しました。

concatモジュール(concat::fragment)を使用して、リソースから構成ファイルを作成することができます。concat::fragmentを内部に定義します。

だから私は特定のケースを解決するnginxモジュールのためにpull requestに入ったのです:単に "上流のソース"としてハッシュを使うという考えを放棄して、Puppetのリソースを使ってそれらを定義するだけでしたconcatと一緒に収集してください。

関連する問題