# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: onexfabricapi.proto
"""Generated protocol buffer code."""
from google.protobuf import descriptor as _descriptor
from google.protobuf import descriptor_pool as _descriptor_pool
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2
from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2


DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x13onexfabricapi.proto\x12\ronexfabricapi\x1a google/protobuf/descriptor.proto\x1a\x1bgoogle/protobuf/empty.proto\"$\n\rOpenApiMsgOpt\x12\x13\n\x0b\x64\x65scription\x18\n \x01(\t\"5\n\rOpenApiFldOpt\x12\x0f\n\x07\x64\x65\x66\x61ult\x18\n \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x14 \x01(\t\"$\n\rOpenApiSvcOpt\x12\x13\n\x0b\x64\x65scription\x18\n \x01(\t\"$\n\rOpenApiRpcOpt\x12\x13\n\x0b\x64\x65scription\x18\n \x01(\t\"|\n\x11GlobalNamedObject\x12\x39\n\x04name\x18\x01 \x01(\tB&\x92\xa6\x1d\"\xa2\x01\x1fUnique identifier for an objectH\x00\x88\x01\x01:#\x8a\xa6\x1d\x1fR\x1d\x44\x65scription missing in modelsB\x07\n\x05_name\"\x83\x01\n\x0c\x45rrorDetails\x12N\n\x06\x65rrors\x18\x01 \x03(\x0b\x32\x18.onexfabricapi.ErrorItemB$\x92\xa6\x1d \xa2\x01\x1d\x44\x65scription missing in models:#\x8a\xa6\x1d\x1fR\x1d\x44\x65scription missing in models\"\x87\x01\n\x0eWarningDetails\x12P\n\x08warnings\x18\x01 \x03(\x0b\x32\x18.onexfabricapi.ErrorItemB$\x92\xa6\x1d \xa2\x01\x1d\x44\x65scription missing in models:#\x8a\xa6\x1d\x1fR\x1d\x44\x65scription missing in models\"\x80\x02\n\tErrorItem\x12:\n\x07message\x18\x01 \x01(\tB$\x92\xa6\x1d \xa2\x01\x1d\x44\x65scription missing in modelsH\x00\x88\x01\x01\x12\x37\n\x04\x63ode\x18\x02 \x01(\x05\x42$\x92\xa6\x1d \xa2\x01\x1d\x44\x65scription missing in modelsH\x01\x88\x01\x01\x12\x39\n\x06\x64\x65tail\x18\x03 \x01(\tB$\x92\xa6\x1d \xa2\x01\x1d\x44\x65scription missing in modelsH\x02\x88\x01\x01:#\x8a\xa6\x1d\x1fR\x1d\x44\x65scription missing in modelsB\n\n\x08_messageB\x07\n\x05_codeB\t\n\x07_detail\"\xd4\x01\n\x06\x43onfig\x12H\n\x05hosts\x18\x01 \x03(\x0b\x32\x13.onexfabricapi.HostB$\x92\xa6\x1d \xa2\x01\x1d\x44\x65scription missing in models\x12P\n\x06\x66\x61\x62ric\x18\x02 \x01(\x0b\x32\x15.onexfabricapi.FabricB$\x92\xa6\x1d \xa2\x01\x1d\x44\x65scription missing in modelsH\x00\x88\x01\x01:#\x8a\xa6\x1d\x1fR\x1d\x44\x65scription missing in modelsB\t\n\x07_fabric\"\x9e\x05\n\x04Host\x12<\n\x04name\x18\x01 \x01(\tB.\x92\xa6\x1d*\xa2\x01\'The name, uniquely identifying the host\x12\x34\n\x07\x61\x64\x64ress\x18\x02 \x01(\tB#\x92\xa6\x1d\x1f\xa2\x01\x1cThe test address of the host\x12:\n\x06prefix\x18\x03 \x01(\x05\x42%\x92\xa6\x1d\x04R\x02\x32\x34\x92\xa6\x1d\x19\xa2\x01\x16The prefix of the hostH\x00\x88\x01\x01\x12\xd9\x02\n\thost_type\x18\x04 \x01(\x0e\x32!.onexfabricapi.Host.HostType.EnumB\x9d\x02\x92\xa6\x1d\x98\x02\xa2\x01\x94\x02Optional host type, if fabric is rendered on physical box.\n- external for hosts/servers physically connected to front panel ports\n- internal_traffic_sink for an emulated server that acts as a traffic sink (i.e. packets sent to its IP address will be routed through the fabric)H\x01\x88\x01\x01\x1aL\n\x08HostType\"@\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\x0c\n\x08\x65xternal\x10\x01\x12\x19\n\x15internal_traffic_sink\x10\x02:#\x8a\xa6\x1d\x1fR\x1d\x44\x65scription missing in modelsB\t\n\x07_prefixB\x0c\n\n_host_type\"\x8b\x03\n\x06\x46\x61\x62ric\x12\\\n\x06\x63hoice\x18\x01 \x01(\x0e\x32!.onexfabricapi.Fabric.Choice.EnumB$\x92\xa6\x1d \xa2\x01\x1d\x44\x65scription missing in modelsH\x00\x88\x01\x01\x12R\n\x04\x63los\x18\x02 \x01(\x0b\x32\x19.onexfabricapi.FabricClosB$\x92\xa6\x1d \xa2\x01\x1d\x44\x65scription missing in modelsH\x01\x88\x01\x01\x12i\n\x0cqos_profiles\x18\x03 \x03(\x0b\x32\x1f.onexfabricapi.FabricQosProfileB2\x92\xa6\x1d.\xa2\x01+A list of Quality of Service (QoS) profiles\x1a+\n\x06\x43hoice\"!\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\x08\n\x04\x63los\x10\x01:#\x8a\xa6\x1d\x1fR\x1d\x44\x65scription missing in modelsB\t\n\x07_choiceB\x07\n\x05_clos\"\x91\x06\n\nFabricClos\x12T\n\x05spine\x18\x01 \x01(\x0b\x32\x1a.onexfabricapi.FabricSpineB$\x92\xa6\x1d \xa2\x01\x1d\x44\x65scription missing in modelsH\x00\x88\x01\x01\x12H\n\x04pods\x18\x02 \x03(\x0b\x32\x18.onexfabricapi.FabricPodB \x92\xa6\x1d\x1c\xa2\x01\x19The pods in the topology.\x12W\n\nhost_links\x18\x03 \x03(\x0b\x32\x1d.onexfabricapi.SwitchHostLinkB$\x92\xa6\x1d \xa2\x01\x1d\x44\x65scription missing in models\x12T\n\x0cpod_profiles\x18\x04 \x03(\x0b\x32\x1f.onexfabricapi.FabricPodProfileB\x1d\x92\xa6\x1d\x19\xa2\x01\x16\x41 list of pod profiles\x12[\n\x0ctor_profiles\x18\x05 \x03(\x0b\x32\x1f.onexfabricapi.FabricTorProfileB$\x92\xa6\x1d \xa2\x01\x1d\x41 list of ToR switch profiles\x12\x9a\x01\n\x15parallel_fabric_count\x18\x06 \x01(\x05\x42v\x92\xa6\x1d\x03R\x01\x31\x92\xa6\x1dk\xa2\x01hNumber of parallel fabrics (aka fabric colors). Spine and pod switches \nare fully meshed within a fabricH\x01\x88\x01\x01:\x95\x01\x8a\xa6\x1d\x90\x01R\x8d\x01\x41n emulation of a multistage switch topology. When folded, results in a topology with (up to) 3 tiers identified as \nspine, pod and tor tier.B\x08\n\x06_spineB\x18\n\x16_parallel_fabric_count\"\xe6\x06\n\x0b\x46\x61\x62ricSpine\x12\x9a\x01\n\x05\x63ount\x18\x01 \x01(\x05\x42\x85\x01\x92\xa6\x1d\x03R\x01\x31\x92\xa6\x1dz\xa2\x01wThe number of spines to be created with each spine sharing the same\ndownlink_ecmp_mode and qos_profile_name properties.H\x00\x88\x01\x01\x12\xe1\x02\n\x12\x64ownlink_ecmp_mode\x18\x02 \x01(\x0e\x32\x30.onexfabricapi.FabricSpine.DownlinkEcmpMode.EnumB\x8d\x02\x92\xa6\x1d\x88\x02\xa2\x01\x84\x02The algorithm for packet distribution over ECMP links.\n- random_spray randomly puts each packet on an ECMP member links \n- hash_3_tuple is a 3 tuple hash of ipv4 src, dst, protocol\n- hash_5_tuple is static_hash_ipv4_l4 but a different resulting RTAG7 hash modeH\x01\x88\x01\x01\x12\x97\x01\n\x10qos_profile_name\x18\x03 \x01(\tBx\x92\xa6\x1dt\xa2\x01qThe name of a qos profile shared by the spines.\n\nx-constraint:\n- #/components/schemas/QosProfile/properties/name\nH\x02\x88\x01\x01\x1a\x61\n\x10\x44ownlinkEcmpMode\"M\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\x10\n\x0crandom_spray\x10\x01\x12\x10\n\x0chash_3_tuple\x10\x02\x12\x10\n\x0chash_5_tuple\x10\x03:#\x8a\xa6\x1d\x1fR\x1d\x44\x65scription missing in modelsB\x08\n\x06_countB\x15\n\x13_downlink_ecmp_modeB\x13\n\x11_qos_profile_name\"\xbc\x02\n\tFabricPod\x12U\n\x05\x63ount\x18\x01 \x01(\x05\x42\x41\x92\xa6\x1d\x03R\x01\x31\x92\xa6\x1d\x36\xa2\x01\x33The number of pods that will share the same profileH\x00\x88\x01\x01\x12\x93\x01\n\x10pod_profile_name\x18\x02 \x01(\tBt\x92\xa6\x1dp\xa2\x01mThe pod profile associated with the pod(s).\n\nx-constraint:\n- #/components/schemas/PodProfile/properties/name\nH\x01\x88\x01\x01:#\x8a\xa6\x1d\x1fR\x1d\x44\x65scription missing in modelsB\x08\n\x06_countB\x13\n\x11_pod_profile_name\"\xb0\x03\n\x10\x46\x61\x62ricPodProfile\x12;\n\x04name\x18\x01 \x01(\tB(\x92\xa6\x1d$\xa2\x01!Uniquely identifies a pod profileH\x00\x88\x01\x01\x12]\n\npod_switch\x18\x02 \x01(\x0b\x32\x1e.onexfabricapi.FabricPodSwitchB$\x92\xa6\x1d \xa2\x01\x1d\x44\x65scription missing in modelsH\x01\x88\x01\x01\x12\x42\n\x04tors\x18\x03 \x03(\x0b\x32\x18.onexfabricapi.FabricTorB\x1a\x92\xa6\x1d\x16\xa2\x01\x13The ToRs in the pod\x12]\n\x1dpod_to_spine_oversubscription\x18\x04 \x01(\tB1\x92\xa6\x1d-\xa2\x01*Oversubscription ratio of the pod switchesH\x02\x88\x01\x01:#\x8a\xa6\x1d\x1fR\x1d\x44\x65scription missing in modelsB\x07\n\x05_nameB\r\n\x0b_pod_switchB \n\x1e_pod_to_spine_oversubscription\"\x83\n\n\x0f\x46\x61\x62ricPodSwitch\x12?\n\x05\x63ount\x18\x01 \x01(\x05\x42+\x92\xa6\x1d\x03R\x01\x31\x92\xa6\x1d \xa2\x01\x1d\x44\x65scription missing in modelsH\x00\x88\x01\x01\x12\xe1\x02\n\x10uplink_ecmp_mode\x18\x02 \x01(\x0e\x32\x32.onexfabricapi.FabricPodSwitch.UplinkEcmpMode.EnumB\x8d\x02\x92\xa6\x1d\x88\x02\xa2\x01\x84\x02The algorithm for packet distribution over ECMP links.\n- random_spray randomly puts each packet on an ECMP member links \n- hash_3_tuple is a 3 tuple hash of ipv4 src, dst, protocol\n- hash_5_tuple is static_hash_ipv4_l4 but a different resulting RTAG7 hash modeH\x01\x88\x01\x01\x12\xe5\x02\n\x12\x64ownlink_ecmp_mode\x18\x03 \x01(\x0e\x32\x34.onexfabricapi.FabricPodSwitch.DownlinkEcmpMode.EnumB\x8d\x02\x92\xa6\x1d\x88\x02\xa2\x01\x84\x02The algorithm for packet distribution over ECMP links.\n- random_spray randomly puts each packet on an ECMP member links \n- hash_3_tuple is a 3 tuple hash of ipv4 src, dst, protocol\n- hash_5_tuple is static_hash_ipv4_l4 but a different resulting RTAG7 hash modeH\x02\x88\x01\x01\x12\xae\x01\n\x10qos_profile_name\x18\x04 \x01(\tB\x8e\x01\x92\xa6\x1d\x89\x01\xa2\x01\x85\x01The name of a qos profile associated with the switches in this pod.\n\nx-constraint:\n- #/components/schemas/QosProfile/properties/name\nH\x03\x88\x01\x01\x1a_\n\x0eUplinkEcmpMode\"M\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\x10\n\x0crandom_spray\x10\x01\x12\x10\n\x0chash_3_tuple\x10\x02\x12\x10\n\x0chash_5_tuple\x10\x03\x1a\x61\n\x10\x44ownlinkEcmpMode\"M\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\x10\n\x0crandom_spray\x10\x01\x12\x10\n\x0chash_3_tuple\x10\x02\x12\x10\n\x0chash_5_tuple\x10\x03:#\x8a\xa6\x1d\x1fR\x1d\x44\x65scription missing in modelsB\x08\n\x06_countB\x13\n\x11_uplink_ecmp_modeB\x15\n\x13_downlink_ecmp_modeB\x13\n\x11_qos_profile_name\"\xd3\x02\n\tFabricTor\x12Y\n\x05\x63ount\x18\x01 \x01(\x05\x42\x45\x92\xa6\x1d\x03R\x01\x31\x92\xa6\x1d:\xa2\x01\x37number of ToR switches that will share the same profileH\x00\x88\x01\x01\x12\xa6\x01\n\x10tor_profile_name\x18\x02 \x01(\tB\x86\x01\x92\xa6\x1d\x81\x01\xa2\x01~The names of ToR profiles associated with the ToR switch(es)\n\nx-constraint:\n- #/components/schemas/TorProfile/properties/name\nH\x01\x88\x01\x01:#\x8a\xa6\x1d\x1fR\x1d\x44\x65scription missing in modelsB\x08\n\x06_countB\x13\n\x11_tor_profile_name\"\xbb\x08\n\x10\x46\x61\x62ricTorProfile\x12\x37\n\x04name\x18\x01 \x01(\tB$\x92\xa6\x1d \xa2\x01\x1d\x44\x65scription missing in modelsH\x00\x88\x01\x01\x12[\n\x08tor_mode\x18\x02 \x01(\x0e\x32,.onexfabricapi.FabricTorProfile.TorMode.EnumB\x16\x92\xa6\x1d\x12\xa2\x01\x0fToR switch modeH\x01\x88\x01\x01\x12\xe2\x02\n\x10uplink_ecmp_mode\x18\x03 \x01(\x0e\x32\x33.onexfabricapi.FabricTorProfile.UplinkEcmpMode.EnumB\x8d\x02\x92\xa6\x1d\x88\x02\xa2\x01\x84\x02The algorithm for packet distribution over ECMP links.\n- random_spray randomly puts each packet on an ECMP member links \n- hash_3_tuple is a 3 tuple hash of ipv4 src, dst, protocol\n- hash_5_tuple is static_hash_ipv4_l4 but a different resulting RTAG7 hash modeH\x02\x88\x01\x01\x12\xa6\x01\n\x10qos_profile_name\x18\x04 \x01(\tB\x86\x01\x92\xa6\x1d\x81\x01\xa2\x01~The name of a qos profile associated with the ToR switch(es)\n\nx-constraint:\n- #/components/schemas/QosProfile/properties/name\nH\x03\x88\x01\x01\x12\x61\n\x1btor_to_pod_oversubscription\x18\x05 \x01(\tB7\x92\xa6\x1d\x33\xa2\x01\x30The oversubscription ratio of the ToR switch(es)H\x04\x88\x01\x01\x1a:\n\x07TorMode\"/\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\n\n\x06layer2\x10\x01\x12\n\n\x06layer3\x10\x02\x1a_\n\x0eUplinkEcmpMode\"M\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\x10\n\x0crandom_spray\x10\x01\x12\x10\n\x0chash_3_tuple\x10\x02\x12\x10\n\x0chash_5_tuple\x10\x03:#\x8a\xa6\x1d\x1fR\x1d\x44\x65scription missing in modelsB\x07\n\x05_nameB\x0b\n\t_tor_modeB\x13\n\x11_uplink_ecmp_modeB\x13\n\x11_qos_profile_nameB\x1e\n\x1c_tor_to_pod_oversubscription\"\xee\x04\n\x10\x46\x61\x62ricQosProfile\x12\x32\n\x04name\x18\x01 \x01(\tB$\x92\xa6\x1d \xa2\x01\x1d\x44\x65scription missing in models\x12u\n\x11ingress_admission\x18\x02 \x01(\x0b\x32/.onexfabricapi.FabricQosProfileIngressAdmissionB$\x92\xa6\x1d \xa2\x01\x1d\x44\x65scription missing in modelsH\x00\x88\x01\x01\x12\x66\n\tscheduler\x18\x03 \x01(\x0b\x32(.onexfabricapi.FabricQosProfileSchedulerB$\x92\xa6\x1d \xa2\x01\x1d\x44\x65scription missing in modelsH\x01\x88\x01\x01\x12}\n\x15packet_classification\x18\x04 \x01(\x0b\x32\x33.onexfabricapi.FabricQosProfilePacketClassificationB$\x92\xa6\x1d \xa2\x01\x1d\x44\x65scription missing in modelsH\x02\x88\x01\x01\x12\\\n\x04wred\x18\x05 \x01(\x0b\x32#.onexfabricapi.FabricQosProfileWredB$\x92\xa6\x1d \xa2\x01\x1d\x44\x65scription missing in modelsH\x03\x88\x01\x01:#\x8a\xa6\x1d\x1fR\x1d\x44\x65scription missing in modelsB\x14\n\x12_ingress_admissionB\x0c\n\n_schedulerB\x18\n\x16_packet_classificationB\x07\n\x05_wred\"\xc0\x03\n FabricQosProfileIngressAdmission\x12\x81\x01\n\x15reserved_buffer_bytes\x18\x01 \x01(\x05\x42]\x92\xa6\x1d\x03R\x01\x30\x92\xa6\x1dR\xa2\x01OBuffer space (in bytes) reserved for each port that this Qos profile applies toH\x00\x88\x01\x01\x12\x62\n\x13shared_buffer_bytes\x18\x02 \x01(\x05\x42@\x92\xa6\x1d\x03R\x01\x30\x92\xa6\x1d\x35\xa2\x01\x32\x41mount of shared buffer space (in bytes) availableH\x01\x88\x01\x01\x12]\n\rpriority_list\x18\x03 \x03(\tBF\x92\xa6\x1d\x42\xa2\x01?List of priorities for which the buffer sizes should be applied:#\x8a\xa6\x1d\x1fR\x1d\x44\x65scription missing in modelsB\x18\n\x16_reserved_buffer_bytesB\x16\n\x14_shared_buffer_bytes\"\x94\x03\n\x19\x46\x61\x62ricQosProfileScheduler\x12\x81\x01\n\x0escheduler_mode\x18\x01 \x01(\x0e\x32;.onexfabricapi.FabricQosProfileScheduler.SchedulerMode.EnumB\'\x92\xa6\x1d#\xa2\x01 The queue scheduling discipline H\x00\x88\x01\x01\x12\x62\n\x0bweight_list\x18\x02 \x03(\x05\x42M\x92\xa6\x1dI\xa2\x01\x46\x41 list of egress queue weights for weighted round robin scheduler mode\x1aW\n\rSchedulerMode\"F\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\x13\n\x0fstrict_priority\x10\x01\x12\x18\n\x14weighted_round_robin\x10\x02:#\x8a\xa6\x1d\x1fR\x1d\x44\x65scription missing in modelsB\x11\n\x0f_scheduler_mode\"\x97\x03\n$FabricQosProfilePacketClassification\x12\x84\x01\n\x19map_dscp_to_traffic_class\x18\x01 \x01(\x0b\x32\x36.onexfabricapi.FabricQosProfilePacketClassificationMapB$\x92\xa6\x1d \xa2\x01\x1d\x44\x65scription missing in modelsH\x00\x88\x01\x01\x12\x85\x01\n\x1amap_traffic_class_to_queue\x18\x02 \x01(\x0b\x32\x36.onexfabricapi.FabricQosProfilePacketClassificationMapB$\x92\xa6\x1d \xa2\x01\x1d\x44\x65scription missing in modelsH\x01\x88\x01\x01:#\x8a\xa6\x1d\x1fR\x1d\x44\x65scription missing in modelsB\x1c\n\x1a_map_dscp_to_traffic_classB\x1d\n\x1b_map_traffic_class_to_queue\"N\n\'FabricQosProfilePacketClassificationMap:#\x8a\xa6\x1d\x1fR\x1d\x44\x65scription missing in models\"\xac\x05\n\x14\x46\x61\x62ricQosProfileWred\x12\x43\n\nqueue_list\x18\x01 \x03(\tB/\x92\xa6\x1d+\xa2\x01(List of queues for which WRED is enabled\x12Q\n\x13\x65\x63n_marking_enabled\x18\x02 \x01(\x08\x42/\x92\xa6\x1d\x07R\x05\x46\x61lse\x92\xa6\x1d \xa2\x01\x1d\x44\x65scription missing in modelsH\x00\x88\x01\x01\x12u\n\x13min_threshold_bytes\x18\x03 \x01(\x05\x42S\x92\xa6\x1d\x03R\x01\x31\x92\xa6\x1dH\xa2\x01\x45\x45gress queue threshold beyond which packets will be droppes or markedH\x01\x88\x01\x01\x12u\n\x13max_threshold_bytes\x18\x04 \x01(\x05\x42S\x92\xa6\x1d\x03R\x01\x32\x92\xa6\x1dH\xa2\x01\x45\x45gress queue threshold beyond which packets will be droppes or markedH\x02\x88\x01\x01\x12n\n\x17max_probability_percent\x18\x05 \x01(\x05\x42H\x92\xa6\x1d\x05R\x03\x31\x30\x30\x92\xa6\x1d;\xa2\x01\x38Probability of dropping/marking packets at max thresholdH\x03\x88\x01\x01::\x8a\xa6\x1d\x36R4WRED (weighted random early detection) configurationB\x16\n\x14_ecn_marking_enabledB\x16\n\x14_min_threshold_bytesB\x16\n\x14_max_threshold_bytesB\x1a\n\x18_max_probability_percent\"\xe3\x06\n\x0eSwitchHostLink\x12X\n\thost_name\x18\x01 \x01(\tBE\x92\xa6\x1d\x41\xa2\x01>TBD\n\nx-constraint:\n- #components/schemas/Host/properties/name\n\x12m\n\x10\x66ront_panel_port\x18\x02 \x01(\x05\x42N\x92\xa6\x1dJ\xa2\x01GOptional front panel port number, if fabric is rendered on physical boxH\x00\x88\x01\x01\x12y\n\x06\x63hoice\x18\x03 \x01(\x0e\x32).onexfabricapi.SwitchHostLink.Choice.EnumB9\x92\xa6\x1d\x11R\x0f\x43hoice.Enum.tor\x92\xa6\x1d \xa2\x01\x1d\x44\x65scription missing in modelsH\x01\x88\x01\x01\x12~\n\x05spine\x18\x04 \x01(\x05\x42j\x92\xa6\x1d\x66\xa2\x01\x63One based index of the spine switch based on the number of spines \nconfigured in the clos topology.H\x02\x88\x01\x01\x12^\n\x03pod\x18\x05 \x01(\x0b\x32&.onexfabricapi.SwitchHostLinkSwitchRefB$\x92\xa6\x1d \xa2\x01\x1d\x44\x65scription missing in modelsH\x03\x88\x01\x01\x12^\n\x03tor\x18\x06 \x01(\x0b\x32&.onexfabricapi.SwitchHostLinkSwitchRefB$\x92\xa6\x1d \xa2\x01\x1d\x44\x65scription missing in modelsH\x04\x88\x01\x01\x1a>\n\x06\x43hoice\"4\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\t\n\x05spine\x10\x01\x12\x07\n\x03pod\x10\x02\x12\x07\n\x03tor\x10\x03:S\x8a\xa6\x1dORMThe ingress point of a host which is the index of a spine, pod or tor switch.B\x13\n\x11_front_panel_portB\t\n\x07_choiceB\x08\n\x06_spineB\x06\n\x04_podB\x06\n\x04_tor\"\xc8\x02\n\x17SwitchHostLinkSwitchRef\x12j\n\tpod_index\x18\x01 \x01(\x05\x42R\x92\xa6\x1d\x03R\x01\x31\x92\xa6\x1dG\xa2\x01\x44One-based index of the pod based on the number of pods in the fabricH\x00\x88\x01\x01\x12\x66\n\x0cswitch_index\x18\x02 \x01(\x05\x42K\x92\xa6\x1d\x03R\x01\x31\x92\xa6\x1d@\xa2\x01=One-based index of the pod or ToR switch in the indicated podH\x01\x88\x01\x01::\x8a\xa6\x1d\x36R4Location of the switch based on pod and switch indexB\x0c\n\n_pod_indexB\x0f\n\r_switch_index\"9\n\x10SetConfigRequest\x12%\n\x06\x63onfig\x18\x01 \x01(\x0b\x32\x15.onexfabricapi.Config\"\x82\x02\n\x11SetConfigResponse\x12\x39\n\x0fstatus_code_400\x18\x01 \x01(\x0b\x32\x1b.onexfabricapi.ErrorDetailsH\x00\x88\x01\x01\x12\x39\n\x0fstatus_code_500\x18\x02 \x01(\x0b\x32\x1b.onexfabricapi.ErrorDetailsH\x01\x88\x01\x01\x12;\n\x0fstatus_code_200\x18\x03 \x01(\x0b\x32\x1d.onexfabricapi.WarningDetailsH\x02\x88\x01\x01\x42\x12\n\x10_status_code_400B\x12\n\x10_status_code_500B\x12\n\x10_status_code_200\"\xfa\x01\n\x11GetConfigResponse\x12\x33\n\x0fstatus_code_200\x18\x01 \x01(\x0b\x32\x15.onexfabricapi.ConfigH\x00\x88\x01\x01\x12\x39\n\x0fstatus_code_400\x18\x02 \x01(\x0b\x32\x1b.onexfabricapi.ErrorDetailsH\x01\x88\x01\x01\x12\x39\n\x0fstatus_code_500\x18\x03 \x01(\x0b\x32\x1b.onexfabricapi.ErrorDetailsH\x02\x88\x01\x01\x42\x12\n\x10_status_code_200B\x12\n\x10_status_code_400B\x12\n\x10_status_code_5002\x91\x02\n\x07Openapi\x12t\n\tSetConfig\x12\x1f.onexfabricapi.SetConfigRequest\x1a .onexfabricapi.SetConfigResponse\"$\xa2\xa6\x1d R\x1eSets the fabric configuration.\x12k\n\tGetConfig\x12\x16.google.protobuf.Empty\x1a .onexfabricapi.GetConfigResponse\"$\xa2\xa6\x1d R\x1eGets the fabric configuration.\x1a#\x9a\xa6\x1d\x1fR\x1d\x44\x65scription missing in models:T\n\x08msg_meta\x12\x1f.google.protobuf.MessageOptions\x18\xe1\xd4\x03 \x01(\x0b\x32\x1c.onexfabricapi.OpenApiMsgOpt\x88\x01\x01:R\n\x08\x66ld_meta\x12\x1d.google.protobuf.FieldOptions\x18\xe2\xd4\x03 \x01(\x0b\x32\x1c.onexfabricapi.OpenApiFldOpt\x88\x01\x01:T\n\x08svc_meta\x12\x1f.google.protobuf.ServiceOptions\x18\xe3\xd4\x03 \x01(\x0b\x32\x1c.onexfabricapi.OpenApiSvcOpt\x88\x01\x01:S\n\x08rpc_meta\x12\x1e.google.protobuf.MethodOptions\x18\xe4\xd4\x03 \x01(\x0b\x32\x1c.onexfabricapi.OpenApiRpcOpt\x88\x01\x01\x62\x06proto3')


MSG_META_FIELD_NUMBER = 60001
msg_meta = DESCRIPTOR.extensions_by_name['msg_meta']
FLD_META_FIELD_NUMBER = 60002
fld_meta = DESCRIPTOR.extensions_by_name['fld_meta']
SVC_META_FIELD_NUMBER = 60003
svc_meta = DESCRIPTOR.extensions_by_name['svc_meta']
RPC_META_FIELD_NUMBER = 60004
rpc_meta = DESCRIPTOR.extensions_by_name['rpc_meta']

_OPENAPIMSGOPT = DESCRIPTOR.message_types_by_name['OpenApiMsgOpt']
_OPENAPIFLDOPT = DESCRIPTOR.message_types_by_name['OpenApiFldOpt']
_OPENAPISVCOPT = DESCRIPTOR.message_types_by_name['OpenApiSvcOpt']
_OPENAPIRPCOPT = DESCRIPTOR.message_types_by_name['OpenApiRpcOpt']
_GLOBALNAMEDOBJECT = DESCRIPTOR.message_types_by_name['GlobalNamedObject']
_ERRORDETAILS = DESCRIPTOR.message_types_by_name['ErrorDetails']
_WARNINGDETAILS = DESCRIPTOR.message_types_by_name['WarningDetails']
_ERRORITEM = DESCRIPTOR.message_types_by_name['ErrorItem']
_CONFIG = DESCRIPTOR.message_types_by_name['Config']
_HOST = DESCRIPTOR.message_types_by_name['Host']
_HOST_HOSTTYPE = _HOST.nested_types_by_name['HostType']
_FABRIC = DESCRIPTOR.message_types_by_name['Fabric']
_FABRIC_CHOICE = _FABRIC.nested_types_by_name['Choice']
_FABRICCLOS = DESCRIPTOR.message_types_by_name['FabricClos']
_FABRICSPINE = DESCRIPTOR.message_types_by_name['FabricSpine']
_FABRICSPINE_DOWNLINKECMPMODE = _FABRICSPINE.nested_types_by_name['DownlinkEcmpMode']
_FABRICPOD = DESCRIPTOR.message_types_by_name['FabricPod']
_FABRICPODPROFILE = DESCRIPTOR.message_types_by_name['FabricPodProfile']
_FABRICPODSWITCH = DESCRIPTOR.message_types_by_name['FabricPodSwitch']
_FABRICPODSWITCH_UPLINKECMPMODE = _FABRICPODSWITCH.nested_types_by_name['UplinkEcmpMode']
_FABRICPODSWITCH_DOWNLINKECMPMODE = _FABRICPODSWITCH.nested_types_by_name['DownlinkEcmpMode']
_FABRICTOR = DESCRIPTOR.message_types_by_name['FabricTor']
_FABRICTORPROFILE = DESCRIPTOR.message_types_by_name['FabricTorProfile']
_FABRICTORPROFILE_TORMODE = _FABRICTORPROFILE.nested_types_by_name['TorMode']
_FABRICTORPROFILE_UPLINKECMPMODE = _FABRICTORPROFILE.nested_types_by_name['UplinkEcmpMode']
_FABRICQOSPROFILE = DESCRIPTOR.message_types_by_name['FabricQosProfile']
_FABRICQOSPROFILEINGRESSADMISSION = DESCRIPTOR.message_types_by_name['FabricQosProfileIngressAdmission']
_FABRICQOSPROFILESCHEDULER = DESCRIPTOR.message_types_by_name['FabricQosProfileScheduler']
_FABRICQOSPROFILESCHEDULER_SCHEDULERMODE = _FABRICQOSPROFILESCHEDULER.nested_types_by_name['SchedulerMode']
_FABRICQOSPROFILEPACKETCLASSIFICATION = DESCRIPTOR.message_types_by_name['FabricQosProfilePacketClassification']
_FABRICQOSPROFILEPACKETCLASSIFICATIONMAP = DESCRIPTOR.message_types_by_name['FabricQosProfilePacketClassificationMap']
_FABRICQOSPROFILEWRED = DESCRIPTOR.message_types_by_name['FabricQosProfileWred']
_SWITCHHOSTLINK = DESCRIPTOR.message_types_by_name['SwitchHostLink']
_SWITCHHOSTLINK_CHOICE = _SWITCHHOSTLINK.nested_types_by_name['Choice']
_SWITCHHOSTLINKSWITCHREF = DESCRIPTOR.message_types_by_name['SwitchHostLinkSwitchRef']
_SETCONFIGREQUEST = DESCRIPTOR.message_types_by_name['SetConfigRequest']
_SETCONFIGRESPONSE = DESCRIPTOR.message_types_by_name['SetConfigResponse']
_GETCONFIGRESPONSE = DESCRIPTOR.message_types_by_name['GetConfigResponse']
_HOST_HOSTTYPE_ENUM = _HOST_HOSTTYPE.enum_types_by_name['Enum']
_FABRIC_CHOICE_ENUM = _FABRIC_CHOICE.enum_types_by_name['Enum']
_FABRICSPINE_DOWNLINKECMPMODE_ENUM = _FABRICSPINE_DOWNLINKECMPMODE.enum_types_by_name['Enum']
_FABRICPODSWITCH_UPLINKECMPMODE_ENUM = _FABRICPODSWITCH_UPLINKECMPMODE.enum_types_by_name['Enum']
_FABRICPODSWITCH_DOWNLINKECMPMODE_ENUM = _FABRICPODSWITCH_DOWNLINKECMPMODE.enum_types_by_name['Enum']
_FABRICTORPROFILE_TORMODE_ENUM = _FABRICTORPROFILE_TORMODE.enum_types_by_name['Enum']
_FABRICTORPROFILE_UPLINKECMPMODE_ENUM = _FABRICTORPROFILE_UPLINKECMPMODE.enum_types_by_name['Enum']
_FABRICQOSPROFILESCHEDULER_SCHEDULERMODE_ENUM = _FABRICQOSPROFILESCHEDULER_SCHEDULERMODE.enum_types_by_name['Enum']
_SWITCHHOSTLINK_CHOICE_ENUM = _SWITCHHOSTLINK_CHOICE.enum_types_by_name['Enum']
OpenApiMsgOpt = _reflection.GeneratedProtocolMessageType('OpenApiMsgOpt', (_message.Message,), {
  'DESCRIPTOR' : _OPENAPIMSGOPT,
  '__module__' : 'onexfabricapi_pb2'
  # @@protoc_insertion_point(class_scope:onexfabricapi.OpenApiMsgOpt)
  })
_sym_db.RegisterMessage(OpenApiMsgOpt)

OpenApiFldOpt = _reflection.GeneratedProtocolMessageType('OpenApiFldOpt', (_message.Message,), {
  'DESCRIPTOR' : _OPENAPIFLDOPT,
  '__module__' : 'onexfabricapi_pb2'
  # @@protoc_insertion_point(class_scope:onexfabricapi.OpenApiFldOpt)
  })
_sym_db.RegisterMessage(OpenApiFldOpt)

OpenApiSvcOpt = _reflection.GeneratedProtocolMessageType('OpenApiSvcOpt', (_message.Message,), {
  'DESCRIPTOR' : _OPENAPISVCOPT,
  '__module__' : 'onexfabricapi_pb2'
  # @@protoc_insertion_point(class_scope:onexfabricapi.OpenApiSvcOpt)
  })
_sym_db.RegisterMessage(OpenApiSvcOpt)

OpenApiRpcOpt = _reflection.GeneratedProtocolMessageType('OpenApiRpcOpt', (_message.Message,), {
  'DESCRIPTOR' : _OPENAPIRPCOPT,
  '__module__' : 'onexfabricapi_pb2'
  # @@protoc_insertion_point(class_scope:onexfabricapi.OpenApiRpcOpt)
  })
_sym_db.RegisterMessage(OpenApiRpcOpt)

GlobalNamedObject = _reflection.GeneratedProtocolMessageType('GlobalNamedObject', (_message.Message,), {
  'DESCRIPTOR' : _GLOBALNAMEDOBJECT,
  '__module__' : 'onexfabricapi_pb2'
  # @@protoc_insertion_point(class_scope:onexfabricapi.GlobalNamedObject)
  })
_sym_db.RegisterMessage(GlobalNamedObject)

ErrorDetails = _reflection.GeneratedProtocolMessageType('ErrorDetails', (_message.Message,), {
  'DESCRIPTOR' : _ERRORDETAILS,
  '__module__' : 'onexfabricapi_pb2'
  # @@protoc_insertion_point(class_scope:onexfabricapi.ErrorDetails)
  })
_sym_db.RegisterMessage(ErrorDetails)

WarningDetails = _reflection.GeneratedProtocolMessageType('WarningDetails', (_message.Message,), {
  'DESCRIPTOR' : _WARNINGDETAILS,
  '__module__' : 'onexfabricapi_pb2'
  # @@protoc_insertion_point(class_scope:onexfabricapi.WarningDetails)
  })
_sym_db.RegisterMessage(WarningDetails)

ErrorItem = _reflection.GeneratedProtocolMessageType('ErrorItem', (_message.Message,), {
  'DESCRIPTOR' : _ERRORITEM,
  '__module__' : 'onexfabricapi_pb2'
  # @@protoc_insertion_point(class_scope:onexfabricapi.ErrorItem)
  })
_sym_db.RegisterMessage(ErrorItem)

Config = _reflection.GeneratedProtocolMessageType('Config', (_message.Message,), {
  'DESCRIPTOR' : _CONFIG,
  '__module__' : 'onexfabricapi_pb2'
  # @@protoc_insertion_point(class_scope:onexfabricapi.Config)
  })
_sym_db.RegisterMessage(Config)

Host = _reflection.GeneratedProtocolMessageType('Host', (_message.Message,), {

  'HostType' : _reflection.GeneratedProtocolMessageType('HostType', (_message.Message,), {
    'DESCRIPTOR' : _HOST_HOSTTYPE,
    '__module__' : 'onexfabricapi_pb2'
    # @@protoc_insertion_point(class_scope:onexfabricapi.Host.HostType)
    })
  ,
  'DESCRIPTOR' : _HOST,
  '__module__' : 'onexfabricapi_pb2'
  # @@protoc_insertion_point(class_scope:onexfabricapi.Host)
  })
_sym_db.RegisterMessage(Host)
_sym_db.RegisterMessage(Host.HostType)

Fabric = _reflection.GeneratedProtocolMessageType('Fabric', (_message.Message,), {

  'Choice' : _reflection.GeneratedProtocolMessageType('Choice', (_message.Message,), {
    'DESCRIPTOR' : _FABRIC_CHOICE,
    '__module__' : 'onexfabricapi_pb2'
    # @@protoc_insertion_point(class_scope:onexfabricapi.Fabric.Choice)
    })
  ,
  'DESCRIPTOR' : _FABRIC,
  '__module__' : 'onexfabricapi_pb2'
  # @@protoc_insertion_point(class_scope:onexfabricapi.Fabric)
  })
_sym_db.RegisterMessage(Fabric)
_sym_db.RegisterMessage(Fabric.Choice)

FabricClos = _reflection.GeneratedProtocolMessageType('FabricClos', (_message.Message,), {
  'DESCRIPTOR' : _FABRICCLOS,
  '__module__' : 'onexfabricapi_pb2'
  # @@protoc_insertion_point(class_scope:onexfabricapi.FabricClos)
  })
_sym_db.RegisterMessage(FabricClos)

FabricSpine = _reflection.GeneratedProtocolMessageType('FabricSpine', (_message.Message,), {

  'DownlinkEcmpMode' : _reflection.GeneratedProtocolMessageType('DownlinkEcmpMode', (_message.Message,), {
    'DESCRIPTOR' : _FABRICSPINE_DOWNLINKECMPMODE,
    '__module__' : 'onexfabricapi_pb2'
    # @@protoc_insertion_point(class_scope:onexfabricapi.FabricSpine.DownlinkEcmpMode)
    })
  ,
  'DESCRIPTOR' : _FABRICSPINE,
  '__module__' : 'onexfabricapi_pb2'
  # @@protoc_insertion_point(class_scope:onexfabricapi.FabricSpine)
  })
_sym_db.RegisterMessage(FabricSpine)
_sym_db.RegisterMessage(FabricSpine.DownlinkEcmpMode)

FabricPod = _reflection.GeneratedProtocolMessageType('FabricPod', (_message.Message,), {
  'DESCRIPTOR' : _FABRICPOD,
  '__module__' : 'onexfabricapi_pb2'
  # @@protoc_insertion_point(class_scope:onexfabricapi.FabricPod)
  })
_sym_db.RegisterMessage(FabricPod)

FabricPodProfile = _reflection.GeneratedProtocolMessageType('FabricPodProfile', (_message.Message,), {
  'DESCRIPTOR' : _FABRICPODPROFILE,
  '__module__' : 'onexfabricapi_pb2'
  # @@protoc_insertion_point(class_scope:onexfabricapi.FabricPodProfile)
  })
_sym_db.RegisterMessage(FabricPodProfile)

FabricPodSwitch = _reflection.GeneratedProtocolMessageType('FabricPodSwitch', (_message.Message,), {

  'UplinkEcmpMode' : _reflection.GeneratedProtocolMessageType('UplinkEcmpMode', (_message.Message,), {
    'DESCRIPTOR' : _FABRICPODSWITCH_UPLINKECMPMODE,
    '__module__' : 'onexfabricapi_pb2'
    # @@protoc_insertion_point(class_scope:onexfabricapi.FabricPodSwitch.UplinkEcmpMode)
    })
  ,

  'DownlinkEcmpMode' : _reflection.GeneratedProtocolMessageType('DownlinkEcmpMode', (_message.Message,), {
    'DESCRIPTOR' : _FABRICPODSWITCH_DOWNLINKECMPMODE,
    '__module__' : 'onexfabricapi_pb2'
    # @@protoc_insertion_point(class_scope:onexfabricapi.FabricPodSwitch.DownlinkEcmpMode)
    })
  ,
  'DESCRIPTOR' : _FABRICPODSWITCH,
  '__module__' : 'onexfabricapi_pb2'
  # @@protoc_insertion_point(class_scope:onexfabricapi.FabricPodSwitch)
  })
_sym_db.RegisterMessage(FabricPodSwitch)
_sym_db.RegisterMessage(FabricPodSwitch.UplinkEcmpMode)
_sym_db.RegisterMessage(FabricPodSwitch.DownlinkEcmpMode)

FabricTor = _reflection.GeneratedProtocolMessageType('FabricTor', (_message.Message,), {
  'DESCRIPTOR' : _FABRICTOR,
  '__module__' : 'onexfabricapi_pb2'
  # @@protoc_insertion_point(class_scope:onexfabricapi.FabricTor)
  })
_sym_db.RegisterMessage(FabricTor)

FabricTorProfile = _reflection.GeneratedProtocolMessageType('FabricTorProfile', (_message.Message,), {

  'TorMode' : _reflection.GeneratedProtocolMessageType('TorMode', (_message.Message,), {
    'DESCRIPTOR' : _FABRICTORPROFILE_TORMODE,
    '__module__' : 'onexfabricapi_pb2'
    # @@protoc_insertion_point(class_scope:onexfabricapi.FabricTorProfile.TorMode)
    })
  ,

  'UplinkEcmpMode' : _reflection.GeneratedProtocolMessageType('UplinkEcmpMode', (_message.Message,), {
    'DESCRIPTOR' : _FABRICTORPROFILE_UPLINKECMPMODE,
    '__module__' : 'onexfabricapi_pb2'
    # @@protoc_insertion_point(class_scope:onexfabricapi.FabricTorProfile.UplinkEcmpMode)
    })
  ,
  'DESCRIPTOR' : _FABRICTORPROFILE,
  '__module__' : 'onexfabricapi_pb2'
  # @@protoc_insertion_point(class_scope:onexfabricapi.FabricTorProfile)
  })
_sym_db.RegisterMessage(FabricTorProfile)
_sym_db.RegisterMessage(FabricTorProfile.TorMode)
_sym_db.RegisterMessage(FabricTorProfile.UplinkEcmpMode)

FabricQosProfile = _reflection.GeneratedProtocolMessageType('FabricQosProfile', (_message.Message,), {
  'DESCRIPTOR' : _FABRICQOSPROFILE,
  '__module__' : 'onexfabricapi_pb2'
  # @@protoc_insertion_point(class_scope:onexfabricapi.FabricQosProfile)
  })
_sym_db.RegisterMessage(FabricQosProfile)

FabricQosProfileIngressAdmission = _reflection.GeneratedProtocolMessageType('FabricQosProfileIngressAdmission', (_message.Message,), {
  'DESCRIPTOR' : _FABRICQOSPROFILEINGRESSADMISSION,
  '__module__' : 'onexfabricapi_pb2'
  # @@protoc_insertion_point(class_scope:onexfabricapi.FabricQosProfileIngressAdmission)
  })
_sym_db.RegisterMessage(FabricQosProfileIngressAdmission)

FabricQosProfileScheduler = _reflection.GeneratedProtocolMessageType('FabricQosProfileScheduler', (_message.Message,), {

  'SchedulerMode' : _reflection.GeneratedProtocolMessageType('SchedulerMode', (_message.Message,), {
    'DESCRIPTOR' : _FABRICQOSPROFILESCHEDULER_SCHEDULERMODE,
    '__module__' : 'onexfabricapi_pb2'
    # @@protoc_insertion_point(class_scope:onexfabricapi.FabricQosProfileScheduler.SchedulerMode)
    })
  ,
  'DESCRIPTOR' : _FABRICQOSPROFILESCHEDULER,
  '__module__' : 'onexfabricapi_pb2'
  # @@protoc_insertion_point(class_scope:onexfabricapi.FabricQosProfileScheduler)
  })
_sym_db.RegisterMessage(FabricQosProfileScheduler)
_sym_db.RegisterMessage(FabricQosProfileScheduler.SchedulerMode)

FabricQosProfilePacketClassification = _reflection.GeneratedProtocolMessageType('FabricQosProfilePacketClassification', (_message.Message,), {
  'DESCRIPTOR' : _FABRICQOSPROFILEPACKETCLASSIFICATION,
  '__module__' : 'onexfabricapi_pb2'
  # @@protoc_insertion_point(class_scope:onexfabricapi.FabricQosProfilePacketClassification)
  })
_sym_db.RegisterMessage(FabricQosProfilePacketClassification)

FabricQosProfilePacketClassificationMap = _reflection.GeneratedProtocolMessageType('FabricQosProfilePacketClassificationMap', (_message.Message,), {
  'DESCRIPTOR' : _FABRICQOSPROFILEPACKETCLASSIFICATIONMAP,
  '__module__' : 'onexfabricapi_pb2'
  # @@protoc_insertion_point(class_scope:onexfabricapi.FabricQosProfilePacketClassificationMap)
  })
_sym_db.RegisterMessage(FabricQosProfilePacketClassificationMap)

FabricQosProfileWred = _reflection.GeneratedProtocolMessageType('FabricQosProfileWred', (_message.Message,), {
  'DESCRIPTOR' : _FABRICQOSPROFILEWRED,
  '__module__' : 'onexfabricapi_pb2'
  # @@protoc_insertion_point(class_scope:onexfabricapi.FabricQosProfileWred)
  })
_sym_db.RegisterMessage(FabricQosProfileWred)

SwitchHostLink = _reflection.GeneratedProtocolMessageType('SwitchHostLink', (_message.Message,), {

  'Choice' : _reflection.GeneratedProtocolMessageType('Choice', (_message.Message,), {
    'DESCRIPTOR' : _SWITCHHOSTLINK_CHOICE,
    '__module__' : 'onexfabricapi_pb2'
    # @@protoc_insertion_point(class_scope:onexfabricapi.SwitchHostLink.Choice)
    })
  ,
  'DESCRIPTOR' : _SWITCHHOSTLINK,
  '__module__' : 'onexfabricapi_pb2'
  # @@protoc_insertion_point(class_scope:onexfabricapi.SwitchHostLink)
  })
_sym_db.RegisterMessage(SwitchHostLink)
_sym_db.RegisterMessage(SwitchHostLink.Choice)

SwitchHostLinkSwitchRef = _reflection.GeneratedProtocolMessageType('SwitchHostLinkSwitchRef', (_message.Message,), {
  'DESCRIPTOR' : _SWITCHHOSTLINKSWITCHREF,
  '__module__' : 'onexfabricapi_pb2'
  # @@protoc_insertion_point(class_scope:onexfabricapi.SwitchHostLinkSwitchRef)
  })
_sym_db.RegisterMessage(SwitchHostLinkSwitchRef)

SetConfigRequest = _reflection.GeneratedProtocolMessageType('SetConfigRequest', (_message.Message,), {
  'DESCRIPTOR' : _SETCONFIGREQUEST,
  '__module__' : 'onexfabricapi_pb2'
  # @@protoc_insertion_point(class_scope:onexfabricapi.SetConfigRequest)
  })
_sym_db.RegisterMessage(SetConfigRequest)

SetConfigResponse = _reflection.GeneratedProtocolMessageType('SetConfigResponse', (_message.Message,), {
  'DESCRIPTOR' : _SETCONFIGRESPONSE,
  '__module__' : 'onexfabricapi_pb2'
  # @@protoc_insertion_point(class_scope:onexfabricapi.SetConfigResponse)
  })
_sym_db.RegisterMessage(SetConfigResponse)

GetConfigResponse = _reflection.GeneratedProtocolMessageType('GetConfigResponse', (_message.Message,), {
  'DESCRIPTOR' : _GETCONFIGRESPONSE,
  '__module__' : 'onexfabricapi_pb2'
  # @@protoc_insertion_point(class_scope:onexfabricapi.GetConfigResponse)
  })
_sym_db.RegisterMessage(GetConfigResponse)

_OPENAPI = DESCRIPTOR.services_by_name['Openapi']
if _descriptor._USE_C_DESCRIPTORS == False:
  google_dot_protobuf_dot_descriptor__pb2.MessageOptions.RegisterExtension(msg_meta)
  google_dot_protobuf_dot_descriptor__pb2.FieldOptions.RegisterExtension(fld_meta)
  google_dot_protobuf_dot_descriptor__pb2.ServiceOptions.RegisterExtension(svc_meta)
  google_dot_protobuf_dot_descriptor__pb2.MethodOptions.RegisterExtension(rpc_meta)

  DESCRIPTOR._options = None
  _GLOBALNAMEDOBJECT.fields_by_name['name']._options = None
  _GLOBALNAMEDOBJECT.fields_by_name['name']._serialized_options = b'\222\246\035\"\242\001\037Unique identifier for an object'
  _GLOBALNAMEDOBJECT._options = None
  _GLOBALNAMEDOBJECT._serialized_options = b'\212\246\035\037R\035Description missing in models'
  _ERRORDETAILS.fields_by_name['errors']._options = None
  _ERRORDETAILS.fields_by_name['errors']._serialized_options = b'\222\246\035 \242\001\035Description missing in models'
  _ERRORDETAILS._options = None
  _ERRORDETAILS._serialized_options = b'\212\246\035\037R\035Description missing in models'
  _WARNINGDETAILS.fields_by_name['warnings']._options = None
  _WARNINGDETAILS.fields_by_name['warnings']._serialized_options = b'\222\246\035 \242\001\035Description missing in models'
  _WARNINGDETAILS._options = None
  _WARNINGDETAILS._serialized_options = b'\212\246\035\037R\035Description missing in models'
  _ERRORITEM.fields_by_name['message']._options = None
  _ERRORITEM.fields_by_name['message']._serialized_options = b'\222\246\035 \242\001\035Description missing in models'
  _ERRORITEM.fields_by_name['code']._options = None
  _ERRORITEM.fields_by_name['code']._serialized_options = b'\222\246\035 \242\001\035Description missing in models'
  _ERRORITEM.fields_by_name['detail']._options = None
  _ERRORITEM.fields_by_name['detail']._serialized_options = b'\222\246\035 \242\001\035Description missing in models'
  _ERRORITEM._options = None
  _ERRORITEM._serialized_options = b'\212\246\035\037R\035Description missing in models'
  _CONFIG.fields_by_name['hosts']._options = None
  _CONFIG.fields_by_name['hosts']._serialized_options = b'\222\246\035 \242\001\035Description missing in models'
  _CONFIG.fields_by_name['fabric']._options = None
  _CONFIG.fields_by_name['fabric']._serialized_options = b'\222\246\035 \242\001\035Description missing in models'
  _CONFIG._options = None
  _CONFIG._serialized_options = b'\212\246\035\037R\035Description missing in models'
  _HOST.fields_by_name['name']._options = None
  _HOST.fields_by_name['name']._serialized_options = b'\222\246\035*\242\001\'The name, uniquely identifying the host'
  _HOST.fields_by_name['address']._options = None
  _HOST.fields_by_name['address']._serialized_options = b'\222\246\035\037\242\001\034The test address of the host'
  _HOST.fields_by_name['prefix']._options = None
  _HOST.fields_by_name['prefix']._serialized_options = b'\222\246\035\004R\00224\222\246\035\031\242\001\026The prefix of the host'
  _HOST.fields_by_name['host_type']._options = None
  _HOST.fields_by_name['host_type']._serialized_options = b'\222\246\035\230\002\242\001\224\002Optional host type, if fabric is rendered on physical box.\n- external for hosts/servers physically connected to front panel ports\n- internal_traffic_sink for an emulated server that acts as a traffic sink (i.e. packets sent to its IP address will be routed through the fabric)'
  _HOST._options = None
  _HOST._serialized_options = b'\212\246\035\037R\035Description missing in models'
  _FABRIC.fields_by_name['choice']._options = None
  _FABRIC.fields_by_name['choice']._serialized_options = b'\222\246\035 \242\001\035Description missing in models'
  _FABRIC.fields_by_name['clos']._options = None
  _FABRIC.fields_by_name['clos']._serialized_options = b'\222\246\035 \242\001\035Description missing in models'
  _FABRIC.fields_by_name['qos_profiles']._options = None
  _FABRIC.fields_by_name['qos_profiles']._serialized_options = b'\222\246\035.\242\001+A list of Quality of Service (QoS) profiles'
  _FABRIC._options = None
  _FABRIC._serialized_options = b'\212\246\035\037R\035Description missing in models'
  _FABRICCLOS.fields_by_name['spine']._options = None
  _FABRICCLOS.fields_by_name['spine']._serialized_options = b'\222\246\035 \242\001\035Description missing in models'
  _FABRICCLOS.fields_by_name['pods']._options = None
  _FABRICCLOS.fields_by_name['pods']._serialized_options = b'\222\246\035\034\242\001\031The pods in the topology.'
  _FABRICCLOS.fields_by_name['host_links']._options = None
  _FABRICCLOS.fields_by_name['host_links']._serialized_options = b'\222\246\035 \242\001\035Description missing in models'
  _FABRICCLOS.fields_by_name['pod_profiles']._options = None
  _FABRICCLOS.fields_by_name['pod_profiles']._serialized_options = b'\222\246\035\031\242\001\026A list of pod profiles'
  _FABRICCLOS.fields_by_name['tor_profiles']._options = None
  _FABRICCLOS.fields_by_name['tor_profiles']._serialized_options = b'\222\246\035 \242\001\035A list of ToR switch profiles'
  _FABRICCLOS.fields_by_name['parallel_fabric_count']._options = None
  _FABRICCLOS.fields_by_name['parallel_fabric_count']._serialized_options = b'\222\246\035\003R\0011\222\246\035k\242\001hNumber of parallel fabrics (aka fabric colors). Spine and pod switches \nare fully meshed within a fabric'
  _FABRICCLOS._options = None
  _FABRICCLOS._serialized_options = b'\212\246\035\220\001R\215\001An emulation of a multistage switch topology. When folded, results in a topology with (up to) 3 tiers identified as \nspine, pod and tor tier.'
  _FABRICSPINE.fields_by_name['count']._options = None
  _FABRICSPINE.fields_by_name['count']._serialized_options = b'\222\246\035\003R\0011\222\246\035z\242\001wThe number of spines to be created with each spine sharing the same\ndownlink_ecmp_mode and qos_profile_name properties.'
  _FABRICSPINE.fields_by_name['downlink_ecmp_mode']._options = None
  _FABRICSPINE.fields_by_name['downlink_ecmp_mode']._serialized_options = b'\222\246\035\210\002\242\001\204\002The algorithm for packet distribution over ECMP links.\n- random_spray randomly puts each packet on an ECMP member links \n- hash_3_tuple is a 3 tuple hash of ipv4 src, dst, protocol\n- hash_5_tuple is static_hash_ipv4_l4 but a different resulting RTAG7 hash mode'
  _FABRICSPINE.fields_by_name['qos_profile_name']._options = None
  _FABRICSPINE.fields_by_name['qos_profile_name']._serialized_options = b'\222\246\035t\242\001qThe name of a qos profile shared by the spines.\n\nx-constraint:\n- #/components/schemas/QosProfile/properties/name\n'
  _FABRICSPINE._options = None
  _FABRICSPINE._serialized_options = b'\212\246\035\037R\035Description missing in models'
  _FABRICPOD.fields_by_name['count']._options = None
  _FABRICPOD.fields_by_name['count']._serialized_options = b'\222\246\035\003R\0011\222\246\0356\242\0013The number of pods that will share the same profile'
  _FABRICPOD.fields_by_name['pod_profile_name']._options = None
  _FABRICPOD.fields_by_name['pod_profile_name']._serialized_options = b'\222\246\035p\242\001mThe pod profile associated with the pod(s).\n\nx-constraint:\n- #/components/schemas/PodProfile/properties/name\n'
  _FABRICPOD._options = None
  _FABRICPOD._serialized_options = b'\212\246\035\037R\035Description missing in models'
  _FABRICPODPROFILE.fields_by_name['name']._options = None
  _FABRICPODPROFILE.fields_by_name['name']._serialized_options = b'\222\246\035$\242\001!Uniquely identifies a pod profile'
  _FABRICPODPROFILE.fields_by_name['pod_switch']._options = None
  _FABRICPODPROFILE.fields_by_name['pod_switch']._serialized_options = b'\222\246\035 \242\001\035Description missing in models'
  _FABRICPODPROFILE.fields_by_name['tors']._options = None
  _FABRICPODPROFILE.fields_by_name['tors']._serialized_options = b'\222\246\035\026\242\001\023The ToRs in the pod'
  _FABRICPODPROFILE.fields_by_name['pod_to_spine_oversubscription']._options = None
  _FABRICPODPROFILE.fields_by_name['pod_to_spine_oversubscription']._serialized_options = b'\222\246\035-\242\001*Oversubscription ratio of the pod switches'
  _FABRICPODPROFILE._options = None
  _FABRICPODPROFILE._serialized_options = b'\212\246\035\037R\035Description missing in models'
  _FABRICPODSWITCH.fields_by_name['count']._options = None
  _FABRICPODSWITCH.fields_by_name['count']._serialized_options = b'\222\246\035\003R\0011\222\246\035 \242\001\035Description missing in models'
  _FABRICPODSWITCH.fields_by_name['uplink_ecmp_mode']._options = None
  _FABRICPODSWITCH.fields_by_name['uplink_ecmp_mode']._serialized_options = b'\222\246\035\210\002\242\001\204\002The algorithm for packet distribution over ECMP links.\n- random_spray randomly puts each packet on an ECMP member links \n- hash_3_tuple is a 3 tuple hash of ipv4 src, dst, protocol\n- hash_5_tuple is static_hash_ipv4_l4 but a different resulting RTAG7 hash mode'
  _FABRICPODSWITCH.fields_by_name['downlink_ecmp_mode']._options = None
  _FABRICPODSWITCH.fields_by_name['downlink_ecmp_mode']._serialized_options = b'\222\246\035\210\002\242\001\204\002The algorithm for packet distribution over ECMP links.\n- random_spray randomly puts each packet on an ECMP member links \n- hash_3_tuple is a 3 tuple hash of ipv4 src, dst, protocol\n- hash_5_tuple is static_hash_ipv4_l4 but a different resulting RTAG7 hash mode'
  _FABRICPODSWITCH.fields_by_name['qos_profile_name']._options = None
  _FABRICPODSWITCH.fields_by_name['qos_profile_name']._serialized_options = b'\222\246\035\211\001\242\001\205\001The name of a qos profile associated with the switches in this pod.\n\nx-constraint:\n- #/components/schemas/QosProfile/properties/name\n'
  _FABRICPODSWITCH._options = None
  _FABRICPODSWITCH._serialized_options = b'\212\246\035\037R\035Description missing in models'
  _FABRICTOR.fields_by_name['count']._options = None
  _FABRICTOR.fields_by_name['count']._serialized_options = b'\222\246\035\003R\0011\222\246\035:\242\0017number of ToR switches that will share the same profile'
  _FABRICTOR.fields_by_name['tor_profile_name']._options = None
  _FABRICTOR.fields_by_name['tor_profile_name']._serialized_options = b'\222\246\035\201\001\242\001~The names of ToR profiles associated with the ToR switch(es)\n\nx-constraint:\n- #/components/schemas/TorProfile/properties/name\n'
  _FABRICTOR._options = None
  _FABRICTOR._serialized_options = b'\212\246\035\037R\035Description missing in models'
  _FABRICTORPROFILE.fields_by_name['name']._options = None
  _FABRICTORPROFILE.fields_by_name['name']._serialized_options = b'\222\246\035 \242\001\035Description missing in models'
  _FABRICTORPROFILE.fields_by_name['tor_mode']._options = None
  _FABRICTORPROFILE.fields_by_name['tor_mode']._serialized_options = b'\222\246\035\022\242\001\017ToR switch mode'
  _FABRICTORPROFILE.fields_by_name['uplink_ecmp_mode']._options = None
  _FABRICTORPROFILE.fields_by_name['uplink_ecmp_mode']._serialized_options = b'\222\246\035\210\002\242\001\204\002The algorithm for packet distribution over ECMP links.\n- random_spray randomly puts each packet on an ECMP member links \n- hash_3_tuple is a 3 tuple hash of ipv4 src, dst, protocol\n- hash_5_tuple is static_hash_ipv4_l4 but a different resulting RTAG7 hash mode'
  _FABRICTORPROFILE.fields_by_name['qos_profile_name']._options = None
  _FABRICTORPROFILE.fields_by_name['qos_profile_name']._serialized_options = b'\222\246\035\201\001\242\001~The name of a qos profile associated with the ToR switch(es)\n\nx-constraint:\n- #/components/schemas/QosProfile/properties/name\n'
  _FABRICTORPROFILE.fields_by_name['tor_to_pod_oversubscription']._options = None
  _FABRICTORPROFILE.fields_by_name['tor_to_pod_oversubscription']._serialized_options = b'\222\246\0353\242\0010The oversubscription ratio of the ToR switch(es)'
  _FABRICTORPROFILE._options = None
  _FABRICTORPROFILE._serialized_options = b'\212\246\035\037R\035Description missing in models'
  _FABRICQOSPROFILE.fields_by_name['name']._options = None
  _FABRICQOSPROFILE.fields_by_name['name']._serialized_options = b'\222\246\035 \242\001\035Description missing in models'
  _FABRICQOSPROFILE.fields_by_name['ingress_admission']._options = None
  _FABRICQOSPROFILE.fields_by_name['ingress_admission']._serialized_options = b'\222\246\035 \242\001\035Description missing in models'
  _FABRICQOSPROFILE.fields_by_name['scheduler']._options = None
  _FABRICQOSPROFILE.fields_by_name['scheduler']._serialized_options = b'\222\246\035 \242\001\035Description missing in models'
  _FABRICQOSPROFILE.fields_by_name['packet_classification']._options = None
  _FABRICQOSPROFILE.fields_by_name['packet_classification']._serialized_options = b'\222\246\035 \242\001\035Description missing in models'
  _FABRICQOSPROFILE.fields_by_name['wred']._options = None
  _FABRICQOSPROFILE.fields_by_name['wred']._serialized_options = b'\222\246\035 \242\001\035Description missing in models'
  _FABRICQOSPROFILE._options = None
  _FABRICQOSPROFILE._serialized_options = b'\212\246\035\037R\035Description missing in models'
  _FABRICQOSPROFILEINGRESSADMISSION.fields_by_name['reserved_buffer_bytes']._options = None
  _FABRICQOSPROFILEINGRESSADMISSION.fields_by_name['reserved_buffer_bytes']._serialized_options = b'\222\246\035\003R\0010\222\246\035R\242\001OBuffer space (in bytes) reserved for each port that this Qos profile applies to'
  _FABRICQOSPROFILEINGRESSADMISSION.fields_by_name['shared_buffer_bytes']._options = None
  _FABRICQOSPROFILEINGRESSADMISSION.fields_by_name['shared_buffer_bytes']._serialized_options = b'\222\246\035\003R\0010\222\246\0355\242\0012Amount of shared buffer space (in bytes) available'
  _FABRICQOSPROFILEINGRESSADMISSION.fields_by_name['priority_list']._options = None
  _FABRICQOSPROFILEINGRESSADMISSION.fields_by_name['priority_list']._serialized_options = b'\222\246\035B\242\001?List of priorities for which the buffer sizes should be applied'
  _FABRICQOSPROFILEINGRESSADMISSION._options = None
  _FABRICQOSPROFILEINGRESSADMISSION._serialized_options = b'\212\246\035\037R\035Description missing in models'
  _FABRICQOSPROFILESCHEDULER.fields_by_name['scheduler_mode']._options = None
  _FABRICQOSPROFILESCHEDULER.fields_by_name['scheduler_mode']._serialized_options = b'\222\246\035#\242\001 The queue scheduling discipline '
  _FABRICQOSPROFILESCHEDULER.fields_by_name['weight_list']._options = None
  _FABRICQOSPROFILESCHEDULER.fields_by_name['weight_list']._serialized_options = b'\222\246\035I\242\001FA list of egress queue weights for weighted round robin scheduler mode'
  _FABRICQOSPROFILESCHEDULER._options = None
  _FABRICQOSPROFILESCHEDULER._serialized_options = b'\212\246\035\037R\035Description missing in models'
  _FABRICQOSPROFILEPACKETCLASSIFICATION.fields_by_name['map_dscp_to_traffic_class']._options = None
  _FABRICQOSPROFILEPACKETCLASSIFICATION.fields_by_name['map_dscp_to_traffic_class']._serialized_options = b'\222\246\035 \242\001\035Description missing in models'
  _FABRICQOSPROFILEPACKETCLASSIFICATION.fields_by_name['map_traffic_class_to_queue']._options = None
  _FABRICQOSPROFILEPACKETCLASSIFICATION.fields_by_name['map_traffic_class_to_queue']._serialized_options = b'\222\246\035 \242\001\035Description missing in models'
  _FABRICQOSPROFILEPACKETCLASSIFICATION._options = None
  _FABRICQOSPROFILEPACKETCLASSIFICATION._serialized_options = b'\212\246\035\037R\035Description missing in models'
  _FABRICQOSPROFILEPACKETCLASSIFICATIONMAP._options = None
  _FABRICQOSPROFILEPACKETCLASSIFICATIONMAP._serialized_options = b'\212\246\035\037R\035Description missing in models'
  _FABRICQOSPROFILEWRED.fields_by_name['queue_list']._options = None
  _FABRICQOSPROFILEWRED.fields_by_name['queue_list']._serialized_options = b'\222\246\035+\242\001(List of queues for which WRED is enabled'
  _FABRICQOSPROFILEWRED.fields_by_name['ecn_marking_enabled']._options = None
  _FABRICQOSPROFILEWRED.fields_by_name['ecn_marking_enabled']._serialized_options = b'\222\246\035\007R\005False\222\246\035 \242\001\035Description missing in models'
  _FABRICQOSPROFILEWRED.fields_by_name['min_threshold_bytes']._options = None
  _FABRICQOSPROFILEWRED.fields_by_name['min_threshold_bytes']._serialized_options = b'\222\246\035\003R\0011\222\246\035H\242\001EEgress queue threshold beyond which packets will be droppes or marked'
  _FABRICQOSPROFILEWRED.fields_by_name['max_threshold_bytes']._options = None
  _FABRICQOSPROFILEWRED.fields_by_name['max_threshold_bytes']._serialized_options = b'\222\246\035\003R\0012\222\246\035H\242\001EEgress queue threshold beyond which packets will be droppes or marked'
  _FABRICQOSPROFILEWRED.fields_by_name['max_probability_percent']._options = None
  _FABRICQOSPROFILEWRED.fields_by_name['max_probability_percent']._serialized_options = b'\222\246\035\005R\003100\222\246\035;\242\0018Probability of dropping/marking packets at max threshold'
  _FABRICQOSPROFILEWRED._options = None
  _FABRICQOSPROFILEWRED._serialized_options = b'\212\246\0356R4WRED (weighted random early detection) configuration'
  _SWITCHHOSTLINK.fields_by_name['host_name']._options = None
  _SWITCHHOSTLINK.fields_by_name['host_name']._serialized_options = b'\222\246\035A\242\001>TBD\n\nx-constraint:\n- #components/schemas/Host/properties/name\n'
  _SWITCHHOSTLINK.fields_by_name['front_panel_port']._options = None
  _SWITCHHOSTLINK.fields_by_name['front_panel_port']._serialized_options = b'\222\246\035J\242\001GOptional front panel port number, if fabric is rendered on physical box'
  _SWITCHHOSTLINK.fields_by_name['choice']._options = None
  _SWITCHHOSTLINK.fields_by_name['choice']._serialized_options = b'\222\246\035\021R\017Choice.Enum.tor\222\246\035 \242\001\035Description missing in models'
  _SWITCHHOSTLINK.fields_by_name['spine']._options = None
  _SWITCHHOSTLINK.fields_by_name['spine']._serialized_options = b'\222\246\035f\242\001cOne based index of the spine switch based on the number of spines \nconfigured in the clos topology.'
  _SWITCHHOSTLINK.fields_by_name['pod']._options = None
  _SWITCHHOSTLINK.fields_by_name['pod']._serialized_options = b'\222\246\035 \242\001\035Description missing in models'
  _SWITCHHOSTLINK.fields_by_name['tor']._options = None
  _SWITCHHOSTLINK.fields_by_name['tor']._serialized_options = b'\222\246\035 \242\001\035Description missing in models'
  _SWITCHHOSTLINK._options = None
  _SWITCHHOSTLINK._serialized_options = b'\212\246\035ORMThe ingress point of a host which is the index of a spine, pod or tor switch.'
  _SWITCHHOSTLINKSWITCHREF.fields_by_name['pod_index']._options = None
  _SWITCHHOSTLINKSWITCHREF.fields_by_name['pod_index']._serialized_options = b'\222\246\035\003R\0011\222\246\035G\242\001DOne-based index of the pod based on the number of pods in the fabric'
  _SWITCHHOSTLINKSWITCHREF.fields_by_name['switch_index']._options = None
  _SWITCHHOSTLINKSWITCHREF.fields_by_name['switch_index']._serialized_options = b'\222\246\035\003R\0011\222\246\035@\242\001=One-based index of the pod or ToR switch in the indicated pod'
  _SWITCHHOSTLINKSWITCHREF._options = None
  _SWITCHHOSTLINKSWITCHREF._serialized_options = b'\212\246\0356R4Location of the switch based on pod and switch index'
  _OPENAPI._options = None
  _OPENAPI._serialized_options = b'\232\246\035\037R\035Description missing in models'
  _OPENAPI.methods_by_name['SetConfig']._options = None
  _OPENAPI.methods_by_name['SetConfig']._serialized_options = b'\242\246\035 R\036Sets the fabric configuration.'
  _OPENAPI.methods_by_name['GetConfig']._options = None
  _OPENAPI.methods_by_name['GetConfig']._serialized_options = b'\242\246\035 R\036Gets the fabric configuration.'
  _OPENAPIMSGOPT._serialized_start=101
  _OPENAPIMSGOPT._serialized_end=137
  _OPENAPIFLDOPT._serialized_start=139
  _OPENAPIFLDOPT._serialized_end=192
  _OPENAPISVCOPT._serialized_start=194
  _OPENAPISVCOPT._serialized_end=230
  _OPENAPIRPCOPT._serialized_start=232
  _OPENAPIRPCOPT._serialized_end=268
  _GLOBALNAMEDOBJECT._serialized_start=270
  _GLOBALNAMEDOBJECT._serialized_end=394
  _ERRORDETAILS._serialized_start=397
  _ERRORDETAILS._serialized_end=528
  _WARNINGDETAILS._serialized_start=531
  _WARNINGDETAILS._serialized_end=666
  _ERRORITEM._serialized_start=669
  _ERRORITEM._serialized_end=925
  _CONFIG._serialized_start=928
  _CONFIG._serialized_end=1140
  _HOST._serialized_start=1143
  _HOST._serialized_end=1813
  _HOST_HOSTTYPE._serialized_start=1675
  _HOST_HOSTTYPE._serialized_end=1751
  _HOST_HOSTTYPE_ENUM._serialized_start=1687
  _HOST_HOSTTYPE_ENUM._serialized_end=1751
  _FABRIC._serialized_start=1816
  _FABRIC._serialized_end=2211
  _FABRIC_CHOICE._serialized_start=2111
  _FABRIC_CHOICE._serialized_end=2154
  _FABRIC_CHOICE_ENUM._serialized_start=2121
  _FABRIC_CHOICE_ENUM._serialized_end=2154
  _FABRICCLOS._serialized_start=2214
  _FABRICCLOS._serialized_end=2999
  _FABRICSPINE._serialized_start=3002
  _FABRICSPINE._serialized_end=3872
  _FABRICSPINE_DOWNLINKECMPMODE._serialized_start=3684
  _FABRICSPINE_DOWNLINKECMPMODE._serialized_end=3781
  _FABRICSPINE_DOWNLINKECMPMODE_ENUM._serialized_start=3704
  _FABRICSPINE_DOWNLINKECMPMODE_ENUM._serialized_end=3781
  _FABRICPOD._serialized_start=3875
  _FABRICPOD._serialized_end=4191
  _FABRICPODPROFILE._serialized_start=4194
  _FABRICPODPROFILE._serialized_end=4626
  _FABRICPODSWITCH._serialized_start=4629
  _FABRICPODSWITCH._serialized_end=5912
  _FABRICPODSWITCH_UPLINKECMPMODE._serialized_start=5606
  _FABRICPODSWITCH_UPLINKECMPMODE._serialized_end=5701
  _FABRICPODSWITCH_UPLINKECMPMODE_ENUM._serialized_start=3704
  _FABRICPODSWITCH_UPLINKECMPMODE_ENUM._serialized_end=3781
  _FABRICPODSWITCH_DOWNLINKECMPMODE._serialized_start=3684
  _FABRICPODSWITCH_DOWNLINKECMPMODE._serialized_end=3781
  _FABRICPODSWITCH_DOWNLINKECMPMODE_ENUM._serialized_start=3704
  _FABRICPODSWITCH_DOWNLINKECMPMODE_ENUM._serialized_end=3781
  _FABRICTOR._serialized_start=5915
  _FABRICTOR._serialized_end=6254
  _FABRICTORPROFILE._serialized_start=6257
  _FABRICTORPROFILE._serialized_end=7340
  _FABRICTORPROFILE_TORMODE._serialized_start=7052
  _FABRICTORPROFILE_TORMODE._serialized_end=7110
  _FABRICTORPROFILE_TORMODE_ENUM._serialized_start=7063
  _FABRICTORPROFILE_TORMODE_ENUM._serialized_end=7110
  _FABRICTORPROFILE_UPLINKECMPMODE._serialized_start=5606
  _FABRICTORPROFILE_UPLINKECMPMODE._serialized_end=5701
  _FABRICTORPROFILE_UPLINKECMPMODE_ENUM._serialized_start=3704
  _FABRICTORPROFILE_UPLINKECMPMODE_ENUM._serialized_end=3781
  _FABRICQOSPROFILE._serialized_start=7343
  _FABRICQOSPROFILE._serialized_end=7965
  _FABRICQOSPROFILEINGRESSADMISSION._serialized_start=7968
  _FABRICQOSPROFILEINGRESSADMISSION._serialized_end=8416
  _FABRICQOSPROFILESCHEDULER._serialized_start=8419
  _FABRICQOSPROFILESCHEDULER._serialized_end=8823
  _FABRICQOSPROFILESCHEDULER_SCHEDULERMODE._serialized_start=8680
  _FABRICQOSPROFILESCHEDULER_SCHEDULERMODE._serialized_end=8767
  _FABRICQOSPROFILESCHEDULER_SCHEDULERMODE_ENUM._serialized_start=8697
  _FABRICQOSPROFILESCHEDULER_SCHEDULERMODE_ENUM._serialized_end=8767
  _FABRICQOSPROFILEPACKETCLASSIFICATION._serialized_start=8826
  _FABRICQOSPROFILEPACKETCLASSIFICATION._serialized_end=9233
  _FABRICQOSPROFILEPACKETCLASSIFICATIONMAP._serialized_start=9235
  _FABRICQOSPROFILEPACKETCLASSIFICATIONMAP._serialized_end=9313
  _FABRICQOSPROFILEWRED._serialized_start=9316
  _FABRICQOSPROFILEWRED._serialized_end=10000
  _SWITCHHOSTLINK._serialized_start=10003
  _SWITCHHOSTLINK._serialized_end=10870
  _SWITCHHOSTLINK_CHOICE._serialized_start=10665
  _SWITCHHOSTLINK_CHOICE._serialized_end=10727
  _SWITCHHOSTLINK_CHOICE_ENUM._serialized_start=10675
  _SWITCHHOSTLINK_CHOICE_ENUM._serialized_end=10727
  _SWITCHHOSTLINKSWITCHREF._serialized_start=10873
  _SWITCHHOSTLINKSWITCHREF._serialized_end=11201
  _SETCONFIGREQUEST._serialized_start=11203
  _SETCONFIGREQUEST._serialized_end=11260
  _SETCONFIGRESPONSE._serialized_start=11263
  _SETCONFIGRESPONSE._serialized_end=11521
  _GETCONFIGRESPONSE._serialized_start=11524
  _GETCONFIGRESPONSE._serialized_end=11774
  _OPENAPI._serialized_start=11777
  _OPENAPI._serialized_end=12050
# @@protoc_insertion_point(module_scope)
