# -*- 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\"\xe6\x01\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:#\x8a\xa6\x1d\x1fR\x1d\x44\x65scription missing in modelsB\t\n\x07_prefix\"\xb1\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\x12\x64\n\x0espine_pod_rack\x18\x02 \x01(\x0b\x32!.onexfabricapi.FabricSpinePodRackB$\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\x35\n\x06\x43hoice\"+\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\x12\n\x0espine_pod_rack\x10\x01:#\x8a\xa6\x1d\x1fR\x1d\x44\x65scription missing in modelsB\t\n\x07_choiceB\x11\n\x0f_spine_pod_rack\"\xe7\x03\n\x12\x46\x61\x62ricSpinePodRack\x12N\n\x06spines\x18\x01 \x03(\x0b\x32\x1a.onexfabricapi.FabricSpineB\"\x92\xa6\x1d\x1e\xa2\x01\x1bThe spines in the topology.\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\x12W\n\rrack_profiles\x18\x05 \x03(\x0b\x32 .onexfabricapi.FabricRackProfileB\x1e\x92\xa6\x1d\x1a\xa2\x01\x17\x41 list of rack profiles:/\x8a\xa6\x1d+R)An emulation of a spine/pod/rack topology\"\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\"\xdd\x01\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\x12J\n\x10pod_profile_name\x18\x02 \x03(\tB0\x92\xa6\x1d,\xa2\x01)The pod profile associated with this pod.:#\x8a\xa6\x1d\x1fR\x1d\x44\x65scription missing in modelsB\x08\n\x06_count\"\xc4\x02\n\x10\x46\x61\x62ricPodProfile\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\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\x12R\n\x04rack\x18\x03 \x01(\x0b\x32\x19.onexfabricapi.FabricRackB$\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\x07\n\x05_nameB\r\n\x0b_pod_switchB\x07\n\x05_rack\"\xf9\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]\n\x1dpod_to_spine_oversubscription\x18\x02 \x01(\tB1\x92\xa6\x1d-\xa2\x01*oversubscription ratio of the pod switchesH\x01\x88\x01\x01\x12\xe1\x02\n\x10uplink_ecmp_mode\x18\x03 \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\x02\x88\x01\x01\x12\xe5\x02\n\x12\x64ownlink_ecmp_mode\x18\x04 \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\x03\x88\x01\x01\x12\xa3\x01\n\x10qos_profile_name\x18\x05 \x01(\tB\x83\x01\x92\xa6\x1d\x7f\xa2\x01|The name of a qos profile associated with this pod switch.\n\nx-constraint:\n- #/components/schemas/QosProfile/properties/name\nH\x04\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 \n\x1e_pod_to_spine_oversubscriptionB\x13\n\x11_uplink_ecmp_modeB\x15\n\x13_downlink_ecmp_modeB\x13\n\x11_qos_profile_name\"\xe3\x01\n\nFabricRack\x12L\n\x05\x63ount\x18\x01 \x01(\x05\x42\x38\x92\xa6\x1d\x03R\x01\x31\x92\xa6\x1d-\xa2\x01*number of racks (and thus ToRs) in the podH\x00\x88\x01\x01\x12X\n\x12rack_profile_names\x18\x02 \x03(\tB<\x92\xa6\x1d\x38\xa2\x01\x35The names of rack profiles associated with this rack.:#\x8a\xa6\x1d\x1fR\x1d\x44\x65scription missing in modelsB\x08\n\x06_count\"\x9e\x0b\n\x11\x46\x61\x62ricRackProfile\x12\x37\n\x04name\x18\x01 \x01(\tB$\x92\xa6\x1d \xa2\x01\x1d\x44\x65scription missing in modelsH\x00\x88\x01\x01\x12\xea\x02\n\x14tor_uplink_ecmp_mode\x18\x02 \x01(\x0e\x32\x37.onexfabricapi.FabricRackProfile.TorUplinkEcmpMode.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\xee\x02\n\x16tor_downlink_ecmp_mode\x18\x03 \x01(\x0e\x32\x39.onexfabricapi.FabricRackProfile.TorDownlinkEcmpMode.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\xad\x01\n\x14tor_qos_profile_name\x18\x04 \x01(\tB\x89\x01\x92\xa6\x1d\x84\x01\xa2\x01\x80\x01The name of a qos profile associated with the ToR of this rack\n\nx-constraint:\n- #/components/schemas/QosProfile/properties/name\nH\x03\x88\x01\x01\x12]\n\x1btor_to_pod_oversubscription\x18\x05 \x01(\tB3\x92\xa6\x1d/\xa2\x01,The oversubscription ratio of the ToR switchH\x04\x88\x01\x01\x1a\x62\n\x11TorUplinkEcmpMode\"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\x64\n\x13TorDownlinkEcmpMode\"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\x17\n\x15_tor_uplink_ecmp_modeB\x19\n\x17_tor_downlink_ecmp_modeB\x17\n\x15_tor_qos_profile_nameB\x1e\n\x1c_tor_to_pod_oversubscription\"\x87\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:#\x8a\xa6\x1d\x1fR\x1d\x44\x65scription missing in modelsB\x14\n\x12_ingress_admissionB\x0c\n\n_schedulerB\x18\n\x16_packet_classification\"\xe1\x02\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:#\x8a\xa6\x1d\x1fR\x1d\x44\x65scription missing in modelsB\x18\n\x16_reserved_buffer_bytesB\x16\n\x14_shared_buffer_bytes\"\xe5\x02\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\x33\n\x0bweight_list\x18\x02 \x03(\x05\x42\x1e\x92\xa6\x1d\x1a\xa2\x01\x17\x41 list of queue weights\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\"\xfa\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\x12z\n\x06\x63hoice\x18\x03 \x01(\x0e\x32).onexfabricapi.SwitchHostLink.Choice.EnumB:\x92\xa6\x1d\x12R\x10\x43hoice.Enum.rack\x92\xa6\x1d \xa2\x01\x1d\x44\x65scription missing in modelsH\x01\x88\x01\x01\x12\x88\x01\n\x05spine\x18\x04 \x01(\x05\x42t\x92\xa6\x1dp\xa2\x01mOne based index of the spine switch based on the number of spines \nconfigured in the spine_pod_rack 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\x04rack\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\"5\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\t\n\x05spine\x10\x01\x12\x07\n\x03pod\x10\x02\x12\x08\n\x04rack\x10\x03:[\x8a\xa6\x1dWRUThe ingress point of a host which is the index of a spine switch, \na pod/rack switch.B\x13\n\x11_front_panel_portB\t\n\x07_choiceB\x08\n\x06_spineB\x06\n\x04_podB\x07\n\x05_rack\"\xc9\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\x12g\n\x0cswitch_index\x18\x02 \x01(\x05\x42L\x92\xa6\x1d\x03R\x01\x31\x92\xa6\x1d\x41\xa2\x01>One-based index of the pod or rack 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']
_FABRIC = DESCRIPTOR.message_types_by_name['Fabric']
_FABRIC_CHOICE = _FABRIC.nested_types_by_name['Choice']
_FABRICSPINEPODRACK = DESCRIPTOR.message_types_by_name['FabricSpinePodRack']
_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']
_FABRICRACK = DESCRIPTOR.message_types_by_name['FabricRack']
_FABRICRACKPROFILE = DESCRIPTOR.message_types_by_name['FabricRackProfile']
_FABRICRACKPROFILE_TORUPLINKECMPMODE = _FABRICRACKPROFILE.nested_types_by_name['TorUplinkEcmpMode']
_FABRICRACKPROFILE_TORDOWNLINKECMPMODE = _FABRICRACKPROFILE.nested_types_by_name['TorDownlinkEcmpMode']
_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']
_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']
_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']
_FABRICRACKPROFILE_TORUPLINKECMPMODE_ENUM = _FABRICRACKPROFILE_TORUPLINKECMPMODE.enum_types_by_name['Enum']
_FABRICRACKPROFILE_TORDOWNLINKECMPMODE_ENUM = _FABRICRACKPROFILE_TORDOWNLINKECMPMODE.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,), {
  'DESCRIPTOR' : _HOST,
  '__module__' : 'onexfabricapi_pb2'
  # @@protoc_insertion_point(class_scope:onexfabricapi.Host)
  })
_sym_db.RegisterMessage(Host)

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)

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

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)

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

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

  'TorUplinkEcmpMode' : _reflection.GeneratedProtocolMessageType('TorUplinkEcmpMode', (_message.Message,), {
    'DESCRIPTOR' : _FABRICRACKPROFILE_TORUPLINKECMPMODE,
    '__module__' : 'onexfabricapi_pb2'
    # @@protoc_insertion_point(class_scope:onexfabricapi.FabricRackProfile.TorUplinkEcmpMode)
    })
  ,

  'TorDownlinkEcmpMode' : _reflection.GeneratedProtocolMessageType('TorDownlinkEcmpMode', (_message.Message,), {
    'DESCRIPTOR' : _FABRICRACKPROFILE_TORDOWNLINKECMPMODE,
    '__module__' : 'onexfabricapi_pb2'
    # @@protoc_insertion_point(class_scope:onexfabricapi.FabricRackProfile.TorDownlinkEcmpMode)
    })
  ,
  'DESCRIPTOR' : _FABRICRACKPROFILE,
  '__module__' : 'onexfabricapi_pb2'
  # @@protoc_insertion_point(class_scope:onexfabricapi.FabricRackProfile)
  })
_sym_db.RegisterMessage(FabricRackProfile)
_sym_db.RegisterMessage(FabricRackProfile.TorUplinkEcmpMode)
_sym_db.RegisterMessage(FabricRackProfile.TorDownlinkEcmpMode)

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)

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._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['spine_pod_rack']._options = None
  _FABRIC.fields_by_name['spine_pod_rack']._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'
  _FABRICSPINEPODRACK.fields_by_name['spines']._options = None
  _FABRICSPINEPODRACK.fields_by_name['spines']._serialized_options = b'\222\246\035\036\242\001\033The spines in the topology.'
  _FABRICSPINEPODRACK.fields_by_name['pods']._options = None
  _FABRICSPINEPODRACK.fields_by_name['pods']._serialized_options = b'\222\246\035\034\242\001\031The pods in the topology.'
  _FABRICSPINEPODRACK.fields_by_name['host_links']._options = None
  _FABRICSPINEPODRACK.fields_by_name['host_links']._serialized_options = b'\222\246\035 \242\001\035Description missing in models'
  _FABRICSPINEPODRACK.fields_by_name['pod_profiles']._options = None
  _FABRICSPINEPODRACK.fields_by_name['pod_profiles']._serialized_options = b'\222\246\035\031\242\001\026A list of pod profiles'
  _FABRICSPINEPODRACK.fields_by_name['rack_profiles']._options = None
  _FABRICSPINEPODRACK.fields_by_name['rack_profiles']._serialized_options = b'\222\246\035\032\242\001\027A list of rack profiles'
  _FABRICSPINEPODRACK._options = None
  _FABRICSPINEPODRACK._serialized_options = b'\212\246\035+R)An emulation of a spine/pod/rack topology'
  _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\035,\242\001)The pod profile associated with this pod.'
  _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\035Description missing in models'
  _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['rack']._options = None
  _FABRICPODPROFILE.fields_by_name['rack']._serialized_options = b'\222\246\035 \242\001\035Description missing in models'
  _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['pod_to_spine_oversubscription']._options = None
  _FABRICPODSWITCH.fields_by_name['pod_to_spine_oversubscription']._serialized_options = b'\222\246\035-\242\001*oversubscription ratio of the pod switches'
  _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\177\242\001|The name of a qos profile associated with this pod switch.\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'
  _FABRICRACK.fields_by_name['count']._options = None
  _FABRICRACK.fields_by_name['count']._serialized_options = b'\222\246\035\003R\0011\222\246\035-\242\001*number of racks (and thus ToRs) in the pod'
  _FABRICRACK.fields_by_name['rack_profile_names']._options = None
  _FABRICRACK.fields_by_name['rack_profile_names']._serialized_options = b'\222\246\0358\242\0015The names of rack profiles associated with this rack.'
  _FABRICRACK._options = None
  _FABRICRACK._serialized_options = b'\212\246\035\037R\035Description missing in models'
  _FABRICRACKPROFILE.fields_by_name['name']._options = None
  _FABRICRACKPROFILE.fields_by_name['name']._serialized_options = b'\222\246\035 \242\001\035Description missing in models'
  _FABRICRACKPROFILE.fields_by_name['tor_uplink_ecmp_mode']._options = None
  _FABRICRACKPROFILE.fields_by_name['tor_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'
  _FABRICRACKPROFILE.fields_by_name['tor_downlink_ecmp_mode']._options = None
  _FABRICRACKPROFILE.fields_by_name['tor_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'
  _FABRICRACKPROFILE.fields_by_name['tor_qos_profile_name']._options = None
  _FABRICRACKPROFILE.fields_by_name['tor_qos_profile_name']._serialized_options = b'\222\246\035\204\001\242\001\200\001The name of a qos profile associated with the ToR of this rack\n\nx-constraint:\n- #/components/schemas/QosProfile/properties/name\n'
  _FABRICRACKPROFILE.fields_by_name['tor_to_pod_oversubscription']._options = None
  _FABRICRACKPROFILE.fields_by_name['tor_to_pod_oversubscription']._serialized_options = b'\222\246\035/\242\001,The oversubscription ratio of the ToR switch'
  _FABRICRACKPROFILE._options = None
  _FABRICRACKPROFILE._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._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._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\035\032\242\001\027A list of queue weights'
  _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'
  _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\022R\020Choice.Enum.rack\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\035p\242\001mOne based index of the spine switch based on the number of spines \nconfigured in the spine_pod_rack 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['rack']._options = None
  _SWITCHHOSTLINK.fields_by_name['rack']._serialized_options = b'\222\246\035 \242\001\035Description missing in models'
  _SWITCHHOSTLINK._options = None
  _SWITCHHOSTLINK._serialized_options = b'\212\246\035WRUThe ingress point of a host which is the index of a spine switch, \na pod/rack 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\035A\242\001>One-based index of the pod or rack 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=1373
  _FABRIC._serialized_start=1376
  _FABRIC._serialized_end=1809
  _FABRIC_CHOICE._serialized_start=1689
  _FABRIC_CHOICE._serialized_end=1742
  _FABRIC_CHOICE_ENUM._serialized_start=1699
  _FABRIC_CHOICE_ENUM._serialized_end=1742
  _FABRICSPINEPODRACK._serialized_start=1812
  _FABRICSPINEPODRACK._serialized_end=2299
  _FABRICSPINE._serialized_start=2302
  _FABRICSPINE._serialized_end=3172
  _FABRICSPINE_DOWNLINKECMPMODE._serialized_start=2984
  _FABRICSPINE_DOWNLINKECMPMODE._serialized_end=3081
  _FABRICSPINE_DOWNLINKECMPMODE_ENUM._serialized_start=3004
  _FABRICSPINE_DOWNLINKECMPMODE_ENUM._serialized_end=3081
  _FABRICPOD._serialized_start=3175
  _FABRICPOD._serialized_end=3396
  _FABRICPODPROFILE._serialized_start=3399
  _FABRICPODPROFILE._serialized_end=3723
  _FABRICPODSWITCH._serialized_start=3726
  _FABRICPODSWITCH._serialized_end=5127
  _FABRICPODSWITCH_UPLINKECMPMODE._serialized_start=4787
  _FABRICPODSWITCH_UPLINKECMPMODE._serialized_end=4882
  _FABRICPODSWITCH_UPLINKECMPMODE_ENUM._serialized_start=3004
  _FABRICPODSWITCH_UPLINKECMPMODE_ENUM._serialized_end=3081
  _FABRICPODSWITCH_DOWNLINKECMPMODE._serialized_start=2984
  _FABRICPODSWITCH_DOWNLINKECMPMODE._serialized_end=3081
  _FABRICPODSWITCH_DOWNLINKECMPMODE_ENUM._serialized_start=3004
  _FABRICPODSWITCH_DOWNLINKECMPMODE_ENUM._serialized_end=3081
  _FABRICRACK._serialized_start=5130
  _FABRICRACK._serialized_end=5357
  _FABRICRACKPROFILE._serialized_start=5360
  _FABRICRACKPROFILE._serialized_end=6798
  _FABRICRACKPROFILE_TORUPLINKECMPMODE._serialized_start=6443
  _FABRICRACKPROFILE_TORUPLINKECMPMODE._serialized_end=6541
  _FABRICRACKPROFILE_TORUPLINKECMPMODE_ENUM._serialized_start=3004
  _FABRICRACKPROFILE_TORUPLINKECMPMODE_ENUM._serialized_end=3081
  _FABRICRACKPROFILE_TORDOWNLINKECMPMODE._serialized_start=6543
  _FABRICRACKPROFILE_TORDOWNLINKECMPMODE._serialized_end=6643
  _FABRICRACKPROFILE_TORDOWNLINKECMPMODE_ENUM._serialized_start=3004
  _FABRICRACKPROFILE_TORDOWNLINKECMPMODE_ENUM._serialized_end=3081
  _FABRICQOSPROFILE._serialized_start=6801
  _FABRICQOSPROFILE._serialized_end=7320
  _FABRICQOSPROFILEINGRESSADMISSION._serialized_start=7323
  _FABRICQOSPROFILEINGRESSADMISSION._serialized_end=7676
  _FABRICQOSPROFILESCHEDULER._serialized_start=7679
  _FABRICQOSPROFILESCHEDULER._serialized_end=8036
  _FABRICQOSPROFILESCHEDULER_SCHEDULERMODE._serialized_start=7893
  _FABRICQOSPROFILESCHEDULER_SCHEDULERMODE._serialized_end=7980
  _FABRICQOSPROFILESCHEDULER_SCHEDULERMODE_ENUM._serialized_start=7910
  _FABRICQOSPROFILESCHEDULER_SCHEDULERMODE_ENUM._serialized_end=7980
  _FABRICQOSPROFILEPACKETCLASSIFICATION._serialized_start=8039
  _FABRICQOSPROFILEPACKETCLASSIFICATION._serialized_end=8446
  _FABRICQOSPROFILEPACKETCLASSIFICATIONMAP._serialized_start=8448
  _FABRICQOSPROFILEPACKETCLASSIFICATIONMAP._serialized_end=8526
  _SWITCHHOSTLINK._serialized_start=8529
  _SWITCHHOSTLINK._serialized_end=9419
  _SWITCHHOSTLINK_CHOICE._serialized_start=9204
  _SWITCHHOSTLINK_CHOICE._serialized_end=9267
  _SWITCHHOSTLINK_CHOICE_ENUM._serialized_start=9214
  _SWITCHHOSTLINK_CHOICE_ENUM._serialized_end=9267
  _SWITCHHOSTLINKSWITCHREF._serialized_start=9422
  _SWITCHHOSTLINKSWITCHREF._serialized_end=9751
  _SETCONFIGREQUEST._serialized_start=9753
  _SETCONFIGREQUEST._serialized_end=9810
  _SETCONFIGRESPONSE._serialized_start=9813
  _SETCONFIGRESPONSE._serialized_end=10071
  _GETCONFIGRESPONSE._serialized_start=10074
  _GETCONFIGRESPONSE._serialized_end=10324
  _OPENAPI._serialized_start=10327
  _OPENAPI._serialized_end=10600
# @@protoc_insertion_point(module_scope)
