40 lines
1.4 KiB
YAML
40 lines
1.4 KiB
YAML
---
|
|
- name: 'Configure Ubuntu Pro subscription'
|
|
hosts: 'ubuntu_pro'
|
|
|
|
tasks:
|
|
- name: 'Install required software'
|
|
become: true
|
|
ansible.builtin.apt:
|
|
name: 'ubuntu-advantage-tools'
|
|
state: 'present'
|
|
|
|
- name: 'Register this host on Ubuntu Pro (pro attach <token>)'
|
|
become: true
|
|
ansible.builtin.command: 'pro attach {{ ubuntu_pro_token }}'
|
|
register: 'reg_pro_attach'
|
|
changed_when: 'reg_pro_attach.rc == 0'
|
|
failed_when:
|
|
- 'reg_pro_attach.rc != 0'
|
|
- '"This machine is already attached to" not in reg_pro_attach.stderr_lines[0]'
|
|
|
|
- name: 'Enable selected Ubuntu Pro services'
|
|
become: true
|
|
ansible.builtin.command: 'pro enable {{ item }}'
|
|
register: 'reg_pro_enable'
|
|
changed_when: 'reg_pro_enable.rc == 0'
|
|
failed_when:
|
|
- 'reg_pro_enable.rc != 0'
|
|
- '"is already enabled" not in reg_pro_enable.stdout_lines[1]'
|
|
- '"is not available for" not in reg_pro_enable.stdout_lines[1]'
|
|
loop: '{{ ubuntu_pro_enabled_services }}'
|
|
|
|
- name: 'Disable selected Ubuntu Pro services'
|
|
become: true
|
|
ansible.builtin.command: 'pro disable {{ item }}'
|
|
register: 'reg_pro_disable'
|
|
changed_when: 'reg_pro_disable.rc == 0'
|
|
failed_when:
|
|
- 'reg_pro_disable.rc != 0'
|
|
- '"is not currently enabled not" in reg_pro_disable.stdout_lines[0]'
|
|
loop: '{{ ubuntu_pro_disabled_services }}'
|