2016-07-28 29 views
1

我試圖從ansible中修改一個AWS實例。如何使用Ansible的ec2-modify-instance-attribute命令?

我的playbook旨在編譯和安裝正在運行的AWS實例上的ixgbevf驅動程序,然後關閉它,以便可以運行ec2-modify-instance-attribute命令。

到等式最後部分的所有東西都起作用。

我最後的作用節是這樣的:

- name: Turn on enhanced networking on on the AMI host 
    local_action: ec2-modify-instance-attribute the_instance_id={{ my_instance_id }} --sriov simple --region us-west-2 
    with_items: ec2_info.instances 
    ignore_errors: yes 

當角色運行,我得到以下errror:

fatal: [10.11.31.48 -> 127.0.0.1] => module ec2-modify-instance-attribute not found in configured module paths 
FATAL: all hosts have already failed -- aborting 

有沒有實際使用EC2 - 修改 - 實例 - 的方式Ansible中的屬性命令?

回答

1

嘗試使用此CLI解決方法

local_action: 
    module: > 
    shell 
     aws ec2 modify-instance-attribute --instance-id "{{ ec2_id }}" 
     --groups "{{ec2_security_group_ids}}" "{{newgroup.group_id}}" 
    when: newgroup.group_id not in ec2_security_group_ids 
0

我結束了它的工作如下:

- name: "Stop the AWS instance" 
    local_action: 
    module: ec2 
    state: stopped 
    aws_access_key: "{{ aws.ec2.access_key_id }}" 
    aws_secret_key: "{{ aws.ec2.secret_access_key }}" 
    instance_ids: "{{ ansible_ec2_instance_id }}" 
    region: "{{ ansible_ec2_placement_region }}" 
    wait: True