forked from cloin/snow-demo-setup
-
Notifications
You must be signed in to change notification settings - Fork 0
/
snow-demo-setup.yml
86 lines (72 loc) · 2.22 KB
/
snow-demo-setup.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
---
- name: Configure SNOW user for demo environment
hosts: 127.0.0.1
connection: local
become: false
vars:
# servicenow instance vars
instance:
username:
password:
# username/password to use for new user account
demo_username:
demo_password:
# role to attach to user - needs to be a valid role defined in servicenow
role: Demo
# whether or not this playbook run will create or cleanup the user account
cleanup: false
tasks:
- name: Set first name for user
ansible.builtin.set_fact:
first_name: "{{ ['Craig', 'Dafne', 'Nuno', 'Roger', 'Monish', 'Anshul', 'Hicham', 'Sean', 'Andrius', 'Tom', 'Colin'] | random }}"
- name: Create user with the proper servicenow role
block:
- name: Create user
servicenow.itsm.api:
resource: sys_user
action: post
query_params:
sysparm_input_display_value: true
data:
user_name: "{{ demo_username }}"
user_password: "{{ demo_password }}"
first_name: "{{ first_name }}"
last_name: "Demouser"
department: "IT"
email: "{{ demo_username }}@example.com"
title: "instruqt_demo"
register: user_create
when: not cleanup
- name: Attach role to new user
servicenow.itsm.api:
resource: sys_user_has_role
action: post
data:
user: "{{ demo_username }}"
role: "{{ role }}"
register: user_role
when: not cleanup
- name: Find user sys_id
servicenow.itsm.api_info:
resource: sys_user
sysparm_query: "user_name={{ demo_username }}"
columns:
- user_name
- sys_id
- sys_created_on
register: user_info
- name: Cleanup user
servicenow.itsm.api:
resource: sys_user
action: delete
sys_id: "{{ user_info.record[0].sys_id }}"
register: user_delete
when: cleanup
rescue:
- name: Cleanup user
servicenow.itsm.api:
resource: sys_user
action: delete
sys_id: "{{ user_info.record[0].sys_id }}"
register: user_delete
when: cleanup