2013-05-03 18 views
6

Come faccio a rendere uno stato personalizzato dipendente da un altro con un requisito in un file sls?Come faccio a rendere uno stato personalizzato dipendente da un altro?

Esempio: Due custom states in un modulo _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': {}} 

voglio ham di essere dipendente da green_eggs:

# init.sls 

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

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

Come faccio ??? una dipendenza dal completamento di green_eggs?

risposta

8

si vorrebbe:

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

Tuttavia, si sta attualmente definendo due stati di una risorsa seuss, il che significa che sia un seuss.ham o un seuss.green_eggs chiamato have_green_eggs potrebbe soddisfare tale requisito.

Se non si desidera ciò, sarà necessario definire gli stati in file separati (ad esempio seuss_ham.exists e seuss_green_eggs.exists).

+1

Continuando ciò che Daniel ha detto, i diversi stati nel modulo di stato personalizzato dovrebbero escludersi a vicenda. Ad esempio, per il servizio 'nginx' non si imposterebbe uno stato che era 'nginx: - service.running' e uno che era' nginx: - service.dead'. Allo stesso modo il tuo modulo di stato personalizzato dovrebbe contenere solo stati che non verrebbero usati contemporaneamente. – akoumjian

Problemi correlati