You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Ansible ec2_ami模块时遇WaiterConfig未知参数报错求助

解决Ansible ec2_ami模块的WaiterConfig未知参数报错

这个报错的核心原因是Ansible的ec2_ami模块与底层依赖的boto3/botocore版本不兼容——模块在尝试调用AWS的等待器(waiter)时,传递了当前boto3版本不支持的WaiterConfig参数格式,导致抛出异常。下面是几个可行的解决办法:

1. 显式指定wait_timeout参数

在ec2_ami任务中添加wait_timeout参数,明确设置AMI创建的等待超时时间,这样可以绕过模块自动生成的有问题的WaiterConfig逻辑。示例调整后的任务:

- name: Create AMI
  ec2_ami:
    region: "{{ region }}"
    instance_id: "{{ instanceId }}"
    name: "{{ asg_name }}-{{ ansible_date_time.iso8601 | regex_replace('[^a-zA-Z0-9]', '-') }}"
    wait: yes
    wait_timeout: 3600  # 设置为1小时,可根据你的实例大小调整
    state: present
  register: ami

2. 升级boto3和botocore到兼容版本

较旧的boto3版本不支持模块传递的WaiterConfig参数结构,直接升级到最新稳定版即可解决:

# 使用pip升级(确保是Ansible使用的Python环境)
pip install --upgrade boto3 botocore

如果你用的是虚拟环境,记得先激活环境再执行命令。

3. 同步升级Ansible版本

如果你的Ansible版本过于老旧(比如2.8及更早),可能存在模块与新版boto3不兼容的情况,建议升级到最新的稳定版:

# 以pip安装为例
pip install --upgrade ansible

如果是通过系统包管理器安装的Ansible,比如Ubuntu的apt或者CentOS的yum,替换为对应包管理器的升级命令即可。


内容的提问来源于stack exchange,提问作者mab

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 08:07:17