Skip to content

Commit 38d93bf

Browse files
add fabric_l3_handoff_ip_transit resource and data source
1 parent c70bd2a commit 38d93bf

15 files changed

+1232
-3
lines changed

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
## 0.1.10 (unreleased)
2-
2+
- Add `fabric_l3_handoff_ip_transit` resource and data source
33
- Add `transitPeerNetworkId` as `id` to `transit_peer_network` resource
44
- Add `anycast_gateway` resource and data source, this resource now only works with Catalyst Center version 2.3.7.5+ `/sda/anycastGateways`
55
- 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: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
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+
network_device_id = "5e6f7b3a-2b0b-4a7d-8b1c-0d4b1cd5e1b1"
18+
fabric_id = "c4b85bb2-ce3f-4db9-a32b-e439a388ac2f"
19+
}
20+
```
21+
22+
<!-- schema generated by tfplugindocs -->
23+
## Schema
24+
25+
### Required
26+
27+
- `fabric_id` (String) ID of the fabric this device belongs to
28+
- `network_device_id` (String) Network device ID of the fabric device
29+
30+
### Read-Only
31+
32+
- `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
33+
- `id` (String) The id of the object
34+
- `interface_name` (String) Interface name of the layer 3 handoff ip transit
35+
- `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
36+
- `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
37+
- `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
38+
- `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
39+
- `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
40+
- `transit_network_id` (String) ID of the transit network of the layer 3 handoff ip transit
41+
- `virtual_network_name` (String) SName of the virtual network associated with this fabric site
42+
- `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 & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ description: |-
88
# Changelog
99

1010
## 0.1.10 (unreleased)
11-
11+
- Add `fabric_l3_handoff_ip_transit` resource and data source
1212
- Add `transitPeerNetworkId` as `id` to `transit_peer_network` resource
1313
- Add `anycast_gateway` resource and data source, this resource now only works with Catalyst Center version 2.3.7.5+ `/sda/anycastGateways`
1414
- 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>"
61+
```
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
data "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+
}
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>"
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.0
6+
id_from_query_path_attribute: id
7+
put_id_include_path: 0.id
8+
import_no_id: true
9+
data_source_no_id: true
10+
put_no_id: true
11+
doc_category: SDA
12+
test_tags: [SDA]
13+
attributes:
14+
- model_name: networkDeviceId
15+
query_param: true
16+
requires_replace: true
17+
data_path: '0'
18+
response_data_path: response.0.networkDeviceId
19+
mandatory: true
20+
description: Network device ID of the fabric device
21+
type: String
22+
example: 5e6f7b3a-2b0b-4a7d-8b1c-0d4b1cd5e1b1
23+
- model_name: fabricId
24+
requires_replace: true
25+
query_param: true
26+
data_path: '0'
27+
response_data_path: response.0.fabricId
28+
type: String
29+
mandatory: true
30+
description: ID of the fabric this device belongs to
31+
example: c4b85bb2-ce3f-4db9-a32b-e439a388ac2f
32+
test_value: catalystcenter_fabric_site.test.id
33+
- model_name: transitNetworkId
34+
requires_replace: true
35+
data_path: '0'
36+
response_data_path: response.0.transitNetworkId
37+
type: String
38+
mandatory: true
39+
description: ID of the transit network of the layer 3 handoff ip transit
40+
example: d71c847b-e9c2-4f13-928c-223372b72b06
41+
test_value: catalystcenter_transit_peer_network.test.id
42+
- model_name: interfaceName
43+
data_path: '0'
44+
requires_replace: true
45+
response_data_path: response.0.interfaceName
46+
type: String
47+
description: Interface name of the layer 3 handoff ip transit
48+
example: TenGigabitEthernet1/0/2
49+
- model_name: externalConnectivityIpPoolName
50+
data_path: '0'
51+
requires_replace: true
52+
response_data_path: response.0.externalConnectivityIpPoolName
53+
type: String
54+
description: External connectivity ip pool will be used by Catalyst Center to allocate IP address for the connection between the border node and peer
55+
example: "MyPool1"
56+
exclude_test: true
57+
- model_name: virtualNetworkName
58+
data_path: '0'
59+
requires_replace: true
60+
response_data_path: response.0.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: response.0.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: response.0.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: response.0.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: response.0.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: response.0.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: response.0.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)