如何在Salt top.sls文件中自动创建新的AWS实例

时间:2019-07-05 12:42:27

标签: amazon-web-services automation jinja2 salt-cloud

我希望能够在执行highstate时从支柱/top.sls自动创建一个新的EC2-AWS实例。

这是我的支柱结构:

pillar
|
|-Company A
| |-init.sls
|
|-Company B
| |-init.sls
|
|-Company C
| |-init.sls
|
|-top.sls
|

在支柱文件夹下面的每个文件夹都对应一个奴才。因此,在上述情况下,我有3个仆从(“ A公司”,“ B公司”和“ C公司”)。

在运行高状态时所有小兵都已正确设置...

我已经安装了salt-cloud,并通过调用以下命令成功创建了新的AWS实例:

salt-cloud -p {profile} {new minion name}

问题:

现在,我想在添加新文件夹(例如:“ Company D”)时自动创建新的AWS实例。

  1. 调查是否需要创建计算机
  2. 使用盐云创建计算机
  3. 继续

pillar/top.sls:
---------------
# 'Company D' has just been added to the list
{% set machines = ['Company A', 'Company B', 'Company C', 'Company D']%}
base:
{% for machine in machines %}
  # The below is pseudo-code that will test if the minion already exists
  {% if not machine.exists %}
    # Create the minion using salt-cloud
    {% salt-cloud -p 'profileX' machine %}
  {% endif %}
  '{{machine}}':
    - {{machine}}
{% endfor %}

0 个答案:

没有答案