Ansible aws_eip:'unsupported parameter for module: device_id'

Ansible aws_eip: 'unsupported parameter for module: device_id'

我正在尝试使用 aws_eip 模块的指南将 EIP 分配给 ec2 实例。但是由于某些原因,aws_eip 模块与 device_id 有一些问题。我正在使用 ansible 1.9.4:

TASK: [associate an elastic IP with an instance] ****************************** 
failed: [localhost] => {"failed": true}
msg: unsupported parameter for module: device_id

FATAL: all hosts have already failed -- aborting

我假设它想让我使用 device_id 以外的东西。我应该使用什么?

显然文档中的示例是错误的。您应该使用 instance_id 而不是 device_ip。这就是你的任务应该是什么样子的(注意 "{{ ec2['tagged_instances'][0]['id'] }}" 是存储实例 ID 的变量):

- name: associate an elastic IP with an instance
  ec2_eip:
    region: 'us-west-2'
    instance_id: "{{ ec2['tagged_instances'][0]['id'] }}"
    ip: "{{ elastic_ip }}"