Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,7 @@ dist/
generator/templates/*
/templates*
generator/tools/*
.github/copilot-instructions.md
INSTRUCTIONS.md


103 changes: 103 additions & 0 deletions docs/resources/msd_vrfs_parent.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "ndfc_msd_vrfs_parent Resource - terraform-provider-ndfc"
subcategory: ""
description: |-
Resource to manage MSD Parent VRF configuration on a fabric
---

# ndfc_msd_vrfs_parent (Resource)

Resource to manage MSD Parent VRF configuration on a fabric

## Example Usage

```terraform
resource "ndfc_msd_vrfs_parent" "test_resource_msd_vrfs_parent_1" {
fabric_name = "CML"
vrfs = {
"VRF1" = {
vrf_template = "Default_VRF_Universal"
vrf_extension_template = "Default_VRF_Extension_Universal"
vrf_id = 50000
vlan_id = 1500
vlan_name = "VLAN1500"
interface_description = "My int description"
vrf_description = "My vrf description"
mtu = 9200
loopback_routing_tag = 11111
redistribute_direct_route_map = "FABRIC-RMAP-REDIST"
max_bgp_paths = 2
max_ibgp_paths = 3
ipv6_link_local = false
rp_external = true
mvpn_inter_as = false
disable_rt_auto = true
route_target_import = "1:1"
route_target_export = "1:1"
route_target_import_evpn = "1:1"
route_target_export_evpn = "1:1"
route_target_import_cloud_evpn = "1:1"
route_target_export_cloud_evpn = "1:1"
}
}

}
```

<!-- schema generated by tfplugindocs -->
## Schema

### Required

- `fabric_name` (String) The name of the fabric
- `vrfs` (Attributes Map) List of vrfs (see [below for nested schema](#nestedatt--vrfs))

### Read-Only

- `id` (String) Terraform unique Id for the resource

<a id="nestedatt--vrfs"></a>
### Nested Schema for `vrfs`

Optional:

- `disable_rt_auto` (Boolean) Applicable to IPv4, IPv6 VPN/EVPN/MVPN
- `interface_description` (String) Interface description
- `ipv6_link_local` (Boolean) Enables IPv6 link-local Option under VRF SVI
- `loopback_routing_tag` (Number) Loopback routing tag
- `max_bgp_paths` (Number) Maximum BGP paths
- `max_ibgp_paths` (Number) Maximum iBGP paths
- `mtu` (Number) Interface MTU
- `mvpn_inter_as` (Boolean) Use the inter-as keyword for the MVPN address family routes to cross the BGP autonomous system (AS) boundaries, applicable when TRM is enabled. IOS XE Specific
- `redistribute_direct_route_map` (String) Redistribute direct route map
- `route_target_export` (String) For VPN Routes Export, One or a Comma Separated List
- `route_target_export_cloud_evpn` (String) For Cloud EVPN Routes Export, One or a Comma Separated List
- `route_target_export_evpn` (String) For EVPN Routes Export, One or a Comma Separated List
- `route_target_import` (String) For VPN Routes Import, One or a Comma Separated List
- `route_target_import_cloud_evpn` (String) For Cloud EVPN Routes Import, One or a Comma Separated List
- `route_target_import_evpn` (String) For EVPN Routes Import, One or a Comma Separated List
- `rp_external` (Boolean) Is RP external to the fabric
- `trm` (Boolean) Enable Tenant Routed Multicast
- `vlan_id` (Number) VLAN ID
- `vlan_name` (String) VLAN name
- `vrf_description` (String) VRF description
- `vrf_extension_template` (String) The name of the VRF extension template
- `vrf_id` (Number) VNI ID of VRF
- `vrf_template` (String) The name of the VRF template

Read-Only:

- `vrf_status` (String) VRF Deployment status

## Import

Import is supported using the following syntax:

The [`terraform import` command](https://developer.hashicorp.com/terraform/cli/commands/import) can be used, for example:

```shell
# Format of ID used for import:
# fabric_name/[comma separated list of vrfs to be imported]
terraform import ndfc_msd_vrfs_parent.test_resource_msd_vrfs_parent fabric_vxlan/[vrf1, vrf2, vrf3]
```
2 changes: 1 addition & 1 deletion docs/resources/networks.md
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,6 @@ Optional:

- `deploy_this_attachment` (Boolean) If set to `true`, deploys this attachment. This cannot be set to `true` if `deploy_all_attachments` at resource level is set to `true` or `deploy_attachments` in the corresponding `network` is set to `true`. __Note: Changing value from `true` to `false`, to undo a deployment is not supported__
- `display_name` (String) The name of the switch
- `fabric` (String) The name of the fabric
- `freeform_config` (String) This field covers any configuration not included in overlay templates which is needed as part of this VRF attachment
- `instance_values` (String) Instance values
- `switch_ports` (Set of String) List of switch ports
Expand All @@ -140,6 +139,7 @@ Read-Only:

- `attach_state` (String) The state of the attachment
- `attached` (Boolean) The state of the attachment
- `fabric` (String) The name of the fabric
- `switch_name` (String) The name of the switch


Expand Down
2 changes: 1 addition & 1 deletion docs/resources/vrfs.md
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,6 @@ Read-Only:
Optional:

- `deploy_this_attachment` (Boolean) If set to `true`, does a deployment of the attachment. This parameter cannot be set to `true` if `deploy_all_attachments` in the resource is set or `deploy_attachment` in the corresponding `vrf` is set
- `fabric` (String) The name of the fabric
- `freeform_config` (String) This field covers any configuration not included in overlay templates which is needed as part of this VRF attachment
- `loopback_id` (Number) Override loopback ID
- `loopback_ipv4` (String) Override loopback IPv4 address
Expand All @@ -150,6 +149,7 @@ Read-Only:

- `attach_state` (String) The state of the attachment
- `attached` (Boolean) The state of the attachment
- `fabric` (String) The name of the fabric
- `switch_name` (String) The name of the switch

## Import
Expand Down
4 changes: 4 additions & 0 deletions examples/data-sources/ndfc_msd_vrfs_parent/data-source.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@

data "ndfc_msd_vrfs_parent" "test_resource_msd_vrfs_parent_1" {
fabric_name = "CML"
}
5 changes: 5 additions & 0 deletions examples/resources/ndfc_msd_vrfs_parent/import.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@

# Format of ID used for import:
# fabric_name/[comma separated list of vrfs to be imported]
terraform import ndfc_msd_vrfs_parent.test_resource_msd_vrfs_parent fabric_vxlan/[vrf1, vrf2, vrf3]

31 changes: 31 additions & 0 deletions examples/resources/ndfc_msd_vrfs_parent/resource.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@

resource "ndfc_msd_vrfs_parent" "test_resource_msd_vrfs_parent_1" {
fabric_name = "CML"
vrfs = {
"VRF1" = {
vrf_template = "Default_VRF_Universal"
vrf_extension_template = "Default_VRF_Extension_Universal"
vrf_id = 50000
vlan_id = 1500
vlan_name = "VLAN1500"
interface_description = "My int description"
vrf_description = "My vrf description"
mtu = 9200
loopback_routing_tag = 11111
redistribute_direct_route_map = "FABRIC-RMAP-REDIST"
max_bgp_paths = 2
max_ibgp_paths = 3
ipv6_link_local = false
rp_external = true
mvpn_inter_as = false
disable_rt_auto = true
route_target_import = "1:1"
route_target_export = "1:1"
route_target_import_evpn = "1:1"
route_target_export_evpn = "1:1"
route_target_import_cloud_evpn = "1:1"
route_target_export_cloud_evpn = "1:1"
}
}

}
1 change: 1 addition & 0 deletions generator/defs/defs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,3 +25,4 @@ files:
- fabric_msite_ext_net.yaml
- links.yaml
- rest.yaml
- msd_vrfs.yaml
Loading