如何使一个自定义状态依赖于另一个?

时间:2013-05-03 15:24:29

标签: salt-stack

如何使用sls文件中的必备条件使一个自定义状态依赖于另一个自定义状态?

示例: _states/seuss.py模块中的两个custom states

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

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

我希望ham依赖于green_eggs

# init.sls

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

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

如何使???成功完成green_eggs

1 个答案:

答案 0 :(得分:8)

你想要:

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

但是,您目前正在定义seuss资源的两种状态,这意味着名为seuss.ham的{​​{1}}或seuss.green_eggs可以满足该要求。

如果您不想这样,那么您必须在单独的文件中定义状态(例如have_green_eggsseuss_ham.exists)。