Amazon ec2 我试图运行ansible playbook创建ec2安全组时出错

Amazon ec2 我试图运行ansible playbook创建ec2安全组时出错,amazon-ec2,ansible,Amazon Ec2,Ansible,当我运行此剧本时,我得到下面的错误 [root]#ansible剧本aws1.yaml 错误作用中的意外参数类型: 错误出现在“/root/Desktop/ansible_pro/aws/1/aws1.yaml”中:第6行第7列,但可能是 根据确切的语法问题,在文件中的其他位置 令人不快的一行似乎是: --- - hosts: localhost connection: local gather_facts: false tasks: - name: Create a sec

当我运行此剧本时,我得到下面的错误

[root]#ansible剧本aws1.yaml 错误作用中的意外参数类型:

错误出现在“/root/Desktop/ansible_pro/aws/1/aws1.yaml”中:第6行第7列,但可能是 根据确切的语法问题,在文件中的其他位置

令人不快的一行似乎是:

---
- hosts: localhost
  connection: local
  gather_facts: false
  tasks:
    - name: Create a security group
      ec2_group:
        - name: Ansible
          description: Ansible security group
          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: 0.0.0.0/0

我是新加入aws的ansible。请帮助

@Zellounator是正确的

首先,您应该使用以下命令检查playbook语法:

tasks:
    - name: Create a security group
      ^ here 
然后,您可以对同一剧本进行试运行: #ansible剧本aws1.yaml--检查

更正后的代码可能如下所示:

  #ansible-playbook aws1.yaml --syntax-check
下面的另一个示例是,您可以一次允许多个端口

---
 - hosts: localhost
   connection: local
   gather_facts: false
   tasks:
 - name: Create a security group
   ec2_group:
      name: Ansible
      description: Ansible security group
      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: 0.0.0.0/0
确保您已配置IAM角色或密钥、可附加到ec2并能够创建安全组的访问密钥

您可以通过以下链接浏览示例: &它总是建议通过ansible剧本的例子


希望这有帮助。

您的剧本无效。修好它<代码>ec2_组因为任何其他模块都希望dict键作为参数,而不是列表。至少,您可以查看模块文档中的示例。
---
- hosts: localhost
  connection: local
  gather_facts: false

  tasks:

  - name: Create a security group
    ec2_group:
     name: Ansible
     description: Ansible security group
     region: us-east-1
     rules:
      - proto: tcp
        ports:
        - 22
        - 80
        cidr_ip: 0.0.0.0/0