如何使用ansible获取aws中的所有安全组



我有一个可行的剧本,应该得到在一个地区的所有安全组。它还具有mfa认证。

- name: Generate temporary access keys and token
sts_assume_role:
duration_seconds: 900
region: "{{ region }}"
aws_access_key: "{{user_access_key}}"
aws_secret_key: "{{user_secret_key}}"
mfa_serial_number: "{{user_mfa_serial}}"
role_arn: "{{role_arn}}"
mfa_token: "{{mfa_token}}"
role_session_name: "{{role_session_name}}"
register: assumed_role

- name: ec2 security group information fetch
ec2_group_facts:
aws_access_key: "{{ assumed_role.sts_creds.access_key }}"
aws_secret_key: "{{ assumed_role.sts_creds.secret_key }}"
security_token: "{{ assumed_role.sts_creds.session_token }}"
filters:{}
register: result
- debug: msg="{{ result.security_groups }}"

问题是,当我运行它时当我运行它时,我只得到默认的SG。但我要所有的安全小组。当我添加过滤器到一个特定的vpc-id它的结果是空的,但vpc存在。

有什么问题吗??由于

我忘了把region包括在ec2_group_info中,现在看起来是这样的。

- name: ec2 security group information fetch
ec2_group_info:
region: "{{region}}"
aws_access_key: "{{ assumed_role.sts_creds.access_key }}"
aws_secret_key: "{{ assumed_role.sts_creds.secret_key }}"
security_token: "{{ assumed_role.sts_creds.session_token }}"
register: result

最新更新