Skip to content

Commit ae4a6de

Browse files
authored
Implement awscli version support (#794)
* Attempt to support aws_cli versions. * Remove AWS CLI install files when refreshing the CLI. * Make awscli refresh comment a bit clearer. * Make Ansible task name for specific AWS CLI version more explicit so we can see what version is being installed. * Fix src variable for awscli when specifying a version.
1 parent c992180 commit ae4a6de

File tree

2 files changed

+20
-2
lines changed

2 files changed

+20
-2
lines changed

roles/aws/aws_cli/defaults/main.yml

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
---
22
aws_cli:
3-
refresh: false # Set to true to upgrade the AWS client
3+
version: latest # Specify a particular version number in X.X.X format to override
4+
refresh: false # Set to true to upgrade or downgrade the AWS client, which also clears out install files in /opt/aws-cli

roles/aws/aws_cli/tasks/main.yml

+18-1
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,35 @@
1111
when:
1212
- aws_cli.refresh
1313

14+
- name: Delete AWS CLI install files when refreshing CLI version.
15+
ansible.builtin.file:
16+
path: /opt/aws-cli
17+
state: absent
18+
when:
19+
- aws_cli.refresh
20+
1421
- name: Check if we already have an AWS cli bin.
1522
ansible.builtin.stat:
1623
path: "/usr/local/bin/aws"
1724
register: aws_cli_bin
1825

19-
- name: Fetch and extract AWS cli.
26+
- name: Fetch and extract latest AWS cli.
2027
ansible.builtin.unarchive:
2128
src: https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip
2229
dest: /tmp
2330
remote_src: true
2431
when:
2532
- not aws_cli_bin.stat.exists
33+
- aws_cli.version == 'latest'
34+
35+
- name: "Fetch and extract AWS cli version {{ aws_cli.version }}."
36+
ansible.builtin.unarchive:
37+
src: "https://awscli.amazonaws.com/awscli-exe-linux-x86_64-{{ aws_cli.version }}.zip"
38+
dest: /tmp
39+
remote_src: true
40+
when:
41+
- not aws_cli_bin.stat.exists
42+
- aws_cli.version != 'latest'
2643

2744
- name: Install AWS cli.
2845
ansible.builtin.command:

0 commit comments

Comments
 (0)