Merge branch 'main' into avm99963-monorail

Merged commit 34d8229ae2b51fb1a15bd208e6fe6185c94f6266

GitOrigin-RevId: 7ee0917f93a577e475f8e09526dd144d245593f4
diff --git a/api/v3/api_proto/projects_pb2.py b/api/v3/api_proto/projects_pb2.py
index 4c02744..f981a13 100644
--- a/api/v3/api_proto/projects_pb2.py
+++ b/api/v3/api_proto/projects_pb2.py
@@ -2,9 +2,9 @@
 # Generated by the protocol buffer compiler.  DO NOT EDIT!
 # source: api/v3/api_proto/projects.proto
 """Generated protocol buffer code."""
+from google.protobuf.internal import builder as _builder
 from google.protobuf import descriptor as _descriptor
-from google.protobuf import message as _message
-from google.protobuf import reflection as _reflection
+from google.protobuf import descriptor_pool as _descriptor_pool
 from google.protobuf import symbol_database as _symbol_database
 # @@protoc_insertion_point(imports)
 
@@ -17,589 +17,50 @@
 from api.v3.api_proto import project_objects_pb2 as api_dot_v3_dot_api__proto_dot_project__objects__pb2
 
 
-DESCRIPTOR = _descriptor.FileDescriptor(
-  name='api/v3/api_proto/projects.proto',
-  package='monorail.v3',
-  syntax='proto3',
-  serialized_options=b'Z!infra/monorailv2/api/v3/api_proto',
-  create_key=_descriptor._internal_create_key,
-  serialized_pb=b'\n\x1f\x61pi/v3/api_proto/projects.proto\x12\x0bmonorail.v3\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a&api/v3/api_proto/project_objects.proto\"t\n\x15\x43reateFieldDefRequest\x12-\n\x06parent\x18\x01 \x01(\tB\x1d\xe0\x41\x02\xfa\x41\x17\n\x15\x61pi.crbug.com/Project\x12,\n\x08\x66ielddef\x18\x02 \x01(\x0b\x32\x15.monorail.v3.FieldDefB\x03\xe0\x41\x02\"J\n\x16GetComponentDefRequest\x12\x30\n\x04name\x18\x01 \x01(\tB\"\xfa\x41\x1c\n\x1a\x61pi.crbug.com/ComponentDef\xe0\x41\x02\"\x81\x01\n\x19\x43reateComponentDefRequest\x12-\n\x06parent\x18\x01 \x01(\tB\x1d\xe0\x41\x02\xfa\x41\x17\n\x15\x61pi.crbug.com/Project\x12\x35\n\rcomponent_def\x18\x02 \x01(\x0b\x32\x19.monorail.v3.ComponentDefB\x03\xe0\x41\x02\"M\n\x19\x44\x65leteComponentDefRequest\x12\x30\n\x04name\x18\x01 \x01(\tB\"\xe0\x41\x02\xfa\x41\x1c\n\x1a\x61pi.crbug.com/ComponentDef\"q\n\x19ListIssueTemplatesRequest\x12-\n\x06parent\x18\x01 \x01(\tB\x1d\xfa\x41\x17\n\x15\x61pi.crbug.com/Project\xe0\x41\x02\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\"d\n\x1aListIssueTemplatesResponse\x12-\n\ttemplates\x18\x01 \x03(\x0b\x32\x1a.monorail.v3.IssueTemplate\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"p\n\x18ListComponentDefsRequest\x12-\n\x06parent\x18\x01 \x01(\tB\x1d\xfa\x41\x17\n\x15\x61pi.crbug.com/Project\xe0\x41\x02\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\"g\n\x19ListComponentDefsResponse\x12\x31\n\x0e\x63omponent_defs\x18\x01 \x03(\x0b\x32\x19.monorail.v3.ComponentDef\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"<\n\x13ListProjectsRequest\x12\x11\n\tpage_size\x18\x01 \x01(\x05\x12\x12\n\npage_token\x18\x02 \x01(\t\"W\n\x14ListProjectsResponse\x12&\n\x08projects\x18\x01 \x03(\x0b\x32\x14.monorail.v3.Project\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t2\x87\x05\n\x08Projects\x12M\n\x0e\x43reateFieldDef\x12\".monorail.v3.CreateFieldDefRequest\x1a\x15.monorail.v3.FieldDef\"\x00\x12S\n\x0fGetComponentDef\x12#.monorail.v3.GetComponentDefRequest\x1a\x19.monorail.v3.ComponentDef\"\x00\x12Y\n\x12\x43reateComponentDef\x12&.monorail.v3.CreateComponentDefRequest\x1a\x19.monorail.v3.ComponentDef\"\x00\x12V\n\x12\x44\x65leteComponentDef\x12&.monorail.v3.DeleteComponentDefRequest\x1a\x16.google.protobuf.Empty\"\x00\x12g\n\x12ListIssueTemplates\x12&.monorail.v3.ListIssueTemplatesRequest\x1a\'.monorail.v3.ListIssueTemplatesResponse\"\x00\x12\x64\n\x11ListComponentDefs\x12%.monorail.v3.ListComponentDefsRequest\x1a&.monorail.v3.ListComponentDefsResponse\"\x00\x12U\n\x0cListProjects\x12 .monorail.v3.ListProjectsRequest\x1a!.monorail.v3.ListProjectsResponse\"\x00\x42#Z!infra/monorailv2/api/v3/api_protob\x06proto3'
-  ,
-  dependencies=[google_dot_protobuf_dot_empty__pb2.DESCRIPTOR,google_dot_api_dot_field__behavior__pb2.DESCRIPTOR,google_dot_api_dot_resource__pb2.DESCRIPTOR,api_dot_v3_dot_api__proto_dot_project__objects__pb2.DESCRIPTOR,])
+DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1f\x61pi/v3/api_proto/projects.proto\x12\x0bmonorail.v3\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a&api/v3/api_proto/project_objects.proto\"t\n\x15\x43reateFieldDefRequest\x12-\n\x06parent\x18\x01 \x01(\tB\x1d\xe0\x41\x02\xfa\x41\x17\n\x15\x61pi.crbug.com/Project\x12,\n\x08\x66ielddef\x18\x02 \x01(\x0b\x32\x15.monorail.v3.FieldDefB\x03\xe0\x41\x02\"J\n\x16GetComponentDefRequest\x12\x30\n\x04name\x18\x01 \x01(\tB\"\xfa\x41\x1c\n\x1a\x61pi.crbug.com/ComponentDef\xe0\x41\x02\"\x81\x01\n\x19\x43reateComponentDefRequest\x12-\n\x06parent\x18\x01 \x01(\tB\x1d\xe0\x41\x02\xfa\x41\x17\n\x15\x61pi.crbug.com/Project\x12\x35\n\rcomponent_def\x18\x02 \x01(\x0b\x32\x19.monorail.v3.ComponentDefB\x03\xe0\x41\x02\"M\n\x19\x44\x65leteComponentDefRequest\x12\x30\n\x04name\x18\x01 \x01(\tB\"\xe0\x41\x02\xfa\x41\x1c\n\x1a\x61pi.crbug.com/ComponentDef\"q\n\x19ListIssueTemplatesRequest\x12-\n\x06parent\x18\x01 \x01(\tB\x1d\xfa\x41\x17\n\x15\x61pi.crbug.com/Project\xe0\x41\x02\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\"d\n\x1aListIssueTemplatesResponse\x12-\n\ttemplates\x18\x01 \x03(\x0b\x32\x1a.monorail.v3.IssueTemplate\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"p\n\x18ListComponentDefsRequest\x12-\n\x06parent\x18\x01 \x01(\tB\x1d\xfa\x41\x17\n\x15\x61pi.crbug.com/Project\xe0\x41\x02\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\"g\n\x19ListComponentDefsResponse\x12\x31\n\x0e\x63omponent_defs\x18\x01 \x03(\x0b\x32\x19.monorail.v3.ComponentDef\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"<\n\x13ListProjectsRequest\x12\x11\n\tpage_size\x18\x01 \x01(\x05\x12\x12\n\npage_token\x18\x02 \x01(\t\"W\n\x14ListProjectsResponse\x12&\n\x08projects\x18\x01 \x03(\x0b\x32\x14.monorail.v3.Project\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t2\x87\x05\n\x08Projects\x12M\n\x0e\x43reateFieldDef\x12\".monorail.v3.CreateFieldDefRequest\x1a\x15.monorail.v3.FieldDef\"\x00\x12S\n\x0fGetComponentDef\x12#.monorail.v3.GetComponentDefRequest\x1a\x19.monorail.v3.ComponentDef\"\x00\x12Y\n\x12\x43reateComponentDef\x12&.monorail.v3.CreateComponentDefRequest\x1a\x19.monorail.v3.ComponentDef\"\x00\x12V\n\x12\x44\x65leteComponentDef\x12&.monorail.v3.DeleteComponentDefRequest\x1a\x16.google.protobuf.Empty\"\x00\x12g\n\x12ListIssueTemplates\x12&.monorail.v3.ListIssueTemplatesRequest\x1a\'.monorail.v3.ListIssueTemplatesResponse\"\x00\x12\x64\n\x11ListComponentDefs\x12%.monorail.v3.ListComponentDefsRequest\x1a&.monorail.v3.ListComponentDefsResponse\"\x00\x12U\n\x0cListProjects\x12 .monorail.v3.ListProjectsRequest\x1a!.monorail.v3.ListProjectsResponse\"\x00\x42#Z!infra/monorailv2/api/v3/api_protob\x06proto3')
 
+_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals())
+_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'api.v3.api_proto.projects_pb2', globals())
+if _descriptor._USE_C_DESCRIPTORS == False:
 
-
-
-_CREATEFIELDDEFREQUEST = _descriptor.Descriptor(
-  name='CreateFieldDefRequest',
-  full_name='monorail.v3.CreateFieldDefRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='parent', full_name='monorail.v3.CreateFieldDefRequest.parent', index=0,
-      number=1, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=b"".decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=b'\340A\002\372A\027\n\025api.crbug.com/Project', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='fielddef', full_name='monorail.v3.CreateFieldDefRequest.fielddef', index=1,
-      number=2, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=b'\340A\002', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=177,
-  serialized_end=293,
-)
-
-
-_GETCOMPONENTDEFREQUEST = _descriptor.Descriptor(
-  name='GetComponentDefRequest',
-  full_name='monorail.v3.GetComponentDefRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='name', full_name='monorail.v3.GetComponentDefRequest.name', index=0,
-      number=1, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=b"".decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=b'\372A\034\n\032api.crbug.com/ComponentDef\340A\002', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=295,
-  serialized_end=369,
-)
-
-
-_CREATECOMPONENTDEFREQUEST = _descriptor.Descriptor(
-  name='CreateComponentDefRequest',
-  full_name='monorail.v3.CreateComponentDefRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='parent', full_name='monorail.v3.CreateComponentDefRequest.parent', index=0,
-      number=1, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=b"".decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=b'\340A\002\372A\027\n\025api.crbug.com/Project', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='component_def', full_name='monorail.v3.CreateComponentDefRequest.component_def', index=1,
-      number=2, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=b'\340A\002', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=372,
-  serialized_end=501,
-)
-
-
-_DELETECOMPONENTDEFREQUEST = _descriptor.Descriptor(
-  name='DeleteComponentDefRequest',
-  full_name='monorail.v3.DeleteComponentDefRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='name', full_name='monorail.v3.DeleteComponentDefRequest.name', index=0,
-      number=1, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=b"".decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=b'\340A\002\372A\034\n\032api.crbug.com/ComponentDef', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=503,
-  serialized_end=580,
-)
-
-
-_LISTISSUETEMPLATESREQUEST = _descriptor.Descriptor(
-  name='ListIssueTemplatesRequest',
-  full_name='monorail.v3.ListIssueTemplatesRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='parent', full_name='monorail.v3.ListIssueTemplatesRequest.parent', index=0,
-      number=1, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=b"".decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=b'\372A\027\n\025api.crbug.com/Project\340A\002', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='page_size', full_name='monorail.v3.ListIssueTemplatesRequest.page_size', index=1,
-      number=2, type=5, cpp_type=1, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='page_token', full_name='monorail.v3.ListIssueTemplatesRequest.page_token', index=2,
-      number=3, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=b"".decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=582,
-  serialized_end=695,
-)
-
-
-_LISTISSUETEMPLATESRESPONSE = _descriptor.Descriptor(
-  name='ListIssueTemplatesResponse',
-  full_name='monorail.v3.ListIssueTemplatesResponse',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='templates', full_name='monorail.v3.ListIssueTemplatesResponse.templates', index=0,
-      number=1, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='next_page_token', full_name='monorail.v3.ListIssueTemplatesResponse.next_page_token', index=1,
-      number=2, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=b"".decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=697,
-  serialized_end=797,
-)
-
-
-_LISTCOMPONENTDEFSREQUEST = _descriptor.Descriptor(
-  name='ListComponentDefsRequest',
-  full_name='monorail.v3.ListComponentDefsRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='parent', full_name='monorail.v3.ListComponentDefsRequest.parent', index=0,
-      number=1, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=b"".decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=b'\372A\027\n\025api.crbug.com/Project\340A\002', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='page_size', full_name='monorail.v3.ListComponentDefsRequest.page_size', index=1,
-      number=2, type=5, cpp_type=1, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='page_token', full_name='monorail.v3.ListComponentDefsRequest.page_token', index=2,
-      number=3, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=b"".decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=799,
-  serialized_end=911,
-)
-
-
-_LISTCOMPONENTDEFSRESPONSE = _descriptor.Descriptor(
-  name='ListComponentDefsResponse',
-  full_name='monorail.v3.ListComponentDefsResponse',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='component_defs', full_name='monorail.v3.ListComponentDefsResponse.component_defs', index=0,
-      number=1, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='next_page_token', full_name='monorail.v3.ListComponentDefsResponse.next_page_token', index=1,
-      number=2, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=b"".decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=913,
-  serialized_end=1016,
-)
-
-
-_LISTPROJECTSREQUEST = _descriptor.Descriptor(
-  name='ListProjectsRequest',
-  full_name='monorail.v3.ListProjectsRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='page_size', full_name='monorail.v3.ListProjectsRequest.page_size', index=0,
-      number=1, type=5, cpp_type=1, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='page_token', full_name='monorail.v3.ListProjectsRequest.page_token', index=1,
-      number=2, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=b"".decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1018,
-  serialized_end=1078,
-)
-
-
-_LISTPROJECTSRESPONSE = _descriptor.Descriptor(
-  name='ListProjectsResponse',
-  full_name='monorail.v3.ListProjectsResponse',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='projects', full_name='monorail.v3.ListProjectsResponse.projects', index=0,
-      number=1, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='next_page_token', full_name='monorail.v3.ListProjectsResponse.next_page_token', index=1,
-      number=2, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=b"".decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1080,
-  serialized_end=1167,
-)
-
-_CREATEFIELDDEFREQUEST.fields_by_name['fielddef'].message_type = api_dot_v3_dot_api__proto_dot_project__objects__pb2._FIELDDEF
-_CREATECOMPONENTDEFREQUEST.fields_by_name['component_def'].message_type = api_dot_v3_dot_api__proto_dot_project__objects__pb2._COMPONENTDEF
-_LISTISSUETEMPLATESRESPONSE.fields_by_name['templates'].message_type = api_dot_v3_dot_api__proto_dot_project__objects__pb2._ISSUETEMPLATE
-_LISTCOMPONENTDEFSRESPONSE.fields_by_name['component_defs'].message_type = api_dot_v3_dot_api__proto_dot_project__objects__pb2._COMPONENTDEF
-_LISTPROJECTSRESPONSE.fields_by_name['projects'].message_type = api_dot_v3_dot_api__proto_dot_project__objects__pb2._PROJECT
-DESCRIPTOR.message_types_by_name['CreateFieldDefRequest'] = _CREATEFIELDDEFREQUEST
-DESCRIPTOR.message_types_by_name['GetComponentDefRequest'] = _GETCOMPONENTDEFREQUEST
-DESCRIPTOR.message_types_by_name['CreateComponentDefRequest'] = _CREATECOMPONENTDEFREQUEST
-DESCRIPTOR.message_types_by_name['DeleteComponentDefRequest'] = _DELETECOMPONENTDEFREQUEST
-DESCRIPTOR.message_types_by_name['ListIssueTemplatesRequest'] = _LISTISSUETEMPLATESREQUEST
-DESCRIPTOR.message_types_by_name['ListIssueTemplatesResponse'] = _LISTISSUETEMPLATESRESPONSE
-DESCRIPTOR.message_types_by_name['ListComponentDefsRequest'] = _LISTCOMPONENTDEFSREQUEST
-DESCRIPTOR.message_types_by_name['ListComponentDefsResponse'] = _LISTCOMPONENTDEFSRESPONSE
-DESCRIPTOR.message_types_by_name['ListProjectsRequest'] = _LISTPROJECTSREQUEST
-DESCRIPTOR.message_types_by_name['ListProjectsResponse'] = _LISTPROJECTSRESPONSE
-_sym_db.RegisterFileDescriptor(DESCRIPTOR)
-
-CreateFieldDefRequest = _reflection.GeneratedProtocolMessageType('CreateFieldDefRequest', (_message.Message,), {
-  'DESCRIPTOR' : _CREATEFIELDDEFREQUEST,
-  '__module__' : 'api.v3.api_proto.projects_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.v3.CreateFieldDefRequest)
-  })
-_sym_db.RegisterMessage(CreateFieldDefRequest)
-
-GetComponentDefRequest = _reflection.GeneratedProtocolMessageType('GetComponentDefRequest', (_message.Message,), {
-  'DESCRIPTOR' : _GETCOMPONENTDEFREQUEST,
-  '__module__' : 'api.v3.api_proto.projects_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.v3.GetComponentDefRequest)
-  })
-_sym_db.RegisterMessage(GetComponentDefRequest)
-
-CreateComponentDefRequest = _reflection.GeneratedProtocolMessageType('CreateComponentDefRequest', (_message.Message,), {
-  'DESCRIPTOR' : _CREATECOMPONENTDEFREQUEST,
-  '__module__' : 'api.v3.api_proto.projects_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.v3.CreateComponentDefRequest)
-  })
-_sym_db.RegisterMessage(CreateComponentDefRequest)
-
-DeleteComponentDefRequest = _reflection.GeneratedProtocolMessageType('DeleteComponentDefRequest', (_message.Message,), {
-  'DESCRIPTOR' : _DELETECOMPONENTDEFREQUEST,
-  '__module__' : 'api.v3.api_proto.projects_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.v3.DeleteComponentDefRequest)
-  })
-_sym_db.RegisterMessage(DeleteComponentDefRequest)
-
-ListIssueTemplatesRequest = _reflection.GeneratedProtocolMessageType('ListIssueTemplatesRequest', (_message.Message,), {
-  'DESCRIPTOR' : _LISTISSUETEMPLATESREQUEST,
-  '__module__' : 'api.v3.api_proto.projects_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.v3.ListIssueTemplatesRequest)
-  })
-_sym_db.RegisterMessage(ListIssueTemplatesRequest)
-
-ListIssueTemplatesResponse = _reflection.GeneratedProtocolMessageType('ListIssueTemplatesResponse', (_message.Message,), {
-  'DESCRIPTOR' : _LISTISSUETEMPLATESRESPONSE,
-  '__module__' : 'api.v3.api_proto.projects_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.v3.ListIssueTemplatesResponse)
-  })
-_sym_db.RegisterMessage(ListIssueTemplatesResponse)
-
-ListComponentDefsRequest = _reflection.GeneratedProtocolMessageType('ListComponentDefsRequest', (_message.Message,), {
-  'DESCRIPTOR' : _LISTCOMPONENTDEFSREQUEST,
-  '__module__' : 'api.v3.api_proto.projects_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.v3.ListComponentDefsRequest)
-  })
-_sym_db.RegisterMessage(ListComponentDefsRequest)
-
-ListComponentDefsResponse = _reflection.GeneratedProtocolMessageType('ListComponentDefsResponse', (_message.Message,), {
-  'DESCRIPTOR' : _LISTCOMPONENTDEFSRESPONSE,
-  '__module__' : 'api.v3.api_proto.projects_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.v3.ListComponentDefsResponse)
-  })
-_sym_db.RegisterMessage(ListComponentDefsResponse)
-
-ListProjectsRequest = _reflection.GeneratedProtocolMessageType('ListProjectsRequest', (_message.Message,), {
-  'DESCRIPTOR' : _LISTPROJECTSREQUEST,
-  '__module__' : 'api.v3.api_proto.projects_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.v3.ListProjectsRequest)
-  })
-_sym_db.RegisterMessage(ListProjectsRequest)
-
-ListProjectsResponse = _reflection.GeneratedProtocolMessageType('ListProjectsResponse', (_message.Message,), {
-  'DESCRIPTOR' : _LISTPROJECTSRESPONSE,
-  '__module__' : 'api.v3.api_proto.projects_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.v3.ListProjectsResponse)
-  })
-_sym_db.RegisterMessage(ListProjectsResponse)
-
-
-DESCRIPTOR._options = None
-_CREATEFIELDDEFREQUEST.fields_by_name['parent']._options = None
-_CREATEFIELDDEFREQUEST.fields_by_name['fielddef']._options = None
-_GETCOMPONENTDEFREQUEST.fields_by_name['name']._options = None
-_CREATECOMPONENTDEFREQUEST.fields_by_name['parent']._options = None
-_CREATECOMPONENTDEFREQUEST.fields_by_name['component_def']._options = None
-_DELETECOMPONENTDEFREQUEST.fields_by_name['name']._options = None
-_LISTISSUETEMPLATESREQUEST.fields_by_name['parent']._options = None
-_LISTCOMPONENTDEFSREQUEST.fields_by_name['parent']._options = None
-
-_PROJECTS = _descriptor.ServiceDescriptor(
-  name='Projects',
-  full_name='monorail.v3.Projects',
-  file=DESCRIPTOR,
-  index=0,
-  serialized_options=None,
-  create_key=_descriptor._internal_create_key,
-  serialized_start=1170,
-  serialized_end=1817,
-  methods=[
-  _descriptor.MethodDescriptor(
-    name='CreateFieldDef',
-    full_name='monorail.v3.Projects.CreateFieldDef',
-    index=0,
-    containing_service=None,
-    input_type=_CREATEFIELDDEFREQUEST,
-    output_type=api_dot_v3_dot_api__proto_dot_project__objects__pb2._FIELDDEF,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='GetComponentDef',
-    full_name='monorail.v3.Projects.GetComponentDef',
-    index=1,
-    containing_service=None,
-    input_type=_GETCOMPONENTDEFREQUEST,
-    output_type=api_dot_v3_dot_api__proto_dot_project__objects__pb2._COMPONENTDEF,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='CreateComponentDef',
-    full_name='monorail.v3.Projects.CreateComponentDef',
-    index=2,
-    containing_service=None,
-    input_type=_CREATECOMPONENTDEFREQUEST,
-    output_type=api_dot_v3_dot_api__proto_dot_project__objects__pb2._COMPONENTDEF,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='DeleteComponentDef',
-    full_name='monorail.v3.Projects.DeleteComponentDef',
-    index=3,
-    containing_service=None,
-    input_type=_DELETECOMPONENTDEFREQUEST,
-    output_type=google_dot_protobuf_dot_empty__pb2._EMPTY,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='ListIssueTemplates',
-    full_name='monorail.v3.Projects.ListIssueTemplates',
-    index=4,
-    containing_service=None,
-    input_type=_LISTISSUETEMPLATESREQUEST,
-    output_type=_LISTISSUETEMPLATESRESPONSE,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='ListComponentDefs',
-    full_name='monorail.v3.Projects.ListComponentDefs',
-    index=5,
-    containing_service=None,
-    input_type=_LISTCOMPONENTDEFSREQUEST,
-    output_type=_LISTCOMPONENTDEFSRESPONSE,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='ListProjects',
-    full_name='monorail.v3.Projects.ListProjects',
-    index=6,
-    containing_service=None,
-    input_type=_LISTPROJECTSREQUEST,
-    output_type=_LISTPROJECTSRESPONSE,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-])
-_sym_db.RegisterServiceDescriptor(_PROJECTS)
-
-DESCRIPTOR.services_by_name['Projects'] = _PROJECTS
-
+  DESCRIPTOR._options = None
+  DESCRIPTOR._serialized_options = b'Z!infra/monorailv2/api/v3/api_proto'
+  _CREATEFIELDDEFREQUEST.fields_by_name['parent']._options = None
+  _CREATEFIELDDEFREQUEST.fields_by_name['parent']._serialized_options = b'\340A\002\372A\027\n\025api.crbug.com/Project'
+  _CREATEFIELDDEFREQUEST.fields_by_name['fielddef']._options = None
+  _CREATEFIELDDEFREQUEST.fields_by_name['fielddef']._serialized_options = b'\340A\002'
+  _GETCOMPONENTDEFREQUEST.fields_by_name['name']._options = None
+  _GETCOMPONENTDEFREQUEST.fields_by_name['name']._serialized_options = b'\372A\034\n\032api.crbug.com/ComponentDef\340A\002'
+  _CREATECOMPONENTDEFREQUEST.fields_by_name['parent']._options = None
+  _CREATECOMPONENTDEFREQUEST.fields_by_name['parent']._serialized_options = b'\340A\002\372A\027\n\025api.crbug.com/Project'
+  _CREATECOMPONENTDEFREQUEST.fields_by_name['component_def']._options = None
+  _CREATECOMPONENTDEFREQUEST.fields_by_name['component_def']._serialized_options = b'\340A\002'
+  _DELETECOMPONENTDEFREQUEST.fields_by_name['name']._options = None
+  _DELETECOMPONENTDEFREQUEST.fields_by_name['name']._serialized_options = b'\340A\002\372A\034\n\032api.crbug.com/ComponentDef'
+  _LISTISSUETEMPLATESREQUEST.fields_by_name['parent']._options = None
+  _LISTISSUETEMPLATESREQUEST.fields_by_name['parent']._serialized_options = b'\372A\027\n\025api.crbug.com/Project\340A\002'
+  _LISTCOMPONENTDEFSREQUEST.fields_by_name['parent']._options = None
+  _LISTCOMPONENTDEFSREQUEST.fields_by_name['parent']._serialized_options = b'\372A\027\n\025api.crbug.com/Project\340A\002'
+  _CREATEFIELDDEFREQUEST._serialized_start=177
+  _CREATEFIELDDEFREQUEST._serialized_end=293
+  _GETCOMPONENTDEFREQUEST._serialized_start=295
+  _GETCOMPONENTDEFREQUEST._serialized_end=369
+  _CREATECOMPONENTDEFREQUEST._serialized_start=372
+  _CREATECOMPONENTDEFREQUEST._serialized_end=501
+  _DELETECOMPONENTDEFREQUEST._serialized_start=503
+  _DELETECOMPONENTDEFREQUEST._serialized_end=580
+  _LISTISSUETEMPLATESREQUEST._serialized_start=582
+  _LISTISSUETEMPLATESREQUEST._serialized_end=695
+  _LISTISSUETEMPLATESRESPONSE._serialized_start=697
+  _LISTISSUETEMPLATESRESPONSE._serialized_end=797
+  _LISTCOMPONENTDEFSREQUEST._serialized_start=799
+  _LISTCOMPONENTDEFSREQUEST._serialized_end=911
+  _LISTCOMPONENTDEFSRESPONSE._serialized_start=913
+  _LISTCOMPONENTDEFSRESPONSE._serialized_end=1016
+  _LISTPROJECTSREQUEST._serialized_start=1018
+  _LISTPROJECTSREQUEST._serialized_end=1078
+  _LISTPROJECTSRESPONSE._serialized_start=1080
+  _LISTPROJECTSRESPONSE._serialized_end=1167
+  _PROJECTS._serialized_start=1170
+  _PROJECTS._serialized_end=1817
 # @@protoc_insertion_point(module_scope)