Skip to content

Commit c63aa98

Browse files
committed
update required vs optional attributes, update docs
Signed-off-by: Pavel Boldyrev <[email protected]>
1 parent 03203dc commit c63aa98

File tree

21 files changed

+279
-33
lines changed

21 files changed

+279
-33
lines changed

docs/resources/virtual_environment_sdn_zone_evpn.md

Lines changed: 37 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,28 +11,62 @@ description: |-
1111

1212
EVPN Zone in Proxmox SDN. The EVPN zone creates a routable Layer 3 network, capable of spanning across multiple clusters.
1313

14+
## Example Usage
1415

16+
```terraform
17+
resource "proxmox_virtual_environment_sdn_zone_evpn" "example" {
18+
id = "evpn1"
19+
nodes = ["pve"]
20+
controller = "evpn-controller1"
21+
vrf_vxlan = 4000
22+
23+
# Optional attributes
24+
advertise_subnets = true
25+
disable_arp_nd_suppression = false
26+
exit_nodes = ["pve-exit1", "pve-exit2"]
27+
exit_nodes_local_routing = true
28+
primary_exit_node = "pve-exit1"
29+
rt_import = "65000:65000"
30+
mtu = 1450
31+
32+
# Generic optional attributes
33+
dns = "1.1.1.1"
34+
dns_zone = "example.com"
35+
ipam = "pve"
36+
reverse_dns = "1.1.1.1"
37+
}
38+
```
1539

1640
<!-- schema generated by tfplugindocs -->
1741
## Schema
1842

1943
### Required
2044

45+
- `controller` (String) EVPN controller address.
2146
- `id` (String) The unique identifier of the SDN zone.
47+
- `nodes` (Set of String) The Proxmox nodes which the zone and associated VNets should be deployed on
48+
- `vrf_vxlan` (Number) VRF VXLAN-ID used for dedicated routing interconnect between VNets. It must be different than the VXLAN-ID of the VNets.
2249

2350
### Optional
2451

2552
- `advertise_subnets` (Boolean) Enable subnet advertisement for EVPN.
26-
- `controller` (String) EVPN controller address.
2753
- `disable_arp_nd_suppression` (Boolean) Disable ARP/ND suppression for EVPN.
2854
- `dns` (String) DNS API server address.
2955
- `dns_zone` (String) DNS domain name. Used to register hostnames, such as `<hostname>.<domain>`. The DNS zone must already exist on the DNS server.
3056
- `exit_nodes` (Set of String) List of exit nodes for EVPN.
3157
- `exit_nodes_local_routing` (Boolean) Enable local routing for EVPN exit nodes.
3258
- `ipam` (String) IP Address Management system.
3359
- `mtu` (Number) MTU value for the zone.
34-
- `nodes` (Set of String) Proxmox node names.
3560
- `primary_exit_node` (String) Primary exit node for EVPN.
3661
- `reverse_dns` (String) Reverse DNS API server address.
3762
- `rt_import` (String) Route target import for EVPN.
38-
- `vrf_vxlan` (Number) VRF VXLAN-ID used for dedicated routing interconnect between VNets. It must be different than the VXLAN-ID of the VNets.
63+
64+
## Import
65+
66+
Import is supported using the following syntax:
67+
68+
```shell
69+
#!/usr/bin/env sh
70+
# EVPN SDN zone can be imported using its unique identifier (zone ID)
71+
terraform import proxmox_virtual_environment_sdn_zone_evpn.example evpn1
72+
```

docs/resources/virtual_environment_sdn_zone_qinq.md

Lines changed: 32 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,23 +11,50 @@ description: |-
1111

1212
QinQ Zone in Proxmox SDN. QinQ also known as VLAN stacking, that uses multiple layers of VLAN tags for isolation. The QinQ zone defines the outer VLAN tag (the Service VLAN) whereas the inner VLAN tag is defined by the VNet. Your physical network switches must support stacked VLANs for this configuration. Due to the double stacking of tags, you need 4 more bytes for QinQ VLANs. For example, you must reduce the MTU to 1496 if you physical interface MTU is 1500.
1313

14-
14+
## Example Usage
15+
16+
```terraform
17+
resource "proxmox_virtual_environment_sdn_zone_qinq" "example" {
18+
id = "qinq1"
19+
nodes = ["pve"]
20+
bridge = "vmbr0"
21+
service_vlan = 100
22+
service_vlan_protocol = "802.1ad"
23+
mtu = 1496
24+
25+
# Optional attributes
26+
dns = "1.1.1.1"
27+
dns_zone = "example.com"
28+
ipam = "pve"
29+
reverse_dns = "1.1.1.1"
30+
}
31+
```
1532

1633
<!-- schema generated by tfplugindocs -->
1734
## Schema
1835

1936
### Required
2037

38+
- `bridge` (String) A local, VLAN-aware bridge that is already configured on each local node
2139
- `id` (String) The unique identifier of the SDN zone.
40+
- `nodes` (Set of String) The Proxmox nodes which the zone and associated VNets should be deployed on
41+
- `service_vlan` (Number) Service VLAN tag for QinQ. The tag must be between `1` and `4094`.
2242

2343
### Optional
2444

25-
- `bridge` (String) A local, VLAN-aware bridge that is already configured on each local node
2645
- `dns` (String) DNS API server address.
2746
- `dns_zone` (String) DNS domain name. Used to register hostnames, such as `<hostname>.<domain>`. The DNS zone must already exist on the DNS server.
2847
- `ipam` (String) IP Address Management system.
2948
- `mtu` (Number) MTU value for the zone.
30-
- `nodes` (Set of String) Proxmox node names.
3149
- `reverse_dns` (String) Reverse DNS API server address.
32-
- `service_vlan` (Number) Service VLAN tag for QinQ.
33-
- `service_vlan_protocol` (String) Service VLAN protocol for QinQ.
50+
- `service_vlan_protocol` (String) Service VLAN protocol for QinQ. The protocol must be `802.1ad` or `802.1q`.
51+
52+
## Import
53+
54+
Import is supported using the following syntax:
55+
56+
```shell
57+
#!/usr/bin/env sh
58+
# QinQ SDN zone can be imported using its unique identifier (zone ID)
59+
terraform import proxmox_virtual_environment_sdn_zone_qinq.example qinq1
60+
```

docs/resources/virtual_environment_sdn_zone_simple.md

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,20 +11,44 @@ description: |-
1111

1212
Simple Zone in Proxmox SDN. It will create an isolated VNet bridge. This bridge is not linked to a physical interface, and VM traffic is only local on each the node. It can be used in NAT or routed setups.
1313

14-
14+
## Example Usage
15+
16+
```terraform
17+
resource "proxmox_virtual_environment_sdn_zone_simple" "example" {
18+
id = "simple1"
19+
nodes = ["pve"]
20+
mtu = 1500
21+
22+
# Optional attributes
23+
dns = "1.1.1.1"
24+
dns_zone = "example.com"
25+
ipam = "pve"
26+
reverse_dns = "1.1.1.1"
27+
}
28+
```
1529

1630
<!-- schema generated by tfplugindocs -->
1731
## Schema
1832

1933
### Required
2034

2135
- `id` (String) The unique identifier of the SDN zone.
36+
- `nodes` (Set of String) The Proxmox nodes which the zone and associated VNets should be deployed on
2237

2338
### Optional
2439

2540
- `dns` (String) DNS API server address.
2641
- `dns_zone` (String) DNS domain name. Used to register hostnames, such as `<hostname>.<domain>`. The DNS zone must already exist on the DNS server.
2742
- `ipam` (String) IP Address Management system.
2843
- `mtu` (Number) MTU value for the zone.
29-
- `nodes` (Set of String) Proxmox node names.
3044
- `reverse_dns` (String) Reverse DNS API server address.
45+
46+
## Import
47+
48+
Import is supported using the following syntax:
49+
50+
```shell
51+
#!/usr/bin/env sh
52+
# Simple SDN zone can be imported using its unique identifier (zone ID)
53+
terraform import proxmox_virtual_environment_sdn_zone_simple.example simple1
54+
```

docs/resources/virtual_environment_sdn_zone_vlan.md

Lines changed: 28 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,21 +11,46 @@ description: |-
1111

1212
VLAN Zone in Proxmox SDN. It uses an existing local Linux or OVS bridge to connect to the node's physical interface. It uses VLAN tagging defined in the VNet to isolate the network segments. This allows connectivity of VMs between different nodes.
1313

14-
14+
## Example Usage
15+
16+
```terraform
17+
resource "proxmox_virtual_environment_sdn_zone_vlan" "example" {
18+
id = "vlan1"
19+
nodes = ["pve"]
20+
bridge = "vmbr0"
21+
mtu = 1500
22+
23+
# Optional attributes
24+
dns = "1.1.1.1"
25+
dns_zone = "example.com"
26+
ipam = "pve"
27+
reverse_dns = "1.1.1.1"
28+
}
29+
```
1530

1631
<!-- schema generated by tfplugindocs -->
1732
## Schema
1833

1934
### Required
2035

36+
- `bridge` (String) The local bridge or OVS switch, already configured on _each_ node that allows node-to-node connection.
2137
- `id` (String) The unique identifier of the SDN zone.
38+
- `nodes` (Set of String) The Proxmox nodes which the zone and associated VNets should be deployed on
2239

2340
### Optional
2441

25-
- `bridge` (String) The local bridge or OVS switch, already configured on _each_ node that allows node-to-node connection.
2642
- `dns` (String) DNS API server address.
2743
- `dns_zone` (String) DNS domain name. Used to register hostnames, such as `<hostname>.<domain>`. The DNS zone must already exist on the DNS server.
2844
- `ipam` (String) IP Address Management system.
2945
- `mtu` (Number) MTU value for the zone.
30-
- `nodes` (Set of String) Proxmox node names.
3146
- `reverse_dns` (String) Reverse DNS API server address.
47+
48+
## Import
49+
50+
Import is supported using the following syntax:
51+
52+
```shell
53+
#!/usr/bin/env sh
54+
# VLAN SDN zone can be imported using its unique identifier (zone ID)
55+
terraform import proxmox_virtual_environment_sdn_zone_vlan.example vlan1
56+
```

docs/resources/virtual_environment_sdn_zone_vxlan.md

Lines changed: 28 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,21 +11,46 @@ description: |-
1111

1212
VXLAN Zone in Proxmox SDN. It establishes a tunnel (overlay) on top of an existing network (underlay). This encapsulates layer 2 Ethernet frames within layer 4 UDP datagrams using the default destination port 4789. You have to configure the underlay network yourself to enable UDP connectivity between all peers. Because VXLAN encapsulation uses 50 bytes, the MTU needs to be 50 bytes lower than the outgoing physical interface.
1313

14-
14+
## Example Usage
15+
16+
```terraform
17+
resource "proxmox_virtual_environment_sdn_zone_vxlan" "example" {
18+
id = "vxlan1"
19+
nodes = ["pve"]
20+
peers = ["10.0.0.1", "10.0.0.2", "10.0.0.3"]
21+
mtu = 1450
22+
23+
# Optional attributes
24+
dns = "1.1.1.1"
25+
dns_zone = "example.com"
26+
ipam = "pve"
27+
reverse_dns = "1.1.1.1"
28+
}
29+
```
1530

1631
<!-- schema generated by tfplugindocs -->
1732
## Schema
1833

1934
### Required
2035

2136
- `id` (String) The unique identifier of the SDN zone.
37+
- `nodes` (Set of String) The Proxmox nodes which the zone and associated VNets should be deployed on
38+
- `peers` (Set of String) A list of IP addresses of each node in the VXLAN zone. This can be external nodes reachable at this IP address. All nodes in the cluster need to be mentioned here
2239

2340
### Optional
2441

2542
- `dns` (String) DNS API server address.
2643
- `dns_zone` (String) DNS domain name. Used to register hostnames, such as `<hostname>.<domain>`. The DNS zone must already exist on the DNS server.
2744
- `ipam` (String) IP Address Management system.
2845
- `mtu` (Number) MTU value for the zone.
29-
- `nodes` (Set of String) Proxmox node names.
30-
- `peers` (Set of String) A list of IP addresses of each node in the VXLAN zone. This can be external nodes reachable at this IP address. All nodes in the cluster need to be mentioned here
3146
- `reverse_dns` (String) Reverse DNS API server address.
47+
48+
## Import
49+
50+
Import is supported using the following syntax:
51+
52+
```shell
53+
#!/usr/bin/env sh
54+
# VXLAN SDN zone can be imported using its unique identifier (zone ID)
55+
terraform import proxmox_virtual_environment_sdn_zone_vxlan.example vxlan1
56+
```
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/usr/bin/env sh
2+
# EVPN SDN zone can be imported using its unique identifier (zone ID)
3+
terraform import proxmox_virtual_environment_sdn_zone_evpn.example evpn1
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
resource "proxmox_virtual_environment_sdn_zone_evpn" "example" {
2+
id = "evpn1"
3+
nodes = ["pve"]
4+
controller = "evpn-controller1"
5+
vrf_vxlan = 4000
6+
7+
# Optional attributes
8+
advertise_subnets = true
9+
disable_arp_nd_suppression = false
10+
exit_nodes = ["pve-exit1", "pve-exit2"]
11+
exit_nodes_local_routing = true
12+
primary_exit_node = "pve-exit1"
13+
rt_import = "65000:65000"
14+
mtu = 1450
15+
16+
# Generic optional attributes
17+
dns = "1.1.1.1"
18+
dns_zone = "example.com"
19+
ipam = "pve"
20+
reverse_dns = "1.1.1.1"
21+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/usr/bin/env sh
2+
# QinQ SDN zone can be imported using its unique identifier (zone ID)
3+
terraform import proxmox_virtual_environment_sdn_zone_qinq.example qinq1
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
resource "proxmox_virtual_environment_sdn_zone_qinq" "example" {
2+
id = "qinq1"
3+
nodes = ["pve"]
4+
bridge = "vmbr0"
5+
service_vlan = 100
6+
service_vlan_protocol = "802.1ad"
7+
mtu = 1496
8+
9+
# Optional attributes
10+
dns = "1.1.1.1"
11+
dns_zone = "example.com"
12+
ipam = "pve"
13+
reverse_dns = "1.1.1.1"
14+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/usr/bin/env sh
2+
# Simple SDN zone can be imported using its unique identifier (zone ID)
3+
terraform import proxmox_virtual_environment_sdn_zone_simple.example simple1

0 commit comments

Comments
 (0)