# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: nebius/vpc/v1/route.proto
"""Generated protocol buffer code."""
from google.protobuf.internal import builder as _builder
from google.protobuf import descriptor as _descriptor
from google.protobuf import descriptor_pool as _descriptor_pool
from google.protobuf import symbol_database as _symbol_database
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from nebius.api.buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2
from nebius.api.nebius.common.v1 import metadata_pb2 as nebius_dot_common_dot_v1_dot_metadata__pb2
from nebius.api.nebius import annotations_pb2 as nebius_dot_annotations__pb2


DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x19nebius/vpc/v1/route.proto\x12\rnebius.vpc.v1\x1a\x1b\x62uf/validate/validate.proto\x1a\x1fnebius/common/v1/metadata.proto\x1a\x18nebius/annotations.proto\"\xa9\x01\n\x05Route\x12>\n\x08metadata\x18\x01 \x01(\x0b\x32\".nebius.common.v1.ResourceMetadataR\x08metadata\x12,\n\x04spec\x18\x02 \x01(\x0b\x32\x18.nebius.vpc.v1.RouteSpecR\x04spec\x12\x32\n\x06status\x18\x03 \x01(\x0b\x32\x1a.nebius.vpc.v1.RouteStatusR\x06status\"\xbb\x01\n\tRouteSpec\x12 \n\x0b\x64\x65scription\x18\x01 \x01(\tR\x0b\x64\x65scription\x12M\n\x0b\x64\x65stination\x18\x02 \x01(\x0b\x32\x1f.nebius.vpc.v1.DestinationMatchB\n\xbaH\x03\xc8\x01\x01\xbaJ\x01\x02R\x0b\x64\x65stination\x12=\n\x08next_hop\x18\x03 \x01(\x0b\x32\x16.nebius.vpc.v1.NextHopB\n\xbaH\x03\xc8\x01\x01\xbaJ\x01\x02R\x07nextHop\"\xd4\x01\n\x10\x44\x65stinationMatch\x12\xbf\x01\n\x04\x63idr\x18\x01 \x01(\tB\xaa\x01\xbaH\xa2\x01\xba\x01\x9b\x01\n\x11string.valid_cidr\x12\x33\x64\x65stination.cidr must be a valid and specified CIDR\x1aQthis.matches(\'^([0-9]{1,3}\\\\.){3}[0-9]{1,3}/[0-9]+$\') && this.isIpPrefix(4, true)\xc8\x01\x01\xbaJ\x01\x02R\x04\x63idr\"\x98\x01\n\x07NextHop\x12\x42\n\nallocation\x18\x01 \x01(\x0b\x32 .nebius.vpc.v1.AllocationNextHopH\x00R\nallocation\x12\x36\n\x16\x64\x65\x66\x61ult_egress_gateway\x18\x02 \x01(\x08H\x00R\x14\x64\x65\x66\x61ultEgressGatewayB\x11\n\x08next_hop\x12\x05\xbaH\x02\x08\x01\"+\n\x11\x41llocationNextHop\x12\x16\n\x02id\x18\x01 \x01(\tB\x06\xbaH\x03\xc8\x01\x01R\x02id\"\xa8\x01\n\x0bRouteStatus\x12\x36\n\x05state\x18\x01 \x01(\x0e\x32 .nebius.vpc.v1.RouteStatus.StateR\x05state\x12\x36\n\x08next_hop\x18\x02 \x01(\x0b\x32\x1b.nebius.vpc.v1.NextHopStateR\x07nextHop\")\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\t\n\x05READY\x10\n\"\xc5\x01\n\x0cNextHopState\x12G\n\nallocation\x18\x01 \x01(\x0b\x32%.nebius.vpc.v1.AllocationNextHopStateH\x00R\nallocation\x12`\n\x16\x64\x65\x66\x61ult_egress_gateway\x18\x02 \x01(\x0b\x32(.nebius.vpc.v1.DefaultEgressGatewayStateH\x00R\x14\x64\x65\x66\x61ultEgressGatewayB\n\n\x08next_hop\",\n\x16\x41llocationNextHopState\x12\x12\n\x04\x63idr\x18\x01 \x01(\tR\x04\x63idr\"\x1b\n\x19\x44\x65\x66\x61ultEgressGatewayStateBQ\n\x14\x61i.nebius.pub.vpc.v1B\nRouteProtoP\x01Z+github.com/nebius/gosdk/proto/nebius/vpc/v1b\x06proto3')

_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'nebius.vpc.v1.route_pb2', _globals)
if _descriptor._USE_C_DESCRIPTORS == False:

  DESCRIPTOR._options = None
  DESCRIPTOR._serialized_options = b'\n\024ai.nebius.pub.vpc.v1B\nRouteProtoP\001Z+github.com/nebius/gosdk/proto/nebius/vpc/v1'
  _ROUTESPEC.fields_by_name['destination']._options = None
  _ROUTESPEC.fields_by_name['destination']._serialized_options = b'\272H\003\310\001\001\272J\001\002'
  _ROUTESPEC.fields_by_name['next_hop']._options = None
  _ROUTESPEC.fields_by_name['next_hop']._serialized_options = b'\272H\003\310\001\001\272J\001\002'
  _DESTINATIONMATCH.fields_by_name['cidr']._options = None
  _DESTINATIONMATCH.fields_by_name['cidr']._serialized_options = b'\272H\242\001\272\001\233\001\n\021string.valid_cidr\0223destination.cidr must be a valid and specified CIDR\032Qthis.matches(\'^([0-9]{1,3}\\\\.){3}[0-9]{1,3}/[0-9]+$\') && this.isIpPrefix(4, true)\310\001\001\272J\001\002'
  _NEXTHOP.oneofs_by_name['next_hop']._options = None
  _NEXTHOP.oneofs_by_name['next_hop']._serialized_options = b'\272H\002\010\001'
  _ALLOCATIONNEXTHOP.fields_by_name['id']._options = None
  _ALLOCATIONNEXTHOP.fields_by_name['id']._serialized_options = b'\272H\003\310\001\001'
  _globals['_ROUTE']._serialized_start=133
  _globals['_ROUTE']._serialized_end=302
  _globals['_ROUTESPEC']._serialized_start=305
  _globals['_ROUTESPEC']._serialized_end=492
  _globals['_DESTINATIONMATCH']._serialized_start=495
  _globals['_DESTINATIONMATCH']._serialized_end=707
  _globals['_NEXTHOP']._serialized_start=710
  _globals['_NEXTHOP']._serialized_end=862
  _globals['_ALLOCATIONNEXTHOP']._serialized_start=864
  _globals['_ALLOCATIONNEXTHOP']._serialized_end=907
  _globals['_ROUTESTATUS']._serialized_start=910
  _globals['_ROUTESTATUS']._serialized_end=1078
  _globals['_ROUTESTATUS_STATE']._serialized_start=1037
  _globals['_ROUTESTATUS_STATE']._serialized_end=1078
  _globals['_NEXTHOPSTATE']._serialized_start=1081
  _globals['_NEXTHOPSTATE']._serialized_end=1278
  _globals['_ALLOCATIONNEXTHOPSTATE']._serialized_start=1280
  _globals['_ALLOCATIONNEXTHOPSTATE']._serialized_end=1324
  _globals['_DEFAULTEGRESSGATEWAYSTATE']._serialized_start=1326
  _globals['_DEFAULTEGRESSGATEWAYSTATE']._serialized_end=1353
# @@protoc_insertion_point(module_scope)
