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 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.
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%