Commit 982fdde
[TRM] Implement VRF VNID/EVPN-Instance Support in Terraform Provider (#389)
* Add VRF VNID and EVPN-Instance support
- Add vnid configuration support to iosxe_vrf resource
- Support VNID-only mode for automatic route-target generation
- Support VNID with explicit VNI configuration
- Support optional core-vlan parameter (platform-dependent)
- Tested on Cat8k routers (17.12, 17.15) and Cat9k switches
- Router platforms: VNID with/without explicit VNI (no core-vlan)
- Switch platforms: VNID with/without explicit VNI+core-vlan
* Fix schema validation error: remove max_elements from VNID definition
- Removed max_elements field which is not supported by schema
- Regenerated all provider code with corrected definition
* fix: Revert template to PATCH-first and exclude prerequisite-dependent VRF attributes from tests
- Revert gen/templates/resource.go to upstream PATCH-first logic for Create
(PUT-only was not required for VRF VNID feature)
- Add exclude_test to core_vlan (switch-only attribute, not supported on routers)
- Add exclude_test to MDT attributes that require multicast/BGP/VXLAN prerequisites:
- ipv4_mdt_default_address
- ipv4_mdt_auto_discovery_vxlan
- ipv4_mdt_auto_discovery_vxlan_inter_as
- ipv4_mdt_overlay_use_bgp
- ipv4_mdt_overlay_use_bgp_spt_only
- ipv4_mdt_data_multicast
- ipv4_mdt_data_threshold
The original test failures were caused by MDT attributes requiring prerequisites
not present in the test environment, not by PATCH vs PUT logic.
* feat(vrf): rename evpn_instance_vni_vni_num to evpn_instance_vni and use PATCH for Create
- Renamed tf_name from evpn_instance_vni_vni_num to evpn_instance_vni for cleaner API
- Updated template to use PATCH with fallback to PUT for resource creation
- Added exclude_test for core_vlan and MDT attributes (platform-specific)
- Regenerated provider code and documentation
---------
Co-authored-by: Cameron Schaeffer <[email protected]>
Co-authored-by: Andrea Testino <[email protected]>1 parent d89ca02 commit 982fdde
File tree
9 files changed
+584
-82
lines changed- docs
- data-sources
- resources
- examples/resources/iosxe_vrf
- gen/definitions
- internal/provider
9 files changed
+584
-82
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
69 | 69 | | |
70 | 70 | | |
71 | 71 | | |
| 72 | + | |
72 | 73 | | |
73 | 74 | | |
74 | 75 | | |
| |||
175 | 176 | | |
176 | 177 | | |
177 | 178 | | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
69 | 69 | | |
70 | 70 | | |
71 | 71 | | |
72 | | - | |
73 | | - | |
74 | | - | |
75 | | - | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
76 | 75 | | |
77 | | - | |
78 | | - | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
79 | 82 | | |
80 | 83 | | |
81 | | - | |
82 | 84 | | |
83 | 85 | | |
84 | 86 | | |
| |||
132 | 134 | | |
133 | 135 | | |
134 | 136 | | |
| 137 | + | |
135 | 138 | | |
136 | 139 | | |
137 | 140 | | |
| |||
271 | 274 | | |
272 | 275 | | |
273 | 276 | | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
274 | 303 | | |
275 | 304 | | |
276 | 305 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
54 | 54 | | |
55 | 55 | | |
56 | 56 | | |
57 | | - | |
58 | | - | |
59 | | - | |
60 | | - | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
61 | 60 | | |
62 | | - | |
63 | | - | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
64 | 67 | | |
65 | 68 | | |
66 | | - | |
67 | 69 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
160 | 160 | | |
161 | 161 | | |
162 | 162 | | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
163 | 191 | | |
164 | 192 | | |
165 | 193 | | |
| 194 | + | |
166 | 195 | | |
167 | 196 | | |
168 | 197 | | |
169 | 198 | | |
170 | 199 | | |
| 200 | + | |
171 | 201 | | |
172 | 202 | | |
173 | 203 | | |
174 | 204 | | |
175 | 205 | | |
176 | 206 | | |
| 207 | + | |
177 | 208 | | |
178 | 209 | | |
179 | 210 | | |
| |||
191 | 222 | | |
192 | 223 | | |
193 | 224 | | |
| 225 | + | |
194 | 226 | | |
195 | 227 | | |
196 | 228 | | |
197 | 229 | | |
198 | 230 | | |
| 231 | + | |
199 | 232 | | |
200 | 233 | | |
201 | 234 | | |
202 | 235 | | |
203 | 236 | | |
| 237 | + | |
204 | 238 | | |
205 | 239 | | |
206 | 240 | | |
| |||
218 | 252 | | |
219 | 253 | | |
220 | 254 | | |
| 255 | + | |
221 | 256 | | |
222 | 257 | | |
223 | 258 | | |
| |||
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
0 commit comments