Skip to content

rest_post_request.py

Description

Send a POST request to the controller.

Usage

Credentials

Either set the following environment variables or use the command line options to set the credentials for your Nexus Dashboard controller.

Set environment variables
export ND_DOMAIN=local
export ND_IP4=10.1.1.1
export ND_PASSWORD=MyNdfcPassword
export ND_USERNAME=admin
If the above environment variables are set
./rest_post_request.py
If the above environment variables are not set
./rest_post_request.py --nd-domain local --nd-password MyNdfcPassword --nd-username admin --nd-ip4 10.1.1.1

Logging

Logging is optional, and is disabled unless the following environment variable is set.

NDFC_LOGGING_CONFIG should point to a valid Python logging dictConfig file.

dictConfig

Enable logging
export NDFC_LOGGING_CONFIG=$HOME/repos/ndfc-python/lib/ndfc_python/logging_config.json

Example output

Success

Successful request
(.venv) AROBEL-M-G793% ./rest_post_request.py
{
    "RETURN_CODE": 200,
    "DATA": {
        "id": 9,
        "fabricId": "FABRIC-9",
        "fabricName": "MyFabric",
        "fabricType": "Switch_Fabric",
        "fabricTypeFriendly": "Switch Fabric",
        "fabricTechnology": "VXLANFabric",
        "templateFabricType": "",
        "fabricTechnologyFriendly": "VXLAN EVPN",
        "provisionMode": "DCNMTopDown",
        "deviceType": "n9k",
        "replicationMode": "Multicast",
        "asn": "65067",
        "siteId": "",
        "templateName": "Easy_Fabric",
        "nvPairs": {
            "MSO_SITE_ID": "",
            "PHANTOM_RP_LB_ID1": "",
            "PHANTOM_RP_LB_ID2": "",
            "PHANTOM_RP_LB_ID3": "",
            "IBGP_PEER_TEMPLATE": "",
            "PHANTOM_RP_LB_ID4": "",
            "abstract_ospf": "base_ospf",
            "FEATURE_PTP": "false",
            "L3_PARTITION_ID_RANGE": "50000-59000",
            "DHCP_START_INTERNAL": "",
            "SSPINE_COUNT": "0",
            "ENABLE_SGT": "false",
            "ADVERTISE_PIP_BGP": "false",
            "FABRIC_VPC_QOS_POLICY_NAME": "",
            "BFD_PIM_ENABLE": "",
            "ENABLE_MACSEC_PREV": "false",
            "NXC_DEST_VRF": "",
            "DHCP_END": "",
            "UNDERLAY_IS_V6": "false",
            "FABRIC_VPC_DOMAIN_ID": "",
            "SEED_SWITCH_CORE_INTERFACES": "",
            "ALLOW_NXC_PREV": "",
            "FABRIC_MTU_PREV": "9216",
            "BFD_ISIS_ENABLE": "",
            "HD_TIME": "180",
            "AUTO_UNIQUE_VRF_LITE_IP_PREFIX": "false",
            "OSPF_AUTH_ENABLE": "false",
            "LOOPBACK1_IPV6_RANGE": "",
            "ROUTER_ID_RANGE": "",
            "ENABLE_MACSEC": "false",
            "MSO_CONNECTIVITY_DEPLOYED": "",
            "DEAFULT_QUEUING_POLICY_OTHER": "",
            "MACSEC_REPORT_TIMER": "",
            "UNNUM_DHCP_START_INTERNAL": "",
            "PFC_WATCH_INT_PREV": "",
            "MPLS_ISIS_AREA_NUM": "",
            "PREMSO_PARENT_FABRIC": "",
            "PTP_DOMAIN_ID": "",
            "UNNUM_DHCP_END_INTERNAL": "",
            "USE_LINK_LOCAL": "",
            "AUTO_SYMMETRIC_VRF_LITE": "",
            "BGP_AS_PREV": "",
            "ENABLE_PBR": "false",
            "DCI_SUBNET_TARGET_MASK": "30",
            "ENABLE_TRMv6": "false",
            "VPC_PEER_LINK_PO": "500",
            "ISIS_AUTH_ENABLE": "",
            "PER_VRF_LOOPBACK_AUTO_PROVISION": "false",
            "REPLICATION_MODE": "Multicast",
            "ENABLE_DCI_MACSEC_PREV": "false",
            "SITE_ID_POLICY_ID": "",
            "SGT_NAME_PREFIX": "",
            "ANYCAST_RP_IP_RANGE": "10.254.254.0/24",
            "VPC_ENABLE_IPv6_ND_SYNC": "true",
            "TCAM_ALLOCATION": "true",
            "abstract_isis_interface": "isis_interface",
            "ENABLE_RT_INTF_STATS": "false",
            "SERVICE_NETWORK_VLAN_RANGE": "3000-3199",
            "MACSEC_ALGORITHM": "",
            "ISIS_LEVEL": "",
            "SUBNET_TARGET_MASK": "30",
            "abstract_anycast_rp": "anycast_rp",
            "AUTO_SYMMETRIC_DEFAULT_VRF": "",
            "ENABLE_NETFLOW": "false",
            "DEAFULT_QUEUING_POLICY_R_SERIES": "",
            "PER_VRF_LOOPBACK_IP_RANGE_V6": "",
            "BROWNFIELD_NETWORK_NAME_FORMAT": "Auto_Net_VNI$$VNI$$_VLAN$$VLAN_ID$$",
            "temp_vpc_peer_link": "int_vpc_peer_link_po",
            "ENABLE_FABRIC_VPC_DOMAIN_ID": "false",
            "IBGP_PEER_TEMPLATE_LEAF": "",
            "DCI_SUBNET_RANGE": "10.33.0.0/16",
            "ENABLE_NXAPI": "true",
            "VRF_LITE_AUTOCONFIG": "Manual",
            "MGMT_GW_INTERNAL": "",
            "GRFIELD_DEBUG_FLAG": "Disable",
            "VRF_VLAN_RANGE": "2000-2299",
            "ISIS_AUTH_KEYCHAIN_NAME": "",
            "OBJECT_TRACKING_NUMBER_RANGE": "100-299",
            "SSPINE_ADD_DEL_DEBUG_FLAG": "Disable",
            "abstract_bgp_neighbor": "evpn_bgp_rr_neighbor",
            "OSPF_AUTH_KEY_ID": "",
            "PIM_HELLO_AUTH_ENABLE": "false",
            "abstract_feature_leaf": "base_feature_leaf_upg",
            "BFD_AUTH_ENABLE": "",
            "INTF_STAT_LOAD_INTERVAL": "",
            "BGP_LB_ID": "0",
            "LOOPBACK1_IP_RANGE": "10.3.0.0/22",
            "AGG_ACC_VPC_PO_ID_RANGE": "",
            "EXTRA_CONF_TOR": "",
            "AAA_SERVER_CONF": "",
            "VPC_PEER_KEEP_ALIVE_OPTION": "management",
            "AUTO_VRFLITE_IFC_DEFAULT_VRF": "",
            "enableRealTimeBackup": "",
            "DCI_MACSEC_KEY_STRING": "",
            "ENABLE_AI_ML_QOS_POLICY": "false",
            "V6_SUBNET_TARGET_MASK": "",
            "STRICT_CC_MODE": "false",
            "BROWNFIELD_SKIP_OVERLAY_NETWORK_ATTACHMENTS": "false",
            "VPC_PEER_LINK_VLAN": "3600",
            "NXAPI_HTTP_PORT": "80",
            "abstract_trunk_host": "int_trunk_host",
            "BGP_AUTH_ENABLE": "false",
            "MST_INSTANCE_RANGE": "",
            "PM_ENABLE_PREV": "false",
            "ENABLE_AGG_ACC_ID_RANGE": "false",
            "NXC_PROXY_PORT": "8080",
            "RP_MODE": "asm",
            "enableScheduledBackup": "",
            "BFD_OSPF_ENABLE": "",
            "abstract_ospf_interface": "ospf_interface_11_1",
            "MACSEC_FALLBACK_ALGORITHM": "",
            "UNNUM_DHCP_END": "",
            "LOOPBACK0_IP_RANGE": "10.2.0.0/22",
            "ENABLE_AAA": "",
            "DEPLOYMENT_FREEZE": "false",
            "L2_HOST_INTF_MTU_PREV": "9216",
            "SGT_RECALC_STATUS": "empty",
            "NETFLOW_MONITOR_LIST": "",
            "NTP_SERVER_IP_LIST": "",
            "ENABLE_AGENT": "false",
            "MACSEC_FALLBACK_KEY_STRING": "",
            "OVERLAY_MODE": "cli",
            "PER_VRF_LOOPBACK_AUTO_PROVISION_PREV": "false",
            "FF": "Easy_Fabric",
            "STP_ROOT_OPTION": "unmanaged",
            "ISIS_OVERLOAD_ENABLE": "",
            "NETFLOW_RECORD_LIST": "",
            "FABRIC_TYPE": "Switch_Fabric",
            "PER_VRF_LOOPBACK_AUTO_PROVISION_V6": "false",
            "SPINE_COUNT": "0",
            "abstract_extra_config_bootstrap": "extra_config_bootstrap_11_1",
            "L3VNI_IPv6_MCAST_GROUP": "",
            "MPLS_LOOPBACK_IP_RANGE": "",
            "LINK_STATE_ROUTING_TAG_PREV": "",
            "DHCP_ENABLE": "",
            "BFD_AUTH_KEY_ID": "",
            "ALLOW_L3VNI_NO_VLAN": "true",
            "MSO_SITE_GROUP_NAME": "",
            "MGMT_PREFIX_INTERNAL": "",
            "DHCP_IPV6_ENABLE_INTERNAL": "",
            "BGP_AUTH_KEY_TYPE": "",
            "SITE_ID": "",
            "temp_anycast_gateway": "anycast_gateway",
            "BRFIELD_DEBUG_FLAG": "Disable",
            "BGP_AS": "65067",
            "BOOTSTRAP_MULTISUBNET": "",
            "ISIS_P2P_ENABLE": "",
            "ENABLE_NGOAM": "true",
            "CDP_ENABLE": "false",
            "PTP_LB_ID": "",
            "DHCP_IPV6_ENABLE": "",
            "MACSEC_KEY_STRING": "",
            "TOPDOWN_CONFIG_RM_TRACKING": "",
            "ENABLE_L3VNI_NO_VLAN": "false",
            "KME_SERVER_PORT": "",
            "OSPF_AUTH_KEY": "",
            "QKD_PROFILE_NAME": "",
            "MVPN_VRI_ID_RANGE": "",
            "ENABLE_FABRIC_VPC_DOMAIN_ID_PREV": "",
            "ENABLE_DCI_MACSEC": "false",
            "EXTRA_CONF_LEAF": "",
            "ENABLE_AI_ML_QOS_POLICY_FLAP": "false",
            "vrf_extension_template": "Default_VRF_Extension_Universal",
            "DHCP_START": "",
            "ENABLE_TRM": "false",
            "ENABLE_PVLAN_PREV": "",
            "FEATURE_PTP_INTERNAL": "false",
            "SGT_PREPROV_RECALC_STATUS": "empty",
            "ENABLE_NXAPI_HTTP": "true",
            "MPLS_LB_ID": "",
            "abstract_isis": "base_isis_level2",
            "FABRIC_VPC_DOMAIN_ID_PREV": "",
            "ROUTE_MAP_SEQUENCE_NUMBER_RANGE": "1-65534",
            "NETWORK_VLAN_RANGE": "2300-2999",
            "STATIC_UNDERLAY_IP_ALLOC": "false",
            "MGMT_V6PREFIX_INTERNAL": "",
            "MPLS_HANDOFF": "false",
            "STP_BRIDGE_PRIORITY": "",
            "scheduledTime": "",
            "ANYCAST_LB_ID": "",
            "MACSEC_CIPHER_SUITE": "",
            "STP_VLAN_RANGE": "",
            "MSO_CONTROLER_ID": "",
            "POWER_REDUNDANCY_MODE": "ps-redundant",
            "BFD_ENABLE": "false",
            "abstract_extra_config_leaf": "extra_config_leaf",
            "ANYCAST_GW_MAC": "2020.0000.00aa",
            "abstract_dhcp": "base_dhcp",
            "default_pvlan_sec_network": "",
            "EXTRA_CONF_SPINE": "",
            "NTP_SERVER_VRF": "",
            "SPINE_SWITCH_CORE_INTERFACES": "",
            "ENABLE_VRI_ID_REALLOC": "false",
            "LINK_STATE_ROUTING_TAG": "UNDERLAY",
            "ISIS_OVERLOAD_ELAPSE_TIME": "",
            "DCI_MACSEC_ALGORITHM": "",
            "RP_LB_ID": "254",
            "AI_ML_QOS_POLICY": "",
            "PTP_VLAN_ID": "",
            "BOOTSTRAP_CONF": "",
            "PER_VRF_LOOPBACK_AUTO_PROVISION_V6_PREV": "false",
            "LINK_STATE_ROUTING": "ospf",
            "ISIS_AUTH_KEY": "",
            "network_extension_template": "Default_Network_Extension_Universal",
            "DNS_SERVER_IP_LIST": "",
            "ENABLE_EVPN": "true",
            "abstract_multicast": "base_multicast_11_1",
            "VPC_DELAY_RESTORE_TIME": "60",
            "BFD_AUTH_KEY": "",
            "IPv6_MULTICAST_GROUP_SUBNET": "",
            "AGENT_INTF": "eth0",
            "FABRIC_MTU": "9216",
            "L3VNI_MCAST_GROUP": "",
            "QKD_PROFILE_NAME_PREV": "",
            "UNNUM_BOOTSTRAP_LB_ID": "",
            "VPC_DOMAIN_ID_RANGE": "1-1000",
            "HOST_INTF_ADMIN_STATE": "true",
            "ALLOW_L3VNI_NO_VLAN_PREV": "",
            "BFD_IBGP_ENABLE": "",
            "SGT_PREPROVISION": "",
            "DCI_MACSEC_FALLBACK_KEY_STRING": "",
            "AUTO_UNIQUE_VRF_LITE_IP_PREFIX_PREV": "false",
            "IPv6_ANYCAST_RP_IP_RANGE_INTERNAL": "",
            "DCI_MACSEC_FALLBACK_ALGORITHM": "",
            "VPC_AUTO_RECOVERY_TIME": "360",
            "DNS_SERVER_VRF": "",
            "UPGRADE_FROM_VERSION": "",
            "ISIS_AREA_NUM": "",
            "BANNER": "",
            "NXC_SRC_INTF": "",
            "SGT_ID_RANGE": "",
            "ENABLE_QKD": "",
            "PER_VRF_LOOPBACK_IP_RANGE": "",
            "SGT_PREPROVISION_PREV": "",
            "SYSLOG_SEV": "",
            "abstract_loopback_interface": "int_fabric_loopback_11_1",
            "SYSLOG_SERVER_VRF": "",
            "EXTRA_CONF_INTRA_LINKS": "",
            "SNMP_SERVER_HOST_TRAP": "true",
            "PIM_HELLO_AUTH_KEY": "",
            "KME_SERVER_IP": "",
            "abstract_extra_config_spine": "extra_config_spine",
            "temp_vpc_domain_mgmt": "vpc_domain_mgmt",
            "V6_SUBNET_RANGE": "",
            "SUBINTERFACE_RANGE": "2-511",
            "BGP_AUTH_KEY": "",
            "abstract_routed_host": "int_routed_host",
            "ENABLE_PVLAN": "false",
            "INBAND_DHCP_SERVERS": "",
            "MPLS_ISIS_AREA_NUM_PREV": "",
            "default_network": "Default_Network_Universal",
            "PFC_WATCH_INT": "",
            "ISIS_AUTH_KEYCHAIN_KEY_ID": "",
            "MGMT_V6PREFIX": "",
            "abstract_feature_spine": "base_feature_spine_upg",
            "ENABLE_DEFAULT_QUEUING_POLICY": "false",
            "ANYCAST_BGW_ADVERTISE_PIP": "false",
            "NETFLOW_EXPORTER_LIST": "",
            "RP_COUNT": "2",
            "abstract_vlan_interface": "int_fabric_vlan_11_1",
            "FABRIC_NAME": "MyFabric",
            "abstract_pim_interface": "pim_interface",
            "PM_ENABLE": "false",
            "LOOPBACK0_IPV6_RANGE": "",
            "IGNORE_CERT": "",
            "DEFAULT_VRF_REDIS_BGP_RMAP": "",
            "NVE_LB_ID": "1",
            "OVERLAY_MODE_PREV": "",
            "VPC_DELAY_RESTORE": "150",
            "IPv6_ANYCAST_RP_IP_RANGE": "",
            "UNDERLAY_IS_V6_PREV": "",
            "SGT_OPER_STATUS": "off",
            "NXAPI_HTTPS_PORT": "443",
            "ENABLE_SGT_PREV": "false",
            "ENABLE_VPC_PEER_LINK_NATIVE_VLAN": "false",
            "L2_HOST_INTF_MTU": "9216",
            "abstract_route_map": "route_map",
            "TRUSTPOINT_LABEL": "",
            "INBAND_MGMT_PREV": "false",
            "EXT_FABRIC_TYPE": "",
            "abstract_vpc_domain": "base_vpc_domain_11_1",
            "ACTIVE_MIGRATION": "false",
            "ISIS_AREA_NUM_PREV": "",
            "COPP_POLICY": "strict",
            "DHCP_END_INTERNAL": "",
            "DCI_MACSEC_CIPHER_SUITE": "",
            "BOOTSTRAP_ENABLE": "false",
            "ADVERTISE_PIP_ON_BORDER": "true",
            "default_vrf": "Default_VRF_Universal",
            "NXC_PROXY_SERVER": "",
            "OSPF_AREA_ID": "0.0.0.0",
            "abstract_extra_config_tor": "extra_config_tor",
            "SYSLOG_SERVER_IP_LIST": "",
            "ENABLE_TENANT_DHCP": "true",
            "BOOTSTRAP_ENABLE_PREV": "false",
            "ANYCAST_RP_IP_RANGE_INTERNAL": "",
            "RR_COUNT": "2",
            "BOOTSTRAP_MULTISUBNET_INTERNAL": "",
            "MGMT_GW": "",
            "UNNUM_DHCP_START": "",
            "MGMT_PREFIX": "",
            "BFD_ENABLE_PREV": "",
            "abstract_bgp_rr": "evpn_bgp_rr",
            "INBAND_MGMT": "false",
            "abstract_bgp": "base_bgp",
            "SLA_ID_RANGE": "10000-19999",
            "ENABLE_NETFLOW_PREV": "",
            "SUBNET_RANGE": "10.4.0.0/16",
            "DEAFULT_QUEUING_POLICY_CLOUDSCALE": "",
            "MULTICAST_GROUP_SUBNET": "239.1.1.0/25",
            "FABRIC_INTERFACE_TYPE": "p2p",
            "ALLOW_NXC": "true",
            "FABRIC_VPC_QOS": "false",
            "OVERWRITE_GLOBAL_NXC": "false",
            "AAA_REMOTE_IP_ENABLED": "false",
            "L2_SEGMENT_ID_RANGE": "30000-49000"
        },
        "vrfTemplate": "Default_VRF_Universal",
        "networkTemplate": "Default_Network_Universal",
        "vrfExtensionTemplate": "Default_VRF_Extension_Universal",
        "networkExtensionTemplate": "Default_Network_Extension_Universal"
    },
    "MESSAGE": "OK",
    "METHOD": "POST",
    "REQUEST_PATH": "https://10.1.1.1/appcenter/cisco/ndfc/api/v1/lan-fabric/rest/control/fabrics/MyFabric/Easy_Fabric"
}
(.venv) AROBEL-M-G793% 

Failure - Login credentials are invalid

Invalid login credentials
(.venv) AROBEL-M-G793% ./rest_post_request.py --nd-username foo
Exiting.  Error detail: NdfcPythonSender.commit: Unable to login to the controller. Error detail: Sender.update_token: Unable to parse token from response: {'RETURN_CODE': 401, 'DATA': {'error': 'Invalid Username/Password'}, 'MESSAGE': 'Unauthorized', 'METHOD': 'POST', 'REQUEST_PATH': 'https://10.1.1.1/login'}
(.venv) AROBEL-M-G793%

Failure - Fabric already exists

Fabric already exists
(.venv) AROBEL-M-G793% ./rest_post_request.py
{
    "RETURN_CODE": 500,
    "DATA": {
        "timestamp": 1730219442800,
        "status": 500,
        "error": "Internal Server Error",
        "path": "/rest/control/fabrics/MyFabric/Easy_Fabric"
    },
    "MESSAGE": "Internal Server Error",
    "METHOD": "POST",
    "REQUEST_PATH": "https://10.1.1.1/appcenter/cisco/ndfc/api/v1/lan-fabric/rest/control/fabrics/MyFabric/Easy_Fabric"
}
(.venv) AROBEL-M-G793%