Skip to content

Commit 5d4fb27

Browse files
Add fabric_l3_handoff_ip_transit resource and data source (#101)
1 parent 38fe7d5 commit 5d4fb27

15 files changed

+1231
-0
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
## 0.1.10 (unreleased)
22

3+
- Add `fabric_l3_handoff_ip_transit` resource and data source
34
- Add `transitPeerNetworkId` as `id` to `transit_peer_network` resource
45
- Add `anycast_gateway` resource and data source, this resource now only works with Catalyst Center version 2.3.7.5+ `/sda/anycastGateways`
56
- BREAKING CHANGE: Modified `fabric_site` resource to use `/dna/intent/api/v1/sda/fabricSites` API endpoint, this resource now only works with Catalyst Center version 2.3.7.5+
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
---
2+
# generated by https://github.com/hashicorp/terraform-plugin-docs
3+
page_title: "catalystcenter_fabric_l3_handoff_ip_transit Data Source - terraform-provider-catalystcenter"
4+
subcategory: "SDA"
5+
description: |-
6+
This data source can read the Fabric L3 Handoff IP Transit.
7+
---
8+
9+
# catalystcenter_fabric_l3_handoff_ip_transit (Data Source)
10+
11+
This data source can read the Fabric L3 Handoff IP Transit.
12+
13+
## Example Usage
14+
15+
```terraform
16+
data "catalystcenter_fabric_l3_handoff_ip_transit" "example" {
17+
id = "76d24097-41c4-4558-a4d0-a8c07ac08470"
18+
network_device_id = "5e6f7b3a-2b0b-4a7d-8b1c-0d4b1cd5e1b1"
19+
fabric_id = "c4b85bb2-ce3f-4db9-a32b-e439a388ac2f"
20+
}
21+
```
22+
23+
<!-- schema generated by tfplugindocs -->
24+
## Schema
25+
26+
### Required
27+
28+
- `fabric_id` (String) ID of the fabric this device belongs to
29+
- `id` (String) The id of the object
30+
- `network_device_id` (String) Network device ID of the fabric device
31+
32+
### Read-Only
33+
34+
- `external_connectivity_ip_pool_name` (String) External connectivity ip pool will be used by Catalyst Center to allocate IP address for the connection between the border node and peer
35+
- `interface_name` (String) Interface name of the layer 3 handoff ip transit
36+
- `local_ip_address` (String) Local ipv4 address for the selected virtual network. Enter the IP addresses and subnet mask in the CIDR notation (IP address/prefix-length). Not applicable if you have already provided an external connectivity ip pool name
37+
- `local_ipv6_address` (String) Local ipv6 address for the selected virtual network. Enter the IP addresses and subnet mask in the CIDR notation (IP address/prefix-length). Not applicable if you have already provided an external connectivity ip pool name
38+
- `remote_ip_address` (String) Remote ipv4 address for the selected virtual network. Enter the IP addresses and subnet mask in the CIDR notation (IP address/prefix-length). Not applicable if you have already provided an external connectivity ip pool name
39+
- `remote_ipv6_address` (String) Remote ipv6 address for the selected virtual network. Enter the IP addresses and subnet mask in the CIDR notation (IP address/prefix-length). Not applicable if you have already provided an external connectivity ip pool name
40+
- `tcp_mss_adjustment` (Number) TCP maximum segment size (mss) value for the layer 3 handoff. Allowed range is [500-1440]. TCP MSS Adjustment value is applicable for the TCP sessions over both IPv4 and IPv6
41+
- `transit_network_id` (String) ID of the transit network of the layer 3 handoff ip transit
42+
- `virtual_network_name` (String) SName of the virtual network associated with this fabric site
43+
- `vlan_id` (Number) VLAN number for the Switch Virtual Interface (SVI) used to establish BGP peering with the external domain for the virtual network. Allowed VLAN range is 2-4094 except for reserved vlans (1, 1002-1005, 2046, 4094)

docs/guides/changelog.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ description: |-
99

1010
## 0.1.10 (unreleased)
1111

12+
- Add `fabric_l3_handoff_ip_transit` resource and data source
1213
- Add `transitPeerNetworkId` as `id` to `transit_peer_network` resource
1314
- Add `anycast_gateway` resource and data source, this resource now only works with Catalyst Center version 2.3.7.5+ `/sda/anycastGateways`
1415
- BREAKING CHANGE: Modified `fabric_site` resource to use `/dna/intent/api/v1/sda/fabricSites` API endpoint, this resource now only works with Catalyst Center version 2.3.7.5+
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
---
2+
# generated by https://github.com/hashicorp/terraform-plugin-docs
3+
page_title: "catalystcenter_fabric_l3_handoff_ip_transit Resource - terraform-provider-catalystcenter"
4+
subcategory: "SDA"
5+
description: |-
6+
Manages Layer 3 Handoffs with IP Transit in Fabric Devices
7+
---
8+
9+
# catalystcenter_fabric_l3_handoff_ip_transit (Resource)
10+
11+
Manages Layer 3 Handoffs with IP Transit in Fabric Devices
12+
13+
## Example Usage
14+
15+
```terraform
16+
resource "catalystcenter_fabric_l3_handoff_ip_transit" "example" {
17+
network_device_id = "5e6f7b3a-2b0b-4a7d-8b1c-0d4b1cd5e1b1"
18+
fabric_id = "c4b85bb2-ce3f-4db9-a32b-e439a388ac2f"
19+
transit_network_id = "d71c847b-e9c2-4f13-928c-223372b72b06"
20+
interface_name = "TenGigabitEthernet1/0/2"
21+
virtual_network_name = "SDA_VN1"
22+
vlan_id = 205
23+
tcp_mss_adjustment = 1400
24+
local_ip_address = "10.0.0.1/24"
25+
remote_ip_address = "10.0.0.2/24"
26+
}
27+
```
28+
29+
<!-- schema generated by tfplugindocs -->
30+
## Schema
31+
32+
### Required
33+
34+
- `fabric_id` (String) ID of the fabric this device belongs to
35+
- `network_device_id` (String) Network device ID of the fabric device
36+
- `transit_network_id` (String) ID of the transit network of the layer 3 handoff ip transit
37+
- `virtual_network_name` (String) SName of the virtual network associated with this fabric site
38+
- `vlan_id` (Number) VLAN number for the Switch Virtual Interface (SVI) used to establish BGP peering with the external domain for the virtual network. Allowed VLAN range is 2-4094 except for reserved vlans (1, 1002-1005, 2046, 4094)
39+
40+
### Optional
41+
42+
- `external_connectivity_ip_pool_name` (String) External connectivity ip pool will be used by Catalyst Center to allocate IP address for the connection between the border node and peer
43+
- `interface_name` (String) Interface name of the layer 3 handoff ip transit
44+
- `local_ip_address` (String) Local ipv4 address for the selected virtual network. Enter the IP addresses and subnet mask in the CIDR notation (IP address/prefix-length). Not applicable if you have already provided an external connectivity ip pool name
45+
- `local_ipv6_address` (String) Local ipv6 address for the selected virtual network. Enter the IP addresses and subnet mask in the CIDR notation (IP address/prefix-length). Not applicable if you have already provided an external connectivity ip pool name
46+
- `remote_ip_address` (String) Remote ipv4 address for the selected virtual network. Enter the IP addresses and subnet mask in the CIDR notation (IP address/prefix-length). Not applicable if you have already provided an external connectivity ip pool name
47+
- `remote_ipv6_address` (String) Remote ipv6 address for the selected virtual network. Enter the IP addresses and subnet mask in the CIDR notation (IP address/prefix-length). Not applicable if you have already provided an external connectivity ip pool name
48+
- `tcp_mss_adjustment` (Number) TCP maximum segment size (mss) value for the layer 3 handoff. Allowed range is [500-1440]. TCP MSS Adjustment value is applicable for the TCP sessions over both IPv4 and IPv6
49+
- Range: `500`-`1440`
50+
51+
### Read-Only
52+
53+
- `id` (String) The id of the object
54+
55+
## Import
56+
57+
Import is supported using the following syntax:
58+
59+
```shell
60+
terraform import catalystcenter_fabric_l3_handoff_ip_transit.example "<network_device_id>,<fabric_id>,<id>"
61+
```
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
data "catalystcenter_fabric_l3_handoff_ip_transit" "example" {
2+
id = "76d24097-41c4-4558-a4d0-a8c07ac08470"
3+
network_device_id = "5e6f7b3a-2b0b-4a7d-8b1c-0d4b1cd5e1b1"
4+
fabric_id = "c4b85bb2-ce3f-4db9-a32b-e439a388ac2f"
5+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
terraform import catalystcenter_fabric_l3_handoff_ip_transit.example "<network_device_id>,<fabric_id>,<id>"
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
resource "catalystcenter_fabric_l3_handoff_ip_transit" "example" {
2+
network_device_id = "5e6f7b3a-2b0b-4a7d-8b1c-0d4b1cd5e1b1"
3+
fabric_id = "c4b85bb2-ce3f-4db9-a32b-e439a388ac2f"
4+
transit_network_id = "d71c847b-e9c2-4f13-928c-223372b72b06"
5+
interface_name = "TenGigabitEthernet1/0/2"
6+
virtual_network_name = "SDA_VN1"
7+
vlan_id = 205
8+
tcp_mss_adjustment = 1400
9+
local_ip_address = "10.0.0.1/24"
10+
remote_ip_address = "10.0.0.2/24"
11+
}
Lines changed: 125 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,125 @@
1+
---
2+
name: Fabric L3 Handoff IP Transit
3+
rest_endpoint: /dna/intent/api/v1/sda/fabricDevices/layer3Handoffs/ipTransits
4+
res_description: Manages Layer 3 Handoffs with IP Transit in Fabric Devices
5+
id_from_query_path: response
6+
id_from_query_path_attribute: id
7+
put_id_include_path: 0.id
8+
get_from_all: true
9+
put_no_id: true
10+
doc_category: SDA
11+
test_tags: [SDA]
12+
attributes:
13+
- model_name: networkDeviceId
14+
query_param: true
15+
requires_replace: true
16+
data_path: '0'
17+
response_data_path: networkDeviceId
18+
mandatory: true
19+
description: Network device ID of the fabric device
20+
type: String
21+
example: 5e6f7b3a-2b0b-4a7d-8b1c-0d4b1cd5e1b1
22+
- model_name: fabricId
23+
requires_replace: true
24+
query_param: true
25+
data_path: '0'
26+
response_data_path: fabricId
27+
type: String
28+
mandatory: true
29+
description: ID of the fabric this device belongs to
30+
example: c4b85bb2-ce3f-4db9-a32b-e439a388ac2f
31+
test_value: catalystcenter_fabric_site.test.id
32+
- model_name: transitNetworkId
33+
requires_replace: true
34+
data_path: '0'
35+
response_data_path: transitNetworkId
36+
type: String
37+
mandatory: true
38+
description: ID of the transit network of the layer 3 handoff ip transit
39+
example: d71c847b-e9c2-4f13-928c-223372b72b06
40+
test_value: catalystcenter_transit_peer_network.test.id
41+
- model_name: interfaceName
42+
data_path: '0'
43+
requires_replace: true
44+
response_data_path: interfaceName
45+
type: String
46+
description: Interface name of the layer 3 handoff ip transit
47+
example: TenGigabitEthernet1/0/2
48+
- model_name: externalConnectivityIpPoolName
49+
data_path: '0'
50+
requires_replace: true
51+
response_data_path: externalConnectivityIpPoolName
52+
type: String
53+
description: External connectivity ip pool will be used by Catalyst Center to allocate IP address for the connection between the border node and peer
54+
example: "MyPool1"
55+
exclude_test: true
56+
- model_name: virtualNetworkName
57+
data_path: '0'
58+
requires_replace: true
59+
match_id: true
60+
response_data_path: virtualNetworkName
61+
mandatory: true
62+
type: String
63+
description: SName of the virtual network associated with this fabric site
64+
example: SDA_VN1
65+
- model_name: vlanId
66+
data_path: '0'
67+
requires_replace: true
68+
response_data_path: vlanId
69+
type: Int64
70+
mandatory: true
71+
description: VLAN number for the Switch Virtual Interface (SVI) used to establish BGP peering with the external domain for the virtual network. Allowed VLAN range is 2-4094 except for reserved vlans (1, 1002-1005, 2046, 4094)
72+
example: 205
73+
- model_name: tcpMssAdjustment
74+
data_path: '0'
75+
response_data_path: tcpMssAdjustment
76+
type: Int64
77+
min_int: 500
78+
max_int: 1440
79+
description: TCP maximum segment size (mss) value for the layer 3 handoff. Allowed range is [500-1440]. TCP MSS Adjustment value is applicable for the TCP sessions over both IPv4 and IPv6
80+
example: 1400
81+
- model_name: localIpAddress
82+
data_path: '0'
83+
requires_replace: true
84+
response_data_path: localIpAddress
85+
type: String
86+
description: Local ipv4 address for the selected virtual network. Enter the IP addresses and subnet mask in the CIDR notation (IP address/prefix-length). Not applicable if you have already provided an external connectivity ip pool name
87+
example: "10.0.0.1/24"
88+
- model_name: remoteIpAddress
89+
data_path: '0'
90+
requires_replace: true
91+
response_data_path: remoteIpAddress
92+
type: String
93+
description: Remote ipv4 address for the selected virtual network. Enter the IP addresses and subnet mask in the CIDR notation (IP address/prefix-length). Not applicable if you have already provided an external connectivity ip pool name
94+
example: "10.0.0.2/24"
95+
- model_name: localIpv6Address
96+
data_path: '0'
97+
requires_replace: true
98+
response_data_path: localIpv6Address
99+
type: String
100+
description: Local ipv6 address for the selected virtual network. Enter the IP addresses and subnet mask in the CIDR notation (IP address/prefix-length). Not applicable if you have already provided an external connectivity ip pool name
101+
exclude_test: true
102+
- model_name: remoteIpv6Address
103+
data_path: '0'
104+
requires_replace: true
105+
response_data_path: remoteIpv6Address
106+
type: String
107+
description: Remote ipv6 address for the selected virtual network. Enter the IP addresses and subnet mask in the CIDR notation (IP address/prefix-length). Not applicable if you have already provided an external connectivity ip pool name
108+
exclude_test: true
109+
test_prerequisites: |
110+
resource "catalystcenter_area" "test" {
111+
name = "Area1"
112+
parent_name = "Global"
113+
}
114+
resource "catalystcenter_fabric_site" "test" {
115+
site_id = catalystcenter_area.test.id
116+
pub_sub_enabled = false
117+
authentication_profile_name = "No Authentication"
118+
depends_on = [catalystcenter_area.test]
119+
}
120+
resource "catalystcenter_transit_peer_network" "test" {
121+
transit_peer_network_name = "TRANSIT_1"
122+
transit_peer_network_type = "ip_transit"
123+
routing_protocol_name = "BGP"
124+
autonomous_system_number = "65010"
125+
}

0 commit comments

Comments
 (0)