Upgrade Procedures
Those guides describes the changes required to upgrade your Catalyst Center Terraform module version. Each upgrade procedure covers the changes necessary to move between two consecutive releases (subsequent versions).
0.2.0 to 0.3.0 - upgrade procedure
Section titled “0.2.0 to 0.3.0 - upgrade procedure”Summary
Section titled “Summary”After completing all the changes below, your data model will be compatible with Catalyst Center Terraform module version 0.3.0. Make sure to:
- Handle the Terraform state changes for Provision Device resources (resource renamed)
- Update RF Profile schema for radio type C (6GHz) properties
- Update Discovery
snmp_modeenum values - Review new optional features available in this version
1. Provision Device Resource Rename (Breaking Change)
Section titled “1. Provision Device Resource Rename (Breaking Change)”Overview
Section titled “Overview”The Terraform resource catalystcenter_fabric_provision_device has been renamed to catalystcenter_provision_device. This is a breaking change that requires manual Terraform state management. When upgrading, Terraform will show errors like:
Error: no schema available for module.catalyst_center.catalystcenter_fabric_provision_device.provision_device["DEVICE_NAME"] while reading stateMigration Steps
Section titled “Migration Steps”Step 1: Identify Existing Resources
Section titled “Step 1: Identify Existing Resources”Execute the following command to find all provision device resources in your state:
terraform state list | grep catalystcenter_fabric_provision_deviceExample output:
module.catalyst_center.catalystcenter_fabric_provision_device.provision_device["BR10"]module.catalyst_center.catalystcenter_fabric_provision_device.provision_device["EDGE01"]module.catalyst_center.catalystcenter_fabric_provision_device.provision_device["FIAB"]module.catalyst_center.catalystcenter_fabric_provision_device.provision_device["Transit-CP-1"]Step 2: Run Terraform Plan to Get Device and Site IDs
Section titled “Step 2: Run Terraform Plan to Get Device and Site IDs”Run terraform plan to see the planned creation of new resources. Note the network_device_id and site_id values for each device:
terraform planExample output:
# module.catalyst_center.catalystcenter_provision_device.provision_device["BR10"] will be created+ resource "catalystcenter_provision_device" "provision_device" { + id = (known after apply) + network_device_id = "e7869917-cf34-44ed-998a-e72ef9866eeb" + reprovision = false + site_id = "d3fa2852-cbca-4387-93c9-f1e47b6f7340" }Save the site_id and network_device_id values for each device for the import step.
Step 3: Remove Old Resources from State
Section titled “Step 3: Remove Old Resources from State”Remove all identified resources from the Terraform state:
terraform state rm 'module.catalyst_center.catalystcenter_fabric_provision_device.provision_device["BR10"]'terraform state rm 'module.catalyst_center.catalystcenter_fabric_provision_device.provision_device["EDGE01"]'terraform state rm 'module.catalyst_center.catalystcenter_fabric_provision_device.provision_device["FIAB"]'terraform state rm 'module.catalyst_center.catalystcenter_fabric_provision_device.provision_device["Transit-CP-1"]'Step 4: Import New Resources
Section titled “Step 4: Import New Resources”Import each device using the new resource name with the site_id and network_device_id values from Step 2:
terraform import 'module.catalyst_center.catalystcenter_provision_device.provision_device["BR10"]' "<site_id>,<network_device_id>"Example:
terraform import 'module.catalyst_center.catalystcenter_provision_device.provision_device["BR10"]' "d3fa2852-cbca-4387-93c9-f1e47b6f7340,e7869917-cf34-44ed-998a-e72ef9866eeb"terraform import 'module.catalyst_center.catalystcenter_provision_device.provision_device["EDGE01"]' "d3fa2852-cbca-4387-93c9-f1e47b6f7340,7ef492ca-b008-479a-9de4-7e40438c7d10"terraform import 'module.catalyst_center.catalystcenter_provision_device.provision_device["FIAB"]' "944b4c7e-e9ed-4ec3-8d1f-e8d065a8c4b3,28a9f0f0-2834-4f12-8409-26d34a7f5bbb"terraform import 'module.catalyst_center.catalystcenter_provision_device.provision_device["Transit-CP-1"]' "944b4c7e-e9ed-4ec3-8d1f-e8d065a8c4b3,e9272b6f-6ef0-487c-92dd-bce5c21747d7"The import format is: "<site_id>,<network_device_id>"
Step 5: Verify and Apply
Section titled “Step 5: Verify and Apply”Run terraform plan to verify the state is correct. You should see only in-place updates for other resources (like adding parent_id to areas/buildings/floors), not recreations of provision devices.
terraform planterraform apply2. RF Profile Radio Type C (6GHz) Schema Changes
Section titled “2. RF Profile Radio Type C (6GHz) Schema Changes”Overview
Section titled “Overview”The RF Profile schema for radio type C (6GHz) has been significantly enhanced with new properties. The enable_radio_type_c attribute is now required (previously optional).
Migration Steps
Section titled “Migration Steps”(0.2.0) Data Model
Section titled “(0.2.0) Data Model”catalyst_center: wireless: rf_profiles: - name: CUSTOM_RF_PROFILE enable_radio_type_a: true enable_radio_type_b: true enable_radio_type_c: false # Was optional enable_custom: true(0.3.0) Data Model
Section titled “(0.3.0) Data Model”catalyst_center: wireless: rf_profiles: - name: CUSTOM_RF_PROFILE enable_radio_type_a: true enable_radio_type_b: true enable_radio_type_c: true # Now required enable_custom: true radio_type_c_properties: parent_profile: CUSTOM enable_standard_power_service: true psc_enforcing_enabled: true discovery_frames_6ghz: Broadcast Probe Response broadcast_probe_response_interval: 20 min_dbs_width: 20 max_dbs_width: 320 preamble_puncture: true multi_bssid_properties: dot11ax_parameters: ofdma_down_link: true ofdma_up_link: true mu_mimo_up_link: true mu_mimo_down_link: true dot11be_parameters: ofdma_down_link: true ofdma_up_link: true mu_mimo_up_link: true mu_mimo_down_link: true ofdma_multi_ru: true target_wake_time: true twt_broadcast_support: true fra_properties_c: client_reset_count: 5 client_utilization_threshold: 50New 6GHz Radio Properties
Section titled “New 6GHz Radio Properties”| Property | Type | Description |
|---|---|---|
enable_standard_power_service | bool | Enable standard power service |
psc_enforcing_enabled | bool | Enable PSC enforcing |
discovery_frames_6ghz | enum | None, Broadcast Probe Response, FILS Discovery |
broadcast_probe_response_interval | int (5-25) | Broadcast probe response interval |
min_dbs_width | enum | 20, 40, 80, 160, 320 |
max_dbs_width | enum | 20, 40, 80, 160, 320 |
preamble_puncture | bool | Enable preamble puncture |
multi_bssid_properties | object | Multi-BSSID configuration |
fra_properties_c | object | FRA properties for 6GHz |
3. Discovery SNMP Mode Enum Value Changes
Section titled “3. Discovery SNMP Mode Enum Value Changes”Overview
Section titled “Overview”The snmp_mode enum values in discovery configurations have been updated to use different casing.
Migration Steps
Section titled “Migration Steps”(0.2.0) Data Model
Section titled “(0.2.0) Data Model”catalyst_center: inventory: discovery: - name: Discovery_1 snmp_mode: AUTHPRIV(0.3.0) Data Model
Section titled “(0.3.0) Data Model”catalyst_center: inventory: discovery: - name: Discovery_1 snmp_mode: AuthPrivEnum Value Mapping
Section titled “Enum Value Mapping”| 0.2.0 | 0.3.0 |
|---|---|
AUTHPRIV | AuthPriv |
AUTHNOPRIV | AuthNoPriv |
NOAUTHNOPRIV | NoAuthNoPriv |
4. New Features in 0.3.0 (No Migration Required)
Section titled “4. New Features in 0.3.0 (No Migration Required)”The following new features are available in version 0.3.0. No migration is required for existing configurations, but you may want to leverage these new capabilities:
Fabric Features
Section titled “Fabric Features”- Fabric Multicast: Configure multicast for fabric sites
catalyst_center: fabric: fabric_sites: - name: Global/Site1 multicast: virtual_networks: - name: Campus ip_pool_name: CampusVN-IPPool multicast_rps: - name: RP1 rp_location: FABRIC is_default_v4_rp: true fabric_rps: - Border-Device-1.example.com - Border-Device-2.example.com- Fabric Extranet Policies: Configure extranet policies between virtual networks
catalyst_center: fabric: extranet_policies: - name: Shared_Services provider_virtual_network: Shared subscriber_virtual_networks: - Campus - Guest fabric_sites: - Global/Site1Device Inventory Features
Section titled “Device Inventory Features”- Access Point Provisioning: Provision access points with RF profiles
catalyst_center: inventory: devices: - name: AP_FLOOR1 type: AccessPoint rf_profile: BASIC_PROFILE_1 state: PROVISION site: Global/Site1/Building1/Floor1- Embedded Wireless Controller Node: New fabric role
catalyst_center: inventory: devices: - name: SWITCH_EWLC fabric_roles: - EDGE_NODE - EMBEDDED_WIRELESS_CONTROLLER_NODE enable_wireless: true enable_rolling_ap_upgrade: true ap_reboot_percentage: 15- Port Assignment Enhancements: Interface ranges and descriptions
catalyst_center: inventory: devices: - name: EDGE01 port_assignments: - interfaces_range: GigabitEthernet1/0/1-1/0/10 interface_description: User Access Ports connected_device_type: USER_DEVICE data_vlan_name: Campus_DataAnycast Gateway Features
Section titled “Anycast Gateway Features”- Group-Based Policy Enforcement: For EXTENDED_NODE pool types
catalyst_center: fabric: fabric_sites: - name: Global/Site1 anycast_gateways: - ip_pool_name: ExtendedNode-IPPool pool_type: EXTENDED_NODE group_based_policy_enforcement_enabled: true- TCP MSS Adjustment: Configure TCP MSS for anycast gateways
catalyst_center: fabric: fabric_sites: - name: Global/Site1 anycast_gateways: - ip_pool_name: Campus-IPPool tcp_mss_adjustment: 1360Fabric Site Features
Section titled “Fabric Site Features”- Reconfigure Flag: Apply pending fabric configuration events
catalyst_center: fabric: fabric_sites: - name: Global/Site1 reconfigure: trueSystem Settings
Section titled “System Settings”- Authentication and Policy Servers: Configure ISE and AAA servers
catalyst_center: system_settings: authentication_and_policy_servers: ise: ip_address: 10.1.1.100 shared_secret: SecretKey123 username: admin password: AdminPass fqdn: ise.example.com retries: 3 timeout: 5 protocols: radius: authentication_port: 1812 accounting_port: 1813Module Variables
Section titled “Module Variables”use_bulk_api: Enable bulk API operations for faster executionbulk_site_provisioning: Site path for bulk device provisioning. When set withuse_bulk_api=true, provisions all devices from this site and all child sites in a single bulk operation. Example: ‘Global/Poland’ will provision all devices under Poland hierarchy.
0.1.1 to 0.2.0 - upgrade procedure
Section titled “0.1.1 to 0.2.0 - upgrade procedure”Summary
Section titled “Summary”After completing all the above changes, your data model will be compatible with Catalyst Center Terraform module version 0.2.0. Make sure to:
- Update all
deploy_statereferences toredeploy_templatewith appropriate values - Replace
namewithip_pool_namein Anycast Gateway configurations - Handle the Terraform state changes for network profile assignments
- Handle the Terraform state changes for Fabric L3 Handoff IP Transit resources
- Update LAN Automation attribute names and IP pool structure
- Change
hostnametofqdn_namein device inventory - Update discovery configuration attribute names
1. Template Configuration Enhancement
Section titled “1. Template Configuration Enhancement”Overview
Section titled “Overview”In version 0.1.1, template deployment was controlled by the deploy_state attribute with two options:
DEPLOY- never redeploy templateREDEPLOY- always redeploy template regardless of content changes
In version 0.2.0, this has been replaced with redeploy_template offering more granular control:
NEVER- never redeploy templateALWAYS- always redeploy template regardless of content changesON_CHANGE- redeploy template only when there is a content template change
Migration Steps
Section titled “Migration Steps”(0.1.1) Data Model
Section titled “(0.1.1) Data Model”inventory: devices: - name: DEVICE_1 dayn_templates: regular: - name: TEMP1 deploy_state: DEPLOY(0.2.0) Data Model
Section titled “(0.2.0) Data Model”inventory: devices: - name: DEVICE_1 dayn_templates: regular: - name: TEMP1 redeploy_template: NEVERConfiguration Levels
Section titled “Configuration Levels”The redeploy_template parameter can be configured at multiple levels with the following precedence (highest to lowest):
- Device-specific template level:
catalyst_center: inventory: devices: - name: DEVICE_1 dayn_templates: regular: - name: TEMP1 redeploy_template: NEVER- Device-wide template level:
catalyst_center: inventory: devices: - name: DEVICE_1 dayn_templates: redeploy_template: NEVER regular: - name: TEMP1- Global template level:
catalyst_center: templates: projects: - name: Project_DayN description: Project_DayN dayn_templates: - name: TEMPLATE_1 redeploy_template: ALWAYS- Default level:
defaults: catalyst_center: templates: redeploy_template: NEVERDeployment Behavior
Section titled “Deployment Behavior”| redeploy_template | Template Content Change | Template Redeployed |
|---|---|---|
| ALWAYS | Yes | Yes |
| ALWAYS | No | Yes |
| NEVER | Yes | No |
| NEVER | No | No |
| ON_CHANGE | Yes | Yes |
| ON_CHANGE | No | No |
2. Anycast Gateway Attribute Name Replacement
Section titled “2. Anycast Gateway Attribute Name Replacement”Overview
Section titled “Overview”The name attribute in Anycast Gateway configuration has been replaced with ip_pool_name to better reflect its purpose as a reference to IP pool reservations.
Migration Steps
Section titled “Migration Steps”(0.1.1) Data Model
Section titled “(0.1.1) Data Model”catalyst_center: fabric: fabric_sites: - name: Global/AREA anycast_gateways: - name: IPPool_1(0.2.0) Data Model
Section titled “(0.2.0) Data Model”catalyst_center: fabric: fabric_sites: - name: Global/AREA anycast_gateways: - ip_pool_name: IPPool_13. Network Profile Assignment Resource Change
Section titled “3. Network Profile Assignment Resource Change”Overview
Section titled “Overview”The Terraform resource catalystcenter_associate_site_to_network_profile has been replaced with catalystcenter_network_profile_for_site_assignments. This requires manual Terraform state management.
Migration Steps
Section titled “Migration Steps”Step 1: Identify Existing Resources
Section titled “Step 1: Identify Existing Resources”Execute the following command to find all network profile association resources:
terraform state list | grep catalystcenter_associate_site_to_network_profileExample output:
module.catalyst_center.catalystcenter_associate_site_to_network_profile.site_to_network_profile["Global/Poland/Krakow#_#Krk_switchingProfile"]module.catalyst_center.catalystcenter_associate_site_to_network_profile.site_to_wireless_network_profile["Global/Poland/Krakow#_#C9800_KRK_Profile"]Step 2: Remove Resources from State
Section titled “Step 2: Remove Resources from State”Remove the identified resources from the Terraform state:
terraform state rm 'module.catalyst_center.catalystcenter_associate_site_to_network_profile.site_to_network_profile["Global/Poland/Krakow#_#Krk_switchingProfile"]'terraform state rm 'module.catalyst_center.catalystcenter_associate_site_to_network_profile.site_to_wireless_network_profile["Global/Poland/Krakow#_#C9800_KRK_Profile"]'Step 3: Apply Changes
Section titled “Step 3: Apply Changes”Execute terraform apply to create the new network profile assignment resources:
terraform applyExpected output:
# module.catalyst_center.catalystcenter_network_profile_for_sites_assignments.site_to_network_profile["Krk_switchingProfile"] will be created+ resource "catalystcenter_network_profile_for_sites_assignments" "site_to_network_profile" { + id = (known after apply) + items = [ + { + id = "a8fbb587-887c-42be-aaad-395abd685ebf" }, ] + network_profile_id = "076013fa-322f-48cb-b278-8bde227ebed7" }
# module.catalyst_center.catalystcenter_network_profile_for_sites_assignments.site_to_wireless_network_profile["C9800_KRK_Profile"] will be created+ resource "catalystcenter_network_profile_for_sites_assignments" "site_to_wireless_network_profile" { + id = (known after apply) + items = [ + { + id = "a8fbb587-887c-42be-aaad-395abd685ebf" }, ] + network_profile_id = "5304325b-0aac-4be9-90ea-90c5654033f7" }4. Fabric L3 Handoff IP Transit Resource Change
Section titled “4. Fabric L3 Handoff IP Transit Resource Change”Overview
Section titled “Overview”The Terraform resource catalystcenter_fabric_l3_handoff_ip_transit has been replaced with catalystcenter_fabric_l3_handoff_ip_transits (note the plural form). This change consolidates multiple IP transit handoffs under a single resource per network device, requiring manual Terraform state management.
Migration Steps
Section titled “Migration Steps”Step 1: Identify Existing Resources
Section titled “Step 1: Identify Existing Resources”Execute the following command to find all L3 handoff IP transit resources:
terraform state list | grep catalystcenter_fabric_l3_handoff_ip_transitExample output:
module.catalyst_center.catalystcenter_fabric_l3_handoff_ip_transit.l3_handoff_ip_transit["Campus/GigabitEthernet1/0/3/BGP65002/BR10.cisco.eu"]Step 2: Find Network Device and Fabric Id
Section titled “Step 2: Find Network Device and Fabric Id”Run command to get the network_device_id and fabric_id values needed for the import step:
terraform state show 'module.catalyst_center.catalystcenter_fabric_l3_handoff_ip_transit.l3_handoff_ip_transit["Campus/GigabitEthernet1/0/3/BGP65002/BR10.cisco.eu"]'Example output:
# module.catalyst_center.catalystcenter_fabric_l3_handoff_ip_transit.l3_handoff_ip_transit["Campus/GigabitEthernet1/0/3/BGP65002/BR10.cisco.eu"]:resource "catalystcenter_fabric_l3_handoff_ip_transit" "l3_handoff_ip_transit" { fabric_id = "aca2f40c-40a2-4bc2-9690-f59d758fd600" id = "fbe1ad74-7df9-46a2-8746-8875f9cbbed4" interface_name = "GigabitEthernet1/0/3" local_ip_address = "172.16.100.1/24" network_device_id = "8fbd4920-25d2-4b73-be25-2421c61e9605" remote_ip_address = "172.16.100.2/24" transit_network_id = "fc09acc4-dd6d-48f0-a446-6afe7d0867f4" virtual_network_name = "Campus" vlan_id = 100}Save the network_device_id and fabric_id values for the import step:
- network_device_id:
8fbd4920-25d2-4b73-be25-2421c61e9605 - fabric_id:
aca2f40c-40a2-4bc2-9690-f59d758fd600
Step 3: Remove Resources from State
Section titled “Step 3: Remove Resources from State”Remove the identified resources from the Terraform state:
terraform state rm 'module.catalyst_center.catalystcenter_fabric_l3_handoff_ip_transit.l3_handoff_ip_transit["Campus/GigabitEthernet1/0/3/BGP65002/BR10.cisco.eu"]'Step 4: Import New Resources
Section titled “Step 4: Import New Resources”Import the new consolidated resource using the network device ID and fabric ID copied from Step 2:
terraform import 'module.catalyst_center.catalystcenter_fabric_l3_handoff_ip_transits.l3_handoff_ip_transits["BR10.cisco.eu"]' "8fbd4920-25d2-4b73-be25-2421c61e9605,aca2f40c-40a2-4bc2-9690-f59d758fd600"The import format is: "<network_device_id>,<fabric_id>"
5. LAN Automation Modifications
Section titled “5. LAN Automation Modifications”Overview
Section titled “Overview”Several attributes in the LAN Automation data model have been updated for consistency and clarity.
Migration Steps
Section titled “Migration Steps”Attribute Changes
Section titled “Attribute Changes”| 0.1.1 | 0.2.0 |
|---|---|
peer_device_management_ip_address | secondary_device_management_ip_address |
redistribute_isis_to_bgp | advertise_lan_automation_routes_into_bgp |
(0.2.0) Data Model:
catalyst_center: lan_automation: - name: Automate_Edge_Switches secondary_device_management_ip_address: 198.18.130.11 advertise_lan_automation_routes_into_bgp: trueIP Pools Structure Changes
Section titled “IP Pools Structure Changes”The ip_pools structure has been modified to use name and role instead of ip_pool_name and ip_pool_role.
(0.1.1) Data Model
Section titled “(0.1.1) Data Model”catalyst_center: lan_automation: - name: Automate_Edge_Switches ip_pools: - ip_pool_name: MainPool ip_pool_role: MAIN_POOL(0.2.0) Data Model
Section titled “(0.2.0) Data Model”catalyst_center: lan_automation: - name: Automate_Edge_Switches ip_pools: - name: MainPool role: PRINCIPAL_IP_ADDRESS_POOLAdditionally the ip_pool_role values have been updated as follows:
| 0.1.1 | 0.2.0 |
|---|---|
MAIN_POOL | PRINCIPAL_IP_ADDRESS_POOL |
PHYSICAL_LINK_POOL | LINK_OVERLAPPING_IP_POOL |
6. Device Inventory Attribute Replacement
Section titled “6. Device Inventory Attribute Replacement”Overview
Section titled “Overview”The hostname attribute in device inventory has been replaced with fqdn_name to support fully qualified domain names.
Migration Steps
Section titled “Migration Steps”(0.1.1) Data Model
Section titled “(0.1.1) Data Model”catalyst_center: inventory: devices: - name: DEVICE_1 hostname: DEVICE_1(0.2.0) Data Model
Section titled “(0.2.0) Data Model”catalyst_center: inventory: devices: - name: DEVICE_1 fqdn_name: DEVICE_1.example.com7. Discovery Schema Changes
Section titled “7. Discovery Schema Changes”Overview
Section titled “Overview”The attribute preferred_ip_method has been renamed to preferred_mgmt_ip_method in discovery configurations:
(0.1.1) Data Model
Section titled “(0.1.1) Data Model”catalyst_center: inventory: discovery: - name: Discovery_1 preferred_ip_method: UseLoopBack(0.2.0) Data Model
Section titled “(0.2.0) Data Model”catalyst_center: inventory: discovery: - name: Discovery_1 preferred_mgmt_ip_method: UseLoopBack0.1.0 to 0.1.1 - upgrade procedure
Section titled “0.1.0 to 0.1.1 - upgrade procedure”Summary
Section titled “Summary”After completing all the above changes, your data model will be compatible with Catalyst Center Terraform module version 0.1.1. Make sure to:
- Update authentication template
number_of_hostsenum value from ‘Limited’ to ‘Single’ - Add L3 Virtual Networks structure at fabric level if using global L3 VNs
- Update device inventory managed AP locations structure
- Add new discovery configuration attributes if using advanced SNMP settings
- Remove deprecated RF profile attributes
- Update anycast gateway configurations with new optional attributes
- Remove deprecated border device attributes
- Handle the Terraform state changes for fabric provision device resource consolidation
1. Authentication Template Enum Value Update
Section titled “1. Authentication Template Enum Value Update”Overview
Section titled “Overview”The number_of_hosts attribute enum value has been updated for consistency.
Migration Steps
Section titled “Migration Steps”(0.1.0) Data Model
Section titled “(0.1.0) Data Model”catalyst_center: authentication_templates: - name: AUTH_TEMPLATE_1 number_of_hosts: Limited(0.1.1) Data Model
Section titled “(0.1.1) Data Model”catalyst_center: authentication_templates: - name: AUTH_TEMPLATE_1 number_of_hosts: Single2. Fabric L3 Virtual Networks Structure Enhancement
Section titled “2. Fabric L3 Virtual Networks Structure Enhancement”Overview
Section titled “Overview”L3 Virtual Networks can now be defined at the global fabric level in addition to fabric site level, enabling better organization and reuse.
Migration Steps
Section titled “Migration Steps”(0.1.1) Data Model
Section titled “(0.1.1) Data Model”catalyst_center: fabric: l3_virtual_networks: - name: GLOBAL_L3_VN_1 - name: GLOBAL_L3_VN_2 fabric_sites: - name: Global/AREA l3_virtual_networks: - GLOBAL_L3_VN_1 - GLOBAL_L3_VN_23. Device Inventory Managed AP Locations Enhancement
Section titled “3. Device Inventory Managed AP Locations Enhancement”Overview
Section titled “Overview”The managed_ap_locations attribute has been split into primary_managed_ap_locations and secondary_managed_ap_locations for better AP management control.
Migration Steps
Section titled “Migration Steps”(0.1.0) Data Model
Section titled “(0.1.0) Data Model”catalyst_center: inventory: devices: - name: WLC_DEVICE_1 managed_ap_locations: - Global/Area1/Building1/Floor1 - Global/Area1/Building1/Floor2(0.1.1) Data Model
Section titled “(0.1.1) Data Model”catalyst_center: inventory: devices: - name: WLC_DEVICE_1 primary_managed_ap_locations: - Global/Area1/Building1/Floor1 secondary_managed_ap_locations: - Global/Area1/Building1/Floor24. Discovery Configuration Enhancement
Section titled “4. Discovery Configuration Enhancement”Overview
Section titled “Overview”New SNMP-related attributes have been added to discovery configurations for enhanced device discovery capabilities.
Migration Steps
Section titled “Migration Steps”(0.1.1) Data Model
Section titled “(0.1.1) Data Model”catalyst_center: inventory: discovery: - name: DISCOVERY_1 cdp_level: 16 enable_password_list: - enable_password_1 ip_filter_list: - 192.168.1.0/24 netconf_port: "830" retry: 3 user_name_list: - admin snmp_version: v3 snmp_user_name: snmp_user snmp_rw_community_desc: "RW Community" snmp_ro_community_desc: "RO Community" snmp_ro_community: public snmp_rw_community: private snmp_priv_protocol: AES128 snmp_priv_passphrase: priv_pass snmp_mode: AUTHPRIV snmp_auth_protocol: SHA snmp_auth_passphrase: auth_pass5. RF Profile Attributes Cleanup
Section titled “5. RF Profile Attributes Cleanup”Overview
Section titled “Overview”Deprecated RF profile attributes channel_width and enable_brown_field have been removed from the schema.
Migration Steps
Section titled “Migration Steps”Remove these attributes from your RF profile configurations:
channel_widthenable_brown_field
6. Anycast Gateway Enhancements
Section titled “6. Anycast Gateway Enhancements”Overview
Section titled “Overview”New optional attributes have been added to anycast gateway configurations for enhanced functionality.
Migration Steps
Section titled “Migration Steps”(0.1.1) Data Model
Section titled “(0.1.1) Data Model”catalyst_center: fabric: fabric_sites: - name: Global/AREA anycast_gateways: - name: ANYCAST_GW_1 intra_subnet_routing_enabled: true multiple_ip_to_mac_addresses: false supplicant_based_extended_node_onboarding: true7. Border Device Attributes Cleanup
Section titled “7. Border Device Attributes Cleanup”Overview
Section titled “Overview”The deprecated external_domain_routing_protocol_name attribute has been removed from border device configurations.
Migration Steps
Section titled “Migration Steps”Remove the external_domain_routing_protocol_name attribute from your border device configurations.
8. Fabric Provision Device Resource Consolidation
Section titled “8. Fabric Provision Device Resource Consolidation”Overview
Section titled “Overview”Multiple device-specific provision resources have been consolidated into a single catalystcenter_fabric_provision_device resource. The following resources are now unified:
catalystcenter_fabric_provision_device.border_devicecatalystcenter_fabric_provision_device.edge_devicecatalystcenter_fabric_provision_device.non_fabric_device
All devices now use the single catalystcenter_fabric_provision_device.provision_device resource.
Migration Steps
Section titled “Migration Steps”Step 1: Identify Existing Resources
Section titled “Step 1: Identify Existing Resources”Execute the following command to find all fabric provision device resources:
terraform state list | grep catalystcenter_fabric_provision_deviceExample output:
module.catalyst_center.catalystcenter_fabric_provision_device.border_device["BR10.cisco.eu"]module.catalyst_center.catalystcenter_fabric_provision_device.edge_device["EDGE01.cisco.eu"]module.catalyst_center.catalystcenter_fabric_provision_device.non_fabric_device["PNP_DEVICE.cisco.eu"]Step 2: Remove Resources from State
Section titled “Step 2: Remove Resources from State”Remove the identified resources from the Terraform state:
terraform state rm 'module.catalyst_center.catalystcenter_fabric_provision_device.border_device["BR10.cisco.eu"]'terraform state rm 'module.catalyst_center.catalystcenter_fabric_provision_device.edge_device["EDGE01.cisco.eu"]'terraform state rm 'module.catalyst_center.catalystcenter_fabric_provision_device.non_fabric_device["PNP_DEVICE.cisco.eu"]'Step 3: Import New Consolidated Resources
Section titled “Step 3: Import New Consolidated Resources”Import the new consolidated resources using the site ID and network device ID:
terraform import 'module.catalyst_center.catalystcenter_fabric_provision_device.provision_device["BR10.cisco.eu"]' "662ed0df-861f-4753-9008-df85fe9a584e,e7869917-cf34-44ed-998a-e72ef9866eeb"terraform import 'module.catalyst_center.catalystcenter_fabric_provision_device.provision_device["EDGE01.cisco.eu"]' "662ed0df-861f-4753-9008-df85fe9a584e,7ef492ca-b008-479a-9de4-7e40438c7d10"terraform import 'module.catalyst_center.catalystcenter_fabric_provision_device.provision_device["PNP_DEVICE.cisco.eu"]' "c2c12299-f7cc-4058-9d99-ffe57de50062,ce8d33e4-6d7b-4f2a-8ed6-0d95603305be"The import format is: "<site_id>,<network_device_id>"