blob: 32bd579fad35cea3660ed828c4ca5109bb8b778e (
plain)
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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
|
# Copyright: (c) 2019, Hetzner Cloud GmbH <info@hetzner-cloud.de>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
---
- name: setup
hcloud_network:
name: "{{ hcloud_network_name }}"
state: absent
register: result
- name: verify setup
assert:
that:
- result is success
- name: test missing ip_range parameter on create Network
hcloud_network:
name: "{{hcloud_network_name}}"
register: result
ignore_errors: yes
- name: verify fail missing ip_range parameter on create Network result
assert:
that:
- result is failed
- 'result.msg == "missing required arguments: ip_range"'
- name: test create Network with check mode
hcloud_network:
name: "{{hcloud_network_name}}"
ip_range: "10.0.0.0/16"
register: result
check_mode: yes
- name: verify create Network with check mode result
assert:
that:
- result is changed
- name: test create Network
hcloud_network:
name: "{{hcloud_network_name}}"
ip_range: "10.0.0.0/16"
register: network
- name: verify test create Network result
assert:
that:
- network is changed
- network.hcloud_network.name == "{{hcloud_network_name}}"
- network.hcloud_network.ip_range == "10.0.0.0/16"
- name: test create Network idempotence
hcloud_network:
name: "{{hcloud_network_name}}"
ip_range: "10.0.0.0/16"
register: network
- name: verify test create network
assert:
that:
- network is not changed
- name: test update Network label
hcloud_network:
name: "{{hcloud_network_name}}"
labels:
key: value
register: network
- name: verify test update Network label
assert:
that:
- network is changed
- network.hcloud_network.labels.key == "value"
- name: test update Network label idempotency
hcloud_network:
name: "{{hcloud_network_name}}"
labels:
key: value
register: network
- name: verify test update Network label idempotency
assert:
that:
- network is not changed
- name: test update Network ip range
hcloud_network:
name: "{{hcloud_network_name}}"
ip_range: "10.0.0.0/8"
register: network
- name: verify test update Network ip range
assert:
that:
- network is changed
- network.hcloud_network.ip_range == "10.0.0.0/8"
- name: test update Network ip range idempotency
hcloud_network:
name: "{{hcloud_network_name}}"
ip_range: "10.0.0.0/8"
register: network
- name: verify test update Network ip range idempotency
assert:
that:
- network is not changed
- name: test update Network delete protection
hcloud_network:
name: "{{hcloud_network_name}}"
ip_range: "10.0.0.0/8"
delete_protection: true
register: network
- name: verify test update Network delete protection
assert:
that:
- network is changed
- network.hcloud_network.delete_protection is sameas true
- name: test update Network delete protection idempotency
hcloud_network:
name: "{{hcloud_network_name}}"
ip_range: "10.0.0.0/8"
delete_protection: true
register: network
- name: verify test update Network delete protection idempotency
assert:
that:
- network is not changed
- network.hcloud_network.delete_protection is sameas true
- name: test Network without delete protection set to be idempotent
hcloud_network:
name: "{{hcloud_network_name}}"
ip_range: "10.0.0.0/8"
register: network
- name: verify test Network without delete protection set to be idempotent
assert:
that:
- network is not changed
- network.hcloud_network.delete_protection is sameas true
- name: test delete Network fails if it is protected
hcloud_network:
name: "{{hcloud_network_name}}"
state: absent
ignore_errors: yes
register: result
- name: verify delete Network
assert:
that:
- result is failed
- 'result.msg == "network deletion is protected"'
- name: test update Network delete protection
hcloud_network:
name: "{{hcloud_network_name}}"
ip_range: "10.0.0.0/8"
delete_protection: false
register: network
- name: verify test update Network delete protection
assert:
that:
- network is changed
- network.hcloud_network.delete_protection is sameas false
- name: test delete Network
hcloud_network:
name: "{{hcloud_network_name}}"
state: absent
register: result
- name: verify delete Network
assert:
that:
- result is success
|