如何使用ansible创建IAM用户,如文档中所示?

时间:2015-12-02 20:02:01

标签: ansible ansible-playbook

设置

我想使用Ansible来配置我的IAM用户,组和权限,但我甚至无法开始使用。我安装了Ansible(2.1.0)的开发分支,并尝试运行文档中示例中显示的简单播放。

site.yml

# Basic user creation example
tasks:
- name: Create two new IAM users with API keys
  iam:
    iam_type: user
    name: "{{ item }}"
    state: present
    password: "{{ temp_pass }}"
    access_key_state: create
  with_items:
    - jcleese
    - mpython

我使用以下命令运行游戏:

$ ansible-playbook site.yml

并收到以下错误:

错误

ERROR! playbooks must be a list of plays

The error appears to have been in '~/aws_kingdom/site.yml': line 2, column 1, but may
be elsewhere in the file depending on the exact syntax problem.

The offending line appears to be:

# Basic user creation example
tasks:
^ here

我会对缺乏对游戏手册解剖结构的理解而愚昧无知,尤其是那些应该实际上没有主机的游戏手册,因为它只适用于在AWS IAM服务中创建用户。

参考

http://docs.ansible.com/ansible/iam_module.html

2 个答案:

答案 0 :(得分:5)

你仍然需要告诉Ansible它需要运行什么主机,只需要在本地运行。

因此,您的site.yml文件应如下所示:

- hosts: 127.0.0.1
  connection: local
  tasks:
  # Basic user creation example
  - name: Create two new IAM users with API keys
    iam:
      iam_type: user
      name: "{{ item }}"
      state: present
      password: "{{ temp_pass }}"
      access_key_state: create
    with_items:
      - jcleese
      - mpython

答案 1 :(得分:0)

我遇到了:

ERROR! playbooks must be a list of plays

我自己出错了,经过仔细检查,所有内容都找不到错误。

偶然地,我发现当我从playbook.yml中删除任何结尾的空格和/或换行符时,已解决了该问题

这很奇怪,因为我在遇到此修复程序之前尝试用短绒棉纸来验证我的YAML,所以我不明白它为什么起作用。

诚然,我在YAML方面没有太多经验,所以可能有些规则使我不知道我缺少了什么。