1---
2# Example Playbook: cisco.ucs.ucs_serial_over_lan_policy
3- hosts: ucs
4  connection: local
5  gather_facts: false
6
7  vars:
8    org: AnsibleOrg
9
10  tasks:
11    - name: Test that we have a UCS hostname, UCS username, and UCS password
12      fail:
13        msg: 'Please define the following variables: ucs_hostname, ucs_username and ucs_password.'
14      when: ucs_hostname is not defined or ucs_username is not defined or ucs_password is not defined
15      vars:
16        # use "<<: *login_info" to substite the information below in each task
17        # this is not required, however it makes the playbook shorter.
18        login_info: &login_info
19          hostname: "{{ ucs_hostname }}"
20          username: "{{ ucs_username }}"
21          password: "{{ ucs_password }}"
22
23    - name: Add UCS Organization
24      cisco.ucs.ucs_org:
25        <<: *login_info
26        org_name: "{{ org }}"
27        parent_org_path: root
28        description: "Org {{ org }}"
29        state: present
30      delegate_to: localhost
31
32    - name: Add UCS Serial Over Lan Policy
33      cisco.ucs.ucs_serial_over_lan_policy:
34        <<: *login_info
35        state: present
36        org_dn: "org-root/org-{{ org }}"
37        name: sol_pol
38        description: "Serial Over Lan for Org {{ org }} servers"
39        admin_state: enable
40        speed: "38400"
41      delegate_to: localhost
42
43    - name: Check Serial Over Lan
44      cisco.ucs.ucs_serial_over_lan_policy:
45        <<: *login_info
46        state: present
47        org_dn: "org-root/org-{{ org }}"
48        name: sol_pol
49        description: "Serial Over Lan for Org {{ org }} servers"
50        admin_state: enable
51        speed: "38400"
52      delegate_to: localhost
53      check_mode: True
54
55    - name: Add Serial Over Lan
56      cisco.ucs.ucs_serial_over_lan_policy:
57        <<: *login_info
58        state: present
59        name: sol_pol
60        description: Serial Over Lan for Org Root servers
61        admin_state: enable
62        speed: "57600"
63      delegate_to: localhost
64
65    - name: Idempotent Serial Over Lan
66      cisco.ucs.ucs_serial_over_lan_policy:
67        <<: *login_info
68        state: present
69        name: sol_pol
70        description: Serial Over Lan for Org Root servers
71        admin_state: enable
72        speed: "57600"
73      delegate_to: localhost
74
75    - name: Check Update Serial Over Lan
76      cisco.ucs.ucs_serial_over_lan_policy:
77        <<: *login_info
78        state: present
79        name: sol_pol
80        description: Serial Over Lan for Org Root servers
81        admin_state: enable
82        speed: "57600"
83      delegate_to: localhost
84      check_mode: true
85
86    - name: Update Serial Over Lan
87      cisco.ucs.ucs_serial_over_lan_policy:
88        <<: *login_info
89        state: present
90        name: sol_pol
91        description: Serial Over Lan for Org Root servers
92        admin_state: enable
93        speed: "57600"
94      delegate_to: localhost
95
96    - name: Delete Serial Over Lan
97      cisco.ucs.ucs_serial_over_lan_policy:
98        <<: *login_info
99        state: absent
100        name: sol_pol
101      delegate_to: localhost
102
103    - name: Remove UCS Organization
104      cisco.ucs.ucs_org:
105        <<: *login_info
106        org_name: "{{ org }}"
107        parent_org_path: root
108        state: absent
109      delegate_to: localhost