3

我最近开始学习 ansible,所以这听起来像是一个菜鸟问题。我写了一个简单的剧本(example.yml),它将使用 ansible 的 ec2_group 模块在 AWS ec2 中创建一个安全组。

剧本是——

---
- name: Add a security group to ec2
  hosts: local
  connection: local
  tasks:
    local_action:
      module: ec2_group
      name: TestSecurityGroup001
      description: A new ec2 security group via ansible playbook
      region: us-east-1
      rules:

        - proto: tcp
          from_port: 80
          to_port: 80
          cidr_ip: 0.0.0.0/0

        - proto: tcp
          from_port: 22
          to_port: 22
          cidr_ip: 10.0.0.0/8

        - proto: udp
          from_port: 10050
          to_port: 10050
          cidr_ip: 10.0.0.0/8

        - proto: udp
          from_port: 10051
          to_port: 10051
          group_id: abc123

当我做

$ ansible-playbook example.yml

PLAY [Add a security group to ec2] ******************************************** 

GATHERING FACTS *************************************************************** 
ok: [localhost]

PLAY RECAP ******************************************************************** 
localhost                  : ok=1    changed=0    unreachable=0    failed=0   

现在,当我列出安全组时

$ aws ec2 describe-security-groups --region=us-east-1 --group-name=TestSecurityGroup001
$ A client error (InvalidGroup.NotFound) occurred: The security group 'TestSecurityGroup001' does not exist

有人可以告诉我应该做些什么来解决这个问题。

4

1 回答 1

2

我认为您-的剧本中缺少一个,ansible 期望任务是一个列表。尝试这个:

 tasks:
    - local_action:

代替:

 tasks:
    local_action:
于 2013-09-15T02:26:45.787 回答