44 lines
1.1 KiB
YAML
44 lines
1.1 KiB
YAML
---
|
|
- name: Check if sqlcmd is already installed
|
|
ansible.builtin.stat:
|
|
path: /usr/local/bin/sqlcmd
|
|
register: sqlcmd_bin
|
|
|
|
- name: Download sqlcmd archive
|
|
ansible.builtin.get_url:
|
|
url: "{{ sqlcmd_url }}"
|
|
dest: "/tmp/{{ sqlcmd_archive }}"
|
|
when: not sqlcmd_bin.stat.exists
|
|
|
|
- name: Create sqlcmd extraction directory
|
|
ansible.builtin.file:
|
|
path: /tmp/sqlcmd_extract
|
|
state: directory
|
|
mode: "0755"
|
|
when: not sqlcmd_bin.stat.exists
|
|
|
|
- name: Extract sqlcmd
|
|
ansible.builtin.unarchive:
|
|
src: "/tmp/{{ sqlcmd_archive }}"
|
|
dest: /tmp/sqlcmd_extract
|
|
remote_src: true
|
|
creates: /tmp/sqlcmd_extract/sqlcmd
|
|
when: not sqlcmd_bin.stat.exists
|
|
|
|
- name: Move sqlcmd binary to /usr/local/bin
|
|
ansible.builtin.copy:
|
|
src: /tmp/sqlcmd_extract/sqlcmd
|
|
dest: /usr/local/bin/sqlcmd
|
|
mode: "0755"
|
|
remote_src: true
|
|
when: not sqlcmd_bin.stat.exists
|
|
|
|
- name: Clean up sqlcmd temp files
|
|
ansible.builtin.file:
|
|
path: "{{ item }}"
|
|
state: absent
|
|
loop:
|
|
- "/tmp/{{ sqlcmd_archive }}"
|
|
- /tmp/sqlcmd_extract
|
|
when: not sqlcmd_bin.stat.exists
|