2016-08-26 8 views
-1

'パッケージ'リソースを拡張し、他のクックブックから呼び出されるLWRP - cookbookname_packageとして提供したいと思います。LWRPとしてのシェフ 'パッケージ'リソース

すべてのプロパティをpackage resourceからcookbookname/resources/package.rbに手動で書き換える必要がありますか?

シェフのソースコードから既存のソースコードを削除する方法はありますか?それとも、翻訳者としてこれらのすべてを維持する方法はありますか?

allow_downgrade   TrueClass, FalseClass # Yum, RPM packages only 
    arch      String, Array # Yum packages only 
    default_release   String # Apt packages only 
    flush_cache    Array 
    gem_binary     String 
    homebrew_user    String, Integer # Homebrew packages only 
    notifies     # see description 
    options     String 
    package_name    String, Array # defaults to 'name' if not specified 
    provider     Chef::Provider::Package 
    response_file    String # Apt packages only 
    response_file_variables Hash # Apt packages only 
    source      String 
    subscribes     # see description 
    timeout     String, Integer 
    version     String, Array 
    action      Symbol # defaults to :install if not specified 

答えて

1

いいえ、LWRP DSLではサブクラス化ができません。ファイルをlibraries/の下に置き、Plain Old Ruby Codeを記述する必要があります。

+0

私が理解したように、私は翻訳者(中間の人)であり、プロパティを手作業で書き直す必要があります。人々は 'LWRP'を呼んで' 'LWRP''は' 'HWRP''を' 'HWRP''と呼んでいます。私は自分のコードでこのシナリオを持っています。 'LWRP'を' HWRP'に似せるようにするには、いくつかの複雑さが伴うことに気付きました。言い換えれば、LWRP: 'cookbook_package'を' package'リソースに似ているようにする(ユーザに同じプロパティを提供する) –

関連する問題