2013-05-03 35 views
6

Jak ustawić jeden stan niestandardowy jako zależny od innego z wymaganiem w pliku SLS?Jak ustawić jeden stan niestandardowy na innym?

Przykład: Dwa custom states w module _states/seuss.py:

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

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

Chcę ham być uzależnione od green_eggs:

# init.sls 

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

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

Jak zrobić ??? zależność od pomyślnego zakończenia green_eggs?

Odpowiedz

8

co chcesz:

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

Jednak obecnie definiowanie dwa stany z seuss zasobu, co oznacza, że ​​albo seuss.ham lub seuss.green_eggs nazywa have_green_eggs mogła spełnić tego wymogu.

Jeśli nie chcesz tego, musisz zdefiniować stany w oddzielnych plikach (np. seuss_ham.exists i seuss_green_eggs.exists).

+1

Kontynuując to, co powiedział Daniel, różne stany w swoim niestandardowym module stanu powinny wzajemnie się wykluczać. Na przykład dla usługi 'nginx' nie ustawisz jednego stanu, który był 'nginx: - service.running' i który był' nginx: - service.dead'. Tak więc Twój niestandardowy moduł stanu powinien zawierać tylko stany, które nie będą używane jednocześnie. – akoumjian

Powiązane problemy