Skip to content

Commit 6abb0fb

Browse files
authored
Resolve issue #433 (#484)
1 parent 72d5353 commit 6abb0fb

File tree

4 files changed

+263
-170
lines changed

4 files changed

+263
-170
lines changed

docs/resources/transport_wan_vpn_interface_ethernet_feature.md

Lines changed: 48 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -263,9 +263,9 @@ resource "sdwan_transport_wan_vpn_interface_ethernet_feature" "example" {
263263
- Default value: `1`
264264
- `nat_udp_timeout_variable` (String) Variable name
265265
- `new_static_nats` (Attributes List) static NAT (see [below for nested schema](#nestedatt--new_static_nats))
266-
- `per_tunnel_qos` (Boolean) Per-tunnel Qos
266+
- `per_tunnel_qos` (Boolean) Per-tunnel Qos, Attribute conditional on `tunnel_interface` being equal to `true`
267267
- Default value: `false`
268-
- `per_tunnel_qos_variable` (String) Variable name
268+
- `per_tunnel_qos_variable` (String) Variable name, Attribute conditional on `tunnel_interface` being equal to `true`
269269
- `qos_adaptive` (Boolean) Adaptive QoS
270270
- Default value: `false`
271271
- `qos_adaptive_bandwidth_downstream` (Boolean) Shaping Rate Downstream
@@ -312,10 +312,10 @@ resource "sdwan_transport_wan_vpn_interface_ethernet_feature" "example" {
312312
- `tloc_extension_variable` (String) Variable name
313313
- `tracker` (String) Enable tracker for this interface
314314
- `tracker_variable` (String) Variable name
315-
- `tunnel_bandwidth_percent` (Number) Tunnels Bandwidth Percent
315+
- `tunnel_bandwidth_percent` (Number) Tunnels Bandwidth Percent, Attribute conditional on `tunnel_interface` being equal to `true`
316316
- Range: `1`-`100`
317317
- Default value: `50`
318-
- `tunnel_bandwidth_percent_variable` (String) Variable name
318+
- `tunnel_bandwidth_percent_variable` (String) Variable name, Attribute conditional on `tunnel_interface` being equal to `true`
319319
- `tunnel_interface` (Boolean) Tunnel Interface on/off
320320
- Default value: `false`
321321
- `tunnel_interface_allow_all` (Boolean) Allow all traffic. Overrides all other allow-service options if allow-service all is set
@@ -357,76 +357,76 @@ resource "sdwan_transport_wan_vpn_interface_ethernet_feature" "example" {
357357
- `tunnel_interface_allow_stun` (Boolean) Allow/Deny STUN
358358
- Default value: `false`
359359
- `tunnel_interface_allow_stun_variable` (String) Variable name
360-
- `tunnel_interface_bind_loopback_tunnel` (String) Bind loopback tunnel interface to a physical interface
361-
- `tunnel_interface_bind_loopback_tunnel_variable` (String) Variable name
362-
- `tunnel_interface_border` (Boolean) Set TLOC as border TLOC
360+
- `tunnel_interface_bind_loopback_tunnel` (String) Bind loopback tunnel interface to a physical interface, Attribute conditional on `tunnel_interface` being equal to `true`
361+
- `tunnel_interface_bind_loopback_tunnel_variable` (String) Variable name, Attribute conditional on `tunnel_interface` being equal to `true`
362+
- `tunnel_interface_border` (Boolean) Set TLOC as border TLOC, Attribute conditional on `tunnel_interface` being equal to `true`
363363
- Default value: `false`
364-
- `tunnel_interface_border_variable` (String) Variable name
365-
- `tunnel_interface_carrier` (String) Set carrier for TLOC
364+
- `tunnel_interface_border_variable` (String) Variable name, Attribute conditional on `tunnel_interface` being equal to `true`
365+
- `tunnel_interface_carrier` (String) Set carrier for TLOC, Attribute conditional on `tunnel_interface` being equal to `true`
366366
- Choices: `default`, `carrier1`, `carrier2`, `carrier3`, `carrier4`, `carrier5`, `carrier6`, `carrier7`, `carrier8`
367367
- Default value: `default`
368-
- `tunnel_interface_carrier_variable` (String) Variable name
369-
- `tunnel_interface_clear_dont_fragment` (Boolean) Enable clear dont fragment (Currently Only SDWAN Tunnel Interface)
368+
- `tunnel_interface_carrier_variable` (String) Variable name, Attribute conditional on `tunnel_interface` being equal to `true`
369+
- `tunnel_interface_clear_dont_fragment` (Boolean) Enable clear dont fragment (Currently Only SDWAN Tunnel Interface), Attribute conditional on `tunnel_interface` being equal to `true`
370370
- Default value: `false`
371-
- `tunnel_interface_clear_dont_fragment_variable` (String) Variable name
372-
- `tunnel_interface_color` (String) Set color for TLOC
371+
- `tunnel_interface_clear_dont_fragment_variable` (String) Variable name, Attribute conditional on `tunnel_interface` being equal to `true`
372+
- `tunnel_interface_color` (String) Set color for TLOC, Attribute conditional on `tunnel_interface` being equal to `true`
373373
- Choices: `default`, `mpls`, `metro-ethernet`, `biz-internet`, `public-internet`, `lte`, `3g`, `red`, `green`, `blue`, `gold`, `silver`, `bronze`, `custom1`, `custom2`, `custom3`, `private1`, `private2`, `private3`, `private4`, `private5`, `private6`
374374
- Default value: `mpls`
375-
- `tunnel_interface_color_restrict` (Boolean) Restrict this TLOC behavior
375+
- `tunnel_interface_color_restrict` (Boolean) Restrict this TLOC behavior, Attribute conditional on `tunnel_interface` being equal to `true`
376376
- Default value: `false`
377-
- `tunnel_interface_color_restrict_variable` (String) Variable name
378-
- `tunnel_interface_color_variable` (String) Variable name
379-
- `tunnel_interface_cts_sgt_propagation` (Boolean) CTS SGT Propagation configuration
377+
- `tunnel_interface_color_restrict_variable` (String) Variable name, Attribute conditional on `tunnel_interface` being equal to `true`
378+
- `tunnel_interface_color_variable` (String) Variable name, Attribute conditional on `tunnel_interface` being equal to `true`
379+
- `tunnel_interface_cts_sgt_propagation` (Boolean) CTS SGT Propagation configuration, Attribute conditional on `tunnel_interface` being equal to `true`
380380
- Default value: `false`
381-
- `tunnel_interface_cts_sgt_propagation_variable` (String) Variable name
381+
- `tunnel_interface_cts_sgt_propagation_variable` (String) Variable name, Attribute conditional on `tunnel_interface` being equal to `true`
382382
- `tunnel_interface_encapsulations` (Attributes List) Encapsulation for TLOC (see [below for nested schema](#nestedatt--tunnel_interface_encapsulations))
383-
- `tunnel_interface_exclude_controller_group_list` (Set of Number) Exclude the following controller groups defined in this list.
384-
- `tunnel_interface_exclude_controller_group_list_variable` (String) Variable name
385-
- `tunnel_interface_gre_tunnel_destination_ip` (String) GRE tunnel destination IP
386-
- `tunnel_interface_gre_tunnel_destination_ip_variable` (String) Variable name
387-
- `tunnel_interface_groups` (Number) List of groups
383+
- `tunnel_interface_exclude_controller_group_list` (Set of Number) Exclude the following controller groups defined in this list., Attribute conditional on `tunnel_interface` being equal to `true`
384+
- `tunnel_interface_exclude_controller_group_list_variable` (String) Variable name, Attribute conditional on `tunnel_interface` being equal to `true`
385+
- `tunnel_interface_gre_tunnel_destination_ip` (String) GRE tunnel destination IP, Attribute conditional on `tunnel_interface` being equal to `true`
386+
- `tunnel_interface_gre_tunnel_destination_ip_variable` (String) Variable name, Attribute conditional on `tunnel_interface` being equal to `true`
387+
- `tunnel_interface_groups` (Number) List of groups, Attribute conditional on `tunnel_interface` being equal to `true`
388388
- Range: `1`-`4294967295`
389-
- `tunnel_interface_groups_variable` (String) Variable name
390-
- `tunnel_interface_hello_interval` (Number) Set time period of control hello packets <100..600000> milli seconds
389+
- `tunnel_interface_groups_variable` (String) Variable name, Attribute conditional on `tunnel_interface` being equal to `true`
390+
- `tunnel_interface_hello_interval` (Number) Set time period of control hello packets <100..600000> milli seconds, Attribute conditional on `tunnel_interface` being equal to `true`
391391
- Range: `100`-`600000`
392392
- Default value: `1000`
393-
- `tunnel_interface_hello_interval_variable` (String) Variable name
394-
- `tunnel_interface_hello_tolerance` (Number) Set tolerance of control hello packets <12..6000> seconds
393+
- `tunnel_interface_hello_interval_variable` (String) Variable name, Attribute conditional on `tunnel_interface` being equal to `true`
394+
- `tunnel_interface_hello_tolerance` (Number) Set tolerance of control hello packets <12..6000> seconds, Attribute conditional on `tunnel_interface` being equal to `true`
395395
- Range: `12`-`6000`
396396
- Default value: `12`
397-
- `tunnel_interface_hello_tolerance_variable` (String) Variable name
398-
- `tunnel_interface_last_resort_circuit` (Boolean) Set TLOC as last resort
397+
- `tunnel_interface_hello_tolerance_variable` (String) Variable name, Attribute conditional on `tunnel_interface` being equal to `true`
398+
- `tunnel_interface_last_resort_circuit` (Boolean) Set TLOC as last resort, Attribute conditional on `tunnel_interface` being equal to `true`
399399
- Default value: `false`
400-
- `tunnel_interface_last_resort_circuit_variable` (String) Variable name
401-
- `tunnel_interface_low_bandwidth_link` (Boolean) Set the interface as a low-bandwidth circuit
400+
- `tunnel_interface_last_resort_circuit_variable` (String) Variable name, Attribute conditional on `tunnel_interface` being equal to `true`
401+
- `tunnel_interface_low_bandwidth_link` (Boolean) Set the interface as a low-bandwidth circuit, Attribute conditional on `tunnel_interface` being equal to `true`
402402
- Default value: `false`
403-
- `tunnel_interface_low_bandwidth_link_variable` (String) Variable name
404-
- `tunnel_interface_max_control_connections` (Number) Maximum Control Connections
403+
- `tunnel_interface_low_bandwidth_link_variable` (String) Variable name, Attribute conditional on `tunnel_interface` being equal to `true`
404+
- `tunnel_interface_max_control_connections` (Number) Maximum Control Connections, Attribute conditional on `tunnel_interface` being equal to `true`
405405
- Range: `0`-`100`
406-
- `tunnel_interface_max_control_connections_variable` (String) Variable name
407-
- `tunnel_interface_nat_refresh_interval` (Number) Set time period of nat refresh packets <1...60> seconds
406+
- `tunnel_interface_max_control_connections_variable` (String) Variable name, Attribute conditional on `tunnel_interface` being equal to `true`
407+
- `tunnel_interface_nat_refresh_interval` (Number) Set time period of nat refresh packets <1...60> seconds, Attribute conditional on `tunnel_interface` being equal to `true`
408408
- Range: `1`-`60`
409409
- Default value: `5`
410-
- `tunnel_interface_nat_refresh_interval_variable` (String) Variable name
411-
- `tunnel_interface_network_broadcast` (Boolean) Accept and respond to network-prefix-directed broadcasts
410+
- `tunnel_interface_nat_refresh_interval_variable` (String) Variable name, Attribute conditional on `tunnel_interface` being equal to `true`
411+
- `tunnel_interface_network_broadcast` (Boolean) Accept and respond to network-prefix-directed broadcasts, Attribute conditional on `tunnel_interface` being equal to `true`
412412
- Default value: `false`
413-
- `tunnel_interface_network_broadcast_variable` (String) Variable name
414-
- `tunnel_interface_port_hop` (Boolean) Disallow port hopping on the tunnel interface
413+
- `tunnel_interface_network_broadcast_variable` (String) Variable name, Attribute conditional on `tunnel_interface` being equal to `true`
414+
- `tunnel_interface_port_hop` (Boolean) Disallow port hopping on the tunnel interface, Attribute conditional on `tunnel_interface` being equal to `true`
415415
- Default value: `true`
416-
- `tunnel_interface_port_hop_variable` (String) Variable name
417-
- `tunnel_interface_tunnel_tcp_mss` (Number) Tunnel TCP MSS on SYN packets, in bytes
416+
- `tunnel_interface_port_hop_variable` (String) Variable name, Attribute conditional on `tunnel_interface` being equal to `true`
417+
- `tunnel_interface_tunnel_tcp_mss` (Number) Tunnel TCP MSS on SYN packets, in bytes, Attribute conditional on `tunnel_interface` being equal to `true`
418418
- Range: `500`-`1460`
419-
- `tunnel_interface_tunnel_tcp_mss_variable` (String) Variable name
420-
- `tunnel_interface_vbond_as_stun_server` (Boolean) Put this wan interface in STUN mode only
419+
- `tunnel_interface_tunnel_tcp_mss_variable` (String) Variable name, Attribute conditional on `tunnel_interface` being equal to `true`
420+
- `tunnel_interface_vbond_as_stun_server` (Boolean) Put this wan interface in STUN mode only, Attribute conditional on `tunnel_interface` being equal to `true`
421421
- Default value: `false`
422-
- `tunnel_interface_vbond_as_stun_server_variable` (String) Variable name
423-
- `tunnel_interface_vmanage_connection_preference` (Number) Set interface preference for control connection to vManage <0..8>
422+
- `tunnel_interface_vbond_as_stun_server_variable` (String) Variable name, Attribute conditional on `tunnel_interface` being equal to `true`
423+
- `tunnel_interface_vmanage_connection_preference` (Number) Set interface preference for control connection to vManage <0..8>, Attribute conditional on `tunnel_interface` being equal to `true`
424424
- Range: `0`-`8`
425425
- Default value: `5`
426-
- `tunnel_interface_vmanage_connection_preference_variable` (String) Variable name
427-
- `tunnel_qos_mode` (String) Set tunnel QoS mode
426+
- `tunnel_interface_vmanage_connection_preference_variable` (String) Variable name, Attribute conditional on `tunnel_interface` being equal to `true`
427+
- `tunnel_qos_mode` (String) Set tunnel QoS mode, Attribute conditional on `tunnel_interface` being equal to `true`
428428
- Choices: `hub`, `spoke`
429-
- `tunnel_qos_mode_variable` (String) Variable name
429+
- `tunnel_qos_mode_variable` (String) Variable name, Attribute conditional on `tunnel_interface` being equal to `true`
430430
- `xconnect` (String) Extend remote TLOC over a GRE tunnel to a local WAN interface
431431
- `xconnect_variable` (String) Variable name
432432

gen/definitions/profile_parcels/transport_wan_vpn_interface_ethernet.yaml

Lines changed: 96 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -145,115 +145,208 @@ attributes:
145145
example: true
146146
- model_name: perTunnelQos
147147
data_path: [tunnel]
148+
conditional_attribute:
149+
name: tunnelInterface
150+
value: true
151+
type: Bool
148152
example: true
149153
- model_name: mode
150154
tf_name: tunnel_qos_mode
151155
data_path: [tunnel]
156+
conditional_attribute:
157+
name: tunnelInterface
158+
value: true
159+
type: Bool
152160
example: hub
153161
- model_name: bandwidthPercent
154162
tf_name: tunnel_bandwidth_percent
155163
data_path: [tunnel]
156-
# conditional_attribute:
157-
# name: tunnel_qos_mode
158-
# value: hub
164+
conditional_attribute:
165+
name: tunnelInterface
166+
value: true
167+
type: Bool
159168
example: 82
160169
- model_name: bind
161170
tf_name: tunnel_interface_bind_loopback_tunnel
162171
data_path: [tunnel]
172+
conditional_attribute:
173+
name: tunnelInterface
174+
value: true
175+
type: Bool
163176
example: example
164177
- model_name: carrier
165178
tf_name: tunnel_interface_carrier
166179
exclude_ignore: true
167180
data_path: [tunnel]
181+
conditional_attribute:
182+
name: tunnelInterface
183+
value: true
184+
type: Bool
168185
example: default
169186
- model_name: color
170187
tf_name: tunnel_interface_color
171188
exclude_ignore: true
172189
data_path: [tunnel]
190+
conditional_attribute:
191+
name: tunnelInterface
192+
value: true
193+
type: Bool
173194
example: default
174195
- model_name: helloInterval
175196
tf_name: tunnel_interface_hello_interval
176197
exclude_ignore: true
177198
data_path: [tunnel]
199+
conditional_attribute:
200+
name: tunnelInterface
201+
value: true
202+
type: Bool
178203
example: 1000
179204
- model_name: helloTolerance
180205
tf_name: tunnel_interface_hello_tolerance
181206
exclude_ignore: true
182207
data_path: [tunnel]
208+
conditional_attribute:
209+
name: tunnelInterface
210+
value: true
211+
type: Bool
183212
example: 12
184213
- model_name: lastResortCircuit
185214
tf_name: tunnel_interface_last_resort_circuit
186215
exclude_ignore: true
187216
data_path: [tunnel]
217+
conditional_attribute:
218+
name: tunnelInterface
219+
value: true
220+
type: Bool
188221
example: false
189222
- model_name: tlocExtensionGreTo
190223
tf_name: tunnel_interface_gre_tunnel_destination_ip
191224
data_path: [tunnel]
225+
conditional_attribute:
226+
name: tunnelInterface
227+
value: true
228+
type: Bool
192229
example: 1.2.3.4
193230
- model_name: restrict
194231
tf_name: tunnel_interface_color_restrict
195232
data_path: [tunnel]
233+
conditional_attribute:
234+
name: tunnelInterface
235+
value: true
236+
type: Bool
196237
example: true
197238
- model_name: group
198239
tf_name: tunnel_interface_groups
199240
data_path: [tunnel]
241+
conditional_attribute:
242+
name: tunnelInterface
243+
value: true
244+
type: Bool
200245
example: 42949672
201246
- model_name: border
202247
tf_name: tunnel_interface_border
203248
exclude_ignore: true
204249
data_path: [tunnel]
250+
conditional_attribute:
251+
name: tunnelInterface
252+
value: true
253+
type: Bool
205254
example: false
206255
- model_name: maxControlConnections
207256
tf_name: tunnel_interface_max_control_connections
208257
exclude_ignore: true
209258
data_path: [tunnel]
259+
conditional_attribute:
260+
name: tunnelInterface
261+
value: true
262+
type: Bool
210263
example: 62
211264
- model_name: natRefreshInterval
212265
tf_name: tunnel_interface_nat_refresh_interval
213266
exclude_ignore: true
214267
data_path: [tunnel]
268+
conditional_attribute:
269+
name: tunnelInterface
270+
value: true
271+
type: Bool
215272
example: 5
216273
- model_name: vBondAsStunServer
217274
tf_name: tunnel_interface_vbond_as_stun_server
218275
exclude_ignore: true
219276
data_path: [tunnel]
277+
conditional_attribute:
278+
name: tunnelInterface
279+
value: true
280+
type: Bool
220281
example: false
221282
- model_name: excludeControllerGroupList
222283
tf_name: tunnel_interface_exclude_controller_group_list
223284
exclude_ignore: true
224285
data_path: [tunnel]
286+
conditional_attribute:
287+
name: tunnelInterface
288+
value: true
289+
type: Bool
225290
example: 2
226291
- model_name: vManageConnectionPreference
227292
tf_name: tunnel_interface_vmanage_connection_preference
228293
exclude_ignore: true
229294
data_path: [tunnel]
295+
conditional_attribute:
296+
name: tunnelInterface
297+
value: true
298+
type: Bool
230299
example: 8
231300
- model_name: portHop
232301
tf_name: tunnel_interface_port_hop
233302
data_path: [tunnel]
303+
conditional_attribute:
304+
name: tunnelInterface
305+
value: true
306+
type: Bool
234307
example: true
235308
- model_name: lowBandwidthLink
236309
tf_name: tunnel_interface_low_bandwidth_link
237310
exclude_ignore: true
238311
data_path: [tunnel]
312+
conditional_attribute:
313+
name: tunnelInterface
314+
value: true
315+
type: Bool
239316
example: false
240317
- model_name: tunnelTcpMss
241318
tf_name: tunnel_interface_tunnel_tcp_mss
242319
exclude_ignore: true
243320
data_path: [tunnel]
321+
conditional_attribute:
322+
name: tunnelInterface
323+
value: true
324+
type: Bool
244325
example: 1460
245326
- model_name: clearDontFragment
246327
tf_name: tunnel_interface_clear_dont_fragment
247328
exclude_ignore: true
248329
data_path: [tunnel]
330+
conditional_attribute:
331+
name: tunnelInterface
332+
value: true
333+
type: Bool
249334
example: false
250335
- model_name: ctsSgtPropagation
251336
tf_name: tunnel_interface_cts_sgt_propagation
252337
data_path: [tunnel]
338+
conditional_attribute:
339+
name: tunnelInterface
340+
value: true
341+
type: Bool
253342
example: false
254343
- model_name: networkBroadcast
255344
tf_name: tunnel_interface_network_broadcast
256345
data_path: [tunnel]
346+
conditional_attribute:
347+
name: tunnelInterface
348+
value: true
349+
type: Bool
257350
example: false
258351
- model_name: all
259352
tf_name: tunnel_interface_allow_all

0 commit comments

Comments
 (0)