2013-05-03 9 views
6

slsファイルに必要条件付きの別のカスタム状態を作成するにはどうすればよいですか?カスタム状態を別の状態に依存させる方法を教えてください。

例:

# seuss.py 
def green_eggs(): 
    return {'name': 'green_eggs', 'result': True, 'comment': '', 'changes': {}} 

def ham(): 
    return {'name': 'ham', 'result': True, 'comment': '', 'changes': {}} 

私はhamgreen_eggsに依存するようにしたい:

私が正常に完了した???依存関係を作るにはどうすればよい
# init.sls 

have_green_eggs: 
    seuss.green_eggs: 
    - require: 
    - user: seuss 

have_ham: 
    seuss.ham: 
    - require: 
    - ??? 

custom states_states/seuss.pyモジュールでgreen_eggs

答えて

8

あなたは望む:

have_ham: 
    seuss.ham: 
    - require: 
     - seuss: have_green_eggs 

は、しかし、あなたが現在have_green_eggsと呼ばれるseuss.hamseuss.green_eggsいずれかがその要件を満たすことができることを意味しseussリソース、の二つの状態を定義しています。

希望しない場合は、状態を別々のファイル(例:seuss_ham.existsseuss_green_eggs.exists)で定義する必要があります。

+1

ダニエル氏によると、カスタム状態モジュールのさまざまな状態は相互に排他的でなければなりません。たとえば、サービス 'nginx'の場合、 'nginx: - service.running'と' nginx: - service.dead'という1つの状態を設定しません。したがって、カスタム状態モジュールには、同時に使用されない状態だけが含まれている必要があります。 – akoumjian

関連する問題