Skip to content

rest_get_request.py

Description

Send a GET 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_get_request.py
If the above environment variables are not set
./rest_get_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 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_get_request.py
{
    "RETURN_CODE": 200,
    "DATA": [
        {
            "id": 6,
            "fabricId": "FABRIC-6",
            "fabricName": "VXLAN_Fabric",
            "fabricType": "Switch_Fabric",
            "fabricTypeFriendly": "Switch Fabric",
            "fabricTechnology": "VXLANFabric",
            "templateFabricType": "Data Center VXLAN EVPN",
            "fabricTechnologyFriendly": "VXLAN EVPN",
            "provisionMode": "DCNMTopDown",
            "deviceType": "n9k",
            "replicationMode": "Multicast",
            "operStatus": "WARNING",
            "asn": "65000",
            "siteId": "65000",
            "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": "spine_qos_for_fabric_vpc_peering",
                "BFD_PIM_ENABLE": "false",
                "ENABLE_MACSEC_PREV": "false",
                "NXC_DEST_VRF": "",
                "DHCP_END": "",
                "UNDERLAY_IS_V6": "false",
                "FABRIC_VPC_DOMAIN_ID": "",
                "SEED_SWITCH_CORE_INTERFACES": "",
                "ALLOW_NXC_PREV": "true",
                "FABRIC_MTU_PREV": "9216",
                "BFD_ISIS_ENABLE": "false",
                "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": "queuing_policy_default_other",
                "MACSEC_REPORT_TIMER": "",
                "UNNUM_DHCP_START_INTERNAL": "",
                "PFC_WATCH_INT_PREV": "",
                "MPLS_ISIS_AREA_NUM": "0001",
                "PREMSO_PARENT_FABRIC": "",
                "PTP_DOMAIN_ID": "",
                "UNNUM_DHCP_END_INTERNAL": "",
                "USE_LINK_LOCAL": "true",
                "AUTO_SYMMETRIC_VRF_LITE": "false",
                "BGP_AS_PREV": "65000",
                "ENABLE_PBR": "false",
                "DCI_SUBNET_TARGET_MASK": "30",
                "ENABLE_TRMv6": "false",
                "VPC_PEER_LINK_PO": "500",
                "ISIS_AUTH_ENABLE": "false",
                "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": "level-2",
                "SUBNET_TARGET_MASK": "30",
                "abstract_anycast_rp": "anycast_rp",
                "AUTO_SYMMETRIC_DEFAULT_VRF": "false",
                "ENABLE_NETFLOW": "false",
                "DEAFULT_QUEUING_POLICY_R_SERIES": "queuing_policy_default_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": "false",
                "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": "false",
                "enableRealTimeBackup": "",
                "DCI_MACSEC_KEY_STRING": "",
                "ENABLE_AI_ML_QOS_POLICY": "false",
                "V6_SUBNET_TARGET_MASK": "126",
                "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": "false",
                "abstract_ospf_interface": "ospf_interface_11_1",
                "MACSEC_FALLBACK_ALGORITHM": "",
                "UNNUM_DHCP_END": "",
                "LOOPBACK0_IP_RANGE": "10.2.0.0/22",
                "ENABLE_AAA": "false",
                "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": "UNDERLAY",
                "DHCP_ENABLE": "false",
                "BFD_AUTH_KEY_ID": "",
                "ALLOW_L3VNI_NO_VLAN": "true",
                "MSO_SITE_GROUP_NAME": "",
                "MGMT_PREFIX_INTERNAL": "",
                "DHCP_IPV6_ENABLE_INTERNAL": "",
                "BGP_AUTH_KEY_TYPE": "3",
                "SITE_ID": "65000",
                "temp_anycast_gateway": "anycast_gateway",
                "BRFIELD_DEBUG_FLAG": "Disable",
                "BGP_AS": "65000",
                "BOOTSTRAP_MULTISUBNET": "#Scope_Start_IP, Scope_End_IP, Scope_Default_Gateway, Scope_Subnet_Prefix",
                "ISIS_P2P_ENABLE": "",
                "ENABLE_NGOAM": "true",
                "CDP_ENABLE": "false",
                "PTP_LB_ID": "",
                "DHCP_IPV6_ENABLE": "",
                "MACSEC_KEY_STRING": "",
                "TOPDOWN_CONFIG_RM_TRACKING": "notstarted",
                "ENABLE_L3VNI_NO_VLAN": "false",
                "KME_SERVER_PORT": "",
                "OSPF_AUTH_KEY": "",
                "QKD_PROFILE_NAME": "",
                "MVPN_VRI_ID_RANGE": "",
                "ENABLE_FABRIC_VPC_DOMAIN_ID_PREV": "false",
                "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": "false",
                "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": "AI_Fabric_QOS_400G",
                "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": "",
                "DOMAIN_NAME_INTERNAL": "",
                "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": "true",
                "BFD_IBGP_ENABLE": "false",
                "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": "0001",
                "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",
                "PNP_ENABLE_INTERNAL": "",
                "ANYCAST_BGW_ADVERTISE_PIP": "false",
                "NETFLOW_EXPORTER_LIST": "",
                "RP_COUNT": "2",
                "abstract_vlan_interface": "int_fabric_vlan_11_1",
                "FABRIC_NAME": "VXLAN_Fabric",
                "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": "cli",
                "VPC_DELAY_RESTORE": "150",
                "IPv6_ANYCAST_RP_IP_RANGE": "",
                "UNDERLAY_IS_V6_PREV": "false",
                "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": "false",
                "SUBNET_RANGE": "10.4.0.0/16",
                "DEAFULT_QUEUING_POLICY_CLOUDSCALE": "queuing_policy_default_8q_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",
            "createdOn": 1729905602822,
            "modifiedOn": 1729905608364
        }
    ],
    "MESSAGE": "OK",
    "METHOD": "GET",
    "REQUEST_PATH": "https://10.1.1.1/appcenter/cisco/ndfc/api/v1/lan-fabric/rest/control/fabrics"
}
(.venv) AROBEL-M-G793%

Failure - Login credentials are invalid

Invalid login credentials
(.venv) AROBEL-M-G793% ./rest_get_request.py --nd-domain local --nd-username admin --nd-password TotallyIncorrectPassword --nd-ip4 10.1.1.1
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 - Endpoint /foo/endpoint does not exist

Invalid endpoint
(.venv) AROBEL-M-G793% ./rest_get_request.py
{
    "RETURN_CODE": 404,
    "DATA": {
        "INVALID_JSON": "<html>\r\n<head><title>404 Not Found</title></head>\r\n<body>\r\n<center><h1>404 Not Found</h1></center>\r\n<hr><center>nginx</center>\r\n</body>\r\n</html>\r\n"
    },
    "MESSAGE": "Not Found",
    "METHOD": "GET",
    "REQUEST_PATH": "https://10.1.1.1/foo/endpoint"
}
(.venv) AROBEL-M-G793%