用ansible调整ec2的类型

问题描述 投票:0回答:1

我想从ansible调整ec2类型的大小。

这是我的代码:

- name: resize the instance
  ec2: 
    aws_access_key: "{{ aws_access_key_var }}"
    aws_secret_key: "{{ aws_secret_key_var }}"
    region: "{{ region }}"
    instance_ids:
      - "{{ instance_id }}"
    instance_type: "{\"Value\": \"t2.small\"}"
    wait: True
  register: ec2_result_file

但我得到这个错误:

fatal: [localhost]: FAILED! => {"changed": false, "msg": "image parameter is required for new instance"}

我尝试使用命令行一切都很好

aws  ec2 modify-instance-attribute --region reg  --instance-id i-xx  --instance-type "{\"Value\": \"t2.small\"}

问候,

amazon-ec2 ansible
1个回答
0
投票

如何达成解决方案:

  1. Ansible告诉您它要创建“新实例”,但您已经提供了现有的实例ID。
  2. 转到ec2 module的文档并检查您提供当前实例的ID的参数: instance_ids实例id列表,目前用于各州:absentrunningstopped
  3. 检查你指定的state - 你没有,所以这是默认值。
  4. 检查相同的文档state参数的默认值:它是presentpresent未在instance_ids描述中列出,因此instance_ids完全被忽略。

Ansible认为你真的想创建一个新实例。


解:

state: running添加到ec2模块参数中。

© www.soinside.com 2019 - 2024. All rights reserved.