|
9 | 9 | networktocode.nautobot.site:
|
10 | 10 | url: "{{ lookup('env', 'NAUTOBOT_URL') }}"
|
11 | 11 | token: "{{ lookup('env', 'NAUTOBOT_TOKEN') }}"
|
12 |
| - data: "{{ site }}" |
| 12 | + name: "{{ site['name'] }}" |
| 13 | + time_zone: "{{ site['time_zone'] }}" |
| 14 | + status: "{{ site['status'] }}" |
| 15 | + description: "{{ site['description'] }}" |
| 16 | + contact_name: "{{ site['contact_name'] }}" |
| 17 | + contact_email: "{{ site['contact_email'] }}" |
13 | 18 | validate_certs: False
|
14 | 19 | register: site_setup
|
15 | 20 | loop: "{{ sites }}"
|
16 | 21 | loop_control:
|
17 | 22 | loop_var: site
|
18 | 23 | label: "{{ site['name'] }}"
|
19 |
| - tags: [ sites, devices ] |
| 24 | + tags: [sites, devices] |
20 | 25 |
|
21 | 26 | - name: "TASK 2: SETUP RACKS"
|
22 | 27 | networktocode.nautobot.rack:
|
23 | 28 | url: "{{ lookup('env', 'NAUTOBOT_URL') }}"
|
24 | 29 | token: "{{ lookup('env', 'NAUTOBOT_TOKEN') }}"
|
25 |
| - data: "{{ rack }}" |
| 30 | + name: "{{ rack['name'] }}" |
| 31 | + site: "{{ rack['site'] }}" |
| 32 | + status: "{{ rack['status'] }}" |
26 | 33 | state: "{{ install_state }}"
|
27 | 34 | validate_certs: False
|
28 | 35 | loop: "{{ racks }}"
|
29 | 36 | loop_control:
|
30 | 37 | loop_var: rack
|
31 | 38 | label: "{{ rack['name'] }}"
|
32 |
| - tags: [ sites, devices ] |
| 39 | + tags: [sites, devices] |
33 | 40 |
|
34 | 41 | - name: "TASK 3: SETUP MANUFACTURERS"
|
35 | 42 | networktocode.nautobot.manufacturer:
|
36 | 43 | url: "{{ lookup('env', 'NAUTOBOT_URL') }}"
|
37 | 44 | token: "{{ lookup('env', 'NAUTOBOT_TOKEN') }}"
|
38 |
| - data: |
39 |
| - name: "{{ manufacturer }}" |
| 45 | + name: "{{ manufacturer }}" |
40 | 46 | state: "{{ install_state }}"
|
41 | 47 | validate_certs: False
|
42 | 48 | loop: "{{ manufacturers }}"
|
43 | 49 | loop_control:
|
44 | 50 | loop_var: manufacturer
|
45 |
| - tags: [ devices ] |
| 51 | + tags: [devices] |
46 | 52 |
|
47 | 53 | - name: "TASK 4: SETUP DEVICE TYPES"
|
48 | 54 | networktocode.nautobot.device_type:
|
49 | 55 | url: "{{ lookup('env', 'NAUTOBOT_URL') }}"
|
50 | 56 | token: "{{ lookup('env', 'NAUTOBOT_TOKEN') }}"
|
51 |
| - data: |
52 |
| - model: "{{ device_type.model }}" |
53 |
| - manufacturer: "{{ device_type.manufacturer }}" |
54 |
| - slug: "{{ device_type.slug }}" |
55 |
| - part_number: "{{ device_type.part_number }}" |
56 |
| - u_height: 1 |
57 |
| - is_full_depth: "{{ device_type.full_depth }}" |
| 57 | + model: "{{ device_type.model }}" |
| 58 | + manufacturer: "{{ device_type.manufacturer }}" |
| 59 | + slug: "{{ device_type.slug }}" |
| 60 | + part_number: "{{ device_type.part_number }}" |
| 61 | + u_height: 1 |
| 62 | + is_full_depth: "{{ device_type.full_depth }}" |
58 | 63 | state: "{{ install_state }}"
|
59 | 64 | validate_certs: False
|
60 | 65 | loop: "{{ device_types }}"
|
61 | 66 | loop_control:
|
62 | 67 | loop_var: device_type
|
63 | 68 | label: "{{ device_type['model'] }}"
|
64 |
| - tags: [ devices ] |
| 69 | + tags: [devices] |
65 | 70 |
|
66 | 71 | - name: "TASK 5: SETUP PLATFORMS"
|
67 | 72 | networktocode.nautobot.platform:
|
68 | 73 | url: "{{ lookup('env', 'NAUTOBOT_URL') }}"
|
69 | 74 | token: "{{ lookup('env', 'NAUTOBOT_TOKEN') }}"
|
70 |
| - data: |
71 |
| - name: "{{ platform.name }}" |
72 |
| - slug: "{{ platform.slug }}" |
| 75 | + name: "{{ platform.name }}" |
| 76 | + slug: "{{ platform.slug }}" |
73 | 77 | state: "{{ install_state }}"
|
74 | 78 | validate_certs: False
|
75 | 79 | loop: "{{ platforms }}"
|
76 | 80 | loop_control:
|
77 | 81 | loop_var: platform
|
78 | 82 | label: "{{ platform['name'] }}"
|
79 |
| - tags: [ devices ] |
| 83 | + tags: [devices] |
80 | 84 |
|
81 | 85 | - name: "TASK 6: SETUP DEVICE ROLES"
|
82 | 86 | networktocode.nautobot.device_role:
|
83 | 87 | url: "{{ lookup('env', 'NAUTOBOT_URL') }}"
|
84 | 88 | token: "{{ lookup('env', 'NAUTOBOT_TOKEN') }}"
|
85 |
| - data: |
86 |
| - name: "{{ device_role.name }}" |
87 |
| - color: "{{ device_role.color }}" |
88 |
| - vm_role: "{{ device_role.vmrole }}" |
| 89 | + name: "{{ device_role.name }}" |
| 90 | + color: "{{ device_role.color }}" |
| 91 | + vm_role: "{{ device_role.vmrole }}" |
89 | 92 | state: "{{ install_state }}"
|
90 | 93 | validate_certs: False
|
91 | 94 | loop: "{{ device_roles }}"
|
92 | 95 | loop_control:
|
93 | 96 | loop_var: device_role
|
94 | 97 | label: "{{ device_role['name'] }}"
|
95 |
| - tags: [ devices ] |
| 98 | + tags: [devices] |
96 | 99 |
|
97 | 100 | - name: "TASK 7: SETUP VLANS"
|
98 | 101 | networktocode.nautobot.vlan:
|
99 | 102 | url: "{{ lookup('env', 'NAUTOBOT_URL') }}"
|
100 | 103 | token: "{{ lookup('env', 'NAUTOBOT_TOKEN') }}"
|
101 |
| - data: |
102 |
| - name: "VLAN{{ vlan.vid }}" |
103 |
| - vid: "{{ vlan.vid }}" |
104 |
| - site: "MINNESOTA01" |
105 |
| - description: "{{ vlan.desc }}" |
106 |
| - status: "Active" |
| 104 | + name: "VLAN{{ vlan.vid }}" |
| 105 | + vid: "{{ vlan.vid }}" |
| 106 | + site: "MINNESOTA01" |
| 107 | + description: "{{ vlan.desc }}" |
| 108 | + status: "Active" |
107 | 109 | state: "{{ install_state }}"
|
108 | 110 | validate_certs: False
|
109 | 111 | register: result
|
110 | 112 | loop: "{{ vlans }}"
|
111 | 113 | loop_control:
|
112 | 114 | loop_var: vlan
|
113 | 115 | label: "{{ vlan['vid'] }}"
|
114 |
| - tags: [ ipam ] |
| 116 | + tags: [ipam] |
115 | 117 |
|
116 | 118 | - name: "TASK 8: SETUP RFC1918 RIR"
|
117 | 119 | networktocode.nautobot.rir:
|
118 | 120 | url: "{{ lookup('env', 'NAUTOBOT_URL') }}"
|
119 | 121 | token: "{{ lookup('env', 'NAUTOBOT_TOKEN') }}"
|
120 |
| - data: "{{ rir }}" |
| 122 | + name: RFC1918 |
| 123 | + is_private: True |
121 | 124 | state: "{{ install_state }}"
|
122 | 125 | validate_certs: False
|
123 | 126 | loop: "{{ rirs }}"
|
124 | 127 | loop_control:
|
125 | 128 | loop_var: rir
|
126 | 129 | label: "{{ rir['name'] }}"
|
127 |
| - tags: [ ipam ] |
| 130 | + tags: [ipam] |
128 | 131 |
|
129 | 132 | - name: "TASK 8: SETUP AGGREGRATES"
|
130 | 133 | networktocode.nautobot.aggregate:
|
131 | 134 | url: "{{ lookup('env', 'NAUTOBOT_URL') }}"
|
132 | 135 | token: "{{ lookup('env', 'NAUTOBOT_TOKEN') }}"
|
133 |
| - data: |
134 |
| - prefix: "{{ aggregate.name }}" |
135 |
| - description: "{{ aggregate.desc }}" |
136 |
| - rir: "{{ aggregate.rir }}" |
| 136 | + prefix: "{{ aggregate.name }}" |
| 137 | + description: "{{ aggregate.desc }}" |
| 138 | + rir: "{{ aggregate.rir }}" |
137 | 139 | state: "{{ install_state }}"
|
138 | 140 | validate_certs: False
|
139 | 141 | loop: "{{ aggregates }}"
|
140 | 142 | loop_control:
|
141 | 143 | loop_var: aggregate
|
142 | 144 | label: "{{ aggregate['name'] }}"
|
143 |
| - tags: [ ipam ] |
| 145 | + tags: [ipam] |
144 | 146 |
|
145 | 147 | - name: "TASK 9: SETUP PREFIXES"
|
146 | 148 | networktocode.nautobot.prefix:
|
147 | 149 | url: "{{ lookup('env', 'NAUTOBOT_URL') }}"
|
148 | 150 | token: "{{ lookup('env', 'NAUTOBOT_TOKEN') }}"
|
149 |
| - data: |
150 |
| - family: 4 |
151 |
| - prefix: "{{ prefix.prefix }}" |
152 |
| - site: "{{ prefix.site | default(omit) }}" |
153 |
| - status: "{{ prefix.status | default('Active') }}" |
154 |
| - description: "{{ prefix.desc }}" |
155 |
| - is_pool: "{{ prefix.ispool }}" |
| 151 | + family: 4 |
| 152 | + prefix: "{{ prefix.prefix }}" |
| 153 | + site: "{{ prefix.site | default(omit) }}" |
| 154 | + status: "{{ prefix.status | default('Active') }}" |
| 155 | + description: "{{ prefix.desc }}" |
| 156 | + is_pool: "{{ prefix.ispool }}" |
156 | 157 | state: "{{ install_state }}"
|
157 | 158 | validate_certs: False
|
158 | 159 | loop: "{{ prefixes }}"
|
159 | 160 | loop_control:
|
160 | 161 | loop_var: prefix
|
161 | 162 | label: "{{ prefix['prefix'] }}"
|
162 |
| - tags: [ ipam ] |
| 163 | + tags: [ipam] |
163 | 164 |
|
164 | 165 | - name: "TASK 10: SETUP CIRCUIT PROVIDER"
|
165 | 166 | networktocode.nautobot.provider:
|
166 | 167 | url: "{{ lookup('env', 'NAUTOBOT_URL') }}"
|
167 | 168 | token: "{{ lookup('env', 'NAUTOBOT_TOKEN') }}"
|
168 |
| - data: "{{ circuit_provider }}" |
| 169 | + name: "{{ circuit_provider['name'] }}" |
| 170 | + asn: "{{ circuit_provider['asn'] }}" |
| 171 | + account: "{{ circuit_provider['account'] }}" |
| 172 | + portal_url: "{{ circuit_provider['portal_url'] }}" |
| 173 | + noc_contact: "{{ circuit_provider['noc_contact'] }}" |
| 174 | + comments: "{{ circuit_provider['comments'] }}" |
169 | 175 | state: "{{ install_state }}"
|
170 | 176 | validate_certs: False
|
171 | 177 | loop: "{{ circuit_providers }}"
|
172 | 178 | loop_control:
|
173 | 179 | loop_var: circuit_provider
|
174 | 180 | label: "{{ circuit_provider['name'] }}"
|
175 |
| - tags: [ circuit ] |
| 181 | + tags: [circuit] |
176 | 182 |
|
177 | 183 | - name: Create type within Nautobot with only required information
|
178 | 184 | networktocode.nautobot.circuit_type:
|
179 | 185 | url: "{{ lookup('env', 'NAUTOBOT_URL') }}"
|
180 | 186 | token: "{{ lookup('env', 'NAUTOBOT_TOKEN') }}"
|
181 |
| - data: "{{ circuit_type }}" |
| 187 | + name: "{{ circuit_type['name'] }}" |
182 | 188 | state: "{{ install_state }}"
|
183 | 189 | validate_certs: False
|
184 | 190 | loop: "{{ circuit_types }}"
|
185 | 191 | loop_control:
|
186 | 192 | loop_var: circuit_type
|
187 | 193 | label: "{{ circuit_type['name'] }}"
|
188 |
| - tags: [ circuit ] |
| 194 | + tags: [circuit] |
189 | 195 |
|
190 | 196 | - name: "CREATE LOCAL CIRCUIT"
|
191 | 197 | networktocode.nautobot.circuit:
|
192 | 198 | url: "{{ lookup('env', 'NAUTOBOT_URL') }}"
|
193 | 199 | token: "{{ lookup('env', 'NAUTOBOT_TOKEN') }}"
|
194 |
| - data: "{{ circuit }}" |
| 200 | + cid: "{{ circuit['cid'] }}" |
| 201 | + provider: "{{ circuit['provider'] }}" |
| 202 | + circuit_type: "{{ circuit['circuit_type'] }}" |
| 203 | + status: "{{ circuit['status'] }}" |
| 204 | + install_date: "{{ circuit['install_date'] }}" |
| 205 | + commit_rate: "{{ circuit['commit_rate'] }}" |
| 206 | + description: "{{ circuit['description'] }}" |
| 207 | + comments: "{{ circuit['comments'] }}" |
195 | 208 | state: "{{ install_state }}"
|
196 | 209 | validate_certs: False
|
197 | 210 | loop: "{{ circuits }}"
|
198 | 211 | loop_control:
|
199 | 212 | loop_var: circuit
|
200 | 213 | label: "{{ circuit['cid'] }}"
|
201 |
| - tags: [ circuit ] |
| 214 | + tags: [circuit] |
0 commit comments