|
14 | 14 | ansible.builtin.set_fact:
|
15 | 15 | final_sg_rules: "{{ create_external_access_resources | ternary(sg_rules_list + allow_external_access_sg_rules, sg_rules_list) }}"
|
16 | 16 |
|
| 17 | + - name: Validate key if given |
| 18 | + when: key_name is defined and key_name != '' |
| 19 | + block: |
| 20 | + - name: Check if the key exists |
| 21 | + amazon.aws.ec2_key_info: |
| 22 | + names: |
| 23 | + - "{{ key_name }}" |
| 24 | + register: key_info_result |
| 25 | + |
| 26 | + - name: Set manage_ec2_instance_key_name role var |
| 27 | + ansible.builtin.set_fact: |
| 28 | + manage_ec2_instance_key_name: "{{ key_name }}" |
| 29 | + when: key_info_result.keypairs | length > 0 |
| 30 | + |
17 | 31 | - name: Get RHEL 9 AMI ID if needed
|
18 | 32 | when: ami_id | default("", true) == ""
|
19 | 33 | block:
|
|
25 | 39 | owner:
|
26 | 40 | - amazon
|
27 | 41 | register: images
|
| 42 | + |
28 | 43 | - name: Update ami_id variable
|
29 | 44 | ansible.builtin.set_fact:
|
30 | 45 | ami_id: "{{ (images.images | sort(attribute='name') | last).image_id }}"
|
|
50 | 65 | manage_ec2_instance_instance_name: "{{ instance_name }}"
|
51 | 66 | manage_ec2_instance_instance_type: "{{ instance_type }}"
|
52 | 67 | manage_ec2_instance_ami_id: "{{ ami_id }}"
|
53 |
| - manage_ec2_instance_key_name: "{{ key_name }}" |
54 | 68 | manage_ec2_instance_vpc_subnet_id: "{{ ec2_networking_resources_subnet_result.subnet.id }}"
|
55 | 69 | manage_ec2_instance_wait_for_state: "{{ wait_for_state | bool }}"
|
56 | 70 | manage_ec2_instance_associate_security_groups: "{{ [sg_name] }}"
|
57 | 71 | manage_ec2_instance_associate_eip: "{{ create_external_access_resources }}"
|
58 | 72 | manage_ec2_instance_instance_tags: "{{ instance_tags | default('{}', true) | from_json }}"
|
| 73 | + |
| 74 | + - name: Warn if key does not exist |
| 75 | + ansible.builtin.debug: |
| 76 | + msg: "Warning: The key '{{ key_name }}' does not exist!" |
| 77 | + when: key_name is defined and key_info_result.keypairs | length == 0 |
0 commit comments