diff --git a/examples/server/v1/components.py b/examples/server/v1/components.py index 281d83947..31ff41234 100644 --- a/examples/server/v1/components.py +++ b/examples/server/v1/components.py @@ -513,6 +513,7 @@ class ExampleGripper(Gripper): def __init__(self, name: str): self.opened = False self.is_stopped = True + self.kinematics = (KinematicsFileFormat.KINEMATICS_FILE_FORMAT_SVA, b"\x00\x01\x02") super().__init__(name) async def open(self, extra: Optional[Dict[str, Any]] = None, **kwargs): @@ -533,6 +534,9 @@ async def is_moving(self): async def get_geometries(self, extra: Optional[Dict[str, Any]] = None, **kwargs) -> List[Geometry]: return GEOMETRIES + async def get_kinematics(self, extra: Optional[Dict[str, Any]] = None, **kwargs) -> Tuple[KinematicsFileFormat.ValueType, bytes]: + return self.kinematics + class ExampleMotor(Motor): def __init__(self, name: str): diff --git a/src/viam/components/arm/arm.py b/src/viam/components/arm/arm.py index a61d52136..5569bfafb 100644 --- a/src/viam/components/arm/arm.py +++ b/src/viam/components/arm/arm.py @@ -194,7 +194,7 @@ async def is_moving(self) -> bool: @abc.abstractmethod async def get_kinematics( - self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None + self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, **kwargs ) -> Tuple[KinematicsFileFormat.ValueType, bytes]: """ Get the kinematics information associated with the arm. diff --git a/src/viam/components/gripper/__init__.py b/src/viam/components/gripper/__init__.py index 6da00cfcd..5de9d2b5d 100644 --- a/src/viam/components/gripper/__init__.py +++ b/src/viam/components/gripper/__init__.py @@ -1,3 +1,4 @@ +from viam.proto.common import KinematicsFileFormat from viam.resource.registry import Registry, ResourceRegistration from .client import GripperClient @@ -6,6 +7,7 @@ __all__ = [ "Gripper", + "KinematicsFileFormat", ] Registry.register_api(ResourceRegistration(Gripper, GripperRPCService, lambda name, channel: GripperClient(name, channel))) diff --git a/src/viam/components/gripper/client.py b/src/viam/components/gripper/client.py index 945175449..01967347a 100644 --- a/src/viam/components/gripper/client.py +++ b/src/viam/components/gripper/client.py @@ -1,8 +1,8 @@ -from typing import Any, Dict, List, Mapping, Optional +from typing import Any, Dict, List, Mapping, Optional, Tuple from grpclib.client import Channel -from viam.proto.common import DoCommandRequest, DoCommandResponse, Geometry +from viam.proto.common import DoCommandRequest, DoCommandResponse, Geometry, GetKinematicsRequest, GetKinematicsResponse from viam.proto.component.gripper import ( GrabRequest, GrabResponse, @@ -17,6 +17,7 @@ from .gripper import Gripper +from . import KinematicsFileFormat class GripperClient(Gripper, ReconfigurableResourceRPCClientBase): """ @@ -83,3 +84,15 @@ async def do_command( async def get_geometries(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, **kwargs) -> List[Geometry]: md = kwargs.get("metadata", self.Metadata()) return await get_geometries(self.client, self.name, extra, timeout, md) + + async def get_kinematics( + self, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **kwargs, + ) -> Tuple[KinematicsFileFormat.ValueType, bytes]: + md = kwargs.get("metadata", self.Metadata()).proto + request = GetKinematicsRequest(name=self.name, extra=dict_to_struct(extra)) + response: GetKinematicsResponse = await self.client.GetKinematics(request, timeout=timeout, metadata=md) + return (response.format, response.kinematics_data) diff --git a/src/viam/components/gripper/gripper.py b/src/viam/components/gripper/gripper.py index 286c2eeef..153cc8e2b 100644 --- a/src/viam/components/gripper/gripper.py +++ b/src/viam/components/gripper/gripper.py @@ -1,9 +1,11 @@ import abc -from typing import Any, Dict, Final, Optional +from typing import Any, Dict, Final, Optional, Tuple from viam.components.component_base import ComponentBase from viam.resource.types import API, RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_COMPONENT +from . import KinematicsFileFormat + class Gripper(ComponentBase): """ @@ -112,3 +114,37 @@ async def is_moving(self) -> bool: For more information, see `Gripper component `_. """ ... + + @abc.abstractmethod + async def get_kinematics( + self, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **kwargs, + ) -> Tuple[KinematicsFileFormat.ValueType, bytes]: + """ + Get the kinematics information associated with the gripper. + + :: + + my_gripper = Gripper.from_robot(robot=machine, name="my_gripper") + + # Get the kinematics information associated with the gripper. + kinematics = await my_gripper.get_kinematics() + + # Get the format of the kinematics file. + k_file = kinematics[0] + + # Get the byte contents of the file. + k_bytes = kinematics[1] + + Returns: + Tuple[KinematicsFileFormat.ValueType, bytes]: A tuple containing two values; the first [0] value represents the format of the + file, either in URDF format (``KinematicsFileFormat.KINEMATICS_FILE_FORMAT_URDF``) or + Viam's kinematic parameter format (spatial vector algebra) (``KinematicsFileFormat.KINEMATICS_FILE_FORMAT_SVA``), + and the second [1] value represents the byte contents of the file. + + For more information, see `Gripper component `_. + """ + ... diff --git a/src/viam/components/gripper/service.py b/src/viam/components/gripper/service.py index bd8b6f1da..2bc3ad06e 100644 --- a/src/viam/components/gripper/service.py +++ b/src/viam/components/gripper/service.py @@ -1,6 +1,13 @@ from grpclib.server import Stream -from viam.proto.common import DoCommandRequest, DoCommandResponse, GetGeometriesRequest, GetGeometriesResponse +from viam.proto.common import ( + DoCommandRequest, + DoCommandResponse, + GetGeometriesRequest, + GetGeometriesResponse, + GetKinematicsRequest, + GetKinematicsResponse +) from viam.proto.component.gripper import ( GrabRequest, GrabResponse, @@ -74,8 +81,17 @@ async def DoCommand(self, stream: Stream[DoCommandRequest, DoCommandResponse]) - async def GetGeometries(self, stream: Stream[GetGeometriesRequest, GetGeometriesResponse]) -> None: request = await stream.recv_message() assert request is not None - arm = self.get_resource(request.name) + gripper = self.get_resource(request.name) timeout = stream.deadline.time_remaining() if stream.deadline else None - geometries = await arm.get_geometries(extra=struct_to_dict(request.extra), timeout=timeout) + geometries = await gripper.get_geometries(extra=struct_to_dict(request.extra), timeout=timeout) response = GetGeometriesResponse(geometries=geometries) await stream.send_message(response) + + async def GetKinematics(self, stream: Stream[GetKinematicsRequest, GetKinematicsResponse]) -> None: + request = await stream.recv_message() + assert request is not None + gripper = self.get_resource(request.name) + timeout = stream.deadline.time_remaining() if stream.deadline else None + format, kinematics_data = await gripper.get_kinematics(extra=struct_to_dict(request.extra), timeout=timeout) + response = GetKinematicsResponse(format=format, kinematics_data=kinematics_data) + await stream.send_message(response) diff --git a/src/viam/gen/app/datapipelines/v1/data_pipelines_pb2.py b/src/viam/gen/app/datapipelines/v1/data_pipelines_pb2.py index cab8bf796..c6282569f 100644 --- a/src/viam/gen/app/datapipelines/v1/data_pipelines_pb2.py +++ b/src/viam/gen/app/datapipelines/v1/data_pipelines_pb2.py @@ -7,15 +7,15 @@ _runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 5, 29, 2, '', 'app/datapipelines/v1/data_pipelines.proto') _sym_db = _symbol_database.Default() from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)app/datapipelines/v1/data_pipelines.proto\x12\x19viam.app.datapipelines.v1\x1a\x1fgoogle/protobuf/timestamp.proto"\xa6\x02\n\x0cDataPipeline\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\'\n\x0forganization_id\x18\x02 \x01(\tR\x0eorganizationId\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x12\x1d\n\nmql_binary\x18\x04 \x03(\x0cR\tmqlBinary\x12\x1a\n\x08schedule\x18\x05 \x01(\tR\x08schedule\x12\x18\n\x07enabled\x18\x06 \x01(\x08R\x07enabled\x129\n\ncreated_on\x18\x07 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedOn\x129\n\nupdated_at\x18\x08 \x01(\x0b2\x1a.google.protobuf.TimestampR\tupdatedAt"(\n\x16GetDataPipelineRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"g\n\x17GetDataPipelineResponse\x12L\n\rdata_pipeline\x18\x01 \x01(\x0b2\'.viam.app.datapipelines.v1.DataPipelineR\x0cdataPipeline"C\n\x18ListDataPipelinesRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId"k\n\x19ListDataPipelinesResponse\x12N\n\x0edata_pipelines\x18\x01 \x03(\x0b2\'.viam.app.datapipelines.v1.DataPipelineR\rdataPipelines"\x93\x01\n\x19CreateDataPipelineRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x1d\n\nmql_binary\x18\x03 \x03(\x0cR\tmqlBinary\x12\x1a\n\x08schedule\x18\x04 \x01(\tR\x08schedule",\n\x1aCreateDataPipelineResponse\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"z\n\x19UpdateDataPipelineRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x1d\n\nmql_binary\x18\x03 \x03(\x0cR\tmqlBinary\x12\x1a\n\x08schedule\x18\x04 \x01(\tR\x08schedule"\x1c\n\x1aUpdateDataPipelineResponse"+\n\x19DeleteDataPipelineRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"\x1c\n\x1aDeleteDataPipelineResponse"+\n\x19EnableDataPipelineRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"\x1c\n\x1aEnableDataPipelineResponse",\n\x1aDisableDataPipelineRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"\x1d\n\x1bDisableDataPipelineResponse"i\n\x1bListDataPipelineRunsRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x1b\n\tpage_size\x18\x02 \x01(\rR\x08pageSize\x12\x1d\n\npage_token\x18\x03 \x01(\tR\tpageToken"\xa7\x01\n\x1cListDataPipelineRunsResponse\x12\x1f\n\x0bpipeline_id\x18\x01 \x01(\tR\npipelineId\x12>\n\x04runs\x18\x02 \x03(\x0b2*.viam.app.datapipelines.v1.DataPipelineRunR\x04runs\x12&\n\x0fnext_page_token\x18\x03 \x01(\tR\rnextPageToken"\xe1\x02\n\x0fDataPipelineRun\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x129\n\nstart_time\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\tstartTime\x125\n\x08end_time\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\x07endTime\x12B\n\x0fdata_start_time\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampR\rdataStartTime\x12>\n\rdata_end_time\x18\x05 \x01(\x0b2\x1a.google.protobuf.TimestampR\x0bdataEndTime\x12H\n\x06status\x18\x06 \x01(\x0e20.viam.app.datapipelines.v1.DataPipelineRunStatusR\x06status*\xdc\x01\n\x15DataPipelineRunStatus\x12(\n$DATA_PIPELINE_RUN_STATUS_UNSPECIFIED\x10\x00\x12&\n"DATA_PIPELINE_RUN_STATUS_SCHEDULED\x10\x01\x12$\n DATA_PIPELINE_RUN_STATUS_STARTED\x10\x02\x12&\n"DATA_PIPELINE_RUN_STATUS_COMPLETED\x10\x03\x12#\n\x1fDATA_PIPELINE_RUN_STATUS_FAILED\x10\x042\xb1\x08\n\x14DataPipelinesService\x12x\n\x0fGetDataPipeline\x121.viam.app.datapipelines.v1.GetDataPipelineRequest\x1a2.viam.app.datapipelines.v1.GetDataPipelineResponse\x12~\n\x11ListDataPipelines\x123.viam.app.datapipelines.v1.ListDataPipelinesRequest\x1a4.viam.app.datapipelines.v1.ListDataPipelinesResponse\x12\x81\x01\n\x12CreateDataPipeline\x124.viam.app.datapipelines.v1.CreateDataPipelineRequest\x1a5.viam.app.datapipelines.v1.CreateDataPipelineResponse\x12\x81\x01\n\x12UpdateDataPipeline\x124.viam.app.datapipelines.v1.UpdateDataPipelineRequest\x1a5.viam.app.datapipelines.v1.UpdateDataPipelineResponse\x12\x81\x01\n\x12DeleteDataPipeline\x124.viam.app.datapipelines.v1.DeleteDataPipelineRequest\x1a5.viam.app.datapipelines.v1.DeleteDataPipelineResponse\x12\x81\x01\n\x12EnableDataPipeline\x124.viam.app.datapipelines.v1.EnableDataPipelineRequest\x1a5.viam.app.datapipelines.v1.EnableDataPipelineResponse\x12\x84\x01\n\x13DisableDataPipeline\x125.viam.app.datapipelines.v1.DisableDataPipelineRequest\x1a6.viam.app.datapipelines.v1.DisableDataPipelineResponse\x12\x87\x01\n\x14ListDataPipelineRuns\x126.viam.app.datapipelines.v1.ListDataPipelineRunsRequest\x1a7.viam.app.datapipelines.v1.ListDataPipelineRunsResponseB&Z$go.viam.com/api/app/datapipelines/v1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)app/datapipelines/v1/data_pipelines.proto\x12\x19viam.app.datapipelines.v1\x1a\x1fgoogle/protobuf/timestamp.proto"\xa6\x02\n\x0cDataPipeline\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\'\n\x0forganization_id\x18\x02 \x01(\tR\x0eorganizationId\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x12\x1d\n\nmql_binary\x18\x04 \x03(\x0cR\tmqlBinary\x12\x1a\n\x08schedule\x18\x05 \x01(\tR\x08schedule\x12\x18\n\x07enabled\x18\x06 \x01(\x08R\x07enabled\x129\n\ncreated_on\x18\x07 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedOn\x129\n\nupdated_at\x18\x08 \x01(\x0b2\x1a.google.protobuf.TimestampR\tupdatedAt"(\n\x16GetDataPipelineRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"g\n\x17GetDataPipelineResponse\x12L\n\rdata_pipeline\x18\x01 \x01(\x0b2\'.viam.app.datapipelines.v1.DataPipelineR\x0cdataPipeline"C\n\x18ListDataPipelinesRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId"k\n\x19ListDataPipelinesResponse\x12N\n\x0edata_pipelines\x18\x01 \x03(\x0b2\'.viam.app.datapipelines.v1.DataPipelineR\rdataPipelines"\xd5\x01\n\x19CreateDataPipelineRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x1d\n\nmql_binary\x18\x03 \x03(\x0cR\tmqlBinary\x12\x1a\n\x08schedule\x18\x04 \x01(\tR\x08schedule\x12,\n\x0fenable_backfill\x18\x05 \x01(\x08H\x00R\x0eenableBackfill\x88\x01\x01B\x12\n\x10_enable_backfill",\n\x1aCreateDataPipelineResponse\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"z\n\x19UpdateDataPipelineRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x1d\n\nmql_binary\x18\x03 \x03(\x0cR\tmqlBinary\x12\x1a\n\x08schedule\x18\x04 \x01(\tR\x08schedule"\x1c\n\x1aUpdateDataPipelineResponse"+\n\x19DeleteDataPipelineRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"\x1c\n\x1aDeleteDataPipelineResponse"+\n\x19EnableDataPipelineRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"\x1c\n\x1aEnableDataPipelineResponse",\n\x1aDisableDataPipelineRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"\x1d\n\x1bDisableDataPipelineResponse"i\n\x1bListDataPipelineRunsRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x1b\n\tpage_size\x18\x02 \x01(\rR\x08pageSize\x12\x1d\n\npage_token\x18\x03 \x01(\tR\tpageToken"\xa7\x01\n\x1cListDataPipelineRunsResponse\x12\x1f\n\x0bpipeline_id\x18\x01 \x01(\tR\npipelineId\x12>\n\x04runs\x18\x02 \x03(\x0b2*.viam.app.datapipelines.v1.DataPipelineRunR\x04runs\x12&\n\x0fnext_page_token\x18\x03 \x01(\tR\rnextPageToken"\xe1\x02\n\x0fDataPipelineRun\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x129\n\nstart_time\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\tstartTime\x125\n\x08end_time\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\x07endTime\x12B\n\x0fdata_start_time\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampR\rdataStartTime\x12>\n\rdata_end_time\x18\x05 \x01(\x0b2\x1a.google.protobuf.TimestampR\x0bdataEndTime\x12H\n\x06status\x18\x06 \x01(\x0e20.viam.app.datapipelines.v1.DataPipelineRunStatusR\x06status*\xdc\x01\n\x15DataPipelineRunStatus\x12(\n$DATA_PIPELINE_RUN_STATUS_UNSPECIFIED\x10\x00\x12&\n"DATA_PIPELINE_RUN_STATUS_SCHEDULED\x10\x01\x12$\n DATA_PIPELINE_RUN_STATUS_STARTED\x10\x02\x12&\n"DATA_PIPELINE_RUN_STATUS_COMPLETED\x10\x03\x12#\n\x1fDATA_PIPELINE_RUN_STATUS_FAILED\x10\x042\xb1\x08\n\x14DataPipelinesService\x12x\n\x0fGetDataPipeline\x121.viam.app.datapipelines.v1.GetDataPipelineRequest\x1a2.viam.app.datapipelines.v1.GetDataPipelineResponse\x12~\n\x11ListDataPipelines\x123.viam.app.datapipelines.v1.ListDataPipelinesRequest\x1a4.viam.app.datapipelines.v1.ListDataPipelinesResponse\x12\x81\x01\n\x12CreateDataPipeline\x124.viam.app.datapipelines.v1.CreateDataPipelineRequest\x1a5.viam.app.datapipelines.v1.CreateDataPipelineResponse\x12\x81\x01\n\x12UpdateDataPipeline\x124.viam.app.datapipelines.v1.UpdateDataPipelineRequest\x1a5.viam.app.datapipelines.v1.UpdateDataPipelineResponse\x12\x81\x01\n\x12DeleteDataPipeline\x124.viam.app.datapipelines.v1.DeleteDataPipelineRequest\x1a5.viam.app.datapipelines.v1.DeleteDataPipelineResponse\x12\x81\x01\n\x12EnableDataPipeline\x124.viam.app.datapipelines.v1.EnableDataPipelineRequest\x1a5.viam.app.datapipelines.v1.EnableDataPipelineResponse\x12\x84\x01\n\x13DisableDataPipeline\x125.viam.app.datapipelines.v1.DisableDataPipelineRequest\x1a6.viam.app.datapipelines.v1.DisableDataPipelineResponse\x12\x87\x01\n\x14ListDataPipelineRuns\x126.viam.app.datapipelines.v1.ListDataPipelineRunsRequest\x1a7.viam.app.datapipelines.v1.ListDataPipelineRunsResponseB&Z$go.viam.com/api/app/datapipelines/v1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'app.datapipelines.v1.data_pipelines_pb2', _globals) if not _descriptor._USE_C_DESCRIPTORS: _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'Z$go.viam.com/api/app/datapipelines/v1' - _globals['_DATAPIPELINERUNSTATUS']._serialized_start = 1938 - _globals['_DATAPIPELINERUNSTATUS']._serialized_end = 2158 + _globals['_DATAPIPELINERUNSTATUS']._serialized_start = 2004 + _globals['_DATAPIPELINERUNSTATUS']._serialized_end = 2224 _globals['_DATAPIPELINE']._serialized_start = 106 _globals['_DATAPIPELINE']._serialized_end = 400 _globals['_GETDATAPIPELINEREQUEST']._serialized_start = 402 @@ -27,30 +27,30 @@ _globals['_LISTDATAPIPELINESRESPONSE']._serialized_start = 618 _globals['_LISTDATAPIPELINESRESPONSE']._serialized_end = 725 _globals['_CREATEDATAPIPELINEREQUEST']._serialized_start = 728 - _globals['_CREATEDATAPIPELINEREQUEST']._serialized_end = 875 - _globals['_CREATEDATAPIPELINERESPONSE']._serialized_start = 877 - _globals['_CREATEDATAPIPELINERESPONSE']._serialized_end = 921 - _globals['_UPDATEDATAPIPELINEREQUEST']._serialized_start = 923 - _globals['_UPDATEDATAPIPELINEREQUEST']._serialized_end = 1045 - _globals['_UPDATEDATAPIPELINERESPONSE']._serialized_start = 1047 - _globals['_UPDATEDATAPIPELINERESPONSE']._serialized_end = 1075 - _globals['_DELETEDATAPIPELINEREQUEST']._serialized_start = 1077 - _globals['_DELETEDATAPIPELINEREQUEST']._serialized_end = 1120 - _globals['_DELETEDATAPIPELINERESPONSE']._serialized_start = 1122 - _globals['_DELETEDATAPIPELINERESPONSE']._serialized_end = 1150 - _globals['_ENABLEDATAPIPELINEREQUEST']._serialized_start = 1152 - _globals['_ENABLEDATAPIPELINEREQUEST']._serialized_end = 1195 - _globals['_ENABLEDATAPIPELINERESPONSE']._serialized_start = 1197 - _globals['_ENABLEDATAPIPELINERESPONSE']._serialized_end = 1225 - _globals['_DISABLEDATAPIPELINEREQUEST']._serialized_start = 1227 - _globals['_DISABLEDATAPIPELINEREQUEST']._serialized_end = 1271 - _globals['_DISABLEDATAPIPELINERESPONSE']._serialized_start = 1273 - _globals['_DISABLEDATAPIPELINERESPONSE']._serialized_end = 1302 - _globals['_LISTDATAPIPELINERUNSREQUEST']._serialized_start = 1304 - _globals['_LISTDATAPIPELINERUNSREQUEST']._serialized_end = 1409 - _globals['_LISTDATAPIPELINERUNSRESPONSE']._serialized_start = 1412 - _globals['_LISTDATAPIPELINERUNSRESPONSE']._serialized_end = 1579 - _globals['_DATAPIPELINERUN']._serialized_start = 1582 - _globals['_DATAPIPELINERUN']._serialized_end = 1935 - _globals['_DATAPIPELINESSERVICE']._serialized_start = 2161 - _globals['_DATAPIPELINESSERVICE']._serialized_end = 3234 \ No newline at end of file + _globals['_CREATEDATAPIPELINEREQUEST']._serialized_end = 941 + _globals['_CREATEDATAPIPELINERESPONSE']._serialized_start = 943 + _globals['_CREATEDATAPIPELINERESPONSE']._serialized_end = 987 + _globals['_UPDATEDATAPIPELINEREQUEST']._serialized_start = 989 + _globals['_UPDATEDATAPIPELINEREQUEST']._serialized_end = 1111 + _globals['_UPDATEDATAPIPELINERESPONSE']._serialized_start = 1113 + _globals['_UPDATEDATAPIPELINERESPONSE']._serialized_end = 1141 + _globals['_DELETEDATAPIPELINEREQUEST']._serialized_start = 1143 + _globals['_DELETEDATAPIPELINEREQUEST']._serialized_end = 1186 + _globals['_DELETEDATAPIPELINERESPONSE']._serialized_start = 1188 + _globals['_DELETEDATAPIPELINERESPONSE']._serialized_end = 1216 + _globals['_ENABLEDATAPIPELINEREQUEST']._serialized_start = 1218 + _globals['_ENABLEDATAPIPELINEREQUEST']._serialized_end = 1261 + _globals['_ENABLEDATAPIPELINERESPONSE']._serialized_start = 1263 + _globals['_ENABLEDATAPIPELINERESPONSE']._serialized_end = 1291 + _globals['_DISABLEDATAPIPELINEREQUEST']._serialized_start = 1293 + _globals['_DISABLEDATAPIPELINEREQUEST']._serialized_end = 1337 + _globals['_DISABLEDATAPIPELINERESPONSE']._serialized_start = 1339 + _globals['_DISABLEDATAPIPELINERESPONSE']._serialized_end = 1368 + _globals['_LISTDATAPIPELINERUNSREQUEST']._serialized_start = 1370 + _globals['_LISTDATAPIPELINERUNSREQUEST']._serialized_end = 1475 + _globals['_LISTDATAPIPELINERUNSRESPONSE']._serialized_start = 1478 + _globals['_LISTDATAPIPELINERUNSRESPONSE']._serialized_end = 1645 + _globals['_DATAPIPELINERUN']._serialized_start = 1648 + _globals['_DATAPIPELINERUN']._serialized_end = 2001 + _globals['_DATAPIPELINESSERVICE']._serialized_start = 2227 + _globals['_DATAPIPELINESSERVICE']._serialized_end = 3300 \ No newline at end of file diff --git a/src/viam/gen/app/datapipelines/v1/data_pipelines_pb2.pyi b/src/viam/gen/app/datapipelines/v1/data_pipelines_pb2.pyi index eb7ef3bae..6643fdc96 100644 --- a/src/viam/gen/app/datapipelines/v1/data_pipelines_pb2.pyi +++ b/src/viam/gen/app/datapipelines/v1/data_pipelines_pb2.pyi @@ -153,12 +153,15 @@ class CreateDataPipelineRequest(google.protobuf.message.Message): NAME_FIELD_NUMBER: builtins.int MQL_BINARY_FIELD_NUMBER: builtins.int SCHEDULE_FIELD_NUMBER: builtins.int + ENABLE_BACKFILL_FIELD_NUMBER: builtins.int organization_id: builtins.str 'The associated Viam organization ID.' name: builtins.str 'A unique identifier at the org level.' schedule: builtins.str 'A cron expression representing the expected execution schedule in UTC (note this also\n defines the input time window; an hourly schedule would process 1 hour of data at a time).\n ' + enable_backfill: builtins.bool + "When true, pipeline runs will be scheduled for the organization's past data." @property def mql_binary(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.bytes]: @@ -166,10 +169,16 @@ class CreateDataPipelineRequest(google.protobuf.message.Message): each document is one stage in the pipeline. """ - def __init__(self, *, organization_id: builtins.str=..., name: builtins.str=..., mql_binary: collections.abc.Iterable[builtins.bytes] | None=..., schedule: builtins.str=...) -> None: + def __init__(self, *, organization_id: builtins.str=..., name: builtins.str=..., mql_binary: collections.abc.Iterable[builtins.bytes] | None=..., schedule: builtins.str=..., enable_backfill: builtins.bool | None=...) -> None: ... - def ClearField(self, field_name: typing.Literal['mql_binary', b'mql_binary', 'name', b'name', 'organization_id', b'organization_id', 'schedule', b'schedule']) -> None: + def HasField(self, field_name: typing.Literal['_enable_backfill', b'_enable_backfill', 'enable_backfill', b'enable_backfill']) -> builtins.bool: + ... + + def ClearField(self, field_name: typing.Literal['_enable_backfill', b'_enable_backfill', 'enable_backfill', b'enable_backfill', 'mql_binary', b'mql_binary', 'name', b'name', 'organization_id', b'organization_id', 'schedule', b'schedule']) -> None: + ... + + def WhichOneof(self, oneof_group: typing.Literal['_enable_backfill', b'_enable_backfill']) -> typing.Literal['enable_backfill'] | None: ... global___CreateDataPipelineRequest = CreateDataPipelineRequest diff --git a/src/viam/gen/app/v1/app_grpc.py b/src/viam/gen/app/v1/app_grpc.py index 96e96ffd2..e7c5df54d 100644 --- a/src/viam/gen/app/v1/app_grpc.py +++ b/src/viam/gen/app/v1/app_grpc.py @@ -221,6 +221,10 @@ async def GetRobotParts(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.GetR async def GetRobotPart(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.GetRobotPartRequest, app.v1.app_pb2.GetRobotPartResponse]') -> None: pass + @abc.abstractmethod + async def GetRobotPartByNameAndLocation(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.GetRobotPartByNameAndLocationRequest, app.v1.app_pb2.GetRobotPartByNameAndLocationResponse]') -> None: + pass + @abc.abstractmethod async def GetRobotPartLogs(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.GetRobotPartLogsRequest, app.v1.app_pb2.GetRobotPartLogsResponse]') -> None: pass @@ -434,7 +438,7 @@ async def GetAppContent(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.GetA pass def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return {'/viam.app.v1.AppService/GetUserIDByEmail': grpclib.const.Handler(self.GetUserIDByEmail, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetUserIDByEmailRequest, app.v1.app_pb2.GetUserIDByEmailResponse), '/viam.app.v1.AppService/CreateOrganization': grpclib.const.Handler(self.CreateOrganization, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.CreateOrganizationRequest, app.v1.app_pb2.CreateOrganizationResponse), '/viam.app.v1.AppService/ListOrganizations': grpclib.const.Handler(self.ListOrganizations, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ListOrganizationsRequest, app.v1.app_pb2.ListOrganizationsResponse), '/viam.app.v1.AppService/GetOrganizationsWithAccessToLocation': grpclib.const.Handler(self.GetOrganizationsWithAccessToLocation, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetOrganizationsWithAccessToLocationRequest, app.v1.app_pb2.GetOrganizationsWithAccessToLocationResponse), '/viam.app.v1.AppService/ListOrganizationsByUser': grpclib.const.Handler(self.ListOrganizationsByUser, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ListOrganizationsByUserRequest, app.v1.app_pb2.ListOrganizationsByUserResponse), '/viam.app.v1.AppService/SearchOrganizations': grpclib.const.Handler(self.SearchOrganizations, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.SearchOrganizationsRequest, app.v1.app_pb2.SearchOrganizationsResponse), '/viam.app.v1.AppService/GetOrganization': grpclib.const.Handler(self.GetOrganization, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetOrganizationRequest, app.v1.app_pb2.GetOrganizationResponse), '/viam.app.v1.AppService/GetOrganizationNamespaceAvailability': grpclib.const.Handler(self.GetOrganizationNamespaceAvailability, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetOrganizationNamespaceAvailabilityRequest, app.v1.app_pb2.GetOrganizationNamespaceAvailabilityResponse), '/viam.app.v1.AppService/UpdateOrganization': grpclib.const.Handler(self.UpdateOrganization, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.UpdateOrganizationRequest, app.v1.app_pb2.UpdateOrganizationResponse), '/viam.app.v1.AppService/UpdateOrganizationNamespace': grpclib.const.Handler(self.UpdateOrganizationNamespace, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.UpdateOrganizationNamespaceRequest, app.v1.app_pb2.UpdateOrganizationNamespaceResponse), '/viam.app.v1.AppService/DeleteOrganization': grpclib.const.Handler(self.DeleteOrganization, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.DeleteOrganizationRequest, app.v1.app_pb2.DeleteOrganizationResponse), '/viam.app.v1.AppService/GetOrganizationMetadata': grpclib.const.Handler(self.GetOrganizationMetadata, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetOrganizationMetadataRequest, app.v1.app_pb2.GetOrganizationMetadataResponse), '/viam.app.v1.AppService/UpdateOrganizationMetadata': grpclib.const.Handler(self.UpdateOrganizationMetadata, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.UpdateOrganizationMetadataRequest, app.v1.app_pb2.UpdateOrganizationMetadataResponse), '/viam.app.v1.AppService/ListOrganizationMembers': grpclib.const.Handler(self.ListOrganizationMembers, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ListOrganizationMembersRequest, app.v1.app_pb2.ListOrganizationMembersResponse), '/viam.app.v1.AppService/CreateOrganizationInvite': grpclib.const.Handler(self.CreateOrganizationInvite, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.CreateOrganizationInviteRequest, app.v1.app_pb2.CreateOrganizationInviteResponse), '/viam.app.v1.AppService/UpdateOrganizationInviteAuthorizations': grpclib.const.Handler(self.UpdateOrganizationInviteAuthorizations, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.UpdateOrganizationInviteAuthorizationsRequest, app.v1.app_pb2.UpdateOrganizationInviteAuthorizationsResponse), '/viam.app.v1.AppService/DeleteOrganizationMember': grpclib.const.Handler(self.DeleteOrganizationMember, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.DeleteOrganizationMemberRequest, app.v1.app_pb2.DeleteOrganizationMemberResponse), '/viam.app.v1.AppService/DeleteOrganizationInvite': grpclib.const.Handler(self.DeleteOrganizationInvite, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.DeleteOrganizationInviteRequest, app.v1.app_pb2.DeleteOrganizationInviteResponse), '/viam.app.v1.AppService/ResendOrganizationInvite': grpclib.const.Handler(self.ResendOrganizationInvite, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ResendOrganizationInviteRequest, app.v1.app_pb2.ResendOrganizationInviteResponse), '/viam.app.v1.AppService/EnableBillingService': grpclib.const.Handler(self.EnableBillingService, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.EnableBillingServiceRequest, app.v1.app_pb2.EnableBillingServiceResponse), '/viam.app.v1.AppService/DisableBillingService': grpclib.const.Handler(self.DisableBillingService, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.DisableBillingServiceRequest, app.v1.app_pb2.DisableBillingServiceResponse), '/viam.app.v1.AppService/UpdateBillingService': grpclib.const.Handler(self.UpdateBillingService, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.UpdateBillingServiceRequest, app.v1.app_pb2.UpdateBillingServiceResponse), '/viam.app.v1.AppService/GetBillingServiceConfig': grpclib.const.Handler(self.GetBillingServiceConfig, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetBillingServiceConfigRequest, app.v1.app_pb2.GetBillingServiceConfigResponse), '/viam.app.v1.AppService/OrganizationSetSupportEmail': grpclib.const.Handler(self.OrganizationSetSupportEmail, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.OrganizationSetSupportEmailRequest, app.v1.app_pb2.OrganizationSetSupportEmailResponse), '/viam.app.v1.AppService/OrganizationGetSupportEmail': grpclib.const.Handler(self.OrganizationGetSupportEmail, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.OrganizationGetSupportEmailRequest, app.v1.app_pb2.OrganizationGetSupportEmailResponse), '/viam.app.v1.AppService/OrganizationSetLogo': grpclib.const.Handler(self.OrganizationSetLogo, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.OrganizationSetLogoRequest, app.v1.app_pb2.OrganizationSetLogoResponse), '/viam.app.v1.AppService/OrganizationGetLogo': grpclib.const.Handler(self.OrganizationGetLogo, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.OrganizationGetLogoRequest, app.v1.app_pb2.OrganizationGetLogoResponse), '/viam.app.v1.AppService/EnableAuthService': grpclib.const.Handler(self.EnableAuthService, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.EnableAuthServiceRequest, app.v1.app_pb2.EnableAuthServiceResponse), '/viam.app.v1.AppService/DisableAuthService': grpclib.const.Handler(self.DisableAuthService, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.DisableAuthServiceRequest, app.v1.app_pb2.DisableAuthServiceResponse), '/viam.app.v1.AppService/CreateOAuthApp': grpclib.const.Handler(self.CreateOAuthApp, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.CreateOAuthAppRequest, app.v1.app_pb2.CreateOAuthAppResponse), '/viam.app.v1.AppService/ReadOAuthApp': grpclib.const.Handler(self.ReadOAuthApp, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ReadOAuthAppRequest, app.v1.app_pb2.ReadOAuthAppResponse), '/viam.app.v1.AppService/UpdateOAuthApp': grpclib.const.Handler(self.UpdateOAuthApp, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.UpdateOAuthAppRequest, app.v1.app_pb2.UpdateOAuthAppResponse), '/viam.app.v1.AppService/DeleteOAuthApp': grpclib.const.Handler(self.DeleteOAuthApp, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.DeleteOAuthAppRequest, app.v1.app_pb2.DeleteOAuthAppResponse), '/viam.app.v1.AppService/ListOAuthApps': grpclib.const.Handler(self.ListOAuthApps, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ListOAuthAppsRequest, app.v1.app_pb2.ListOAuthAppsResponse), '/viam.app.v1.AppService/CreateLocation': grpclib.const.Handler(self.CreateLocation, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.CreateLocationRequest, app.v1.app_pb2.CreateLocationResponse), '/viam.app.v1.AppService/GetLocation': grpclib.const.Handler(self.GetLocation, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetLocationRequest, app.v1.app_pb2.GetLocationResponse), '/viam.app.v1.AppService/UpdateLocation': grpclib.const.Handler(self.UpdateLocation, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.UpdateLocationRequest, app.v1.app_pb2.UpdateLocationResponse), '/viam.app.v1.AppService/DeleteLocation': grpclib.const.Handler(self.DeleteLocation, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.DeleteLocationRequest, app.v1.app_pb2.DeleteLocationResponse), '/viam.app.v1.AppService/GetLocationMetadata': grpclib.const.Handler(self.GetLocationMetadata, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetLocationMetadataRequest, app.v1.app_pb2.GetLocationMetadataResponse), '/viam.app.v1.AppService/UpdateLocationMetadata': grpclib.const.Handler(self.UpdateLocationMetadata, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.UpdateLocationMetadataRequest, app.v1.app_pb2.UpdateLocationMetadataResponse), '/viam.app.v1.AppService/ListLocations': grpclib.const.Handler(self.ListLocations, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ListLocationsRequest, app.v1.app_pb2.ListLocationsResponse), '/viam.app.v1.AppService/ShareLocation': grpclib.const.Handler(self.ShareLocation, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ShareLocationRequest, app.v1.app_pb2.ShareLocationResponse), '/viam.app.v1.AppService/UnshareLocation': grpclib.const.Handler(self.UnshareLocation, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.UnshareLocationRequest, app.v1.app_pb2.UnshareLocationResponse), '/viam.app.v1.AppService/LocationAuth': grpclib.const.Handler(self.LocationAuth, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.LocationAuthRequest, app.v1.app_pb2.LocationAuthResponse), '/viam.app.v1.AppService/CreateLocationSecret': grpclib.const.Handler(self.CreateLocationSecret, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.CreateLocationSecretRequest, app.v1.app_pb2.CreateLocationSecretResponse), '/viam.app.v1.AppService/DeleteLocationSecret': grpclib.const.Handler(self.DeleteLocationSecret, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.DeleteLocationSecretRequest, app.v1.app_pb2.DeleteLocationSecretResponse), '/viam.app.v1.AppService/GetRobot': grpclib.const.Handler(self.GetRobot, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetRobotRequest, app.v1.app_pb2.GetRobotResponse), '/viam.app.v1.AppService/GetRobotMetadata': grpclib.const.Handler(self.GetRobotMetadata, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetRobotMetadataRequest, app.v1.app_pb2.GetRobotMetadataResponse), '/viam.app.v1.AppService/UpdateRobotMetadata': grpclib.const.Handler(self.UpdateRobotMetadata, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.UpdateRobotMetadataRequest, app.v1.app_pb2.UpdateRobotMetadataResponse), '/viam.app.v1.AppService/GetRoverRentalRobots': grpclib.const.Handler(self.GetRoverRentalRobots, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetRoverRentalRobotsRequest, app.v1.app_pb2.GetRoverRentalRobotsResponse), '/viam.app.v1.AppService/GetRobotParts': grpclib.const.Handler(self.GetRobotParts, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetRobotPartsRequest, app.v1.app_pb2.GetRobotPartsResponse), '/viam.app.v1.AppService/GetRobotPart': grpclib.const.Handler(self.GetRobotPart, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetRobotPartRequest, app.v1.app_pb2.GetRobotPartResponse), '/viam.app.v1.AppService/GetRobotPartLogs': grpclib.const.Handler(self.GetRobotPartLogs, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetRobotPartLogsRequest, app.v1.app_pb2.GetRobotPartLogsResponse), '/viam.app.v1.AppService/TailRobotPartLogs': grpclib.const.Handler(self.TailRobotPartLogs, grpclib.const.Cardinality.UNARY_STREAM, app.v1.app_pb2.TailRobotPartLogsRequest, app.v1.app_pb2.TailRobotPartLogsResponse), '/viam.app.v1.AppService/GetRobotPartHistory': grpclib.const.Handler(self.GetRobotPartHistory, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetRobotPartHistoryRequest, app.v1.app_pb2.GetRobotPartHistoryResponse), '/viam.app.v1.AppService/UpdateRobotPart': grpclib.const.Handler(self.UpdateRobotPart, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.UpdateRobotPartRequest, app.v1.app_pb2.UpdateRobotPartResponse), '/viam.app.v1.AppService/NewRobotPart': grpclib.const.Handler(self.NewRobotPart, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.NewRobotPartRequest, app.v1.app_pb2.NewRobotPartResponse), '/viam.app.v1.AppService/DeleteRobotPart': grpclib.const.Handler(self.DeleteRobotPart, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.DeleteRobotPartRequest, app.v1.app_pb2.DeleteRobotPartResponse), '/viam.app.v1.AppService/GetRobotPartMetadata': grpclib.const.Handler(self.GetRobotPartMetadata, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetRobotPartMetadataRequest, app.v1.app_pb2.GetRobotPartMetadataResponse), '/viam.app.v1.AppService/UpdateRobotPartMetadata': grpclib.const.Handler(self.UpdateRobotPartMetadata, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.UpdateRobotPartMetadataRequest, app.v1.app_pb2.UpdateRobotPartMetadataResponse), '/viam.app.v1.AppService/GetRobotAPIKeys': grpclib.const.Handler(self.GetRobotAPIKeys, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetRobotAPIKeysRequest, app.v1.app_pb2.GetRobotAPIKeysResponse), '/viam.app.v1.AppService/MarkPartAsMain': grpclib.const.Handler(self.MarkPartAsMain, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.MarkPartAsMainRequest, app.v1.app_pb2.MarkPartAsMainResponse), '/viam.app.v1.AppService/MarkPartForRestart': grpclib.const.Handler(self.MarkPartForRestart, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.MarkPartForRestartRequest, app.v1.app_pb2.MarkPartForRestartResponse), '/viam.app.v1.AppService/CreateRobotPartSecret': grpclib.const.Handler(self.CreateRobotPartSecret, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.CreateRobotPartSecretRequest, app.v1.app_pb2.CreateRobotPartSecretResponse), '/viam.app.v1.AppService/DeleteRobotPartSecret': grpclib.const.Handler(self.DeleteRobotPartSecret, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.DeleteRobotPartSecretRequest, app.v1.app_pb2.DeleteRobotPartSecretResponse), '/viam.app.v1.AppService/ListRobots': grpclib.const.Handler(self.ListRobots, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ListRobotsRequest, app.v1.app_pb2.ListRobotsResponse), '/viam.app.v1.AppService/NewRobot': grpclib.const.Handler(self.NewRobot, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.NewRobotRequest, app.v1.app_pb2.NewRobotResponse), '/viam.app.v1.AppService/UpdateRobot': grpclib.const.Handler(self.UpdateRobot, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.UpdateRobotRequest, app.v1.app_pb2.UpdateRobotResponse), '/viam.app.v1.AppService/DeleteRobot': grpclib.const.Handler(self.DeleteRobot, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.DeleteRobotRequest, app.v1.app_pb2.DeleteRobotResponse), '/viam.app.v1.AppService/ListFragments': grpclib.const.Handler(self.ListFragments, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ListFragmentsRequest, app.v1.app_pb2.ListFragmentsResponse), '/viam.app.v1.AppService/GetFragment': grpclib.const.Handler(self.GetFragment, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetFragmentRequest, app.v1.app_pb2.GetFragmentResponse), '/viam.app.v1.AppService/CreateFragment': grpclib.const.Handler(self.CreateFragment, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.CreateFragmentRequest, app.v1.app_pb2.CreateFragmentResponse), '/viam.app.v1.AppService/UpdateFragment': grpclib.const.Handler(self.UpdateFragment, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.UpdateFragmentRequest, app.v1.app_pb2.UpdateFragmentResponse), '/viam.app.v1.AppService/DeleteFragment': grpclib.const.Handler(self.DeleteFragment, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.DeleteFragmentRequest, app.v1.app_pb2.DeleteFragmentResponse), '/viam.app.v1.AppService/ListNestedFragments': grpclib.const.Handler(self.ListNestedFragments, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ListNestedFragmentsRequest, app.v1.app_pb2.ListNestedFragmentsResponse), '/viam.app.v1.AppService/ListMachineFragments': grpclib.const.Handler(self.ListMachineFragments, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ListMachineFragmentsRequest, app.v1.app_pb2.ListMachineFragmentsResponse), '/viam.app.v1.AppService/ListMachineSummaries': grpclib.const.Handler(self.ListMachineSummaries, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ListMachineSummariesRequest, app.v1.app_pb2.ListMachineSummariesResponse), '/viam.app.v1.AppService/GetFragmentHistory': grpclib.const.Handler(self.GetFragmentHistory, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetFragmentHistoryRequest, app.v1.app_pb2.GetFragmentHistoryResponse), '/viam.app.v1.AppService/GetFragmentUsage': grpclib.const.Handler(self.GetFragmentUsage, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetFragmentUsageRequest, app.v1.app_pb2.GetFragmentUsageResponse), '/viam.app.v1.AppService/SetFragmentTag': grpclib.const.Handler(self.SetFragmentTag, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.SetFragmentTagRequest, app.v1.app_pb2.SetFragmentTagResponse), '/viam.app.v1.AppService/DeleteFragmentTag': grpclib.const.Handler(self.DeleteFragmentTag, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.DeleteFragmentTagRequest, app.v1.app_pb2.DeleteFragmentTagResponse), '/viam.app.v1.AppService/AddRole': grpclib.const.Handler(self.AddRole, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.AddRoleRequest, app.v1.app_pb2.AddRoleResponse), '/viam.app.v1.AppService/RemoveRole': grpclib.const.Handler(self.RemoveRole, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.RemoveRoleRequest, app.v1.app_pb2.RemoveRoleResponse), '/viam.app.v1.AppService/ChangeRole': grpclib.const.Handler(self.ChangeRole, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ChangeRoleRequest, app.v1.app_pb2.ChangeRoleResponse), '/viam.app.v1.AppService/ListAuthorizations': grpclib.const.Handler(self.ListAuthorizations, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ListAuthorizationsRequest, app.v1.app_pb2.ListAuthorizationsResponse), '/viam.app.v1.AppService/CheckPermissions': grpclib.const.Handler(self.CheckPermissions, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.CheckPermissionsRequest, app.v1.app_pb2.CheckPermissionsResponse), '/viam.app.v1.AppService/GetRegistryItem': grpclib.const.Handler(self.GetRegistryItem, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetRegistryItemRequest, app.v1.app_pb2.GetRegistryItemResponse), '/viam.app.v1.AppService/CreateRegistryItem': grpclib.const.Handler(self.CreateRegistryItem, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.CreateRegistryItemRequest, app.v1.app_pb2.CreateRegistryItemResponse), '/viam.app.v1.AppService/UpdateRegistryItem': grpclib.const.Handler(self.UpdateRegistryItem, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.UpdateRegistryItemRequest, app.v1.app_pb2.UpdateRegistryItemResponse), '/viam.app.v1.AppService/ListRegistryItems': grpclib.const.Handler(self.ListRegistryItems, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ListRegistryItemsRequest, app.v1.app_pb2.ListRegistryItemsResponse), '/viam.app.v1.AppService/DeleteRegistryItem': grpclib.const.Handler(self.DeleteRegistryItem, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.DeleteRegistryItemRequest, app.v1.app_pb2.DeleteRegistryItemResponse), '/viam.app.v1.AppService/RenameRegistryItem': grpclib.const.Handler(self.RenameRegistryItem, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.RenameRegistryItemRequest, app.v1.app_pb2.RenameRegistryItemResponse), '/viam.app.v1.AppService/TransferRegistryItem': grpclib.const.Handler(self.TransferRegistryItem, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.TransferRegistryItemRequest, app.v1.app_pb2.TransferRegistryItemResponse), '/viam.app.v1.AppService/CreateModule': grpclib.const.Handler(self.CreateModule, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.CreateModuleRequest, app.v1.app_pb2.CreateModuleResponse), '/viam.app.v1.AppService/UpdateModule': grpclib.const.Handler(self.UpdateModule, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.UpdateModuleRequest, app.v1.app_pb2.UpdateModuleResponse), '/viam.app.v1.AppService/UploadModuleFile': grpclib.const.Handler(self.UploadModuleFile, grpclib.const.Cardinality.STREAM_UNARY, app.v1.app_pb2.UploadModuleFileRequest, app.v1.app_pb2.UploadModuleFileResponse), '/viam.app.v1.AppService/GetModule': grpclib.const.Handler(self.GetModule, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetModuleRequest, app.v1.app_pb2.GetModuleResponse), '/viam.app.v1.AppService/ListModules': grpclib.const.Handler(self.ListModules, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ListModulesRequest, app.v1.app_pb2.ListModulesResponse), '/viam.app.v1.AppService/CreateKey': grpclib.const.Handler(self.CreateKey, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.CreateKeyRequest, app.v1.app_pb2.CreateKeyResponse), '/viam.app.v1.AppService/DeleteKey': grpclib.const.Handler(self.DeleteKey, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.DeleteKeyRequest, app.v1.app_pb2.DeleteKeyResponse), '/viam.app.v1.AppService/ListKeys': grpclib.const.Handler(self.ListKeys, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ListKeysRequest, app.v1.app_pb2.ListKeysResponse), '/viam.app.v1.AppService/RenameKey': grpclib.const.Handler(self.RenameKey, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.RenameKeyRequest, app.v1.app_pb2.RenameKeyResponse), '/viam.app.v1.AppService/RotateKey': grpclib.const.Handler(self.RotateKey, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.RotateKeyRequest, app.v1.app_pb2.RotateKeyResponse), '/viam.app.v1.AppService/CreateKeyFromExistingKeyAuthorizations': grpclib.const.Handler(self.CreateKeyFromExistingKeyAuthorizations, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.CreateKeyFromExistingKeyAuthorizationsRequest, app.v1.app_pb2.CreateKeyFromExistingKeyAuthorizationsResponse), '/viam.app.v1.AppService/GetAppContent': grpclib.const.Handler(self.GetAppContent, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetAppContentRequest, app.v1.app_pb2.GetAppContentResponse)} + return {'/viam.app.v1.AppService/GetUserIDByEmail': grpclib.const.Handler(self.GetUserIDByEmail, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetUserIDByEmailRequest, app.v1.app_pb2.GetUserIDByEmailResponse), '/viam.app.v1.AppService/CreateOrganization': grpclib.const.Handler(self.CreateOrganization, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.CreateOrganizationRequest, app.v1.app_pb2.CreateOrganizationResponse), '/viam.app.v1.AppService/ListOrganizations': grpclib.const.Handler(self.ListOrganizations, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ListOrganizationsRequest, app.v1.app_pb2.ListOrganizationsResponse), '/viam.app.v1.AppService/GetOrganizationsWithAccessToLocation': grpclib.const.Handler(self.GetOrganizationsWithAccessToLocation, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetOrganizationsWithAccessToLocationRequest, app.v1.app_pb2.GetOrganizationsWithAccessToLocationResponse), '/viam.app.v1.AppService/ListOrganizationsByUser': grpclib.const.Handler(self.ListOrganizationsByUser, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ListOrganizationsByUserRequest, app.v1.app_pb2.ListOrganizationsByUserResponse), '/viam.app.v1.AppService/SearchOrganizations': grpclib.const.Handler(self.SearchOrganizations, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.SearchOrganizationsRequest, app.v1.app_pb2.SearchOrganizationsResponse), '/viam.app.v1.AppService/GetOrganization': grpclib.const.Handler(self.GetOrganization, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetOrganizationRequest, app.v1.app_pb2.GetOrganizationResponse), '/viam.app.v1.AppService/GetOrganizationNamespaceAvailability': grpclib.const.Handler(self.GetOrganizationNamespaceAvailability, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetOrganizationNamespaceAvailabilityRequest, app.v1.app_pb2.GetOrganizationNamespaceAvailabilityResponse), '/viam.app.v1.AppService/UpdateOrganization': grpclib.const.Handler(self.UpdateOrganization, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.UpdateOrganizationRequest, app.v1.app_pb2.UpdateOrganizationResponse), '/viam.app.v1.AppService/UpdateOrganizationNamespace': grpclib.const.Handler(self.UpdateOrganizationNamespace, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.UpdateOrganizationNamespaceRequest, app.v1.app_pb2.UpdateOrganizationNamespaceResponse), '/viam.app.v1.AppService/DeleteOrganization': grpclib.const.Handler(self.DeleteOrganization, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.DeleteOrganizationRequest, app.v1.app_pb2.DeleteOrganizationResponse), '/viam.app.v1.AppService/GetOrganizationMetadata': grpclib.const.Handler(self.GetOrganizationMetadata, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetOrganizationMetadataRequest, app.v1.app_pb2.GetOrganizationMetadataResponse), '/viam.app.v1.AppService/UpdateOrganizationMetadata': grpclib.const.Handler(self.UpdateOrganizationMetadata, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.UpdateOrganizationMetadataRequest, app.v1.app_pb2.UpdateOrganizationMetadataResponse), '/viam.app.v1.AppService/ListOrganizationMembers': grpclib.const.Handler(self.ListOrganizationMembers, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ListOrganizationMembersRequest, app.v1.app_pb2.ListOrganizationMembersResponse), '/viam.app.v1.AppService/CreateOrganizationInvite': grpclib.const.Handler(self.CreateOrganizationInvite, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.CreateOrganizationInviteRequest, app.v1.app_pb2.CreateOrganizationInviteResponse), '/viam.app.v1.AppService/UpdateOrganizationInviteAuthorizations': grpclib.const.Handler(self.UpdateOrganizationInviteAuthorizations, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.UpdateOrganizationInviteAuthorizationsRequest, app.v1.app_pb2.UpdateOrganizationInviteAuthorizationsResponse), '/viam.app.v1.AppService/DeleteOrganizationMember': grpclib.const.Handler(self.DeleteOrganizationMember, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.DeleteOrganizationMemberRequest, app.v1.app_pb2.DeleteOrganizationMemberResponse), '/viam.app.v1.AppService/DeleteOrganizationInvite': grpclib.const.Handler(self.DeleteOrganizationInvite, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.DeleteOrganizationInviteRequest, app.v1.app_pb2.DeleteOrganizationInviteResponse), '/viam.app.v1.AppService/ResendOrganizationInvite': grpclib.const.Handler(self.ResendOrganizationInvite, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ResendOrganizationInviteRequest, app.v1.app_pb2.ResendOrganizationInviteResponse), '/viam.app.v1.AppService/EnableBillingService': grpclib.const.Handler(self.EnableBillingService, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.EnableBillingServiceRequest, app.v1.app_pb2.EnableBillingServiceResponse), '/viam.app.v1.AppService/DisableBillingService': grpclib.const.Handler(self.DisableBillingService, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.DisableBillingServiceRequest, app.v1.app_pb2.DisableBillingServiceResponse), '/viam.app.v1.AppService/UpdateBillingService': grpclib.const.Handler(self.UpdateBillingService, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.UpdateBillingServiceRequest, app.v1.app_pb2.UpdateBillingServiceResponse), '/viam.app.v1.AppService/GetBillingServiceConfig': grpclib.const.Handler(self.GetBillingServiceConfig, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetBillingServiceConfigRequest, app.v1.app_pb2.GetBillingServiceConfigResponse), '/viam.app.v1.AppService/OrganizationSetSupportEmail': grpclib.const.Handler(self.OrganizationSetSupportEmail, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.OrganizationSetSupportEmailRequest, app.v1.app_pb2.OrganizationSetSupportEmailResponse), '/viam.app.v1.AppService/OrganizationGetSupportEmail': grpclib.const.Handler(self.OrganizationGetSupportEmail, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.OrganizationGetSupportEmailRequest, app.v1.app_pb2.OrganizationGetSupportEmailResponse), '/viam.app.v1.AppService/OrganizationSetLogo': grpclib.const.Handler(self.OrganizationSetLogo, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.OrganizationSetLogoRequest, app.v1.app_pb2.OrganizationSetLogoResponse), '/viam.app.v1.AppService/OrganizationGetLogo': grpclib.const.Handler(self.OrganizationGetLogo, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.OrganizationGetLogoRequest, app.v1.app_pb2.OrganizationGetLogoResponse), '/viam.app.v1.AppService/EnableAuthService': grpclib.const.Handler(self.EnableAuthService, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.EnableAuthServiceRequest, app.v1.app_pb2.EnableAuthServiceResponse), '/viam.app.v1.AppService/DisableAuthService': grpclib.const.Handler(self.DisableAuthService, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.DisableAuthServiceRequest, app.v1.app_pb2.DisableAuthServiceResponse), '/viam.app.v1.AppService/CreateOAuthApp': grpclib.const.Handler(self.CreateOAuthApp, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.CreateOAuthAppRequest, app.v1.app_pb2.CreateOAuthAppResponse), '/viam.app.v1.AppService/ReadOAuthApp': grpclib.const.Handler(self.ReadOAuthApp, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ReadOAuthAppRequest, app.v1.app_pb2.ReadOAuthAppResponse), '/viam.app.v1.AppService/UpdateOAuthApp': grpclib.const.Handler(self.UpdateOAuthApp, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.UpdateOAuthAppRequest, app.v1.app_pb2.UpdateOAuthAppResponse), '/viam.app.v1.AppService/DeleteOAuthApp': grpclib.const.Handler(self.DeleteOAuthApp, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.DeleteOAuthAppRequest, app.v1.app_pb2.DeleteOAuthAppResponse), '/viam.app.v1.AppService/ListOAuthApps': grpclib.const.Handler(self.ListOAuthApps, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ListOAuthAppsRequest, app.v1.app_pb2.ListOAuthAppsResponse), '/viam.app.v1.AppService/CreateLocation': grpclib.const.Handler(self.CreateLocation, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.CreateLocationRequest, app.v1.app_pb2.CreateLocationResponse), '/viam.app.v1.AppService/GetLocation': grpclib.const.Handler(self.GetLocation, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetLocationRequest, app.v1.app_pb2.GetLocationResponse), '/viam.app.v1.AppService/UpdateLocation': grpclib.const.Handler(self.UpdateLocation, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.UpdateLocationRequest, app.v1.app_pb2.UpdateLocationResponse), '/viam.app.v1.AppService/DeleteLocation': grpclib.const.Handler(self.DeleteLocation, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.DeleteLocationRequest, app.v1.app_pb2.DeleteLocationResponse), '/viam.app.v1.AppService/GetLocationMetadata': grpclib.const.Handler(self.GetLocationMetadata, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetLocationMetadataRequest, app.v1.app_pb2.GetLocationMetadataResponse), '/viam.app.v1.AppService/UpdateLocationMetadata': grpclib.const.Handler(self.UpdateLocationMetadata, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.UpdateLocationMetadataRequest, app.v1.app_pb2.UpdateLocationMetadataResponse), '/viam.app.v1.AppService/ListLocations': grpclib.const.Handler(self.ListLocations, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ListLocationsRequest, app.v1.app_pb2.ListLocationsResponse), '/viam.app.v1.AppService/ShareLocation': grpclib.const.Handler(self.ShareLocation, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ShareLocationRequest, app.v1.app_pb2.ShareLocationResponse), '/viam.app.v1.AppService/UnshareLocation': grpclib.const.Handler(self.UnshareLocation, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.UnshareLocationRequest, app.v1.app_pb2.UnshareLocationResponse), '/viam.app.v1.AppService/LocationAuth': grpclib.const.Handler(self.LocationAuth, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.LocationAuthRequest, app.v1.app_pb2.LocationAuthResponse), '/viam.app.v1.AppService/CreateLocationSecret': grpclib.const.Handler(self.CreateLocationSecret, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.CreateLocationSecretRequest, app.v1.app_pb2.CreateLocationSecretResponse), '/viam.app.v1.AppService/DeleteLocationSecret': grpclib.const.Handler(self.DeleteLocationSecret, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.DeleteLocationSecretRequest, app.v1.app_pb2.DeleteLocationSecretResponse), '/viam.app.v1.AppService/GetRobot': grpclib.const.Handler(self.GetRobot, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetRobotRequest, app.v1.app_pb2.GetRobotResponse), '/viam.app.v1.AppService/GetRobotMetadata': grpclib.const.Handler(self.GetRobotMetadata, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetRobotMetadataRequest, app.v1.app_pb2.GetRobotMetadataResponse), '/viam.app.v1.AppService/UpdateRobotMetadata': grpclib.const.Handler(self.UpdateRobotMetadata, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.UpdateRobotMetadataRequest, app.v1.app_pb2.UpdateRobotMetadataResponse), '/viam.app.v1.AppService/GetRoverRentalRobots': grpclib.const.Handler(self.GetRoverRentalRobots, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetRoverRentalRobotsRequest, app.v1.app_pb2.GetRoverRentalRobotsResponse), '/viam.app.v1.AppService/GetRobotParts': grpclib.const.Handler(self.GetRobotParts, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetRobotPartsRequest, app.v1.app_pb2.GetRobotPartsResponse), '/viam.app.v1.AppService/GetRobotPart': grpclib.const.Handler(self.GetRobotPart, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetRobotPartRequest, app.v1.app_pb2.GetRobotPartResponse), '/viam.app.v1.AppService/GetRobotPartByNameAndLocation': grpclib.const.Handler(self.GetRobotPartByNameAndLocation, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetRobotPartByNameAndLocationRequest, app.v1.app_pb2.GetRobotPartByNameAndLocationResponse), '/viam.app.v1.AppService/GetRobotPartLogs': grpclib.const.Handler(self.GetRobotPartLogs, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetRobotPartLogsRequest, app.v1.app_pb2.GetRobotPartLogsResponse), '/viam.app.v1.AppService/TailRobotPartLogs': grpclib.const.Handler(self.TailRobotPartLogs, grpclib.const.Cardinality.UNARY_STREAM, app.v1.app_pb2.TailRobotPartLogsRequest, app.v1.app_pb2.TailRobotPartLogsResponse), '/viam.app.v1.AppService/GetRobotPartHistory': grpclib.const.Handler(self.GetRobotPartHistory, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetRobotPartHistoryRequest, app.v1.app_pb2.GetRobotPartHistoryResponse), '/viam.app.v1.AppService/UpdateRobotPart': grpclib.const.Handler(self.UpdateRobotPart, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.UpdateRobotPartRequest, app.v1.app_pb2.UpdateRobotPartResponse), '/viam.app.v1.AppService/NewRobotPart': grpclib.const.Handler(self.NewRobotPart, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.NewRobotPartRequest, app.v1.app_pb2.NewRobotPartResponse), '/viam.app.v1.AppService/DeleteRobotPart': grpclib.const.Handler(self.DeleteRobotPart, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.DeleteRobotPartRequest, app.v1.app_pb2.DeleteRobotPartResponse), '/viam.app.v1.AppService/GetRobotPartMetadata': grpclib.const.Handler(self.GetRobotPartMetadata, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetRobotPartMetadataRequest, app.v1.app_pb2.GetRobotPartMetadataResponse), '/viam.app.v1.AppService/UpdateRobotPartMetadata': grpclib.const.Handler(self.UpdateRobotPartMetadata, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.UpdateRobotPartMetadataRequest, app.v1.app_pb2.UpdateRobotPartMetadataResponse), '/viam.app.v1.AppService/GetRobotAPIKeys': grpclib.const.Handler(self.GetRobotAPIKeys, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetRobotAPIKeysRequest, app.v1.app_pb2.GetRobotAPIKeysResponse), '/viam.app.v1.AppService/MarkPartAsMain': grpclib.const.Handler(self.MarkPartAsMain, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.MarkPartAsMainRequest, app.v1.app_pb2.MarkPartAsMainResponse), '/viam.app.v1.AppService/MarkPartForRestart': grpclib.const.Handler(self.MarkPartForRestart, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.MarkPartForRestartRequest, app.v1.app_pb2.MarkPartForRestartResponse), '/viam.app.v1.AppService/CreateRobotPartSecret': grpclib.const.Handler(self.CreateRobotPartSecret, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.CreateRobotPartSecretRequest, app.v1.app_pb2.CreateRobotPartSecretResponse), '/viam.app.v1.AppService/DeleteRobotPartSecret': grpclib.const.Handler(self.DeleteRobotPartSecret, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.DeleteRobotPartSecretRequest, app.v1.app_pb2.DeleteRobotPartSecretResponse), '/viam.app.v1.AppService/ListRobots': grpclib.const.Handler(self.ListRobots, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ListRobotsRequest, app.v1.app_pb2.ListRobotsResponse), '/viam.app.v1.AppService/NewRobot': grpclib.const.Handler(self.NewRobot, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.NewRobotRequest, app.v1.app_pb2.NewRobotResponse), '/viam.app.v1.AppService/UpdateRobot': grpclib.const.Handler(self.UpdateRobot, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.UpdateRobotRequest, app.v1.app_pb2.UpdateRobotResponse), '/viam.app.v1.AppService/DeleteRobot': grpclib.const.Handler(self.DeleteRobot, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.DeleteRobotRequest, app.v1.app_pb2.DeleteRobotResponse), '/viam.app.v1.AppService/ListFragments': grpclib.const.Handler(self.ListFragments, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ListFragmentsRequest, app.v1.app_pb2.ListFragmentsResponse), '/viam.app.v1.AppService/GetFragment': grpclib.const.Handler(self.GetFragment, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetFragmentRequest, app.v1.app_pb2.GetFragmentResponse), '/viam.app.v1.AppService/CreateFragment': grpclib.const.Handler(self.CreateFragment, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.CreateFragmentRequest, app.v1.app_pb2.CreateFragmentResponse), '/viam.app.v1.AppService/UpdateFragment': grpclib.const.Handler(self.UpdateFragment, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.UpdateFragmentRequest, app.v1.app_pb2.UpdateFragmentResponse), '/viam.app.v1.AppService/DeleteFragment': grpclib.const.Handler(self.DeleteFragment, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.DeleteFragmentRequest, app.v1.app_pb2.DeleteFragmentResponse), '/viam.app.v1.AppService/ListNestedFragments': grpclib.const.Handler(self.ListNestedFragments, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ListNestedFragmentsRequest, app.v1.app_pb2.ListNestedFragmentsResponse), '/viam.app.v1.AppService/ListMachineFragments': grpclib.const.Handler(self.ListMachineFragments, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ListMachineFragmentsRequest, app.v1.app_pb2.ListMachineFragmentsResponse), '/viam.app.v1.AppService/ListMachineSummaries': grpclib.const.Handler(self.ListMachineSummaries, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ListMachineSummariesRequest, app.v1.app_pb2.ListMachineSummariesResponse), '/viam.app.v1.AppService/GetFragmentHistory': grpclib.const.Handler(self.GetFragmentHistory, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetFragmentHistoryRequest, app.v1.app_pb2.GetFragmentHistoryResponse), '/viam.app.v1.AppService/GetFragmentUsage': grpclib.const.Handler(self.GetFragmentUsage, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetFragmentUsageRequest, app.v1.app_pb2.GetFragmentUsageResponse), '/viam.app.v1.AppService/SetFragmentTag': grpclib.const.Handler(self.SetFragmentTag, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.SetFragmentTagRequest, app.v1.app_pb2.SetFragmentTagResponse), '/viam.app.v1.AppService/DeleteFragmentTag': grpclib.const.Handler(self.DeleteFragmentTag, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.DeleteFragmentTagRequest, app.v1.app_pb2.DeleteFragmentTagResponse), '/viam.app.v1.AppService/AddRole': grpclib.const.Handler(self.AddRole, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.AddRoleRequest, app.v1.app_pb2.AddRoleResponse), '/viam.app.v1.AppService/RemoveRole': grpclib.const.Handler(self.RemoveRole, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.RemoveRoleRequest, app.v1.app_pb2.RemoveRoleResponse), '/viam.app.v1.AppService/ChangeRole': grpclib.const.Handler(self.ChangeRole, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ChangeRoleRequest, app.v1.app_pb2.ChangeRoleResponse), '/viam.app.v1.AppService/ListAuthorizations': grpclib.const.Handler(self.ListAuthorizations, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ListAuthorizationsRequest, app.v1.app_pb2.ListAuthorizationsResponse), '/viam.app.v1.AppService/CheckPermissions': grpclib.const.Handler(self.CheckPermissions, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.CheckPermissionsRequest, app.v1.app_pb2.CheckPermissionsResponse), '/viam.app.v1.AppService/GetRegistryItem': grpclib.const.Handler(self.GetRegistryItem, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetRegistryItemRequest, app.v1.app_pb2.GetRegistryItemResponse), '/viam.app.v1.AppService/CreateRegistryItem': grpclib.const.Handler(self.CreateRegistryItem, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.CreateRegistryItemRequest, app.v1.app_pb2.CreateRegistryItemResponse), '/viam.app.v1.AppService/UpdateRegistryItem': grpclib.const.Handler(self.UpdateRegistryItem, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.UpdateRegistryItemRequest, app.v1.app_pb2.UpdateRegistryItemResponse), '/viam.app.v1.AppService/ListRegistryItems': grpclib.const.Handler(self.ListRegistryItems, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ListRegistryItemsRequest, app.v1.app_pb2.ListRegistryItemsResponse), '/viam.app.v1.AppService/DeleteRegistryItem': grpclib.const.Handler(self.DeleteRegistryItem, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.DeleteRegistryItemRequest, app.v1.app_pb2.DeleteRegistryItemResponse), '/viam.app.v1.AppService/RenameRegistryItem': grpclib.const.Handler(self.RenameRegistryItem, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.RenameRegistryItemRequest, app.v1.app_pb2.RenameRegistryItemResponse), '/viam.app.v1.AppService/TransferRegistryItem': grpclib.const.Handler(self.TransferRegistryItem, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.TransferRegistryItemRequest, app.v1.app_pb2.TransferRegistryItemResponse), '/viam.app.v1.AppService/CreateModule': grpclib.const.Handler(self.CreateModule, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.CreateModuleRequest, app.v1.app_pb2.CreateModuleResponse), '/viam.app.v1.AppService/UpdateModule': grpclib.const.Handler(self.UpdateModule, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.UpdateModuleRequest, app.v1.app_pb2.UpdateModuleResponse), '/viam.app.v1.AppService/UploadModuleFile': grpclib.const.Handler(self.UploadModuleFile, grpclib.const.Cardinality.STREAM_UNARY, app.v1.app_pb2.UploadModuleFileRequest, app.v1.app_pb2.UploadModuleFileResponse), '/viam.app.v1.AppService/GetModule': grpclib.const.Handler(self.GetModule, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetModuleRequest, app.v1.app_pb2.GetModuleResponse), '/viam.app.v1.AppService/ListModules': grpclib.const.Handler(self.ListModules, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ListModulesRequest, app.v1.app_pb2.ListModulesResponse), '/viam.app.v1.AppService/CreateKey': grpclib.const.Handler(self.CreateKey, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.CreateKeyRequest, app.v1.app_pb2.CreateKeyResponse), '/viam.app.v1.AppService/DeleteKey': grpclib.const.Handler(self.DeleteKey, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.DeleteKeyRequest, app.v1.app_pb2.DeleteKeyResponse), '/viam.app.v1.AppService/ListKeys': grpclib.const.Handler(self.ListKeys, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ListKeysRequest, app.v1.app_pb2.ListKeysResponse), '/viam.app.v1.AppService/RenameKey': grpclib.const.Handler(self.RenameKey, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.RenameKeyRequest, app.v1.app_pb2.RenameKeyResponse), '/viam.app.v1.AppService/RotateKey': grpclib.const.Handler(self.RotateKey, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.RotateKeyRequest, app.v1.app_pb2.RotateKeyResponse), '/viam.app.v1.AppService/CreateKeyFromExistingKeyAuthorizations': grpclib.const.Handler(self.CreateKeyFromExistingKeyAuthorizations, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.CreateKeyFromExistingKeyAuthorizationsRequest, app.v1.app_pb2.CreateKeyFromExistingKeyAuthorizationsResponse), '/viam.app.v1.AppService/GetAppContent': grpclib.const.Handler(self.GetAppContent, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetAppContentRequest, app.v1.app_pb2.GetAppContentResponse)} class UnimplementedAppServiceBase(AppServiceBase): @@ -594,6 +598,9 @@ async def GetRobotParts(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.GetR async def GetRobotPart(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.GetRobotPartRequest, app.v1.app_pb2.GetRobotPartResponse]') -> None: raise grpclib.exceptions.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + async def GetRobotPartByNameAndLocation(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.GetRobotPartByNameAndLocationRequest, app.v1.app_pb2.GetRobotPartByNameAndLocationResponse]') -> None: + raise grpclib.exceptions.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + async def GetRobotPartLogs(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.GetRobotPartLogsRequest, app.v1.app_pb2.GetRobotPartLogsResponse]') -> None: raise grpclib.exceptions.GRPCError(grpclib.const.Status.UNIMPLEMENTED) @@ -808,6 +815,7 @@ def __init__(self, channel: grpclib.client.Channel) -> None: self.GetRoverRentalRobots = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/GetRoverRentalRobots', app.v1.app_pb2.GetRoverRentalRobotsRequest, app.v1.app_pb2.GetRoverRentalRobotsResponse) self.GetRobotParts = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/GetRobotParts', app.v1.app_pb2.GetRobotPartsRequest, app.v1.app_pb2.GetRobotPartsResponse) self.GetRobotPart = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/GetRobotPart', app.v1.app_pb2.GetRobotPartRequest, app.v1.app_pb2.GetRobotPartResponse) + self.GetRobotPartByNameAndLocation = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/GetRobotPartByNameAndLocation', app.v1.app_pb2.GetRobotPartByNameAndLocationRequest, app.v1.app_pb2.GetRobotPartByNameAndLocationResponse) self.GetRobotPartLogs = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/GetRobotPartLogs', app.v1.app_pb2.GetRobotPartLogsRequest, app.v1.app_pb2.GetRobotPartLogsResponse) self.TailRobotPartLogs = grpclib.client.UnaryStreamMethod(channel, '/viam.app.v1.AppService/TailRobotPartLogs', app.v1.app_pb2.TailRobotPartLogsRequest, app.v1.app_pb2.TailRobotPartLogsResponse) self.GetRobotPartHistory = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/GetRobotPartHistory', app.v1.app_pb2.GetRobotPartHistoryRequest, app.v1.app_pb2.GetRobotPartHistoryResponse) diff --git a/src/viam/gen/app/v1/app_pb2.py b/src/viam/gen/app/v1/app_pb2.py index e7505d712..1e12d286e 100644 --- a/src/viam/gen/app/v1/app_pb2.py +++ b/src/viam/gen/app/v1/app_pb2.py @@ -12,7 +12,7 @@ from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 from ...tagger.v1 import tagger_pb2 as tagger_dot_v1_dot_tagger__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x10app/v1/app.proto\x12\x0bviam.app.v1\x1a#app/mltraining/v1/ml_training.proto\x1a\x1eapp/packages/v1/packages.proto\x1a\x16common/v1/common.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x16tagger/v1/tagger.proto"\xec\x02\n\x05Robot\x123\n\x02id\x18\x01 \x01(\tB#\x9a\x84\x9e\x03\x1ebson:"_id" json:"id,omitempty"R\x02id\x120\n\x04name\x18\x02 \x01(\tB\x1c\x9a\x84\x9e\x03\x17bson:"name" json:"name"R\x04name\x12@\n\x08location\x18\x03 \x01(\tB$\x9a\x84\x9e\x03\x1fbson:"location" json:"location"R\x08location\x12g\n\x0blast_access\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampB*\x9a\x84\x9e\x03%bson:"last_access" json:"last_access"R\nlastAccess\x12Q\n\ncreated_on\x18\x05 \x01(\x0b2\x1a.google.protobuf.TimestampB\x16\x9a\x84\x9e\x03\x11bson:"created_on"R\tcreatedOn"\xaf\x08\n\tRobotPart\x123\n\x02id\x18\x01 \x01(\tB#\x9a\x84\x9e\x03\x1ebson:"_id" json:"id,omitempty"R\x02id\x120\n\x04name\x18\x02 \x01(\tB\x1c\x9a\x84\x9e\x03\x17bson:"name" json:"name"R\x04name\x12?\n\x08dns_name\x18\n \x01(\tB$\x9a\x84\x9e\x03\x1fbson:"dns_name" json:"dns_name"R\x07dnsName\x12B\n\x06secret\x18\x03 \x01(\tB*\x9a\x84\x9e\x03%bson:"secret" json:"secret,omitempty"R\x06secret\x124\n\x05robot\x18\x04 \x01(\tB\x1e\x9a\x84\x9e\x03\x19bson:"robot" json:"robot"R\x05robot\x12A\n\x0blocation_id\x18\x0c \x01(\tB \x9a\x84\x9e\x03\x1bbson:"location_id" json:"-"R\nlocationId\x12b\n\x0crobot_config\x18\x05 \x01(\x0b2\x17.google.protobuf.StructB&\x9a\x84\x9e\x03!bson:"config" json:"robot_config"R\x0brobotConfig\x12g\n\x0blast_access\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampB*\x9a\x84\x9e\x03%bson:"last_access" json:"last_access"R\nlastAccess\x12\x7f\n\x12user_supplied_info\x18\x07 \x01(\x0b2\x17.google.protobuf.StructB8\x9a\x84\x9e\x033bson:"user_supplied_info" json:"user_supplied_info"R\x10userSuppliedInfo\x12C\n\tmain_part\x18\x08 \x01(\x08B&\x9a\x84\x9e\x03!bson:"main_part" json:"main_part"R\x08mainPart\x12\x12\n\x04fqdn\x18\t \x01(\tR\x04fqdn\x12\x1d\n\nlocal_fqdn\x18\x0b \x01(\tR\tlocalFqdn\x12Q\n\ncreated_on\x18\r \x01(\x0b2\x1a.google.protobuf.TimestampB\x16\x9a\x84\x9e\x03\x11bson:"created_on"R\tcreatedOn\x12H\n\x07secrets\x18\x0e \x03(\x0b2\x19.viam.app.v1.SharedSecretB\x13\x9a\x84\x9e\x03\x0ebson:"secrets"R\x07secrets\x12Z\n\x0clast_updated\x18\x0f \x01(\x0b2\x1a.google.protobuf.TimestampB\x1b\x9a\x84\x9e\x03\x16bson:"last_updated_at"R\x0blastUpdated"\xf8\x02\n\x15RobotPartHistoryEntry\x120\n\x04part\x18\x01 \x01(\tB\x1c\x9a\x84\x9e\x03\x17bson:"part" json:"part"R\x04part\x124\n\x05robot\x18\x02 \x01(\tB\x1e\x9a\x84\x9e\x03\x19bson:"robot" json:"robot"R\x05robot\x12L\n\x04when\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampB\x1c\x9a\x84\x9e\x03\x17bson:"when" json:"when"R\x04when\x12D\n\x03old\x18\x04 \x01(\x0b2\x16.viam.app.v1.RobotPartB\x1a\x9a\x84\x9e\x03\x15bson:"old" json:"old"R\x03old\x12c\n\tedited_by\x18\x05 \x01(\x0b2\x1e.viam.app.v1.AuthenticatorInfoB&\x9a\x84\x9e\x03!bson:"edited_by" json:"edited_by"R\x08editedBy"\x85\x01\n\x11AuthenticatorInfo\x123\n\x04type\x18\x01 \x01(\x0e2\x1f.viam.app.v1.AuthenticationTypeR\x04type\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value\x12%\n\x0eis_deactivated\x18\x03 \x01(\x08R\risDeactivated"\x1a\n\x18ListOrganizationsRequest"\xde\x01\n\x0cOrganization\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x129\n\ncreated_on\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedOn\x12)\n\x10public_namespace\x18\x04 \x01(\tR\x0fpublicNamespace\x12%\n\x0edefault_region\x18\x05 \x01(\tR\rdefaultRegion\x12\x15\n\x03cid\x18\x06 \x01(\tH\x00R\x03cid\x88\x01\x01B\x06\n\x04_cid"\xcf\x01\n\x12OrganizationMember\x12\x17\n\x07user_id\x18\x01 \x01(\tR\x06userId\x12\x16\n\x06emails\x18\x02 \x03(\tR\x06emails\x129\n\ndate_added\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\tdateAdded\x12>\n\nlast_login\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampH\x00R\tlastLogin\x88\x01\x01B\r\n\x0b_last_login"\\\n\x19ListOrganizationsResponse\x12?\n\rorganizations\x18\x01 \x03(\x0b2\x19.viam.app.v1.OrganizationR\rorganizations"\xd2\x01\n\x12OrganizationInvite\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x14\n\x05email\x18\x02 \x01(\tR\x05email\x129\n\ncreated_on\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedOn\x12B\n\x0eauthorizations\x18\x04 \x03(\x0b2\x1a.viam.app.v1.AuthorizationR\x0eauthorizations"/\n\x19CreateOrganizationRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"[\n\x1aCreateOrganizationResponse\x12=\n\x0corganization\x18\x01 \x01(\x0b2\x19.viam.app.v1.OrganizationR\x0corganization"A\n\x16GetOrganizationRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId"X\n\x17GetOrganizationResponse\x12=\n\x0corganization\x18\x01 \x01(\x0b2\x19.viam.app.v1.OrganizationR\x0corganization"X\n+GetOrganizationNamespaceAvailabilityRequest\x12)\n\x10public_namespace\x18\x01 \x01(\tR\x0fpublicNamespace"L\n,GetOrganizationNamespaceAvailabilityResponse\x12\x1c\n\tavailable\x18\x01 \x01(\x08R\tavailable"\xf2\x01\n\x19UpdateOrganizationRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x17\n\x04name\x18\x02 \x01(\tH\x00R\x04name\x88\x01\x01\x12.\n\x10public_namespace\x18\x03 \x01(\tH\x01R\x0fpublicNamespace\x88\x01\x01\x12\x1b\n\x06region\x18\x04 \x01(\tH\x02R\x06region\x88\x01\x01\x12\x15\n\x03cid\x18\x05 \x01(\tH\x03R\x03cid\x88\x01\x01B\x07\n\x05_nameB\x13\n\x11_public_namespaceB\t\n\x07_regionB\x06\n\x04_cid"[\n\x1aUpdateOrganizationResponse\x12=\n\x0corganization\x18\x01 \x01(\x0b2\x19.viam.app.v1.OrganizationR\x0corganization"\x7f\n"UpdateOrganizationNamespaceRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x120\n\x14new_public_namespace\x18\x02 \x01(\tR\x12newPublicNamespace"d\n#UpdateOrganizationNamespaceResponse\x12=\n\x0corganization\x18\x01 \x01(\x0b2\x19.viam.app.v1.OrganizationR\x0corganization"D\n\x19DeleteOrganizationRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId"\x1c\n\x1aDeleteOrganizationResponse"I\n\x1eGetOrganizationMetadataRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId"N\n\x1fGetOrganizationMetadataResponse\x12+\n\x04data\x18\x01 \x01(\x0b2\x17.google.protobuf.StructR\x04data"y\n!UpdateOrganizationMetadataRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12+\n\x04data\x18\x02 \x01(\x0b2\x17.google.protobuf.StructR\x04data"$\n"UpdateOrganizationMetadataResponse"I\n\x1eListOrganizationMembersRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId"\xc0\x01\n\x1fListOrganizationMembersResponse\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x129\n\x07members\x18\x02 \x03(\x0b2\x1f.viam.app.v1.OrganizationMemberR\x07members\x129\n\x07invites\x18\x03 \x03(\x0b2\x1f.viam.app.v1.OrganizationInviteR\x07invites"\xeb\x01\n\x1fCreateOrganizationInviteRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x14\n\x05email\x18\x02 \x01(\tR\x05email\x12B\n\x0eauthorizations\x18\x03 \x03(\x0b2\x1a.viam.app.v1.AuthorizationR\x0eauthorizations\x12/\n\x11send_email_invite\x18\x04 \x01(\x08H\x00R\x0fsendEmailInvite\x88\x01\x01B\x14\n\x12_send_email_invite"[\n CreateOrganizationInviteResponse\x127\n\x06invite\x18\x01 \x01(\x0b2\x1f.viam.app.v1.OrganizationInviteR\x06invite"\x8a\x02\n-UpdateOrganizationInviteAuthorizationsRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x14\n\x05email\x18\x02 \x01(\tR\x05email\x12I\n\x12add_authorizations\x18\x03 \x03(\x0b2\x1a.viam.app.v1.AuthorizationR\x11addAuthorizations\x12O\n\x15remove_authorizations\x18\x04 \x03(\x0b2\x1a.viam.app.v1.AuthorizationR\x14removeAuthorizations"i\n.UpdateOrganizationInviteAuthorizationsResponse\x127\n\x06invite\x18\x01 \x01(\x0b2\x1f.viam.app.v1.OrganizationInviteR\x06invite"`\n\x1fDeleteOrganizationInviteRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x14\n\x05email\x18\x02 \x01(\tR\x05email""\n DeleteOrganizationInviteResponse"`\n\x1fResendOrganizationInviteRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x14\n\x05email\x18\x02 \x01(\tR\x05email"[\n ResendOrganizationInviteResponse\x127\n\x06invite\x18\x01 \x01(\x0b2\x1f.viam.app.v1.OrganizationInviteR\x06invite"c\n\x1fDeleteOrganizationMemberRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x17\n\x07user_id\x18\x02 \x01(\tR\x06userId""\n DeleteOrganizationMemberResponse"\xd2\x01\n\x0eBillingAddress\x12$\n\x0eaddress_line_1\x18\x01 \x01(\tR\x0caddressLine1\x12)\n\x0eaddress_line_2\x18\x02 \x01(\tH\x00R\x0caddressLine2\x88\x01\x01\x12\x12\n\x04city\x18\x03 \x01(\tR\x04city\x12\x14\n\x05state\x18\x04 \x01(\tR\x05state\x12\x18\n\x07zipcode\x18\x05 \x01(\tR\x07zipcode\x12\x18\n\x07country\x18\x06 \x01(\tR\x07countryB\x11\n\x0f_address_line_2"z\n\x1bEnableBillingServiceRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId\x12D\n\x0fbilling_address\x18\x02 \x01(\x0b2\x1b.viam.app.v1.BillingAddressR\x0ebillingAddress"\x1e\n\x1cEnableBillingServiceResponse"z\n\x1bUpdateBillingServiceRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId\x12D\n\x0fbilling_address\x18\x02 \x01(\x0b2\x1b.viam.app.v1.BillingAddressR\x0ebillingAddress"\x1e\n\x1cUpdateBillingServiceResponse"7\n\x1eGetBillingServiceConfigRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId"\xdb\x01\n\x1fGetBillingServiceConfigResponse\x12D\n\x0fbilling_address\x18\x01 \x01(\x0b2\x1b.viam.app.v1.BillingAddressR\x0ebillingAddress\x12#\n\rsupport_email\x18\x02 \x01(\tR\x0csupportEmail\x12\x19\n\x08logo_url\x18\x03 \x01(\tR\x07logoUrl\x122\n\x15billing_dashboard_url\x18\x04 \x01(\tR\x13billingDashboardUrl"5\n\x1cDisableBillingServiceRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId"\x1f\n\x1dDisableBillingServiceResponse"Q\n"OrganizationSetSupportEmailRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId\x12\x14\n\x05email\x18\x02 \x01(\tR\x05email"%\n#OrganizationSetSupportEmailResponse";\n"OrganizationGetSupportEmailRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId";\n#OrganizationGetSupportEmailResponse\x12\x14\n\x05email\x18\x01 \x01(\tR\x05email":\n\x14OrganizationIdentity\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name"Y\n\x14LocationOrganization\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x18\n\x07primary\x18\x02 \x01(\x08R\x07primary"\x80\x01\n\x0cLocationAuth\x12\x1a\n\x06secret\x18\x01 \x01(\tB\x02\x18\x01R\x06secret\x12\x1f\n\x0blocation_id\x18\x02 \x01(\tR\nlocationId\x123\n\x07secrets\x18\x03 \x03(\x0b2\x19.viam.app.v1.SharedSecretR\x07secrets"\'\n\rStorageConfig\x12\x16\n\x06region\x18\x01 \x01(\tR\x06region"\xd7\x03\n\x08Location\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12,\n\x12parent_location_id\x18\x04 \x01(\tR\x10parentLocationId\x12-\n\x04auth\x18\x05 \x01(\x0b2\x19.viam.app.v1.LocationAuthR\x04auth\x12G\n\rorganizations\x18\x06 \x03(\x0b2!.viam.app.v1.LocationOrganizationR\rorganizations\x129\n\ncreated_on\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedOn\x12\x1f\n\x0brobot_count\x18\x07 \x01(\x05R\nrobotCount\x122\n\x06config\x18\x08 \x01(\x0b2\x1a.viam.app.v1.StorageConfigR\x06config\x12X\n\x14primary_org_identity\x18\t \x01(\x0b2!.viam.app.v1.OrganizationIdentityH\x00R\x12primaryOrgIdentity\x88\x01\x01B\x17\n\x15_primary_org_identity"\xd0\x02\n\x0cSharedSecret\x12\x1e\n\x02id\x18\x01 \x01(\tB\x0e\x9a\x84\x9e\x03\tbson:"id"R\x02id\x12*\n\x06secret\x18\x02 \x01(\tB\x12\x9a\x84\x9e\x03\rbson:"secret"R\x06secret\x12c\n\ncreated_on\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampB(\x9a\x84\x9e\x03#bson:"created_on" json:"created_on"R\tcreatedOn\x12H\n\x05state\x18\x04 \x01(\x0e2\x1f.viam.app.v1.SharedSecret.StateB\x11\x9a\x84\x9e\x03\x0cbson:"state"R\x05state"E\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x11\n\rSTATE_ENABLED\x10\x01\x12\x12\n\x0eSTATE_DISABLED\x10\x02"\x9e\x01\n\x15CreateLocationRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x121\n\x12parent_location_id\x18\x03 \x01(\tH\x00R\x10parentLocationId\x88\x01\x01B\x15\n\x13_parent_location_id"K\n\x16CreateLocationResponse\x121\n\x08location\x18\x01 \x01(\x0b2\x15.viam.app.v1.LocationR\x08location"5\n\x12GetLocationRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId"H\n\x13GetLocationResponse\x121\n\x08location\x18\x01 \x01(\x0b2\x15.viam.app.v1.LocationR\x08location"\xcc\x01\n\x15UpdateLocationRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId\x12\x17\n\x04name\x18\x02 \x01(\tH\x00R\x04name\x88\x01\x01\x121\n\x12parent_location_id\x18\x03 \x01(\tH\x01R\x10parentLocationId\x88\x01\x01\x12\x1b\n\x06region\x18\x04 \x01(\tH\x02R\x06region\x88\x01\x01B\x07\n\x05_nameB\x15\n\x13_parent_location_idB\t\n\x07_region"K\n\x16UpdateLocationResponse\x121\n\x08location\x18\x01 \x01(\x0b2\x15.viam.app.v1.LocationR\x08location"8\n\x15DeleteLocationRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId"\x18\n\x16DeleteLocationResponse"=\n\x1aGetLocationMetadataRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId"J\n\x1bGetLocationMetadataResponse\x12+\n\x04data\x18\x01 \x01(\x0b2\x17.google.protobuf.StructR\x04data"m\n\x1dUpdateLocationMetadataRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId\x12+\n\x04data\x18\x02 \x01(\x0b2\x17.google.protobuf.StructR\x04data" \n\x1eUpdateLocationMetadataResponse"N\n+GetOrganizationsWithAccessToLocationRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId"\x8a\x01\n,GetOrganizationsWithAccessToLocationResponse\x12Z\n\x17organization_identities\x18\x01 \x03(\x0b2!.viam.app.v1.OrganizationIdentityR\x16organizationIdentities"?\n\x14ListLocationsRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId"`\n\x14ShareLocationRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId\x12\'\n\x0forganization_id\x18\x02 \x01(\tR\x0eorganizationId"\x17\n\x15ShareLocationResponse"b\n\x16UnshareLocationRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId\x12\'\n\x0forganization_id\x18\x02 \x01(\tR\x0eorganizationId"\x19\n\x17UnshareLocationResponse"L\n\x15ListLocationsResponse\x123\n\tlocations\x18\x01 \x03(\x0b2\x15.viam.app.v1.LocationR\tlocations">\n\x1bCreateLocationSecretRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId"M\n\x1cCreateLocationSecretResponse\x12-\n\x04auth\x18\x01 \x01(\x0b2\x19.viam.app.v1.LocationAuthR\x04auth"[\n\x1bDeleteLocationSecretRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId\x12\x1b\n\tsecret_id\x18\x02 \x01(\tR\x08secretId"\x1e\n\x1cDeleteLocationSecretResponse"6\n\x13LocationAuthRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId"E\n\x14LocationAuthResponse\x12-\n\x04auth\x18\x01 \x01(\x0b2\x19.viam.app.v1.LocationAuthR\x04auth"!\n\x0fGetRobotRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"4\n\x1bGetRoverRentalRobotsRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId"\x9a\x01\n\x10RoverRentalRobot\x12\x19\n\x08robot_id\x18\x01 \x01(\tR\x07robotId\x12\x1f\n\x0blocation_id\x18\x02 \x01(\tR\nlocationId\x12\x1d\n\nrobot_name\x18\x03 \x01(\tR\trobotName\x12+\n\x12robot_main_part_id\x18\x04 \x01(\tR\x0frobotMainPartId"U\n\x1cGetRoverRentalRobotsResponse\x125\n\x06robots\x18\x01 \x03(\x0b2\x1d.viam.app.v1.RoverRentalRobotR\x06robots"<\n\x10GetRobotResponse\x12(\n\x05robot\x18\x01 \x01(\x0b2\x12.viam.app.v1.RobotR\x05robot"1\n\x14GetRobotPartsRequest\x12\x19\n\x08robot_id\x18\x01 \x01(\tR\x07robotId"E\n\x15GetRobotPartsResponse\x12,\n\x05parts\x18\x01 \x03(\x0b2\x16.viam.app.v1.RobotPartR\x05parts"%\n\x13GetRobotPartRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"c\n\x14GetRobotPartResponse\x12*\n\x04part\x18\x01 \x01(\x0b2\x16.viam.app.v1.RobotPartR\x04part\x12\x1f\n\x0bconfig_json\x18\x02 \x01(\tR\nconfigJson"\x8a\x03\n\x17GetRobotPartLogsRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12#\n\x0berrors_only\x18\x02 \x01(\x08B\x02\x18\x01R\nerrorsOnly\x12\x1b\n\x06filter\x18\x03 \x01(\tH\x00R\x06filter\x88\x01\x01\x12"\n\npage_token\x18\x04 \x01(\tH\x01R\tpageToken\x88\x01\x01\x12\x16\n\x06levels\x18\x05 \x03(\tR\x06levels\x125\n\x05start\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampH\x02R\x05start\x88\x01\x01\x121\n\x03end\x18\x07 \x01(\x0b2\x1a.google.protobuf.TimestampH\x03R\x03end\x88\x01\x01\x12\x19\n\x05limit\x18\x08 \x01(\x03H\x04R\x05limit\x88\x01\x01\x12\x1b\n\x06source\x18\t \x01(\tH\x05R\x06source\x88\x01\x01B\t\n\x07_filterB\r\n\x0b_page_tokenB\x08\n\x06_startB\x06\n\x04_endB\x08\n\x06_limitB\t\n\x07_source"p\n\x18GetRobotPartLogsResponse\x12,\n\x04logs\x18\x01 \x03(\x0b2\x18.viam.common.v1.LogEntryR\x04logs\x12&\n\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken"s\n\x18TailRobotPartLogsRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x1f\n\x0berrors_only\x18\x02 \x01(\x08R\nerrorsOnly\x12\x1b\n\x06filter\x18\x03 \x01(\tH\x00R\x06filter\x88\x01\x01B\t\n\x07_filter"I\n\x19TailRobotPartLogsResponse\x12,\n\x04logs\x18\x01 \x03(\x0b2\x18.viam.common.v1.LogEntryR\x04logs",\n\x1aGetRobotPartHistoryRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"[\n\x1bGetRobotPartHistoryResponse\x12<\n\x07history\x18\x01 \x03(\x0b2".viam.app.v1.RobotPartHistoryEntryR\x07history"\xdb\x01\n\x16UpdateRobotPartRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12:\n\x0crobot_config\x18\x03 \x01(\x0b2\x17.google.protobuf.StructR\x0brobotConfig\x12K\n\x11last_known_update\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampH\x00R\x0flastKnownUpdate\x88\x01\x01B\x14\n\x12_last_known_update"E\n\x17UpdateRobotPartResponse\x12*\n\x04part\x18\x01 \x01(\x0b2\x16.viam.app.v1.RobotPartR\x04part"M\n\x13NewRobotPartRequest\x12\x19\n\x08robot_id\x18\x01 \x01(\tR\x07robotId\x12\x1b\n\tpart_name\x18\x02 \x01(\tR\x08partName"/\n\x14NewRobotPartResponse\x12\x17\n\x07part_id\x18\x01 \x01(\tR\x06partId"1\n\x16DeleteRobotPartRequest\x12\x17\n\x07part_id\x18\x01 \x01(\tR\x06partId"-\n\x1bGetRobotPartMetadataRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"K\n\x1cGetRobotPartMetadataResponse\x12+\n\x04data\x18\x01 \x01(\x0b2\x17.google.protobuf.StructR\x04data"]\n\x1eUpdateRobotPartMetadataRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12+\n\x04data\x18\x02 \x01(\x0b2\x17.google.protobuf.StructR\x04data"!\n\x1fUpdateRobotPartMetadataResponse"3\n\x16GetRobotAPIKeysRequest\x12\x19\n\x08robot_id\x18\x01 \x01(\tR\x07robotId"y\n\x06APIKey\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x10\n\x03key\x18\x02 \x01(\tR\x03key\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x129\n\ncreated_on\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedOn"[\n\x17GetRobotAPIKeysResponse\x12@\n\x08api_keys\x18\x01 \x03(\x0b2%.viam.app.v1.APIKeyWithAuthorizationsR\x07apiKeys"\x19\n\x17DeleteRobotPartResponse"\xa1\x06\n\x08Fragment\x123\n\x02id\x18\x01 \x01(\tB#\x9a\x84\x9e\x03\x1ebson:"_id" json:"id,omitempty"R\x02id\x120\n\x04name\x18\x02 \x01(\tB\x1c\x9a\x84\x9e\x03\x17bson:"name" json:"name"R\x04name\x12Y\n\x08fragment\x18\x03 \x01(\x0b2\x17.google.protobuf.StructB$\x9a\x84\x9e\x03\x1fbson:"fragment" json:"fragment"R\x08fragment\x12Z\n\x12organization_owner\x18\x04 \x01(\tB+\x9a\x84\x9e\x03&bson:"organization_owner" json:"owner"R\x11organizationOwner\x128\n\x06public\x18\x05 \x01(\x08B \x9a\x84\x9e\x03\x1bbson:"public" json:"public"R\x06public\x12Q\n\ncreated_on\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampB\x16\x9a\x84\x9e\x03\x11bson:"created_on"R\tcreatedOn\x12+\n\x11organization_name\x18\x07 \x01(\tR\x10organizationName\x12(\n\x10robot_part_count\x18\t \x01(\x05R\x0erobotPartCount\x12-\n\x12organization_count\x18\n \x01(\x05R\x11organizationCount\x12+\n\x12only_used_by_owner\x18\x0b \x01(\x08R\x0fonlyUsedByOwner\x12?\n\nvisibility\x18\x0c \x01(\x0e2\x1f.viam.app.v1.FragmentVisibilityR\nvisibility\x12Z\n\x0clast_updated\x18\r \x01(\x0b2\x1a.google.protobuf.TimestampB\x1b\x9a\x84\x9e\x03\x16bson:"last_updated_at"R\x0blastUpdated\x12\x1a\n\x08revision\x18\x0e \x01(\tR\x08revision"\xf8\x03\n\x14FragmentHistoryEntry\x12@\n\x08fragment\x18\x01 \x01(\tB$\x9a\x84\x9e\x03\x1fbson:"fragment" json:"fragment"R\x08fragment\x12_\n\tedited_on\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampB&\x9a\x84\x9e\x03!bson:"edited_on" json:"edited_on"R\x08editedOn\x12C\n\x03old\x18\x03 \x01(\x0b2\x15.viam.app.v1.FragmentB\x1a\x9a\x84\x9e\x03\x15bson:"old" json:"old"R\x03old\x12c\n\tedited_by\x18\x04 \x01(\x0b2\x1e.viam.app.v1.AuthenticatorInfoB&\x9a\x84\x9e\x03!bson:"edited_by" json:"edited_by"R\x08editedBy\x12@\n\x08revision\x18\x05 \x01(\tB$\x9a\x84\x9e\x03\x1fbson:"revision" json:"revision"R\x08revision\x12Q\n\x06config\x18\x06 \x01(\x0b2\x17.google.protobuf.StructB \x9a\x84\x9e\x03\x1bbson:"config" json:"config"R\x06config"i\n\x10FragmentRevision\x12\x1a\n\x08revision\x18\x01 \x01(\tR\x08revision\x129\n\ncreated_at\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt";\n\x0bFragmentTag\x12\x10\n\x03tag\x18\x01 \x01(\tR\x03tag\x12\x1a\n\x08revision\x18\x02 \x01(\tR\x08revision"\x87\x01\n\rFragmentError\x12=\n\nerror_type\x18\x01 \x01(\x0e2\x1e.viam.app.v1.FragmentErrorTypeR\terrorType\x12\x1f\n\x0bfragment_id\x18\x02 \x01(\tR\nfragmentId\x12\x16\n\x06detail\x18\x03 \x01(\tR\x06detail"\xd4\x01\n\rFragmentUsage\x12\x1f\n\x0bfragment_id\x18\x01 \x01(\tR\nfragmentId\x12$\n\rorganizations\x18\x02 \x01(\x05R\rorganizations\x12\x1a\n\x08machines\x18\x03 \x01(\x05R\x08machines\x125\n\x17machines_in_current_org\x18\x04 \x01(\x05R\x14machinesInCurrentOrg\x12\x1d\n\x07version\x18\x05 \x01(\tH\x00R\x07version\x88\x01\x01B\n\n\x08_version"\xc3\x01\n\x10ResolvedFragment\x12\x1f\n\x0bfragment_id\x18\x01 \x01(\tR\nfragmentId\x12@\n\x0fresolved_config\x18\x02 \x01(\x0b2\x17.google.protobuf.StructR\x0eresolvedConfig\x120\n\x05error\x18\x03 \x01(\x0b2\x1a.viam.app.v1.FragmentErrorR\x05error\x12\x1a\n\x08revision\x18\x04 \x01(\tR\x08revision"\xb2\x01\n\x14ListFragmentsRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x1f\n\x0bshow_public\x18\x02 \x01(\x08R\nshowPublic\x12P\n\x13fragment_visibility\x18\x03 \x03(\x0e2\x1f.viam.app.v1.FragmentVisibilityR\x12fragmentVisibility"\x91\x01\n\x15ListFragmentsResponse\x123\n\tfragments\x18\x01 \x03(\x0b2\x15.viam.app.v1.FragmentR\tfragments\x12C\n\x0ffragment_usages\x18\x02 \x03(\x0b2\x1a.viam.app.v1.FragmentUsageR\x0efragmentUsages"\x87\x01\n\x12GetFragmentRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x126\n\x17current_organization_id\x18\x02 \x01(\tR\x15currentOrganizationId\x12\x1d\n\x07version\x18\x03 \x01(\tH\x00R\x07version\x88\x01\x01B\n\n\x08_version"\xf6\x01\n\x13GetFragmentResponse\x121\n\x08fragment\x18\x01 \x01(\x0b2\x15.viam.app.v1.FragmentR\x08fragment\x12A\n\x0efragment_usage\x18\x02 \x01(\x0b2\x1a.viam.app.v1.FragmentUsageR\rfragmentUsage\x12;\n\trevisions\x18\x03 \x03(\x0b2\x1d.viam.app.v1.FragmentRevisionR\trevisions\x12,\n\x04tags\x18\x04 \x03(\x0b2\x18.viam.app.v1.FragmentTagR\x04tags"\xda\x01\n\x15CreateFragmentRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12/\n\x06config\x18\x02 \x01(\x0b2\x17.google.protobuf.StructR\x06config\x12\'\n\x0forganization_id\x18\x03 \x01(\tR\x0eorganizationId\x12D\n\nvisibility\x18\x04 \x01(\x0e2\x1f.viam.app.v1.FragmentVisibilityH\x00R\nvisibility\x88\x01\x01B\r\n\x0b_visibility"K\n\x16CreateFragmentResponse\x121\n\x08fragment\x18\x01 \x01(\x0b2\x15.viam.app.v1.FragmentR\x08fragment"\xcc\x02\n\x15UpdateFragmentRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12/\n\x06config\x18\x03 \x01(\x0b2\x17.google.protobuf.StructR\x06config\x12\x1b\n\x06public\x18\x04 \x01(\x08H\x00R\x06public\x88\x01\x01\x12D\n\nvisibility\x18\x05 \x01(\x0e2\x1f.viam.app.v1.FragmentVisibilityH\x01R\nvisibility\x88\x01\x01\x12K\n\x11last_known_update\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampH\x02R\x0flastKnownUpdate\x88\x01\x01B\t\n\x07_publicB\r\n\x0b_visibilityB\x14\n\x12_last_known_update"K\n\x16UpdateFragmentResponse\x121\n\x08fragment\x18\x01 \x01(\x0b2\x15.viam.app.v1.FragmentR\x08fragment"\'\n\x15DeleteFragmentRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"\x18\n\x16DeleteFragmentResponse"\x91\x01\n\x19GetFragmentHistoryRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12"\n\npage_token\x18\x02 \x01(\tH\x00R\tpageToken\x88\x01\x01\x12"\n\npage_limit\x18\x03 \x01(\x03H\x01R\tpageLimit\x88\x01\x01B\r\n\x0b_page_tokenB\r\n\x0b_page_limit"\x81\x01\n\x1aGetFragmentHistoryResponse\x12;\n\x07history\x18\x01 \x03(\x0b2!.viam.app.v1.FragmentHistoryEntryR\x07history\x12&\n\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken":\n\x17GetFragmentUsageRequest\x12\x1f\n\x0bfragment_id\x18\x01 \x01(\tR\nfragmentId"]\n\x18GetFragmentUsageResponse\x12A\n\x0eversion_usages\x18\x01 \x03(\x0b2\x1a.viam.app.v1.FragmentUsageR\rversionUsages"f\n\x15SetFragmentTagRequest\x12\x1f\n\x0bfragment_id\x18\x01 \x01(\tR\nfragmentId\x12\x10\n\x03tag\x18\x02 \x01(\tR\x03tag\x12\x1a\n\x08revision\x18\x03 \x01(\tR\x08revision"F\n\x16SetFragmentTagResponse\x12,\n\x04tags\x18\x01 \x03(\x0b2\x18.viam.app.v1.FragmentTagR\x04tags"M\n\x18DeleteFragmentTagRequest\x12\x1f\n\x0bfragment_id\x18\x01 \x01(\tR\nfragmentId\x12\x10\n\x03tag\x18\x02 \x01(\tR\x03tag"I\n\x19DeleteFragmentTagResponse\x12,\n\x04tags\x18\x01 \x03(\x0b2\x18.viam.app.v1.FragmentTagR\x04tags"4\n\x11ListRobotsRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId"`\n\x12AdditionalFragment\x12\x1f\n\x0bfragment_id\x18\x01 \x01(\tR\nfragmentId\x12\x1d\n\x07version\x18\x02 \x01(\tH\x00R\x07version\x88\x01\x01B\n\n\x08_version"\xa6\x01\n\x1aListNestedFragmentsRequest\x12$\n\x0bfragment_id\x18\x01 \x01(\tH\x00R\nfragmentId\x88\x01\x01\x12R\n\x14additional_fragments\x18\x02 \x03(\x0b2\x1f.viam.app.v1.AdditionalFragmentR\x13additionalFragmentsB\x0e\n\x0c_fragment_id"\xa0\x01\n\x1bListNestedFragmentsResponse\x123\n\tfragments\x18\x01 \x03(\x0b2\x15.viam.app.v1.FragmentR\tfragments\x12L\n\x12resolved_fragments\x18\x02 \x03(\x0b2\x1d.viam.app.v1.ResolvedFragmentR\x11resolvedFragments"\xc8\x01\n\x1bListMachineFragmentsRequest\x12\x1d\n\nmachine_id\x18\x01 \x01(\tR\tmachineId\x126\n\x17additional_fragment_ids\x18\x02 \x03(\tR\x15additionalFragmentIds\x12R\n\x14additional_fragments\x18\x03 \x03(\x0b2\x1f.viam.app.v1.AdditionalFragmentR\x13additionalFragments"\xa1\x01\n\x1cListMachineFragmentsResponse\x123\n\tfragments\x18\x01 \x03(\x0b2\x15.viam.app.v1.FragmentR\tfragments\x12L\n\x12resolved_fragments\x18\x02 \x03(\x0b2\x1d.viam.app.v1.ResolvedFragmentR\x11resolvedFragments"F\n\x1bListMachineSummariesRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId"k\n\x1cListMachineSummariesResponse\x12K\n\x12location_summaries\x18\x01 \x03(\x0b2\x1c.viam.app.v1.LocationSummaryR\x11locationSummaries"\xa1\x01\n\x0fLocationSummary\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId\x12#\n\rlocation_name\x18\x02 \x01(\tR\x0clocationName\x12H\n\x11machine_summaries\x18\x03 \x03(\x0b2\x1b.viam.app.v1.MachineSummaryR\x10machineSummaries"\x93\x01\n\x0eMachineSummary\x12\x1d\n\nmachine_id\x18\x01 \x01(\tR\tmachineId\x12!\n\x0cmachine_name\x18\x02 \x01(\tR\x0bmachineName\x12?\n\x0epart_summaries\x18\x03 \x03(\x0b2\x18.viam.app.v1.PartSummaryR\rpartSummaries";\n\x0fFragmentSummary\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x03 \x01(\tR\x04nameJ\x04\x08\x02\x10\x03"N\n\x11ViamServerVersion\x12\x16\n\x05major\x18\x01 \x01(\tH\x00R\x05major\x12\x16\n\x05minor\x18\x02 \x01(\tH\x00R\x05minorB\t\n\x07version"M\n\x10ViamAgentVersion\x12\x16\n\x05major\x18\x01 \x01(\tH\x00R\x05major\x12\x16\n\x05minor\x18\x02 \x01(\tH\x00R\x05minorB\t\n\x07version"\xb8\x04\n\x0bPartSummary\x12\x17\n\x07part_id\x18\x01 \x01(\tR\x06partId\x12\x1b\n\tpart_name\x18\x02 \x01(\tR\x08partName\x12@\n\x0blast_online\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampH\x00R\nlastOnline\x88\x01\x01\x12S\n\x13viam_server_version\x18\x04 \x01(\x0b2\x1e.viam.app.v1.ViamServerVersionH\x01R\x11viamServerVersion\x88\x01\x01\x12P\n\x12viam_agent_version\x18\x05 \x01(\x0b2\x1d.viam.app.v1.ViamAgentVersionH\x02R\x10viamAgentVersion\x88\x01\x01\x12\x13\n\x02os\x18\x06 \x01(\tH\x03R\x02os\x88\x01\x01\x12\x1f\n\x08platform\x18\x07 \x01(\tH\x04R\x08platform\x88\x01\x01\x12/\n\x11public_ip_address\x18\x08 \x01(\tH\x05R\x0fpublicIpAddress\x88\x01\x01\x12:\n\tfragments\x18\t \x03(\x0b2\x1c.viam.app.v1.FragmentSummaryR\tfragmentsB\x0e\n\x0c_last_onlineB\x16\n\x14_viam_server_versionB\x15\n\x13_viam_agent_versionB\x05\n\x03_osB\x0b\n\t_platformB\x14\n\x12_public_ip_address"@\n\x12ListRobotsResponse\x12*\n\x06robots\x18\x01 \x03(\x0b2\x12.viam.app.v1.RobotR\x06robots"A\n\x0fNewRobotRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1a\n\x08location\x18\x02 \x01(\tR\x08location""\n\x10NewRobotResponse\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"T\n\x12UpdateRobotRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x1a\n\x08location\x18\x03 \x01(\tR\x08location"?\n\x13UpdateRobotResponse\x12(\n\x05robot\x18\x01 \x01(\x0b2\x12.viam.app.v1.RobotR\x05robot"$\n\x12DeleteRobotRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"\x15\n\x13DeleteRobotResponse")\n\x17GetRobotMetadataRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"G\n\x18GetRobotMetadataResponse\x12+\n\x04data\x18\x01 \x01(\x0b2\x17.google.protobuf.StructR\x04data"Y\n\x1aUpdateRobotMetadataRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12+\n\x04data\x18\x02 \x01(\x0b2\x17.google.protobuf.StructR\x04data"\x1d\n\x1bUpdateRobotMetadataResponse"0\n\x15MarkPartAsMainRequest\x12\x17\n\x07part_id\x18\x01 \x01(\tR\x06partId"\x18\n\x16MarkPartAsMainResponse"4\n\x19MarkPartForRestartRequest\x12\x17\n\x07part_id\x18\x01 \x01(\tR\x06partId"\x1c\n\x1aMarkPartForRestartResponse"7\n\x1cCreateRobotPartSecretRequest\x12\x17\n\x07part_id\x18\x01 \x01(\tR\x06partId"K\n\x1dCreateRobotPartSecretResponse\x12*\n\x04part\x18\x01 \x01(\x0b2\x16.viam.app.v1.RobotPartR\x04part"T\n\x1cDeleteRobotPartSecretRequest\x12\x17\n\x07part_id\x18\x01 \x01(\tR\x06partId\x12\x1b\n\tsecret_id\x18\x02 \x01(\tR\x08secretId"\x1f\n\x1dDeleteRobotPartSecretResponse"\x9e\x02\n\rAuthorization\x12-\n\x12authorization_type\x18\x01 \x01(\tR\x11authorizationType\x12)\n\x10authorization_id\x18\x02 \x01(\tR\x0fauthorizationId\x12#\n\rresource_type\x18\x03 \x01(\tR\x0cresourceType\x12\x1f\n\x0bresource_id\x18\x04 \x01(\tR\nresourceId\x12\x1f\n\x0bidentity_id\x18\x05 \x01(\tR\nidentityId\x12\'\n\x0forganization_id\x18\x06 \x01(\tR\x0eorganizationId\x12#\n\ridentity_type\x18\x07 \x01(\tR\x0cidentityType"R\n\x0eAddRoleRequest\x12@\n\rauthorization\x18\x01 \x01(\x0b2\x1a.viam.app.v1.AuthorizationR\rauthorization"\x11\n\x0fAddRoleResponse"U\n\x11RemoveRoleRequest\x12@\n\rauthorization\x18\x01 \x01(\x0b2\x1a.viam.app.v1.AuthorizationR\rauthorization"\x14\n\x12RemoveRoleResponse"\xa5\x01\n\x11ChangeRoleRequest\x12G\n\x11old_authorization\x18\x01 \x01(\x0b2\x1a.viam.app.v1.AuthorizationR\x10oldAuthorization\x12G\n\x11new_authorization\x18\x02 \x01(\x0b2\x1a.viam.app.v1.AuthorizationR\x10newAuthorization"\x14\n\x12ChangeRoleResponse"g\n\x19ListAuthorizationsRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12!\n\x0cresource_ids\x18\x02 \x03(\tR\x0bresourceIds"`\n\x1aListAuthorizationsResponse\x12B\n\x0eauthorizations\x18\x01 \x03(\x0b2\x1a.viam.app.v1.AuthorizationR\x0eauthorizations"_\n\x17CheckPermissionsRequest\x12D\n\x0bpermissions\x18\x01 \x03(\x0b2".viam.app.v1.AuthorizedPermissionsR\x0bpermissions"\x7f\n\x15AuthorizedPermissions\x12#\n\rresource_type\x18\x01 \x01(\tR\x0cresourceType\x12\x1f\n\x0bresource_id\x18\x02 \x01(\tR\nresourceId\x12 \n\x0bpermissions\x18\x03 \x03(\tR\x0bpermissions"u\n\x18CheckPermissionsResponse\x12Y\n\x16authorized_permissions\x18\x01 \x03(\x0b2".viam.app.v1.AuthorizedPermissionsR\x15authorizedPermissions"\xc8\x02\n\rModuleVersion\x12\x18\n\x07version\x18\x01 \x01(\tR\x07version\x12*\n\x05files\x18\x02 \x03(\x0b2\x14.viam.app.v1.UploadsR\x05files\x12*\n\x06models\x18\x03 \x03(\x0b2\x12.viam.app.v1.ModelR\x06models\x12\x1e\n\nentrypoint\x18\x04 \x01(\tR\nentrypoint\x12 \n\tfirst_run\x18\x05 \x01(\tH\x00R\x08firstRun\x88\x01\x01\x126\n\x14markdown_description\x18\x06 \x01(\tH\x01R\x13markdownDescription\x88\x01\x01\x12$\n\x04apps\x18\x07 \x03(\x0b2\x10.viam.app.v1.AppR\x04appsB\x0c\n\n_first_runB\x17\n\x15_markdown_description"\xbb\x02\n\x0eModuleMetadata\x12*\n\x06models\x18\x01 \x03(\x0b2\x12.viam.app.v1.ModelR\x06models\x126\n\x08versions\x18\x02 \x03(\x0b2\x1a.viam.app.v1.ModuleVersionR\x08versions\x12\x1e\n\nentrypoint\x18\x03 \x01(\tR\nentrypoint\x12 \n\tfirst_run\x18\x04 \x01(\tH\x00R\x08firstRun\x88\x01\x01\x126\n\x14markdown_description\x18\x05 \x01(\tH\x01R\x13markdownDescription\x88\x01\x01\x12$\n\x04apps\x18\x06 \x03(\x0b2\x10.viam.app.v1.AppR\x04appsB\x0c\n\n_first_runB\x17\n\x15_markdown_description"\xc0\x01\n\x0fMLModelMetadata\x12\x1a\n\x08versions\x18\x01 \x03(\tR\x08versions\x12@\n\nmodel_type\x18\x02 \x01(\x0e2!.viam.app.mltraining.v1.ModelTypeR\tmodelType\x12O\n\x0fmodel_framework\x18\x03 \x01(\x0e2&.viam.app.mltraining.v1.ModelFrameworkR\x0emodelFramework"h\n\x11MLTrainingVersion\x12\x18\n\x07version\x18\x01 \x01(\tR\x07version\x129\n\ncreated_on\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedOn"\xff\x01\n\x12MLTrainingMetadata\x12:\n\x08versions\x18\x05 \x03(\x0b2\x1e.viam.app.v1.MLTrainingVersionR\x08versions\x12@\n\nmodel_type\x18\x02 \x01(\x0e2!.viam.app.mltraining.v1.ModelTypeR\tmodelType\x12O\n\x0fmodel_framework\x18\x03 \x01(\x0e2&.viam.app.mltraining.v1.ModelFrameworkR\x0emodelFramework\x12\x14\n\x05draft\x18\x04 \x01(\x08R\x05draftJ\x04\x08\x01\x10\x02"\x8c\x07\n\x0cRegistryItem\x12\x17\n\x07item_id\x18\x01 \x01(\tR\x06itemId\x12\'\n\x0forganization_id\x18\x02 \x01(\tR\x0eorganizationId\x12)\n\x10public_namespace\x18\x03 \x01(\tR\x0fpublicNamespace\x12\x12\n\x04name\x18\x04 \x01(\tR\x04name\x125\n\x04type\x18\x05 \x01(\x0e2!.viam.app.packages.v1.PackageTypeR\x04type\x127\n\nvisibility\x18\x06 \x01(\x0e2\x17.viam.app.v1.VisibilityR\nvisibility\x12\x10\n\x03url\x18\x07 \x01(\tR\x03url\x12 \n\x0bdescription\x18\x08 \x01(\tR\x0bdescription\x12*\n\x11total_robot_usage\x18\t \x01(\x03R\x0ftotalRobotUsage\x12;\n\x1atotal_external_robot_usage\x18\r \x01(\x03R\x17totalExternalRobotUsage\x128\n\x18total_organization_usage\x18\n \x01(\x03R\x16totalOrganizationUsage\x12I\n!total_external_organization_usage\x18\x0e \x01(\x03R\x1etotalExternalOrganizationUsage\x12F\n\x0fmodule_metadata\x18\x0b \x01(\x0b2\x1b.viam.app.v1.ModuleMetadataH\x00R\x0emoduleMetadata\x12J\n\x11ml_model_metadata\x18\x0c \x01(\x0b2\x1c.viam.app.v1.MLModelMetadataH\x00R\x0fmlModelMetadata\x12S\n\x14ml_training_metadata\x18\x12 \x01(\x0b2\x1f.viam.app.v1.MLTrainingMetadataH\x00R\x12mlTrainingMetadata\x129\n\ncreated_at\x18\x0f \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n\nupdated_at\x18\x10 \x01(\x0b2\x1a.google.protobuf.TimestampR\tupdatedAtB\n\n\x08metadata"\x9f\x01\n\x16GetRegistryItemRequest\x12\x17\n\x07item_id\x18\x01 \x01(\tR\x06itemId\x12I\n\x1einclude_markdown_documentation\x18\x02 \x01(\x08H\x00R\x1cincludeMarkdownDocumentation\x88\x01\x01B!\n\x1f_include_markdown_documentation"H\n\x17GetRegistryItemResponse\x12-\n\x04item\x18\x01 \x01(\x0b2\x19.viam.app.v1.RegistryItemR\x04item"\x8f\x01\n\x19CreateRegistryItemRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x125\n\x04type\x18\x03 \x01(\x0e2!.viam.app.packages.v1.PackageTypeR\x04type"\x1c\n\x1aCreateRegistryItemResponse"\xe4\x04\n\x19UpdateRegistryItemRequest\x12\x17\n\x07item_id\x18\x01 \x01(\tR\x06itemId\x125\n\x04type\x18\x02 \x01(\x0e2!.viam.app.packages.v1.PackageTypeR\x04type\x12 \n\x0bdescription\x18\x03 \x01(\tR\x0bdescription\x127\n\nvisibility\x18\x04 \x01(\x0e2\x17.viam.app.v1.VisibilityR\nvisibility\x12\x15\n\x03url\x18\x05 \x01(\tH\x01R\x03url\x88\x01\x01\x12Y\n\x16update_module_metadata\x18\x06 \x01(\x0b2!.viam.app.v1.UpdateModuleMetadataH\x00R\x14updateModuleMetadata\x12]\n\x18update_ml_model_metadata\x18\x07 \x01(\x0b2".viam.app.v1.UpdateMLModelMetadataH\x00R\x15updateMlModelMetadata\x12f\n\x1bupdate_ml_training_metadata\x18\x08 \x01(\x0b2%.viam.app.v1.UpdateMLTrainingMetadataH\x00R\x18updateMlTrainingMetadata\x126\n\x14markdown_description\x18\t \x01(\tH\x02R\x13markdownDescription\x88\x01\x01B\n\n\x08metadataB\x06\n\x04_urlB\x17\n\x15_markdown_description"\x1c\n\x1aUpdateRegistryItemResponse"\xb1\x04\n\x18ListRegistryItemsRequest\x12,\n\x0forganization_id\x18\x01 \x01(\tH\x00R\x0eorganizationId\x88\x01\x01\x127\n\x05types\x18\x02 \x03(\x0e2!.viam.app.packages.v1.PackageTypeR\x05types\x12;\n\x0cvisibilities\x18\x03 \x03(\x0e2\x17.viam.app.v1.VisibilityR\x0cvisibilities\x12\x1c\n\tplatforms\x18\x04 \x03(\tR\tplatforms\x12;\n\x08statuses\x18\x05 \x03(\x0e2\x1f.viam.app.v1.RegistryItemStatusR\x08statuses\x12$\n\x0bsearch_term\x18\x06 \x01(\tH\x01R\nsearchTerm\x88\x01\x01\x12"\n\npage_token\x18\x07 \x01(\tH\x02R\tpageToken\x88\x01\x01\x12+\n\x11public_namespaces\x18\x08 \x03(\tR\x10publicNamespaces\x12I\n\x1einclude_markdown_documentation\x18\t \x01(\x08H\x03R\x1cincludeMarkdownDocumentation\x88\x01\x01B\x12\n\x10_organization_idB\x0e\n\x0c_search_termB\r\n\x0b_page_tokenB!\n\x1f_include_markdown_documentation"L\n\x19ListRegistryItemsResponse\x12/\n\x05items\x18\x01 \x03(\x0b2\x19.viam.app.v1.RegistryItemR\x05items"4\n\x19DeleteRegistryItemRequest\x12\x17\n\x07item_id\x18\x01 \x01(\tR\x06itemId"\x1c\n\x1aDeleteRegistryItemResponse"O\n\x19RenameRegistryItemRequest\x12\x17\n\x07item_id\x18\x01 \x01(\tR\x06itemId\x12\x19\n\x08new_name\x18\x02 \x01(\tR\x07newName"K\n\x1aRenameRegistryItemResponse\x12-\n\x04item\x18\x01 \x01(\x0b2\x19.viam.app.v1.RegistryItemR\x04item"h\n\x1bTransferRegistryItemRequest\x12\x17\n\x07item_id\x18\x01 \x01(\tR\x06itemId\x120\n\x14new_public_namespace\x18\x02 \x01(\tR\x12newPublicNamespace"\x1e\n\x1cTransferRegistryItemResponse"R\n\x13CreateModuleRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name"E\n\x14CreateModuleResponse\x12\x1b\n\tmodule_id\x18\x01 \x01(\tR\x08moduleId\x12\x10\n\x03url\x18\x02 \x01(\tR\x03url"\x92\x03\n\x13UpdateModuleRequest\x12\x1b\n\tmodule_id\x18\x01 \x01(\tR\x08moduleId\x127\n\nvisibility\x18\x02 \x01(\x0e2\x17.viam.app.v1.VisibilityR\nvisibility\x12\x10\n\x03url\x18\x03 \x01(\tR\x03url\x12 \n\x0bdescription\x18\x04 \x01(\tR\x0bdescription\x12*\n\x06models\x18\x05 \x03(\x0b2\x12.viam.app.v1.ModelR\x06models\x12\x1e\n\nentrypoint\x18\x06 \x01(\tR\nentrypoint\x12 \n\tfirst_run\x18\x07 \x01(\tH\x00R\x08firstRun\x88\x01\x01\x12$\n\x04apps\x18\x08 \x03(\x0b2\x10.viam.app.v1.AppR\x04apps\x126\n\x14markdown_description\x18\t \x01(\tH\x01R\x13markdownDescription\x88\x01\x01B\x0c\n\n_first_runB\x17\n\x15_markdown_description"M\n\x03App\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x12\n\x04type\x18\x02 \x01(\tR\x04type\x12\x1e\n\nentrypoint\x18\x03 \x01(\tR\nentrypoint"(\n\x14UpdateModuleResponse\x12\x10\n\x03url\x18\x01 \x01(\tR\x03url"\x88\x01\n\x14UpdateModuleMetadata\x12*\n\x06models\x18\x01 \x03(\x0b2\x12.viam.app.v1.ModelR\x06models\x12\x1e\n\nentrypoint\x18\x02 \x01(\tR\nentrypoint\x12$\n\x04apps\x18\x03 \x03(\x0b2\x10.viam.app.v1.AppR\x04apps"\xaa\x01\n\x15UpdateMLModelMetadata\x12@\n\nmodel_type\x18\x01 \x01(\x0e2!.viam.app.mltraining.v1.ModelTypeR\tmodelType\x12O\n\x0fmodel_framework\x18\x02 \x01(\x0e2&.viam.app.mltraining.v1.ModelFrameworkR\x0emodelFramework"\xc3\x01\n\x18UpdateMLTrainingMetadata\x12@\n\nmodel_type\x18\x01 \x01(\x0e2!.viam.app.mltraining.v1.ModelTypeR\tmodelType\x12O\n\x0fmodel_framework\x18\x02 \x01(\x0e2&.viam.app.mltraining.v1.ModelFrameworkR\x0emodelFramework\x12\x14\n\x05draft\x18\x03 \x01(\x08R\x05draft"\xec\x01\n\x05Model\x12\x10\n\x03api\x18\x01 \x01(\tR\x03api\x12\x14\n\x05model\x18\x02 \x01(\tR\x05model\x12:\n\x16markdown_documentation\x18\x03 \x01(\tH\x00R\x15markdownDocumentation\x88\x01\x01\x12%\n\x0bdescription\x18\x04 \x01(\tH\x01R\x0bdescription\x88\x01\x01\x12-\n\x12supported_hardware\x18\x05 \x03(\tR\x11supportedHardwareB\x19\n\x17_markdown_documentationB\x0e\n\x0c_description"\x88\x01\n\x0eModuleFileInfo\x12\x1b\n\tmodule_id\x18\x01 \x01(\tR\x08moduleId\x12\x18\n\x07version\x18\x02 \x01(\tR\x07version\x12\x1a\n\x08platform\x18\x03 \x01(\tR\x08platform\x12#\n\rplatform_tags\x18\x05 \x03(\tR\x0cplatformTags"\x87\x01\n\x17UploadModuleFileRequest\x12G\n\x10module_file_info\x18\x01 \x01(\x0b2\x1b.viam.app.v1.ModuleFileInfoH\x00R\x0emoduleFileInfo\x12\x14\n\x04file\x18\x02 \x01(\x0cH\x00R\x04fileB\r\n\x0bmodule_file",\n\x18UploadModuleFileResponse\x12\x10\n\x03url\x18\x01 \x01(\tR\x03url"\x9d\x01\n\x10GetModuleRequest\x12\x1b\n\tmodule_id\x18\x01 \x01(\tR\x08moduleId\x12I\n\x1einclude_markdown_documentation\x18\x02 \x01(\x08H\x00R\x1cincludeMarkdownDocumentation\x88\x01\x01B!\n\x1f_include_markdown_documentation"@\n\x11GetModuleResponse\x12+\n\x06module\x18\x01 \x01(\x0b2\x13.viam.app.v1.ModuleR\x06module"\x8c\x05\n\x06Module\x12\x1b\n\tmodule_id\x18\x01 \x01(\tR\x08moduleId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x127\n\nvisibility\x18\x03 \x01(\x0e2\x17.viam.app.v1.VisibilityR\nvisibility\x127\n\x08versions\x18\x04 \x03(\x0b2\x1b.viam.app.v1.VersionHistoryR\x08versions\x12\x10\n\x03url\x18\x05 \x01(\tR\x03url\x12 \n\x0bdescription\x18\x06 \x01(\tR\x0bdescription\x12*\n\x06models\x18\x07 \x03(\x0b2\x12.viam.app.v1.ModelR\x06models\x12*\n\x11total_robot_usage\x18\x08 \x01(\x03R\x0ftotalRobotUsage\x128\n\x18total_organization_usage\x18\t \x01(\x03R\x16totalOrganizationUsage\x12\'\n\x0forganization_id\x18\n \x01(\tR\x0eorganizationId\x12\x1e\n\nentrypoint\x18\x0b \x01(\tR\nentrypoint\x12)\n\x10public_namespace\x18\x0c \x01(\tR\x0fpublicNamespace\x12 \n\tfirst_run\x18\r \x01(\tH\x00R\x08firstRun\x88\x01\x01\x126\n\x14markdown_description\x18\x0e \x01(\tH\x01R\x13markdownDescription\x88\x01\x01\x12$\n\x04apps\x18\x0f \x03(\x0b2\x10.viam.app.v1.AppR\x04appsB\x0c\n\n_first_runB\x17\n\x15_markdown_description"\xc9\x02\n\x0eVersionHistory\x12\x18\n\x07version\x18\x01 \x01(\tR\x07version\x12*\n\x05files\x18\x02 \x03(\x0b2\x14.viam.app.v1.UploadsR\x05files\x12*\n\x06models\x18\x03 \x03(\x0b2\x12.viam.app.v1.ModelR\x06models\x12\x1e\n\nentrypoint\x18\x04 \x01(\tR\nentrypoint\x12 \n\tfirst_run\x18\x05 \x01(\tH\x00R\x08firstRun\x88\x01\x01\x126\n\x14markdown_description\x18\x06 \x01(\tH\x01R\x13markdownDescription\x88\x01\x01\x12$\n\x04apps\x18\x07 \x03(\x0b2\x10.viam.app.v1.AppR\x04appsB\x0c\n\n_first_runB\x17\n\x15_markdown_description"b\n\x07Uploads\x12\x1a\n\x08platform\x18\x01 \x01(\tR\x08platform\x12;\n\x0buploaded_at\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\nuploadedAt"\xc4\x01\n\x12ListModulesRequest\x12,\n\x0forganization_id\x18\x01 \x01(\tH\x00R\x0eorganizationId\x88\x01\x01\x12I\n\x1einclude_markdown_documentation\x18\x02 \x01(\x08H\x01R\x1cincludeMarkdownDocumentation\x88\x01\x01B\x12\n\x10_organization_idB!\n\x1f_include_markdown_documentation"D\n\x13ListModulesResponse\x12-\n\x07modules\x18\x01 \x03(\x0b2\x13.viam.app.v1.ModuleR\x07modules"/\n\x17GetUserIDByEmailRequest\x12\x14\n\x05email\x18\x01 \x01(\tR\x05email"3\n\x18GetUserIDByEmailResponse\x12\x17\n\x07user_id\x18\x01 \x01(\tR\x06userId"9\n\x1eListOrganizationsByUserRequest\x12\x17\n\x07user_id\x18\x01 \x01(\tR\x06userId"\xe6\x01\n\nOrgDetails\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId\x12\x19\n\x08org_name\x18\x02 \x01(\tR\x07orgName\x12\x1c\n\x07org_cid\x18\x03 \x01(\tH\x00R\x06orgCid\x88\x01\x01\x12.\n\x10public_namespace\x18\x04 \x01(\tH\x01R\x0fpublicNamespace\x88\x01\x01\x12&\n\x0cbilling_tier\x18\x05 \x01(\tH\x02R\x0bbillingTier\x88\x01\x01B\n\n\x08_org_cidB\x13\n\x11_public_namespaceB\x0f\n\r_billing_tier"N\n\x1fListOrganizationsByUserResponse\x12+\n\x04orgs\x18\x01 \x03(\x0b2\x17.viam.app.v1.OrgDetailsR\x04orgs"\xd4\x01\n\x1aSearchOrganizationsRequest\x12\x1a\n\x06org_id\x18\x01 \x01(\tH\x00R\x05orgId\x88\x01\x01\x12\x1e\n\x08org_name\x18\x02 \x01(\tH\x01R\x07orgName\x88\x01\x01\x12\x15\n\x03cid\x18\x03 \x01(\tH\x02R\x03cid\x88\x01\x01\x12.\n\x10public_namespace\x18\x04 \x01(\tH\x03R\x0fpublicNamespace\x88\x01\x01B\t\n\x07_org_idB\x0b\n\t_org_nameB\x06\n\x04_cidB\x13\n\x11_public_namespace"\\\n\x1bSearchOrganizationsResponse\x12=\n\rorganizations\x18\x01 \x03(\x0b2\x17.viam.app.v1.OrgDetailsR\rorganizations"j\n\x10CreateKeyRequest\x12B\n\x0eauthorizations\x18\x01 \x03(\x0b2\x1a.viam.app.v1.AuthorizationR\x0eauthorizations\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name"5\n\x11CreateKeyResponse\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x0e\n\x02id\x18\x02 \x01(\tR\x02id""\n\x10DeleteKeyRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"\x13\n\x11DeleteKeyResponse"6\n\x10RenameKeyRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name"7\n\x11RenameKeyResponse\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name"\xcd\x01\n\x14AuthorizationDetails\x12-\n\x12authorization_type\x18\x01 \x01(\tR\x11authorizationType\x12)\n\x10authorization_id\x18\x02 \x01(\tR\x0fauthorizationId\x12#\n\rresource_type\x18\x03 \x01(\tR\x0cresourceType\x12\x1f\n\x0bresource_id\x18\x04 \x01(\tR\nresourceId\x12\x15\n\x06org_id\x18\x05 \x01(\tR\x05orgId"\x93\x01\n\x18APIKeyWithAuthorizations\x12,\n\x07api_key\x18\x01 \x01(\x0b2\x13.viam.app.v1.APIKeyR\x06apiKey\x12I\n\x0eauthorizations\x18\x02 \x03(\x0b2!.viam.app.v1.AuthorizationDetailsR\x0eauthorizations"(\n\x0fListKeysRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId"T\n\x10ListKeysResponse\x12@\n\x08api_keys\x18\x01 \x03(\x0b2%.viam.app.v1.APIKeyWithAuthorizationsR\x07apiKeys""\n\x10RotateKeyRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"5\n\x11RotateKeyResponse\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x10\n\x03key\x18\x02 \x01(\tR\x03key"?\n-CreateKeyFromExistingKeyAuthorizationsRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"R\n.CreateKeyFromExistingKeyAuthorizationsResponse\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x10\n\x03key\x18\x02 \x01(\tR\x03key"U\n\x14GetAppContentRequest\x12)\n\x10public_namespace\x18\x01 \x01(\tR\x0fpublicNamespace\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name"T\n\x15GetAppContentResponse\x12\x1b\n\tblob_path\x18\x01 \x01(\tR\x08blobPath\x12\x1e\n\nentrypoint\x18\x02 \x01(\tR\nentrypoint"G\n\x1aOrganizationSetLogoRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId\x12\x12\n\x04logo\x18\x02 \x01(\x0cR\x04logo"\x1d\n\x1bOrganizationSetLogoResponse"3\n\x1aOrganizationGetLogoRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId"/\n\x1bOrganizationGetLogoResponse\x12\x10\n\x03url\x18\x01 \x01(\tR\x03url"1\n\x18EnableAuthServiceRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId"\x1b\n\x19EnableAuthServiceResponse"2\n\x19DisableAuthServiceRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId"\x1c\n\x1aDisableAuthServiceResponse"\x8c\x01\n\x15CreateOAuthAppRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId\x12\x1f\n\x0bclient_name\x18\x02 \x01(\tR\nclientName\x12;\n\x0coauth_config\x18\x03 \x01(\x0b2\x18.viam.app.v1.OAuthConfigR\x0boauthConfig"Z\n\x16CreateOAuthAppResponse\x12\x1b\n\tclient_id\x18\x01 \x01(\tR\x08clientId\x12#\n\rclient_secret\x18\x02 \x01(\tR\x0cclientSecret"I\n\x13ReadOAuthAppRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId\x12\x1b\n\tclient_id\x18\x02 \x01(\tR\x08clientId"\x99\x01\n\x14ReadOAuthAppResponse\x12\x1f\n\x0bclient_name\x18\x01 \x01(\tR\nclientName\x12#\n\rclient_secret\x18\x02 \x01(\tR\x0cclientSecret\x12;\n\x0coauth_config\x18\x03 \x01(\x0b2\x18.viam.app.v1.OAuthConfigR\x0boauthConfig"\xa9\x01\n\x15UpdateOAuthAppRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId\x12\x1b\n\tclient_id\x18\x02 \x01(\tR\x08clientId\x12\x1f\n\x0bclient_name\x18\x03 \x01(\tR\nclientName\x12;\n\x0coauth_config\x18\x04 \x01(\x0b2\x18.viam.app.v1.OAuthConfigR\x0boauthConfig"\x18\n\x16UpdateOAuthAppResponse"K\n\x15DeleteOAuthAppRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId\x12\x1b\n\tclient_id\x18\x02 \x01(\tR\x08clientId"\x18\n\x16DeleteOAuthAppResponse"-\n\x14ListOAuthAppsRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId"6\n\x15ListOAuthAppsResponse\x12\x1d\n\nclient_ids\x18\x01 \x03(\tR\tclientIds"\xf6\x02\n\x0bOAuthConfig\x12V\n\x15client_authentication\x18\x01 \x01(\x0e2!.viam.app.v1.ClientAuthenticationR\x14clientAuthentication\x12%\n\x04pkce\x18\x02 \x01(\x0e2\x11.viam.app.v1.PKCER\x04pkce\x12A\n\x0eurl_validation\x18\x03 \x01(\x0e2\x1a.viam.app.v1.URLValidationR\rurlValidation\x12\x1f\n\x0borigin_uris\x18\x04 \x03(\tR\noriginUris\x12#\n\rredirect_uris\x18\x05 \x03(\tR\x0credirectUris\x12\x1d\n\nlogout_uri\x18\x06 \x01(\tR\tlogoutUri\x12@\n\x0eenabled_grants\x18\x07 \x03(\x0e2\x19.viam.app.v1.EnabledGrantR\renabledGrants*\xd1\x01\n\x12AuthenticationType\x12#\n\x1fAUTHENTICATION_TYPE_UNSPECIFIED\x10\x00\x12!\n\x1dAUTHENTICATION_TYPE_WEB_OAUTH\x10\x01\x12\x1f\n\x1bAUTHENTICATION_TYPE_API_KEY\x10\x02\x12)\n%AUTHENTICATION_TYPE_ROBOT_PART_SECRET\x10\x03\x12\'\n#AUTHENTICATION_TYPE_LOCATION_SECRET\x10\x04*\xa3\x01\n\x12FragmentVisibility\x12#\n\x1fFRAGMENT_VISIBILITY_UNSPECIFIED\x10\x00\x12\x1f\n\x1bFRAGMENT_VISIBILITY_PRIVATE\x10\x01\x12\x1e\n\x1aFRAGMENT_VISIBILITY_PUBLIC\x10\x02\x12\'\n#FRAGMENT_VISIBILITY_PUBLIC_UNLISTED\x10\x03*\xdd\x01\n\x11FragmentErrorType\x12#\n\x1fFRAGMENT_ERROR_TYPE_UNSPECIFIED\x10\x00\x12!\n\x1dFRAGMENT_ERROR_TYPE_NO_ACCESS\x10\x01\x12.\n*FRAGMENT_ERROR_TYPE_NESTING_LIMIT_EXCEEDED\x10\x02\x12(\n$FRAGMENT_ERROR_TYPE_CHILD_ID_INVALID\x10\x03\x12&\n"FRAGMENT_ERROR_TYPE_CYCLE_DETECTED\x10\x04*\x87\x01\n\x12RegistryItemStatus\x12$\n REGISTRY_ITEM_STATUS_UNSPECIFIED\x10\x00\x12"\n\x1eREGISTRY_ITEM_STATUS_PUBLISHED\x10\x01\x12\'\n#REGISTRY_ITEM_STATUS_IN_DEVELOPMENT\x10\x02*w\n\nVisibility\x12\x1a\n\x16VISIBILITY_UNSPECIFIED\x10\x00\x12\x16\n\x12VISIBILITY_PRIVATE\x10\x01\x12\x15\n\x11VISIBILITY_PUBLIC\x10\x02\x12\x1e\n\x1aVISIBILITY_PUBLIC_UNLISTED\x10\x03*\xc1\x01\n\x14ClientAuthentication\x12%\n!CLIENT_AUTHENTICATION_UNSPECIFIED\x10\x00\x12"\n\x1eCLIENT_AUTHENTICATION_REQUIRED\x10\x01\x12&\n"CLIENT_AUTHENTICATION_NOT_REQUIRED\x10\x02\x126\n2CLIENT_AUTHENTICATION_NOT_REQUIRED_WHEN_USING_PKCE\x10\x03*~\n\x04PKCE\x12\x14\n\x10PKCE_UNSPECIFIED\x10\x00\x12\x11\n\rPKCE_REQUIRED\x10\x01\x12\x15\n\x11PKCE_NOT_REQUIRED\x10\x02\x126\n2PKCE_NOT_REQUIRED_WHEN_USING_CLIENT_AUTHENTICATION\x10\x03*s\n\rURLValidation\x12\x1e\n\x1aURL_VALIDATION_UNSPECIFIED\x10\x00\x12\x1e\n\x1aURL_VALIDATION_EXACT_MATCH\x10\x01\x12"\n\x1eURL_VALIDATION_ALLOW_WILDCARDS\x10\x02*\xcb\x01\n\x0cEnabledGrant\x12\x1d\n\x19ENABLED_GRANT_UNSPECIFIED\x10\x00\x12$\n ENABLED_GRANT_AUTHORIZATION_CODE\x10\x01\x12\x1a\n\x16ENABLED_GRANT_IMPLICIT\x10\x02\x12\x1a\n\x16ENABLED_GRANT_PASSWORD\x10\x03\x12\x1f\n\x1bENABLED_GRANT_REFRESH_TOKEN\x10\x04\x12\x1d\n\x19ENABLED_GRANT_DEVICE_CODE\x10\x052\xc2R\n\nAppService\x12_\n\x10GetUserIDByEmail\x12$.viam.app.v1.GetUserIDByEmailRequest\x1a%.viam.app.v1.GetUserIDByEmailResponse\x12e\n\x12CreateOrganization\x12&.viam.app.v1.CreateOrganizationRequest\x1a\'.viam.app.v1.CreateOrganizationResponse\x12b\n\x11ListOrganizations\x12%.viam.app.v1.ListOrganizationsRequest\x1a&.viam.app.v1.ListOrganizationsResponse\x12\x9b\x01\n$GetOrganizationsWithAccessToLocation\x128.viam.app.v1.GetOrganizationsWithAccessToLocationRequest\x1a9.viam.app.v1.GetOrganizationsWithAccessToLocationResponse\x12t\n\x17ListOrganizationsByUser\x12+.viam.app.v1.ListOrganizationsByUserRequest\x1a,.viam.app.v1.ListOrganizationsByUserResponse\x12h\n\x13SearchOrganizations\x12\'.viam.app.v1.SearchOrganizationsRequest\x1a(.viam.app.v1.SearchOrganizationsResponse\x12\\\n\x0fGetOrganization\x12#.viam.app.v1.GetOrganizationRequest\x1a$.viam.app.v1.GetOrganizationResponse\x12\x9b\x01\n$GetOrganizationNamespaceAvailability\x128.viam.app.v1.GetOrganizationNamespaceAvailabilityRequest\x1a9.viam.app.v1.GetOrganizationNamespaceAvailabilityResponse\x12e\n\x12UpdateOrganization\x12&.viam.app.v1.UpdateOrganizationRequest\x1a\'.viam.app.v1.UpdateOrganizationResponse\x12\x80\x01\n\x1bUpdateOrganizationNamespace\x12/.viam.app.v1.UpdateOrganizationNamespaceRequest\x1a0.viam.app.v1.UpdateOrganizationNamespaceResponse\x12e\n\x12DeleteOrganization\x12&.viam.app.v1.DeleteOrganizationRequest\x1a\'.viam.app.v1.DeleteOrganizationResponse\x12t\n\x17GetOrganizationMetadata\x12+.viam.app.v1.GetOrganizationMetadataRequest\x1a,.viam.app.v1.GetOrganizationMetadataResponse\x12}\n\x1aUpdateOrganizationMetadata\x12..viam.app.v1.UpdateOrganizationMetadataRequest\x1a/.viam.app.v1.UpdateOrganizationMetadataResponse\x12t\n\x17ListOrganizationMembers\x12+.viam.app.v1.ListOrganizationMembersRequest\x1a,.viam.app.v1.ListOrganizationMembersResponse\x12w\n\x18CreateOrganizationInvite\x12,.viam.app.v1.CreateOrganizationInviteRequest\x1a-.viam.app.v1.CreateOrganizationInviteResponse\x12\xa1\x01\n&UpdateOrganizationInviteAuthorizations\x12:.viam.app.v1.UpdateOrganizationInviteAuthorizationsRequest\x1a;.viam.app.v1.UpdateOrganizationInviteAuthorizationsResponse\x12w\n\x18DeleteOrganizationMember\x12,.viam.app.v1.DeleteOrganizationMemberRequest\x1a-.viam.app.v1.DeleteOrganizationMemberResponse\x12w\n\x18DeleteOrganizationInvite\x12,.viam.app.v1.DeleteOrganizationInviteRequest\x1a-.viam.app.v1.DeleteOrganizationInviteResponse\x12w\n\x18ResendOrganizationInvite\x12,.viam.app.v1.ResendOrganizationInviteRequest\x1a-.viam.app.v1.ResendOrganizationInviteResponse\x12k\n\x14EnableBillingService\x12(.viam.app.v1.EnableBillingServiceRequest\x1a).viam.app.v1.EnableBillingServiceResponse\x12n\n\x15DisableBillingService\x12).viam.app.v1.DisableBillingServiceRequest\x1a*.viam.app.v1.DisableBillingServiceResponse\x12k\n\x14UpdateBillingService\x12(.viam.app.v1.UpdateBillingServiceRequest\x1a).viam.app.v1.UpdateBillingServiceResponse\x12t\n\x17GetBillingServiceConfig\x12+.viam.app.v1.GetBillingServiceConfigRequest\x1a,.viam.app.v1.GetBillingServiceConfigResponse\x12\x80\x01\n\x1bOrganizationSetSupportEmail\x12/.viam.app.v1.OrganizationSetSupportEmailRequest\x1a0.viam.app.v1.OrganizationSetSupportEmailResponse\x12\x80\x01\n\x1bOrganizationGetSupportEmail\x12/.viam.app.v1.OrganizationGetSupportEmailRequest\x1a0.viam.app.v1.OrganizationGetSupportEmailResponse\x12h\n\x13OrganizationSetLogo\x12\'.viam.app.v1.OrganizationSetLogoRequest\x1a(.viam.app.v1.OrganizationSetLogoResponse\x12h\n\x13OrganizationGetLogo\x12\'.viam.app.v1.OrganizationGetLogoRequest\x1a(.viam.app.v1.OrganizationGetLogoResponse\x12b\n\x11EnableAuthService\x12%.viam.app.v1.EnableAuthServiceRequest\x1a&.viam.app.v1.EnableAuthServiceResponse\x12e\n\x12DisableAuthService\x12&.viam.app.v1.DisableAuthServiceRequest\x1a\'.viam.app.v1.DisableAuthServiceResponse\x12Y\n\x0eCreateOAuthApp\x12".viam.app.v1.CreateOAuthAppRequest\x1a#.viam.app.v1.CreateOAuthAppResponse\x12S\n\x0cReadOAuthApp\x12 .viam.app.v1.ReadOAuthAppRequest\x1a!.viam.app.v1.ReadOAuthAppResponse\x12Y\n\x0eUpdateOAuthApp\x12".viam.app.v1.UpdateOAuthAppRequest\x1a#.viam.app.v1.UpdateOAuthAppResponse\x12Y\n\x0eDeleteOAuthApp\x12".viam.app.v1.DeleteOAuthAppRequest\x1a#.viam.app.v1.DeleteOAuthAppResponse\x12V\n\rListOAuthApps\x12!.viam.app.v1.ListOAuthAppsRequest\x1a".viam.app.v1.ListOAuthAppsResponse\x12Y\n\x0eCreateLocation\x12".viam.app.v1.CreateLocationRequest\x1a#.viam.app.v1.CreateLocationResponse\x12P\n\x0bGetLocation\x12\x1f.viam.app.v1.GetLocationRequest\x1a .viam.app.v1.GetLocationResponse\x12Y\n\x0eUpdateLocation\x12".viam.app.v1.UpdateLocationRequest\x1a#.viam.app.v1.UpdateLocationResponse\x12Y\n\x0eDeleteLocation\x12".viam.app.v1.DeleteLocationRequest\x1a#.viam.app.v1.DeleteLocationResponse\x12h\n\x13GetLocationMetadata\x12\'.viam.app.v1.GetLocationMetadataRequest\x1a(.viam.app.v1.GetLocationMetadataResponse\x12q\n\x16UpdateLocationMetadata\x12*.viam.app.v1.UpdateLocationMetadataRequest\x1a+.viam.app.v1.UpdateLocationMetadataResponse\x12V\n\rListLocations\x12!.viam.app.v1.ListLocationsRequest\x1a".viam.app.v1.ListLocationsResponse\x12V\n\rShareLocation\x12!.viam.app.v1.ShareLocationRequest\x1a".viam.app.v1.ShareLocationResponse\x12\\\n\x0fUnshareLocation\x12#.viam.app.v1.UnshareLocationRequest\x1a$.viam.app.v1.UnshareLocationResponse\x12S\n\x0cLocationAuth\x12 .viam.app.v1.LocationAuthRequest\x1a!.viam.app.v1.LocationAuthResponse\x12k\n\x14CreateLocationSecret\x12(.viam.app.v1.CreateLocationSecretRequest\x1a).viam.app.v1.CreateLocationSecretResponse\x12k\n\x14DeleteLocationSecret\x12(.viam.app.v1.DeleteLocationSecretRequest\x1a).viam.app.v1.DeleteLocationSecretResponse\x12G\n\x08GetRobot\x12\x1c.viam.app.v1.GetRobotRequest\x1a\x1d.viam.app.v1.GetRobotResponse\x12_\n\x10GetRobotMetadata\x12$.viam.app.v1.GetRobotMetadataRequest\x1a%.viam.app.v1.GetRobotMetadataResponse\x12h\n\x13UpdateRobotMetadata\x12\'.viam.app.v1.UpdateRobotMetadataRequest\x1a(.viam.app.v1.UpdateRobotMetadataResponse\x12k\n\x14GetRoverRentalRobots\x12(.viam.app.v1.GetRoverRentalRobotsRequest\x1a).viam.app.v1.GetRoverRentalRobotsResponse\x12V\n\rGetRobotParts\x12!.viam.app.v1.GetRobotPartsRequest\x1a".viam.app.v1.GetRobotPartsResponse\x12S\n\x0cGetRobotPart\x12 .viam.app.v1.GetRobotPartRequest\x1a!.viam.app.v1.GetRobotPartResponse\x12_\n\x10GetRobotPartLogs\x12$.viam.app.v1.GetRobotPartLogsRequest\x1a%.viam.app.v1.GetRobotPartLogsResponse\x12d\n\x11TailRobotPartLogs\x12%.viam.app.v1.TailRobotPartLogsRequest\x1a&.viam.app.v1.TailRobotPartLogsResponse0\x01\x12h\n\x13GetRobotPartHistory\x12\'.viam.app.v1.GetRobotPartHistoryRequest\x1a(.viam.app.v1.GetRobotPartHistoryResponse\x12\\\n\x0fUpdateRobotPart\x12#.viam.app.v1.UpdateRobotPartRequest\x1a$.viam.app.v1.UpdateRobotPartResponse\x12S\n\x0cNewRobotPart\x12 .viam.app.v1.NewRobotPartRequest\x1a!.viam.app.v1.NewRobotPartResponse\x12\\\n\x0fDeleteRobotPart\x12#.viam.app.v1.DeleteRobotPartRequest\x1a$.viam.app.v1.DeleteRobotPartResponse\x12k\n\x14GetRobotPartMetadata\x12(.viam.app.v1.GetRobotPartMetadataRequest\x1a).viam.app.v1.GetRobotPartMetadataResponse\x12t\n\x17UpdateRobotPartMetadata\x12+.viam.app.v1.UpdateRobotPartMetadataRequest\x1a,.viam.app.v1.UpdateRobotPartMetadataResponse\x12\\\n\x0fGetRobotAPIKeys\x12#.viam.app.v1.GetRobotAPIKeysRequest\x1a$.viam.app.v1.GetRobotAPIKeysResponse\x12Y\n\x0eMarkPartAsMain\x12".viam.app.v1.MarkPartAsMainRequest\x1a#.viam.app.v1.MarkPartAsMainResponse\x12e\n\x12MarkPartForRestart\x12&.viam.app.v1.MarkPartForRestartRequest\x1a\'.viam.app.v1.MarkPartForRestartResponse\x12n\n\x15CreateRobotPartSecret\x12).viam.app.v1.CreateRobotPartSecretRequest\x1a*.viam.app.v1.CreateRobotPartSecretResponse\x12n\n\x15DeleteRobotPartSecret\x12).viam.app.v1.DeleteRobotPartSecretRequest\x1a*.viam.app.v1.DeleteRobotPartSecretResponse\x12M\n\nListRobots\x12\x1e.viam.app.v1.ListRobotsRequest\x1a\x1f.viam.app.v1.ListRobotsResponse\x12G\n\x08NewRobot\x12\x1c.viam.app.v1.NewRobotRequest\x1a\x1d.viam.app.v1.NewRobotResponse\x12P\n\x0bUpdateRobot\x12\x1f.viam.app.v1.UpdateRobotRequest\x1a .viam.app.v1.UpdateRobotResponse\x12P\n\x0bDeleteRobot\x12\x1f.viam.app.v1.DeleteRobotRequest\x1a .viam.app.v1.DeleteRobotResponse\x12V\n\rListFragments\x12!.viam.app.v1.ListFragmentsRequest\x1a".viam.app.v1.ListFragmentsResponse\x12P\n\x0bGetFragment\x12\x1f.viam.app.v1.GetFragmentRequest\x1a .viam.app.v1.GetFragmentResponse\x12Y\n\x0eCreateFragment\x12".viam.app.v1.CreateFragmentRequest\x1a#.viam.app.v1.CreateFragmentResponse\x12Y\n\x0eUpdateFragment\x12".viam.app.v1.UpdateFragmentRequest\x1a#.viam.app.v1.UpdateFragmentResponse\x12Y\n\x0eDeleteFragment\x12".viam.app.v1.DeleteFragmentRequest\x1a#.viam.app.v1.DeleteFragmentResponse\x12h\n\x13ListNestedFragments\x12\'.viam.app.v1.ListNestedFragmentsRequest\x1a(.viam.app.v1.ListNestedFragmentsResponse\x12k\n\x14ListMachineFragments\x12(.viam.app.v1.ListMachineFragmentsRequest\x1a).viam.app.v1.ListMachineFragmentsResponse\x12k\n\x14ListMachineSummaries\x12(.viam.app.v1.ListMachineSummariesRequest\x1a).viam.app.v1.ListMachineSummariesResponse\x12e\n\x12GetFragmentHistory\x12&.viam.app.v1.GetFragmentHistoryRequest\x1a\'.viam.app.v1.GetFragmentHistoryResponse\x12_\n\x10GetFragmentUsage\x12$.viam.app.v1.GetFragmentUsageRequest\x1a%.viam.app.v1.GetFragmentUsageResponse\x12Y\n\x0eSetFragmentTag\x12".viam.app.v1.SetFragmentTagRequest\x1a#.viam.app.v1.SetFragmentTagResponse\x12b\n\x11DeleteFragmentTag\x12%.viam.app.v1.DeleteFragmentTagRequest\x1a&.viam.app.v1.DeleteFragmentTagResponse\x12D\n\x07AddRole\x12\x1b.viam.app.v1.AddRoleRequest\x1a\x1c.viam.app.v1.AddRoleResponse\x12M\n\nRemoveRole\x12\x1e.viam.app.v1.RemoveRoleRequest\x1a\x1f.viam.app.v1.RemoveRoleResponse\x12M\n\nChangeRole\x12\x1e.viam.app.v1.ChangeRoleRequest\x1a\x1f.viam.app.v1.ChangeRoleResponse\x12e\n\x12ListAuthorizations\x12&.viam.app.v1.ListAuthorizationsRequest\x1a\'.viam.app.v1.ListAuthorizationsResponse\x12_\n\x10CheckPermissions\x12$.viam.app.v1.CheckPermissionsRequest\x1a%.viam.app.v1.CheckPermissionsResponse\x12\\\n\x0fGetRegistryItem\x12#.viam.app.v1.GetRegistryItemRequest\x1a$.viam.app.v1.GetRegistryItemResponse\x12e\n\x12CreateRegistryItem\x12&.viam.app.v1.CreateRegistryItemRequest\x1a\'.viam.app.v1.CreateRegistryItemResponse\x12e\n\x12UpdateRegistryItem\x12&.viam.app.v1.UpdateRegistryItemRequest\x1a\'.viam.app.v1.UpdateRegistryItemResponse\x12b\n\x11ListRegistryItems\x12%.viam.app.v1.ListRegistryItemsRequest\x1a&.viam.app.v1.ListRegistryItemsResponse\x12e\n\x12DeleteRegistryItem\x12&.viam.app.v1.DeleteRegistryItemRequest\x1a\'.viam.app.v1.DeleteRegistryItemResponse\x12e\n\x12RenameRegistryItem\x12&.viam.app.v1.RenameRegistryItemRequest\x1a\'.viam.app.v1.RenameRegistryItemResponse\x12k\n\x14TransferRegistryItem\x12(.viam.app.v1.TransferRegistryItemRequest\x1a).viam.app.v1.TransferRegistryItemResponse\x12S\n\x0cCreateModule\x12 .viam.app.v1.CreateModuleRequest\x1a!.viam.app.v1.CreateModuleResponse\x12S\n\x0cUpdateModule\x12 .viam.app.v1.UpdateModuleRequest\x1a!.viam.app.v1.UpdateModuleResponse\x12a\n\x10UploadModuleFile\x12$.viam.app.v1.UploadModuleFileRequest\x1a%.viam.app.v1.UploadModuleFileResponse(\x01\x12J\n\tGetModule\x12\x1d.viam.app.v1.GetModuleRequest\x1a\x1e.viam.app.v1.GetModuleResponse\x12P\n\x0bListModules\x12\x1f.viam.app.v1.ListModulesRequest\x1a .viam.app.v1.ListModulesResponse\x12J\n\tCreateKey\x12\x1d.viam.app.v1.CreateKeyRequest\x1a\x1e.viam.app.v1.CreateKeyResponse\x12J\n\tDeleteKey\x12\x1d.viam.app.v1.DeleteKeyRequest\x1a\x1e.viam.app.v1.DeleteKeyResponse\x12G\n\x08ListKeys\x12\x1c.viam.app.v1.ListKeysRequest\x1a\x1d.viam.app.v1.ListKeysResponse\x12J\n\tRenameKey\x12\x1d.viam.app.v1.RenameKeyRequest\x1a\x1e.viam.app.v1.RenameKeyResponse\x12J\n\tRotateKey\x12\x1d.viam.app.v1.RotateKeyRequest\x1a\x1e.viam.app.v1.RotateKeyResponse\x12\xa1\x01\n&CreateKeyFromExistingKeyAuthorizations\x12:.viam.app.v1.CreateKeyFromExistingKeyAuthorizationsRequest\x1a;.viam.app.v1.CreateKeyFromExistingKeyAuthorizationsResponse\x12V\n\rGetAppContent\x12!.viam.app.v1.GetAppContentRequest\x1a".viam.app.v1.GetAppContentResponseB\x18Z\x16go.viam.com/api/app/v1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x10app/v1/app.proto\x12\x0bviam.app.v1\x1a#app/mltraining/v1/ml_training.proto\x1a\x1eapp/packages/v1/packages.proto\x1a\x16common/v1/common.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x16tagger/v1/tagger.proto"\xec\x02\n\x05Robot\x123\n\x02id\x18\x01 \x01(\tB#\x9a\x84\x9e\x03\x1ebson:"_id" json:"id,omitempty"R\x02id\x120\n\x04name\x18\x02 \x01(\tB\x1c\x9a\x84\x9e\x03\x17bson:"name" json:"name"R\x04name\x12@\n\x08location\x18\x03 \x01(\tB$\x9a\x84\x9e\x03\x1fbson:"location" json:"location"R\x08location\x12g\n\x0blast_access\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampB*\x9a\x84\x9e\x03%bson:"last_access" json:"last_access"R\nlastAccess\x12Q\n\ncreated_on\x18\x05 \x01(\x0b2\x1a.google.protobuf.TimestampB\x16\x9a\x84\x9e\x03\x11bson:"created_on"R\tcreatedOn"\xaf\x08\n\tRobotPart\x123\n\x02id\x18\x01 \x01(\tB#\x9a\x84\x9e\x03\x1ebson:"_id" json:"id,omitempty"R\x02id\x120\n\x04name\x18\x02 \x01(\tB\x1c\x9a\x84\x9e\x03\x17bson:"name" json:"name"R\x04name\x12?\n\x08dns_name\x18\n \x01(\tB$\x9a\x84\x9e\x03\x1fbson:"dns_name" json:"dns_name"R\x07dnsName\x12B\n\x06secret\x18\x03 \x01(\tB*\x9a\x84\x9e\x03%bson:"secret" json:"secret,omitempty"R\x06secret\x124\n\x05robot\x18\x04 \x01(\tB\x1e\x9a\x84\x9e\x03\x19bson:"robot" json:"robot"R\x05robot\x12A\n\x0blocation_id\x18\x0c \x01(\tB \x9a\x84\x9e\x03\x1bbson:"location_id" json:"-"R\nlocationId\x12b\n\x0crobot_config\x18\x05 \x01(\x0b2\x17.google.protobuf.StructB&\x9a\x84\x9e\x03!bson:"config" json:"robot_config"R\x0brobotConfig\x12g\n\x0blast_access\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampB*\x9a\x84\x9e\x03%bson:"last_access" json:"last_access"R\nlastAccess\x12\x7f\n\x12user_supplied_info\x18\x07 \x01(\x0b2\x17.google.protobuf.StructB8\x9a\x84\x9e\x033bson:"user_supplied_info" json:"user_supplied_info"R\x10userSuppliedInfo\x12C\n\tmain_part\x18\x08 \x01(\x08B&\x9a\x84\x9e\x03!bson:"main_part" json:"main_part"R\x08mainPart\x12\x12\n\x04fqdn\x18\t \x01(\tR\x04fqdn\x12\x1d\n\nlocal_fqdn\x18\x0b \x01(\tR\tlocalFqdn\x12Q\n\ncreated_on\x18\r \x01(\x0b2\x1a.google.protobuf.TimestampB\x16\x9a\x84\x9e\x03\x11bson:"created_on"R\tcreatedOn\x12H\n\x07secrets\x18\x0e \x03(\x0b2\x19.viam.app.v1.SharedSecretB\x13\x9a\x84\x9e\x03\x0ebson:"secrets"R\x07secrets\x12Z\n\x0clast_updated\x18\x0f \x01(\x0b2\x1a.google.protobuf.TimestampB\x1b\x9a\x84\x9e\x03\x16bson:"last_updated_at"R\x0blastUpdated"\xf8\x02\n\x15RobotPartHistoryEntry\x120\n\x04part\x18\x01 \x01(\tB\x1c\x9a\x84\x9e\x03\x17bson:"part" json:"part"R\x04part\x124\n\x05robot\x18\x02 \x01(\tB\x1e\x9a\x84\x9e\x03\x19bson:"robot" json:"robot"R\x05robot\x12L\n\x04when\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampB\x1c\x9a\x84\x9e\x03\x17bson:"when" json:"when"R\x04when\x12D\n\x03old\x18\x04 \x01(\x0b2\x16.viam.app.v1.RobotPartB\x1a\x9a\x84\x9e\x03\x15bson:"old" json:"old"R\x03old\x12c\n\tedited_by\x18\x05 \x01(\x0b2\x1e.viam.app.v1.AuthenticatorInfoB&\x9a\x84\x9e\x03!bson:"edited_by" json:"edited_by"R\x08editedBy"\x85\x01\n\x11AuthenticatorInfo\x123\n\x04type\x18\x01 \x01(\x0e2\x1f.viam.app.v1.AuthenticationTypeR\x04type\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value\x12%\n\x0eis_deactivated\x18\x03 \x01(\x08R\risDeactivated"\x1a\n\x18ListOrganizationsRequest"\xde\x01\n\x0cOrganization\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x129\n\ncreated_on\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedOn\x12)\n\x10public_namespace\x18\x04 \x01(\tR\x0fpublicNamespace\x12%\n\x0edefault_region\x18\x05 \x01(\tR\rdefaultRegion\x12\x15\n\x03cid\x18\x06 \x01(\tH\x00R\x03cid\x88\x01\x01B\x06\n\x04_cid"\xcf\x01\n\x12OrganizationMember\x12\x17\n\x07user_id\x18\x01 \x01(\tR\x06userId\x12\x16\n\x06emails\x18\x02 \x03(\tR\x06emails\x129\n\ndate_added\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\tdateAdded\x12>\n\nlast_login\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampH\x00R\tlastLogin\x88\x01\x01B\r\n\x0b_last_login"\\\n\x19ListOrganizationsResponse\x12?\n\rorganizations\x18\x01 \x03(\x0b2\x19.viam.app.v1.OrganizationR\rorganizations"\xd2\x01\n\x12OrganizationInvite\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x14\n\x05email\x18\x02 \x01(\tR\x05email\x129\n\ncreated_on\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedOn\x12B\n\x0eauthorizations\x18\x04 \x03(\x0b2\x1a.viam.app.v1.AuthorizationR\x0eauthorizations"/\n\x19CreateOrganizationRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"[\n\x1aCreateOrganizationResponse\x12=\n\x0corganization\x18\x01 \x01(\x0b2\x19.viam.app.v1.OrganizationR\x0corganization"A\n\x16GetOrganizationRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId"X\n\x17GetOrganizationResponse\x12=\n\x0corganization\x18\x01 \x01(\x0b2\x19.viam.app.v1.OrganizationR\x0corganization"X\n+GetOrganizationNamespaceAvailabilityRequest\x12)\n\x10public_namespace\x18\x01 \x01(\tR\x0fpublicNamespace"L\n,GetOrganizationNamespaceAvailabilityResponse\x12\x1c\n\tavailable\x18\x01 \x01(\x08R\tavailable"\xf2\x01\n\x19UpdateOrganizationRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x17\n\x04name\x18\x02 \x01(\tH\x00R\x04name\x88\x01\x01\x12.\n\x10public_namespace\x18\x03 \x01(\tH\x01R\x0fpublicNamespace\x88\x01\x01\x12\x1b\n\x06region\x18\x04 \x01(\tH\x02R\x06region\x88\x01\x01\x12\x15\n\x03cid\x18\x05 \x01(\tH\x03R\x03cid\x88\x01\x01B\x07\n\x05_nameB\x13\n\x11_public_namespaceB\t\n\x07_regionB\x06\n\x04_cid"[\n\x1aUpdateOrganizationResponse\x12=\n\x0corganization\x18\x01 \x01(\x0b2\x19.viam.app.v1.OrganizationR\x0corganization"\x7f\n"UpdateOrganizationNamespaceRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x120\n\x14new_public_namespace\x18\x02 \x01(\tR\x12newPublicNamespace"d\n#UpdateOrganizationNamespaceResponse\x12=\n\x0corganization\x18\x01 \x01(\x0b2\x19.viam.app.v1.OrganizationR\x0corganization"D\n\x19DeleteOrganizationRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId"\x1c\n\x1aDeleteOrganizationResponse"I\n\x1eGetOrganizationMetadataRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId"N\n\x1fGetOrganizationMetadataResponse\x12+\n\x04data\x18\x01 \x01(\x0b2\x17.google.protobuf.StructR\x04data"y\n!UpdateOrganizationMetadataRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12+\n\x04data\x18\x02 \x01(\x0b2\x17.google.protobuf.StructR\x04data"$\n"UpdateOrganizationMetadataResponse"I\n\x1eListOrganizationMembersRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId"\xc0\x01\n\x1fListOrganizationMembersResponse\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x129\n\x07members\x18\x02 \x03(\x0b2\x1f.viam.app.v1.OrganizationMemberR\x07members\x129\n\x07invites\x18\x03 \x03(\x0b2\x1f.viam.app.v1.OrganizationInviteR\x07invites"\xeb\x01\n\x1fCreateOrganizationInviteRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x14\n\x05email\x18\x02 \x01(\tR\x05email\x12B\n\x0eauthorizations\x18\x03 \x03(\x0b2\x1a.viam.app.v1.AuthorizationR\x0eauthorizations\x12/\n\x11send_email_invite\x18\x04 \x01(\x08H\x00R\x0fsendEmailInvite\x88\x01\x01B\x14\n\x12_send_email_invite"[\n CreateOrganizationInviteResponse\x127\n\x06invite\x18\x01 \x01(\x0b2\x1f.viam.app.v1.OrganizationInviteR\x06invite"\x8a\x02\n-UpdateOrganizationInviteAuthorizationsRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x14\n\x05email\x18\x02 \x01(\tR\x05email\x12I\n\x12add_authorizations\x18\x03 \x03(\x0b2\x1a.viam.app.v1.AuthorizationR\x11addAuthorizations\x12O\n\x15remove_authorizations\x18\x04 \x03(\x0b2\x1a.viam.app.v1.AuthorizationR\x14removeAuthorizations"i\n.UpdateOrganizationInviteAuthorizationsResponse\x127\n\x06invite\x18\x01 \x01(\x0b2\x1f.viam.app.v1.OrganizationInviteR\x06invite"`\n\x1fDeleteOrganizationInviteRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x14\n\x05email\x18\x02 \x01(\tR\x05email""\n DeleteOrganizationInviteResponse"\xa7\x01\n\x1fResendOrganizationInviteRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x14\n\x05email\x18\x02 \x01(\tR\x05email\x12/\n\x11send_email_invite\x18\x03 \x01(\x08H\x00R\x0fsendEmailInvite\x88\x01\x01B\x14\n\x12_send_email_invite"[\n ResendOrganizationInviteResponse\x127\n\x06invite\x18\x01 \x01(\x0b2\x1f.viam.app.v1.OrganizationInviteR\x06invite"c\n\x1fDeleteOrganizationMemberRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x17\n\x07user_id\x18\x02 \x01(\tR\x06userId""\n DeleteOrganizationMemberResponse"\xd2\x01\n\x0eBillingAddress\x12$\n\x0eaddress_line_1\x18\x01 \x01(\tR\x0caddressLine1\x12)\n\x0eaddress_line_2\x18\x02 \x01(\tH\x00R\x0caddressLine2\x88\x01\x01\x12\x12\n\x04city\x18\x03 \x01(\tR\x04city\x12\x14\n\x05state\x18\x04 \x01(\tR\x05state\x12\x18\n\x07zipcode\x18\x05 \x01(\tR\x07zipcode\x12\x18\n\x07country\x18\x06 \x01(\tR\x07countryB\x11\n\x0f_address_line_2"z\n\x1bEnableBillingServiceRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId\x12D\n\x0fbilling_address\x18\x02 \x01(\x0b2\x1b.viam.app.v1.BillingAddressR\x0ebillingAddress"\x1e\n\x1cEnableBillingServiceResponse"z\n\x1bUpdateBillingServiceRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId\x12D\n\x0fbilling_address\x18\x02 \x01(\x0b2\x1b.viam.app.v1.BillingAddressR\x0ebillingAddress"\x1e\n\x1cUpdateBillingServiceResponse"7\n\x1eGetBillingServiceConfigRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId"\xdb\x01\n\x1fGetBillingServiceConfigResponse\x12D\n\x0fbilling_address\x18\x01 \x01(\x0b2\x1b.viam.app.v1.BillingAddressR\x0ebillingAddress\x12#\n\rsupport_email\x18\x02 \x01(\tR\x0csupportEmail\x12\x19\n\x08logo_url\x18\x03 \x01(\tR\x07logoUrl\x122\n\x15billing_dashboard_url\x18\x04 \x01(\tR\x13billingDashboardUrl"5\n\x1cDisableBillingServiceRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId"\x1f\n\x1dDisableBillingServiceResponse"Q\n"OrganizationSetSupportEmailRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId\x12\x14\n\x05email\x18\x02 \x01(\tR\x05email"%\n#OrganizationSetSupportEmailResponse";\n"OrganizationGetSupportEmailRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId";\n#OrganizationGetSupportEmailResponse\x12\x14\n\x05email\x18\x01 \x01(\tR\x05email":\n\x14OrganizationIdentity\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name"Y\n\x14LocationOrganization\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x18\n\x07primary\x18\x02 \x01(\x08R\x07primary"\x80\x01\n\x0cLocationAuth\x12\x1a\n\x06secret\x18\x01 \x01(\tB\x02\x18\x01R\x06secret\x12\x1f\n\x0blocation_id\x18\x02 \x01(\tR\nlocationId\x123\n\x07secrets\x18\x03 \x03(\x0b2\x19.viam.app.v1.SharedSecretR\x07secrets"\'\n\rStorageConfig\x12\x16\n\x06region\x18\x01 \x01(\tR\x06region"\xd7\x03\n\x08Location\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12,\n\x12parent_location_id\x18\x04 \x01(\tR\x10parentLocationId\x12-\n\x04auth\x18\x05 \x01(\x0b2\x19.viam.app.v1.LocationAuthR\x04auth\x12G\n\rorganizations\x18\x06 \x03(\x0b2!.viam.app.v1.LocationOrganizationR\rorganizations\x129\n\ncreated_on\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedOn\x12\x1f\n\x0brobot_count\x18\x07 \x01(\x05R\nrobotCount\x122\n\x06config\x18\x08 \x01(\x0b2\x1a.viam.app.v1.StorageConfigR\x06config\x12X\n\x14primary_org_identity\x18\t \x01(\x0b2!.viam.app.v1.OrganizationIdentityH\x00R\x12primaryOrgIdentity\x88\x01\x01B\x17\n\x15_primary_org_identity"\xd0\x02\n\x0cSharedSecret\x12\x1e\n\x02id\x18\x01 \x01(\tB\x0e\x9a\x84\x9e\x03\tbson:"id"R\x02id\x12*\n\x06secret\x18\x02 \x01(\tB\x12\x9a\x84\x9e\x03\rbson:"secret"R\x06secret\x12c\n\ncreated_on\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampB(\x9a\x84\x9e\x03#bson:"created_on" json:"created_on"R\tcreatedOn\x12H\n\x05state\x18\x04 \x01(\x0e2\x1f.viam.app.v1.SharedSecret.StateB\x11\x9a\x84\x9e\x03\x0cbson:"state"R\x05state"E\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x11\n\rSTATE_ENABLED\x10\x01\x12\x12\n\x0eSTATE_DISABLED\x10\x02"\x9e\x01\n\x15CreateLocationRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x121\n\x12parent_location_id\x18\x03 \x01(\tH\x00R\x10parentLocationId\x88\x01\x01B\x15\n\x13_parent_location_id"K\n\x16CreateLocationResponse\x121\n\x08location\x18\x01 \x01(\x0b2\x15.viam.app.v1.LocationR\x08location"5\n\x12GetLocationRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId"H\n\x13GetLocationResponse\x121\n\x08location\x18\x01 \x01(\x0b2\x15.viam.app.v1.LocationR\x08location"\xcc\x01\n\x15UpdateLocationRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId\x12\x17\n\x04name\x18\x02 \x01(\tH\x00R\x04name\x88\x01\x01\x121\n\x12parent_location_id\x18\x03 \x01(\tH\x01R\x10parentLocationId\x88\x01\x01\x12\x1b\n\x06region\x18\x04 \x01(\tH\x02R\x06region\x88\x01\x01B\x07\n\x05_nameB\x15\n\x13_parent_location_idB\t\n\x07_region"K\n\x16UpdateLocationResponse\x121\n\x08location\x18\x01 \x01(\x0b2\x15.viam.app.v1.LocationR\x08location"8\n\x15DeleteLocationRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId"\x18\n\x16DeleteLocationResponse"=\n\x1aGetLocationMetadataRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId"J\n\x1bGetLocationMetadataResponse\x12+\n\x04data\x18\x01 \x01(\x0b2\x17.google.protobuf.StructR\x04data"m\n\x1dUpdateLocationMetadataRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId\x12+\n\x04data\x18\x02 \x01(\x0b2\x17.google.protobuf.StructR\x04data" \n\x1eUpdateLocationMetadataResponse"N\n+GetOrganizationsWithAccessToLocationRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId"\x8a\x01\n,GetOrganizationsWithAccessToLocationResponse\x12Z\n\x17organization_identities\x18\x01 \x03(\x0b2!.viam.app.v1.OrganizationIdentityR\x16organizationIdentities"?\n\x14ListLocationsRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId"`\n\x14ShareLocationRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId\x12\'\n\x0forganization_id\x18\x02 \x01(\tR\x0eorganizationId"\x17\n\x15ShareLocationResponse"b\n\x16UnshareLocationRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId\x12\'\n\x0forganization_id\x18\x02 \x01(\tR\x0eorganizationId"\x19\n\x17UnshareLocationResponse"L\n\x15ListLocationsResponse\x123\n\tlocations\x18\x01 \x03(\x0b2\x15.viam.app.v1.LocationR\tlocations">\n\x1bCreateLocationSecretRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId"M\n\x1cCreateLocationSecretResponse\x12-\n\x04auth\x18\x01 \x01(\x0b2\x19.viam.app.v1.LocationAuthR\x04auth"[\n\x1bDeleteLocationSecretRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId\x12\x1b\n\tsecret_id\x18\x02 \x01(\tR\x08secretId"\x1e\n\x1cDeleteLocationSecretResponse"6\n\x13LocationAuthRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId"E\n\x14LocationAuthResponse\x12-\n\x04auth\x18\x01 \x01(\x0b2\x19.viam.app.v1.LocationAuthR\x04auth"!\n\x0fGetRobotRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"4\n\x1bGetRoverRentalRobotsRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId"\x9a\x01\n\x10RoverRentalRobot\x12\x19\n\x08robot_id\x18\x01 \x01(\tR\x07robotId\x12\x1f\n\x0blocation_id\x18\x02 \x01(\tR\nlocationId\x12\x1d\n\nrobot_name\x18\x03 \x01(\tR\trobotName\x12+\n\x12robot_main_part_id\x18\x04 \x01(\tR\x0frobotMainPartId"U\n\x1cGetRoverRentalRobotsResponse\x125\n\x06robots\x18\x01 \x03(\x0b2\x1d.viam.app.v1.RoverRentalRobotR\x06robots"<\n\x10GetRobotResponse\x12(\n\x05robot\x18\x01 \x01(\x0b2\x12.viam.app.v1.RobotR\x05robot"1\n\x14GetRobotPartsRequest\x12\x19\n\x08robot_id\x18\x01 \x01(\tR\x07robotId"E\n\x15GetRobotPartsResponse\x12,\n\x05parts\x18\x01 \x03(\x0b2\x16.viam.app.v1.RobotPartR\x05parts"%\n\x13GetRobotPartRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"c\n\x14GetRobotPartResponse\x12*\n\x04part\x18\x01 \x01(\x0b2\x16.viam.app.v1.RobotPartR\x04part\x12\x1f\n\x0bconfig_json\x18\x02 \x01(\tR\nconfigJson"[\n$GetRobotPartByNameAndLocationRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1f\n\x0blocation_id\x18\x02 \x01(\tR\nlocationId"S\n%GetRobotPartByNameAndLocationResponse\x12*\n\x04part\x18\x01 \x01(\x0b2\x16.viam.app.v1.RobotPartR\x04part"\x8a\x03\n\x17GetRobotPartLogsRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12#\n\x0berrors_only\x18\x02 \x01(\x08B\x02\x18\x01R\nerrorsOnly\x12\x1b\n\x06filter\x18\x03 \x01(\tH\x00R\x06filter\x88\x01\x01\x12"\n\npage_token\x18\x04 \x01(\tH\x01R\tpageToken\x88\x01\x01\x12\x16\n\x06levels\x18\x05 \x03(\tR\x06levels\x125\n\x05start\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampH\x02R\x05start\x88\x01\x01\x121\n\x03end\x18\x07 \x01(\x0b2\x1a.google.protobuf.TimestampH\x03R\x03end\x88\x01\x01\x12\x19\n\x05limit\x18\x08 \x01(\x03H\x04R\x05limit\x88\x01\x01\x12\x1b\n\x06source\x18\t \x01(\tH\x05R\x06source\x88\x01\x01B\t\n\x07_filterB\r\n\x0b_page_tokenB\x08\n\x06_startB\x06\n\x04_endB\x08\n\x06_limitB\t\n\x07_source"p\n\x18GetRobotPartLogsResponse\x12,\n\x04logs\x18\x01 \x03(\x0b2\x18.viam.common.v1.LogEntryR\x04logs\x12&\n\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken"s\n\x18TailRobotPartLogsRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x1f\n\x0berrors_only\x18\x02 \x01(\x08R\nerrorsOnly\x12\x1b\n\x06filter\x18\x03 \x01(\tH\x00R\x06filter\x88\x01\x01B\t\n\x07_filter"I\n\x19TailRobotPartLogsResponse\x12,\n\x04logs\x18\x01 \x03(\x0b2\x18.viam.common.v1.LogEntryR\x04logs",\n\x1aGetRobotPartHistoryRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"[\n\x1bGetRobotPartHistoryResponse\x12<\n\x07history\x18\x01 \x03(\x0b2".viam.app.v1.RobotPartHistoryEntryR\x07history"\xdb\x01\n\x16UpdateRobotPartRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12:\n\x0crobot_config\x18\x03 \x01(\x0b2\x17.google.protobuf.StructR\x0brobotConfig\x12K\n\x11last_known_update\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampH\x00R\x0flastKnownUpdate\x88\x01\x01B\x14\n\x12_last_known_update"E\n\x17UpdateRobotPartResponse\x12*\n\x04part\x18\x01 \x01(\x0b2\x16.viam.app.v1.RobotPartR\x04part"M\n\x13NewRobotPartRequest\x12\x19\n\x08robot_id\x18\x01 \x01(\tR\x07robotId\x12\x1b\n\tpart_name\x18\x02 \x01(\tR\x08partName"/\n\x14NewRobotPartResponse\x12\x17\n\x07part_id\x18\x01 \x01(\tR\x06partId"1\n\x16DeleteRobotPartRequest\x12\x17\n\x07part_id\x18\x01 \x01(\tR\x06partId"-\n\x1bGetRobotPartMetadataRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"K\n\x1cGetRobotPartMetadataResponse\x12+\n\x04data\x18\x01 \x01(\x0b2\x17.google.protobuf.StructR\x04data"]\n\x1eUpdateRobotPartMetadataRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12+\n\x04data\x18\x02 \x01(\x0b2\x17.google.protobuf.StructR\x04data"!\n\x1fUpdateRobotPartMetadataResponse"3\n\x16GetRobotAPIKeysRequest\x12\x19\n\x08robot_id\x18\x01 \x01(\tR\x07robotId"y\n\x06APIKey\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x10\n\x03key\x18\x02 \x01(\tR\x03key\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x129\n\ncreated_on\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedOn"[\n\x17GetRobotAPIKeysResponse\x12@\n\x08api_keys\x18\x01 \x03(\x0b2%.viam.app.v1.APIKeyWithAuthorizationsR\x07apiKeys"\x19\n\x17DeleteRobotPartResponse"\xa1\x06\n\x08Fragment\x123\n\x02id\x18\x01 \x01(\tB#\x9a\x84\x9e\x03\x1ebson:"_id" json:"id,omitempty"R\x02id\x120\n\x04name\x18\x02 \x01(\tB\x1c\x9a\x84\x9e\x03\x17bson:"name" json:"name"R\x04name\x12Y\n\x08fragment\x18\x03 \x01(\x0b2\x17.google.protobuf.StructB$\x9a\x84\x9e\x03\x1fbson:"fragment" json:"fragment"R\x08fragment\x12Z\n\x12organization_owner\x18\x04 \x01(\tB+\x9a\x84\x9e\x03&bson:"organization_owner" json:"owner"R\x11organizationOwner\x128\n\x06public\x18\x05 \x01(\x08B \x9a\x84\x9e\x03\x1bbson:"public" json:"public"R\x06public\x12Q\n\ncreated_on\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampB\x16\x9a\x84\x9e\x03\x11bson:"created_on"R\tcreatedOn\x12+\n\x11organization_name\x18\x07 \x01(\tR\x10organizationName\x12(\n\x10robot_part_count\x18\t \x01(\x05R\x0erobotPartCount\x12-\n\x12organization_count\x18\n \x01(\x05R\x11organizationCount\x12+\n\x12only_used_by_owner\x18\x0b \x01(\x08R\x0fonlyUsedByOwner\x12?\n\nvisibility\x18\x0c \x01(\x0e2\x1f.viam.app.v1.FragmentVisibilityR\nvisibility\x12Z\n\x0clast_updated\x18\r \x01(\x0b2\x1a.google.protobuf.TimestampB\x1b\x9a\x84\x9e\x03\x16bson:"last_updated_at"R\x0blastUpdated\x12\x1a\n\x08revision\x18\x0e \x01(\tR\x08revision"\xf8\x03\n\x14FragmentHistoryEntry\x12@\n\x08fragment\x18\x01 \x01(\tB$\x9a\x84\x9e\x03\x1fbson:"fragment" json:"fragment"R\x08fragment\x12_\n\tedited_on\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampB&\x9a\x84\x9e\x03!bson:"edited_on" json:"edited_on"R\x08editedOn\x12C\n\x03old\x18\x03 \x01(\x0b2\x15.viam.app.v1.FragmentB\x1a\x9a\x84\x9e\x03\x15bson:"old" json:"old"R\x03old\x12c\n\tedited_by\x18\x04 \x01(\x0b2\x1e.viam.app.v1.AuthenticatorInfoB&\x9a\x84\x9e\x03!bson:"edited_by" json:"edited_by"R\x08editedBy\x12@\n\x08revision\x18\x05 \x01(\tB$\x9a\x84\x9e\x03\x1fbson:"revision" json:"revision"R\x08revision\x12Q\n\x06config\x18\x06 \x01(\x0b2\x17.google.protobuf.StructB \x9a\x84\x9e\x03\x1bbson:"config" json:"config"R\x06config"i\n\x10FragmentRevision\x12\x1a\n\x08revision\x18\x01 \x01(\tR\x08revision\x129\n\ncreated_at\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt";\n\x0bFragmentTag\x12\x10\n\x03tag\x18\x01 \x01(\tR\x03tag\x12\x1a\n\x08revision\x18\x02 \x01(\tR\x08revision"\x87\x01\n\rFragmentError\x12=\n\nerror_type\x18\x01 \x01(\x0e2\x1e.viam.app.v1.FragmentErrorTypeR\terrorType\x12\x1f\n\x0bfragment_id\x18\x02 \x01(\tR\nfragmentId\x12\x16\n\x06detail\x18\x03 \x01(\tR\x06detail"\xd4\x01\n\rFragmentUsage\x12\x1f\n\x0bfragment_id\x18\x01 \x01(\tR\nfragmentId\x12$\n\rorganizations\x18\x02 \x01(\x05R\rorganizations\x12\x1a\n\x08machines\x18\x03 \x01(\x05R\x08machines\x125\n\x17machines_in_current_org\x18\x04 \x01(\x05R\x14machinesInCurrentOrg\x12\x1d\n\x07version\x18\x05 \x01(\tH\x00R\x07version\x88\x01\x01B\n\n\x08_version"\xc3\x01\n\x10ResolvedFragment\x12\x1f\n\x0bfragment_id\x18\x01 \x01(\tR\nfragmentId\x12@\n\x0fresolved_config\x18\x02 \x01(\x0b2\x17.google.protobuf.StructR\x0eresolvedConfig\x120\n\x05error\x18\x03 \x01(\x0b2\x1a.viam.app.v1.FragmentErrorR\x05error\x12\x1a\n\x08revision\x18\x04 \x01(\tR\x08revision"\xb2\x01\n\x14ListFragmentsRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x1f\n\x0bshow_public\x18\x02 \x01(\x08R\nshowPublic\x12P\n\x13fragment_visibility\x18\x03 \x03(\x0e2\x1f.viam.app.v1.FragmentVisibilityR\x12fragmentVisibility"\x91\x01\n\x15ListFragmentsResponse\x123\n\tfragments\x18\x01 \x03(\x0b2\x15.viam.app.v1.FragmentR\tfragments\x12C\n\x0ffragment_usages\x18\x02 \x03(\x0b2\x1a.viam.app.v1.FragmentUsageR\x0efragmentUsages"\x87\x01\n\x12GetFragmentRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x126\n\x17current_organization_id\x18\x02 \x01(\tR\x15currentOrganizationId\x12\x1d\n\x07version\x18\x03 \x01(\tH\x00R\x07version\x88\x01\x01B\n\n\x08_version"\xf6\x01\n\x13GetFragmentResponse\x121\n\x08fragment\x18\x01 \x01(\x0b2\x15.viam.app.v1.FragmentR\x08fragment\x12A\n\x0efragment_usage\x18\x02 \x01(\x0b2\x1a.viam.app.v1.FragmentUsageR\rfragmentUsage\x12;\n\trevisions\x18\x03 \x03(\x0b2\x1d.viam.app.v1.FragmentRevisionR\trevisions\x12,\n\x04tags\x18\x04 \x03(\x0b2\x18.viam.app.v1.FragmentTagR\x04tags"\xda\x01\n\x15CreateFragmentRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12/\n\x06config\x18\x02 \x01(\x0b2\x17.google.protobuf.StructR\x06config\x12\'\n\x0forganization_id\x18\x03 \x01(\tR\x0eorganizationId\x12D\n\nvisibility\x18\x04 \x01(\x0e2\x1f.viam.app.v1.FragmentVisibilityH\x00R\nvisibility\x88\x01\x01B\r\n\x0b_visibility"K\n\x16CreateFragmentResponse\x121\n\x08fragment\x18\x01 \x01(\x0b2\x15.viam.app.v1.FragmentR\x08fragment"\xcc\x02\n\x15UpdateFragmentRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12/\n\x06config\x18\x03 \x01(\x0b2\x17.google.protobuf.StructR\x06config\x12\x1b\n\x06public\x18\x04 \x01(\x08H\x00R\x06public\x88\x01\x01\x12D\n\nvisibility\x18\x05 \x01(\x0e2\x1f.viam.app.v1.FragmentVisibilityH\x01R\nvisibility\x88\x01\x01\x12K\n\x11last_known_update\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampH\x02R\x0flastKnownUpdate\x88\x01\x01B\t\n\x07_publicB\r\n\x0b_visibilityB\x14\n\x12_last_known_update"K\n\x16UpdateFragmentResponse\x121\n\x08fragment\x18\x01 \x01(\x0b2\x15.viam.app.v1.FragmentR\x08fragment"\'\n\x15DeleteFragmentRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"\x18\n\x16DeleteFragmentResponse"\x91\x01\n\x19GetFragmentHistoryRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12"\n\npage_token\x18\x02 \x01(\tH\x00R\tpageToken\x88\x01\x01\x12"\n\npage_limit\x18\x03 \x01(\x03H\x01R\tpageLimit\x88\x01\x01B\r\n\x0b_page_tokenB\r\n\x0b_page_limit"\x81\x01\n\x1aGetFragmentHistoryResponse\x12;\n\x07history\x18\x01 \x03(\x0b2!.viam.app.v1.FragmentHistoryEntryR\x07history\x12&\n\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken":\n\x17GetFragmentUsageRequest\x12\x1f\n\x0bfragment_id\x18\x01 \x01(\tR\nfragmentId"]\n\x18GetFragmentUsageResponse\x12A\n\x0eversion_usages\x18\x01 \x03(\x0b2\x1a.viam.app.v1.FragmentUsageR\rversionUsages"f\n\x15SetFragmentTagRequest\x12\x1f\n\x0bfragment_id\x18\x01 \x01(\tR\nfragmentId\x12\x10\n\x03tag\x18\x02 \x01(\tR\x03tag\x12\x1a\n\x08revision\x18\x03 \x01(\tR\x08revision"F\n\x16SetFragmentTagResponse\x12,\n\x04tags\x18\x01 \x03(\x0b2\x18.viam.app.v1.FragmentTagR\x04tags"M\n\x18DeleteFragmentTagRequest\x12\x1f\n\x0bfragment_id\x18\x01 \x01(\tR\nfragmentId\x12\x10\n\x03tag\x18\x02 \x01(\tR\x03tag"I\n\x19DeleteFragmentTagResponse\x12,\n\x04tags\x18\x01 \x03(\x0b2\x18.viam.app.v1.FragmentTagR\x04tags"4\n\x11ListRobotsRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId"`\n\x12AdditionalFragment\x12\x1f\n\x0bfragment_id\x18\x01 \x01(\tR\nfragmentId\x12\x1d\n\x07version\x18\x02 \x01(\tH\x00R\x07version\x88\x01\x01B\n\n\x08_version"\xa6\x01\n\x1aListNestedFragmentsRequest\x12$\n\x0bfragment_id\x18\x01 \x01(\tH\x00R\nfragmentId\x88\x01\x01\x12R\n\x14additional_fragments\x18\x02 \x03(\x0b2\x1f.viam.app.v1.AdditionalFragmentR\x13additionalFragmentsB\x0e\n\x0c_fragment_id"\xa0\x01\n\x1bListNestedFragmentsResponse\x123\n\tfragments\x18\x01 \x03(\x0b2\x15.viam.app.v1.FragmentR\tfragments\x12L\n\x12resolved_fragments\x18\x02 \x03(\x0b2\x1d.viam.app.v1.ResolvedFragmentR\x11resolvedFragments"\xc8\x01\n\x1bListMachineFragmentsRequest\x12\x1d\n\nmachine_id\x18\x01 \x01(\tR\tmachineId\x126\n\x17additional_fragment_ids\x18\x02 \x03(\tR\x15additionalFragmentIds\x12R\n\x14additional_fragments\x18\x03 \x03(\x0b2\x1f.viam.app.v1.AdditionalFragmentR\x13additionalFragments"\xa1\x01\n\x1cListMachineFragmentsResponse\x123\n\tfragments\x18\x01 \x03(\x0b2\x15.viam.app.v1.FragmentR\tfragments\x12L\n\x12resolved_fragments\x18\x02 \x03(\x0b2\x1d.viam.app.v1.ResolvedFragmentR\x11resolvedFragments"i\n\x1bListMachineSummariesRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12!\n\x0cfragment_ids\x18\x02 \x03(\tR\x0bfragmentIds"k\n\x1cListMachineSummariesResponse\x12K\n\x12location_summaries\x18\x01 \x03(\x0b2\x1c.viam.app.v1.LocationSummaryR\x11locationSummaries"\xa1\x01\n\x0fLocationSummary\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId\x12#\n\rlocation_name\x18\x02 \x01(\tR\x0clocationName\x12H\n\x11machine_summaries\x18\x03 \x03(\x0b2\x1b.viam.app.v1.MachineSummaryR\x10machineSummaries"\x93\x01\n\x0eMachineSummary\x12\x1d\n\nmachine_id\x18\x01 \x01(\tR\tmachineId\x12!\n\x0cmachine_name\x18\x02 \x01(\tR\x0bmachineName\x12?\n\x0epart_summaries\x18\x03 \x03(\x0b2\x18.viam.app.v1.PartSummaryR\rpartSummaries";\n\x0fFragmentSummary\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x03 \x01(\tR\x04nameJ\x04\x08\x02\x10\x03"N\n\x11ViamServerVersion\x12\x16\n\x05major\x18\x01 \x01(\tH\x00R\x05major\x12\x16\n\x05minor\x18\x02 \x01(\tH\x00R\x05minorB\t\n\x07version"M\n\x10ViamAgentVersion\x12\x16\n\x05major\x18\x01 \x01(\tH\x00R\x05major\x12\x16\n\x05minor\x18\x02 \x01(\tH\x00R\x05minorB\t\n\x07version"\xb8\x04\n\x0bPartSummary\x12\x17\n\x07part_id\x18\x01 \x01(\tR\x06partId\x12\x1b\n\tpart_name\x18\x02 \x01(\tR\x08partName\x12@\n\x0blast_online\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampH\x00R\nlastOnline\x88\x01\x01\x12S\n\x13viam_server_version\x18\x04 \x01(\x0b2\x1e.viam.app.v1.ViamServerVersionH\x01R\x11viamServerVersion\x88\x01\x01\x12P\n\x12viam_agent_version\x18\x05 \x01(\x0b2\x1d.viam.app.v1.ViamAgentVersionH\x02R\x10viamAgentVersion\x88\x01\x01\x12\x13\n\x02os\x18\x06 \x01(\tH\x03R\x02os\x88\x01\x01\x12\x1f\n\x08platform\x18\x07 \x01(\tH\x04R\x08platform\x88\x01\x01\x12/\n\x11public_ip_address\x18\x08 \x01(\tH\x05R\x0fpublicIpAddress\x88\x01\x01\x12:\n\tfragments\x18\t \x03(\x0b2\x1c.viam.app.v1.FragmentSummaryR\tfragmentsB\x0e\n\x0c_last_onlineB\x16\n\x14_viam_server_versionB\x15\n\x13_viam_agent_versionB\x05\n\x03_osB\x0b\n\t_platformB\x14\n\x12_public_ip_address"@\n\x12ListRobotsResponse\x12*\n\x06robots\x18\x01 \x03(\x0b2\x12.viam.app.v1.RobotR\x06robots"A\n\x0fNewRobotRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1a\n\x08location\x18\x02 \x01(\tR\x08location""\n\x10NewRobotResponse\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"T\n\x12UpdateRobotRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x1a\n\x08location\x18\x03 \x01(\tR\x08location"?\n\x13UpdateRobotResponse\x12(\n\x05robot\x18\x01 \x01(\x0b2\x12.viam.app.v1.RobotR\x05robot"$\n\x12DeleteRobotRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"\x15\n\x13DeleteRobotResponse")\n\x17GetRobotMetadataRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"G\n\x18GetRobotMetadataResponse\x12+\n\x04data\x18\x01 \x01(\x0b2\x17.google.protobuf.StructR\x04data"Y\n\x1aUpdateRobotMetadataRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12+\n\x04data\x18\x02 \x01(\x0b2\x17.google.protobuf.StructR\x04data"\x1d\n\x1bUpdateRobotMetadataResponse"0\n\x15MarkPartAsMainRequest\x12\x17\n\x07part_id\x18\x01 \x01(\tR\x06partId"\x18\n\x16MarkPartAsMainResponse"4\n\x19MarkPartForRestartRequest\x12\x17\n\x07part_id\x18\x01 \x01(\tR\x06partId"\x1c\n\x1aMarkPartForRestartResponse"7\n\x1cCreateRobotPartSecretRequest\x12\x17\n\x07part_id\x18\x01 \x01(\tR\x06partId"K\n\x1dCreateRobotPartSecretResponse\x12*\n\x04part\x18\x01 \x01(\x0b2\x16.viam.app.v1.RobotPartR\x04part"T\n\x1cDeleteRobotPartSecretRequest\x12\x17\n\x07part_id\x18\x01 \x01(\tR\x06partId\x12\x1b\n\tsecret_id\x18\x02 \x01(\tR\x08secretId"\x1f\n\x1dDeleteRobotPartSecretResponse"\x9e\x02\n\rAuthorization\x12-\n\x12authorization_type\x18\x01 \x01(\tR\x11authorizationType\x12)\n\x10authorization_id\x18\x02 \x01(\tR\x0fauthorizationId\x12#\n\rresource_type\x18\x03 \x01(\tR\x0cresourceType\x12\x1f\n\x0bresource_id\x18\x04 \x01(\tR\nresourceId\x12\x1f\n\x0bidentity_id\x18\x05 \x01(\tR\nidentityId\x12\'\n\x0forganization_id\x18\x06 \x01(\tR\x0eorganizationId\x12#\n\ridentity_type\x18\x07 \x01(\tR\x0cidentityType"R\n\x0eAddRoleRequest\x12@\n\rauthorization\x18\x01 \x01(\x0b2\x1a.viam.app.v1.AuthorizationR\rauthorization"\x11\n\x0fAddRoleResponse"U\n\x11RemoveRoleRequest\x12@\n\rauthorization\x18\x01 \x01(\x0b2\x1a.viam.app.v1.AuthorizationR\rauthorization"\x14\n\x12RemoveRoleResponse"\xa5\x01\n\x11ChangeRoleRequest\x12G\n\x11old_authorization\x18\x01 \x01(\x0b2\x1a.viam.app.v1.AuthorizationR\x10oldAuthorization\x12G\n\x11new_authorization\x18\x02 \x01(\x0b2\x1a.viam.app.v1.AuthorizationR\x10newAuthorization"\x14\n\x12ChangeRoleResponse"g\n\x19ListAuthorizationsRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12!\n\x0cresource_ids\x18\x02 \x03(\tR\x0bresourceIds"`\n\x1aListAuthorizationsResponse\x12B\n\x0eauthorizations\x18\x01 \x03(\x0b2\x1a.viam.app.v1.AuthorizationR\x0eauthorizations"_\n\x17CheckPermissionsRequest\x12D\n\x0bpermissions\x18\x01 \x03(\x0b2".viam.app.v1.AuthorizedPermissionsR\x0bpermissions"\x7f\n\x15AuthorizedPermissions\x12#\n\rresource_type\x18\x01 \x01(\tR\x0cresourceType\x12\x1f\n\x0bresource_id\x18\x02 \x01(\tR\nresourceId\x12 \n\x0bpermissions\x18\x03 \x03(\tR\x0bpermissions"u\n\x18CheckPermissionsResponse\x12Y\n\x16authorized_permissions\x18\x01 \x03(\x0b2".viam.app.v1.AuthorizedPermissionsR\x15authorizedPermissions"\xc8\x02\n\rModuleVersion\x12\x18\n\x07version\x18\x01 \x01(\tR\x07version\x12*\n\x05files\x18\x02 \x03(\x0b2\x14.viam.app.v1.UploadsR\x05files\x12*\n\x06models\x18\x03 \x03(\x0b2\x12.viam.app.v1.ModelR\x06models\x12\x1e\n\nentrypoint\x18\x04 \x01(\tR\nentrypoint\x12 \n\tfirst_run\x18\x05 \x01(\tH\x00R\x08firstRun\x88\x01\x01\x126\n\x14markdown_description\x18\x06 \x01(\tH\x01R\x13markdownDescription\x88\x01\x01\x12$\n\x04apps\x18\x07 \x03(\x0b2\x10.viam.app.v1.AppR\x04appsB\x0c\n\n_first_runB\x17\n\x15_markdown_description"\xbb\x02\n\x0eModuleMetadata\x12*\n\x06models\x18\x01 \x03(\x0b2\x12.viam.app.v1.ModelR\x06models\x126\n\x08versions\x18\x02 \x03(\x0b2\x1a.viam.app.v1.ModuleVersionR\x08versions\x12\x1e\n\nentrypoint\x18\x03 \x01(\tR\nentrypoint\x12 \n\tfirst_run\x18\x04 \x01(\tH\x00R\x08firstRun\x88\x01\x01\x126\n\x14markdown_description\x18\x05 \x01(\tH\x01R\x13markdownDescription\x88\x01\x01\x12$\n\x04apps\x18\x06 \x03(\x0b2\x10.viam.app.v1.AppR\x04appsB\x0c\n\n_first_runB\x17\n\x15_markdown_description"\xc0\x01\n\x0fMLModelMetadata\x12\x1a\n\x08versions\x18\x01 \x03(\tR\x08versions\x12@\n\nmodel_type\x18\x02 \x01(\x0e2!.viam.app.mltraining.v1.ModelTypeR\tmodelType\x12O\n\x0fmodel_framework\x18\x03 \x01(\x0e2&.viam.app.mltraining.v1.ModelFrameworkR\x0emodelFramework"h\n\x11MLTrainingVersion\x12\x18\n\x07version\x18\x01 \x01(\tR\x07version\x129\n\ncreated_on\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedOn"\xff\x01\n\x12MLTrainingMetadata\x12:\n\x08versions\x18\x05 \x03(\x0b2\x1e.viam.app.v1.MLTrainingVersionR\x08versions\x12@\n\nmodel_type\x18\x02 \x01(\x0e2!.viam.app.mltraining.v1.ModelTypeR\tmodelType\x12O\n\x0fmodel_framework\x18\x03 \x01(\x0e2&.viam.app.mltraining.v1.ModelFrameworkR\x0emodelFramework\x12\x14\n\x05draft\x18\x04 \x01(\x08R\x05draftJ\x04\x08\x01\x10\x02"\x8c\x07\n\x0cRegistryItem\x12\x17\n\x07item_id\x18\x01 \x01(\tR\x06itemId\x12\'\n\x0forganization_id\x18\x02 \x01(\tR\x0eorganizationId\x12)\n\x10public_namespace\x18\x03 \x01(\tR\x0fpublicNamespace\x12\x12\n\x04name\x18\x04 \x01(\tR\x04name\x125\n\x04type\x18\x05 \x01(\x0e2!.viam.app.packages.v1.PackageTypeR\x04type\x127\n\nvisibility\x18\x06 \x01(\x0e2\x17.viam.app.v1.VisibilityR\nvisibility\x12\x10\n\x03url\x18\x07 \x01(\tR\x03url\x12 \n\x0bdescription\x18\x08 \x01(\tR\x0bdescription\x12*\n\x11total_robot_usage\x18\t \x01(\x03R\x0ftotalRobotUsage\x12;\n\x1atotal_external_robot_usage\x18\r \x01(\x03R\x17totalExternalRobotUsage\x128\n\x18total_organization_usage\x18\n \x01(\x03R\x16totalOrganizationUsage\x12I\n!total_external_organization_usage\x18\x0e \x01(\x03R\x1etotalExternalOrganizationUsage\x12F\n\x0fmodule_metadata\x18\x0b \x01(\x0b2\x1b.viam.app.v1.ModuleMetadataH\x00R\x0emoduleMetadata\x12J\n\x11ml_model_metadata\x18\x0c \x01(\x0b2\x1c.viam.app.v1.MLModelMetadataH\x00R\x0fmlModelMetadata\x12S\n\x14ml_training_metadata\x18\x12 \x01(\x0b2\x1f.viam.app.v1.MLTrainingMetadataH\x00R\x12mlTrainingMetadata\x129\n\ncreated_at\x18\x0f \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n\nupdated_at\x18\x10 \x01(\x0b2\x1a.google.protobuf.TimestampR\tupdatedAtB\n\n\x08metadata"\x9f\x01\n\x16GetRegistryItemRequest\x12\x17\n\x07item_id\x18\x01 \x01(\tR\x06itemId\x12I\n\x1einclude_markdown_documentation\x18\x02 \x01(\x08H\x00R\x1cincludeMarkdownDocumentation\x88\x01\x01B!\n\x1f_include_markdown_documentation"H\n\x17GetRegistryItemResponse\x12-\n\x04item\x18\x01 \x01(\x0b2\x19.viam.app.v1.RegistryItemR\x04item"\x8f\x01\n\x19CreateRegistryItemRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x125\n\x04type\x18\x03 \x01(\x0e2!.viam.app.packages.v1.PackageTypeR\x04type"\x1c\n\x1aCreateRegistryItemResponse"\xe4\x04\n\x19UpdateRegistryItemRequest\x12\x17\n\x07item_id\x18\x01 \x01(\tR\x06itemId\x125\n\x04type\x18\x02 \x01(\x0e2!.viam.app.packages.v1.PackageTypeR\x04type\x12 \n\x0bdescription\x18\x03 \x01(\tR\x0bdescription\x127\n\nvisibility\x18\x04 \x01(\x0e2\x17.viam.app.v1.VisibilityR\nvisibility\x12\x15\n\x03url\x18\x05 \x01(\tH\x01R\x03url\x88\x01\x01\x12Y\n\x16update_module_metadata\x18\x06 \x01(\x0b2!.viam.app.v1.UpdateModuleMetadataH\x00R\x14updateModuleMetadata\x12]\n\x18update_ml_model_metadata\x18\x07 \x01(\x0b2".viam.app.v1.UpdateMLModelMetadataH\x00R\x15updateMlModelMetadata\x12f\n\x1bupdate_ml_training_metadata\x18\x08 \x01(\x0b2%.viam.app.v1.UpdateMLTrainingMetadataH\x00R\x18updateMlTrainingMetadata\x126\n\x14markdown_description\x18\t \x01(\tH\x02R\x13markdownDescription\x88\x01\x01B\n\n\x08metadataB\x06\n\x04_urlB\x17\n\x15_markdown_description"\x1c\n\x1aUpdateRegistryItemResponse"\xb1\x04\n\x18ListRegistryItemsRequest\x12,\n\x0forganization_id\x18\x01 \x01(\tH\x00R\x0eorganizationId\x88\x01\x01\x127\n\x05types\x18\x02 \x03(\x0e2!.viam.app.packages.v1.PackageTypeR\x05types\x12;\n\x0cvisibilities\x18\x03 \x03(\x0e2\x17.viam.app.v1.VisibilityR\x0cvisibilities\x12\x1c\n\tplatforms\x18\x04 \x03(\tR\tplatforms\x12;\n\x08statuses\x18\x05 \x03(\x0e2\x1f.viam.app.v1.RegistryItemStatusR\x08statuses\x12$\n\x0bsearch_term\x18\x06 \x01(\tH\x01R\nsearchTerm\x88\x01\x01\x12"\n\npage_token\x18\x07 \x01(\tH\x02R\tpageToken\x88\x01\x01\x12+\n\x11public_namespaces\x18\x08 \x03(\tR\x10publicNamespaces\x12I\n\x1einclude_markdown_documentation\x18\t \x01(\x08H\x03R\x1cincludeMarkdownDocumentation\x88\x01\x01B\x12\n\x10_organization_idB\x0e\n\x0c_search_termB\r\n\x0b_page_tokenB!\n\x1f_include_markdown_documentation"L\n\x19ListRegistryItemsResponse\x12/\n\x05items\x18\x01 \x03(\x0b2\x19.viam.app.v1.RegistryItemR\x05items"4\n\x19DeleteRegistryItemRequest\x12\x17\n\x07item_id\x18\x01 \x01(\tR\x06itemId"\x1c\n\x1aDeleteRegistryItemResponse"O\n\x19RenameRegistryItemRequest\x12\x17\n\x07item_id\x18\x01 \x01(\tR\x06itemId\x12\x19\n\x08new_name\x18\x02 \x01(\tR\x07newName"K\n\x1aRenameRegistryItemResponse\x12-\n\x04item\x18\x01 \x01(\x0b2\x19.viam.app.v1.RegistryItemR\x04item"h\n\x1bTransferRegistryItemRequest\x12\x17\n\x07item_id\x18\x01 \x01(\tR\x06itemId\x120\n\x14new_public_namespace\x18\x02 \x01(\tR\x12newPublicNamespace"\x1e\n\x1cTransferRegistryItemResponse"R\n\x13CreateModuleRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name"E\n\x14CreateModuleResponse\x12\x1b\n\tmodule_id\x18\x01 \x01(\tR\x08moduleId\x12\x10\n\x03url\x18\x02 \x01(\tR\x03url"\x92\x03\n\x13UpdateModuleRequest\x12\x1b\n\tmodule_id\x18\x01 \x01(\tR\x08moduleId\x127\n\nvisibility\x18\x02 \x01(\x0e2\x17.viam.app.v1.VisibilityR\nvisibility\x12\x10\n\x03url\x18\x03 \x01(\tR\x03url\x12 \n\x0bdescription\x18\x04 \x01(\tR\x0bdescription\x12*\n\x06models\x18\x05 \x03(\x0b2\x12.viam.app.v1.ModelR\x06models\x12\x1e\n\nentrypoint\x18\x06 \x01(\tR\nentrypoint\x12 \n\tfirst_run\x18\x07 \x01(\tH\x00R\x08firstRun\x88\x01\x01\x12$\n\x04apps\x18\x08 \x03(\x0b2\x10.viam.app.v1.AppR\x04apps\x126\n\x14markdown_description\x18\t \x01(\tH\x01R\x13markdownDescription\x88\x01\x01B\x0c\n\n_first_runB\x17\n\x15_markdown_description"M\n\x03App\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x12\n\x04type\x18\x02 \x01(\tR\x04type\x12\x1e\n\nentrypoint\x18\x03 \x01(\tR\nentrypoint"(\n\x14UpdateModuleResponse\x12\x10\n\x03url\x18\x01 \x01(\tR\x03url"\x88\x01\n\x14UpdateModuleMetadata\x12*\n\x06models\x18\x01 \x03(\x0b2\x12.viam.app.v1.ModelR\x06models\x12\x1e\n\nentrypoint\x18\x02 \x01(\tR\nentrypoint\x12$\n\x04apps\x18\x03 \x03(\x0b2\x10.viam.app.v1.AppR\x04apps"\xaa\x01\n\x15UpdateMLModelMetadata\x12@\n\nmodel_type\x18\x01 \x01(\x0e2!.viam.app.mltraining.v1.ModelTypeR\tmodelType\x12O\n\x0fmodel_framework\x18\x02 \x01(\x0e2&.viam.app.mltraining.v1.ModelFrameworkR\x0emodelFramework"\xc3\x01\n\x18UpdateMLTrainingMetadata\x12@\n\nmodel_type\x18\x01 \x01(\x0e2!.viam.app.mltraining.v1.ModelTypeR\tmodelType\x12O\n\x0fmodel_framework\x18\x02 \x01(\x0e2&.viam.app.mltraining.v1.ModelFrameworkR\x0emodelFramework\x12\x14\n\x05draft\x18\x03 \x01(\x08R\x05draft"\xec\x01\n\x05Model\x12\x10\n\x03api\x18\x01 \x01(\tR\x03api\x12\x14\n\x05model\x18\x02 \x01(\tR\x05model\x12:\n\x16markdown_documentation\x18\x03 \x01(\tH\x00R\x15markdownDocumentation\x88\x01\x01\x12%\n\x0bdescription\x18\x04 \x01(\tH\x01R\x0bdescription\x88\x01\x01\x12-\n\x12supported_hardware\x18\x05 \x03(\tR\x11supportedHardwareB\x19\n\x17_markdown_documentationB\x0e\n\x0c_description"\x88\x01\n\x0eModuleFileInfo\x12\x1b\n\tmodule_id\x18\x01 \x01(\tR\x08moduleId\x12\x18\n\x07version\x18\x02 \x01(\tR\x07version\x12\x1a\n\x08platform\x18\x03 \x01(\tR\x08platform\x12#\n\rplatform_tags\x18\x05 \x03(\tR\x0cplatformTags"\x87\x01\n\x17UploadModuleFileRequest\x12G\n\x10module_file_info\x18\x01 \x01(\x0b2\x1b.viam.app.v1.ModuleFileInfoH\x00R\x0emoduleFileInfo\x12\x14\n\x04file\x18\x02 \x01(\x0cH\x00R\x04fileB\r\n\x0bmodule_file",\n\x18UploadModuleFileResponse\x12\x10\n\x03url\x18\x01 \x01(\tR\x03url"\x9d\x01\n\x10GetModuleRequest\x12\x1b\n\tmodule_id\x18\x01 \x01(\tR\x08moduleId\x12I\n\x1einclude_markdown_documentation\x18\x02 \x01(\x08H\x00R\x1cincludeMarkdownDocumentation\x88\x01\x01B!\n\x1f_include_markdown_documentation"@\n\x11GetModuleResponse\x12+\n\x06module\x18\x01 \x01(\x0b2\x13.viam.app.v1.ModuleR\x06module"\x8c\x05\n\x06Module\x12\x1b\n\tmodule_id\x18\x01 \x01(\tR\x08moduleId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x127\n\nvisibility\x18\x03 \x01(\x0e2\x17.viam.app.v1.VisibilityR\nvisibility\x127\n\x08versions\x18\x04 \x03(\x0b2\x1b.viam.app.v1.VersionHistoryR\x08versions\x12\x10\n\x03url\x18\x05 \x01(\tR\x03url\x12 \n\x0bdescription\x18\x06 \x01(\tR\x0bdescription\x12*\n\x06models\x18\x07 \x03(\x0b2\x12.viam.app.v1.ModelR\x06models\x12*\n\x11total_robot_usage\x18\x08 \x01(\x03R\x0ftotalRobotUsage\x128\n\x18total_organization_usage\x18\t \x01(\x03R\x16totalOrganizationUsage\x12\'\n\x0forganization_id\x18\n \x01(\tR\x0eorganizationId\x12\x1e\n\nentrypoint\x18\x0b \x01(\tR\nentrypoint\x12)\n\x10public_namespace\x18\x0c \x01(\tR\x0fpublicNamespace\x12 \n\tfirst_run\x18\r \x01(\tH\x00R\x08firstRun\x88\x01\x01\x126\n\x14markdown_description\x18\x0e \x01(\tH\x01R\x13markdownDescription\x88\x01\x01\x12$\n\x04apps\x18\x0f \x03(\x0b2\x10.viam.app.v1.AppR\x04appsB\x0c\n\n_first_runB\x17\n\x15_markdown_description"\xc9\x02\n\x0eVersionHistory\x12\x18\n\x07version\x18\x01 \x01(\tR\x07version\x12*\n\x05files\x18\x02 \x03(\x0b2\x14.viam.app.v1.UploadsR\x05files\x12*\n\x06models\x18\x03 \x03(\x0b2\x12.viam.app.v1.ModelR\x06models\x12\x1e\n\nentrypoint\x18\x04 \x01(\tR\nentrypoint\x12 \n\tfirst_run\x18\x05 \x01(\tH\x00R\x08firstRun\x88\x01\x01\x126\n\x14markdown_description\x18\x06 \x01(\tH\x01R\x13markdownDescription\x88\x01\x01\x12$\n\x04apps\x18\x07 \x03(\x0b2\x10.viam.app.v1.AppR\x04appsB\x0c\n\n_first_runB\x17\n\x15_markdown_description"b\n\x07Uploads\x12\x1a\n\x08platform\x18\x01 \x01(\tR\x08platform\x12;\n\x0buploaded_at\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\nuploadedAt"\xc4\x01\n\x12ListModulesRequest\x12,\n\x0forganization_id\x18\x01 \x01(\tH\x00R\x0eorganizationId\x88\x01\x01\x12I\n\x1einclude_markdown_documentation\x18\x02 \x01(\x08H\x01R\x1cincludeMarkdownDocumentation\x88\x01\x01B\x12\n\x10_organization_idB!\n\x1f_include_markdown_documentation"D\n\x13ListModulesResponse\x12-\n\x07modules\x18\x01 \x03(\x0b2\x13.viam.app.v1.ModuleR\x07modules"/\n\x17GetUserIDByEmailRequest\x12\x14\n\x05email\x18\x01 \x01(\tR\x05email"3\n\x18GetUserIDByEmailResponse\x12\x17\n\x07user_id\x18\x01 \x01(\tR\x06userId"9\n\x1eListOrganizationsByUserRequest\x12\x17\n\x07user_id\x18\x01 \x01(\tR\x06userId"\xe6\x01\n\nOrgDetails\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId\x12\x19\n\x08org_name\x18\x02 \x01(\tR\x07orgName\x12\x1c\n\x07org_cid\x18\x03 \x01(\tH\x00R\x06orgCid\x88\x01\x01\x12.\n\x10public_namespace\x18\x04 \x01(\tH\x01R\x0fpublicNamespace\x88\x01\x01\x12&\n\x0cbilling_tier\x18\x05 \x01(\tH\x02R\x0bbillingTier\x88\x01\x01B\n\n\x08_org_cidB\x13\n\x11_public_namespaceB\x0f\n\r_billing_tier"N\n\x1fListOrganizationsByUserResponse\x12+\n\x04orgs\x18\x01 \x03(\x0b2\x17.viam.app.v1.OrgDetailsR\x04orgs"\xd4\x01\n\x1aSearchOrganizationsRequest\x12\x1a\n\x06org_id\x18\x01 \x01(\tH\x00R\x05orgId\x88\x01\x01\x12\x1e\n\x08org_name\x18\x02 \x01(\tH\x01R\x07orgName\x88\x01\x01\x12\x15\n\x03cid\x18\x03 \x01(\tH\x02R\x03cid\x88\x01\x01\x12.\n\x10public_namespace\x18\x04 \x01(\tH\x03R\x0fpublicNamespace\x88\x01\x01B\t\n\x07_org_idB\x0b\n\t_org_nameB\x06\n\x04_cidB\x13\n\x11_public_namespace"\\\n\x1bSearchOrganizationsResponse\x12=\n\rorganizations\x18\x01 \x03(\x0b2\x17.viam.app.v1.OrgDetailsR\rorganizations"j\n\x10CreateKeyRequest\x12B\n\x0eauthorizations\x18\x01 \x03(\x0b2\x1a.viam.app.v1.AuthorizationR\x0eauthorizations\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name"5\n\x11CreateKeyResponse\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x0e\n\x02id\x18\x02 \x01(\tR\x02id""\n\x10DeleteKeyRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"\x13\n\x11DeleteKeyResponse"6\n\x10RenameKeyRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name"7\n\x11RenameKeyResponse\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name"\xcd\x01\n\x14AuthorizationDetails\x12-\n\x12authorization_type\x18\x01 \x01(\tR\x11authorizationType\x12)\n\x10authorization_id\x18\x02 \x01(\tR\x0fauthorizationId\x12#\n\rresource_type\x18\x03 \x01(\tR\x0cresourceType\x12\x1f\n\x0bresource_id\x18\x04 \x01(\tR\nresourceId\x12\x15\n\x06org_id\x18\x05 \x01(\tR\x05orgId"\x93\x01\n\x18APIKeyWithAuthorizations\x12,\n\x07api_key\x18\x01 \x01(\x0b2\x13.viam.app.v1.APIKeyR\x06apiKey\x12I\n\x0eauthorizations\x18\x02 \x03(\x0b2!.viam.app.v1.AuthorizationDetailsR\x0eauthorizations"(\n\x0fListKeysRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId"T\n\x10ListKeysResponse\x12@\n\x08api_keys\x18\x01 \x03(\x0b2%.viam.app.v1.APIKeyWithAuthorizationsR\x07apiKeys""\n\x10RotateKeyRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"5\n\x11RotateKeyResponse\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x10\n\x03key\x18\x02 \x01(\tR\x03key"?\n-CreateKeyFromExistingKeyAuthorizationsRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"R\n.CreateKeyFromExistingKeyAuthorizationsResponse\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x10\n\x03key\x18\x02 \x01(\tR\x03key"U\n\x14GetAppContentRequest\x12)\n\x10public_namespace\x18\x01 \x01(\tR\x0fpublicNamespace\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name"T\n\x15GetAppContentResponse\x12\x1b\n\tblob_path\x18\x01 \x01(\tR\x08blobPath\x12\x1e\n\nentrypoint\x18\x02 \x01(\tR\nentrypoint"G\n\x1aOrganizationSetLogoRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId\x12\x12\n\x04logo\x18\x02 \x01(\x0cR\x04logo"\x1d\n\x1bOrganizationSetLogoResponse"3\n\x1aOrganizationGetLogoRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId"/\n\x1bOrganizationGetLogoResponse\x12\x10\n\x03url\x18\x01 \x01(\tR\x03url"1\n\x18EnableAuthServiceRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId"\x1b\n\x19EnableAuthServiceResponse"2\n\x19DisableAuthServiceRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId"\x1c\n\x1aDisableAuthServiceResponse"\x8c\x01\n\x15CreateOAuthAppRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId\x12\x1f\n\x0bclient_name\x18\x02 \x01(\tR\nclientName\x12;\n\x0coauth_config\x18\x03 \x01(\x0b2\x18.viam.app.v1.OAuthConfigR\x0boauthConfig"Z\n\x16CreateOAuthAppResponse\x12\x1b\n\tclient_id\x18\x01 \x01(\tR\x08clientId\x12#\n\rclient_secret\x18\x02 \x01(\tR\x0cclientSecret"I\n\x13ReadOAuthAppRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId\x12\x1b\n\tclient_id\x18\x02 \x01(\tR\x08clientId"\x99\x01\n\x14ReadOAuthAppResponse\x12\x1f\n\x0bclient_name\x18\x01 \x01(\tR\nclientName\x12#\n\rclient_secret\x18\x02 \x01(\tR\x0cclientSecret\x12;\n\x0coauth_config\x18\x03 \x01(\x0b2\x18.viam.app.v1.OAuthConfigR\x0boauthConfig"\xa9\x01\n\x15UpdateOAuthAppRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId\x12\x1b\n\tclient_id\x18\x02 \x01(\tR\x08clientId\x12\x1f\n\x0bclient_name\x18\x03 \x01(\tR\nclientName\x12;\n\x0coauth_config\x18\x04 \x01(\x0b2\x18.viam.app.v1.OAuthConfigR\x0boauthConfig"\x18\n\x16UpdateOAuthAppResponse"K\n\x15DeleteOAuthAppRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId\x12\x1b\n\tclient_id\x18\x02 \x01(\tR\x08clientId"\x18\n\x16DeleteOAuthAppResponse"-\n\x14ListOAuthAppsRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId"6\n\x15ListOAuthAppsResponse\x12\x1d\n\nclient_ids\x18\x01 \x03(\tR\tclientIds"\xf6\x02\n\x0bOAuthConfig\x12V\n\x15client_authentication\x18\x01 \x01(\x0e2!.viam.app.v1.ClientAuthenticationR\x14clientAuthentication\x12%\n\x04pkce\x18\x02 \x01(\x0e2\x11.viam.app.v1.PKCER\x04pkce\x12A\n\x0eurl_validation\x18\x03 \x01(\x0e2\x1a.viam.app.v1.URLValidationR\rurlValidation\x12\x1f\n\x0borigin_uris\x18\x04 \x03(\tR\noriginUris\x12#\n\rredirect_uris\x18\x05 \x03(\tR\x0credirectUris\x12\x1d\n\nlogout_uri\x18\x06 \x01(\tR\tlogoutUri\x12@\n\x0eenabled_grants\x18\x07 \x03(\x0e2\x19.viam.app.v1.EnabledGrantR\renabledGrants*\xd1\x01\n\x12AuthenticationType\x12#\n\x1fAUTHENTICATION_TYPE_UNSPECIFIED\x10\x00\x12!\n\x1dAUTHENTICATION_TYPE_WEB_OAUTH\x10\x01\x12\x1f\n\x1bAUTHENTICATION_TYPE_API_KEY\x10\x02\x12)\n%AUTHENTICATION_TYPE_ROBOT_PART_SECRET\x10\x03\x12\'\n#AUTHENTICATION_TYPE_LOCATION_SECRET\x10\x04*\xa3\x01\n\x12FragmentVisibility\x12#\n\x1fFRAGMENT_VISIBILITY_UNSPECIFIED\x10\x00\x12\x1f\n\x1bFRAGMENT_VISIBILITY_PRIVATE\x10\x01\x12\x1e\n\x1aFRAGMENT_VISIBILITY_PUBLIC\x10\x02\x12\'\n#FRAGMENT_VISIBILITY_PUBLIC_UNLISTED\x10\x03*\xdd\x01\n\x11FragmentErrorType\x12#\n\x1fFRAGMENT_ERROR_TYPE_UNSPECIFIED\x10\x00\x12!\n\x1dFRAGMENT_ERROR_TYPE_NO_ACCESS\x10\x01\x12.\n*FRAGMENT_ERROR_TYPE_NESTING_LIMIT_EXCEEDED\x10\x02\x12(\n$FRAGMENT_ERROR_TYPE_CHILD_ID_INVALID\x10\x03\x12&\n"FRAGMENT_ERROR_TYPE_CYCLE_DETECTED\x10\x04*\x87\x01\n\x12RegistryItemStatus\x12$\n REGISTRY_ITEM_STATUS_UNSPECIFIED\x10\x00\x12"\n\x1eREGISTRY_ITEM_STATUS_PUBLISHED\x10\x01\x12\'\n#REGISTRY_ITEM_STATUS_IN_DEVELOPMENT\x10\x02*w\n\nVisibility\x12\x1a\n\x16VISIBILITY_UNSPECIFIED\x10\x00\x12\x16\n\x12VISIBILITY_PRIVATE\x10\x01\x12\x15\n\x11VISIBILITY_PUBLIC\x10\x02\x12\x1e\n\x1aVISIBILITY_PUBLIC_UNLISTED\x10\x03*\xc1\x01\n\x14ClientAuthentication\x12%\n!CLIENT_AUTHENTICATION_UNSPECIFIED\x10\x00\x12"\n\x1eCLIENT_AUTHENTICATION_REQUIRED\x10\x01\x12&\n"CLIENT_AUTHENTICATION_NOT_REQUIRED\x10\x02\x126\n2CLIENT_AUTHENTICATION_NOT_REQUIRED_WHEN_USING_PKCE\x10\x03*~\n\x04PKCE\x12\x14\n\x10PKCE_UNSPECIFIED\x10\x00\x12\x11\n\rPKCE_REQUIRED\x10\x01\x12\x15\n\x11PKCE_NOT_REQUIRED\x10\x02\x126\n2PKCE_NOT_REQUIRED_WHEN_USING_CLIENT_AUTHENTICATION\x10\x03*s\n\rURLValidation\x12\x1e\n\x1aURL_VALIDATION_UNSPECIFIED\x10\x00\x12\x1e\n\x1aURL_VALIDATION_EXACT_MATCH\x10\x01\x12"\n\x1eURL_VALIDATION_ALLOW_WILDCARDS\x10\x02*\xcb\x01\n\x0cEnabledGrant\x12\x1d\n\x19ENABLED_GRANT_UNSPECIFIED\x10\x00\x12$\n ENABLED_GRANT_AUTHORIZATION_CODE\x10\x01\x12\x1a\n\x16ENABLED_GRANT_IMPLICIT\x10\x02\x12\x1a\n\x16ENABLED_GRANT_PASSWORD\x10\x03\x12\x1f\n\x1bENABLED_GRANT_REFRESH_TOKEN\x10\x04\x12\x1d\n\x19ENABLED_GRANT_DEVICE_CODE\x10\x052\xcbS\n\nAppService\x12_\n\x10GetUserIDByEmail\x12$.viam.app.v1.GetUserIDByEmailRequest\x1a%.viam.app.v1.GetUserIDByEmailResponse\x12e\n\x12CreateOrganization\x12&.viam.app.v1.CreateOrganizationRequest\x1a\'.viam.app.v1.CreateOrganizationResponse\x12b\n\x11ListOrganizations\x12%.viam.app.v1.ListOrganizationsRequest\x1a&.viam.app.v1.ListOrganizationsResponse\x12\x9b\x01\n$GetOrganizationsWithAccessToLocation\x128.viam.app.v1.GetOrganizationsWithAccessToLocationRequest\x1a9.viam.app.v1.GetOrganizationsWithAccessToLocationResponse\x12t\n\x17ListOrganizationsByUser\x12+.viam.app.v1.ListOrganizationsByUserRequest\x1a,.viam.app.v1.ListOrganizationsByUserResponse\x12h\n\x13SearchOrganizations\x12\'.viam.app.v1.SearchOrganizationsRequest\x1a(.viam.app.v1.SearchOrganizationsResponse\x12\\\n\x0fGetOrganization\x12#.viam.app.v1.GetOrganizationRequest\x1a$.viam.app.v1.GetOrganizationResponse\x12\x9b\x01\n$GetOrganizationNamespaceAvailability\x128.viam.app.v1.GetOrganizationNamespaceAvailabilityRequest\x1a9.viam.app.v1.GetOrganizationNamespaceAvailabilityResponse\x12e\n\x12UpdateOrganization\x12&.viam.app.v1.UpdateOrganizationRequest\x1a\'.viam.app.v1.UpdateOrganizationResponse\x12\x80\x01\n\x1bUpdateOrganizationNamespace\x12/.viam.app.v1.UpdateOrganizationNamespaceRequest\x1a0.viam.app.v1.UpdateOrganizationNamespaceResponse\x12e\n\x12DeleteOrganization\x12&.viam.app.v1.DeleteOrganizationRequest\x1a\'.viam.app.v1.DeleteOrganizationResponse\x12t\n\x17GetOrganizationMetadata\x12+.viam.app.v1.GetOrganizationMetadataRequest\x1a,.viam.app.v1.GetOrganizationMetadataResponse\x12}\n\x1aUpdateOrganizationMetadata\x12..viam.app.v1.UpdateOrganizationMetadataRequest\x1a/.viam.app.v1.UpdateOrganizationMetadataResponse\x12t\n\x17ListOrganizationMembers\x12+.viam.app.v1.ListOrganizationMembersRequest\x1a,.viam.app.v1.ListOrganizationMembersResponse\x12w\n\x18CreateOrganizationInvite\x12,.viam.app.v1.CreateOrganizationInviteRequest\x1a-.viam.app.v1.CreateOrganizationInviteResponse\x12\xa1\x01\n&UpdateOrganizationInviteAuthorizations\x12:.viam.app.v1.UpdateOrganizationInviteAuthorizationsRequest\x1a;.viam.app.v1.UpdateOrganizationInviteAuthorizationsResponse\x12w\n\x18DeleteOrganizationMember\x12,.viam.app.v1.DeleteOrganizationMemberRequest\x1a-.viam.app.v1.DeleteOrganizationMemberResponse\x12w\n\x18DeleteOrganizationInvite\x12,.viam.app.v1.DeleteOrganizationInviteRequest\x1a-.viam.app.v1.DeleteOrganizationInviteResponse\x12w\n\x18ResendOrganizationInvite\x12,.viam.app.v1.ResendOrganizationInviteRequest\x1a-.viam.app.v1.ResendOrganizationInviteResponse\x12k\n\x14EnableBillingService\x12(.viam.app.v1.EnableBillingServiceRequest\x1a).viam.app.v1.EnableBillingServiceResponse\x12n\n\x15DisableBillingService\x12).viam.app.v1.DisableBillingServiceRequest\x1a*.viam.app.v1.DisableBillingServiceResponse\x12k\n\x14UpdateBillingService\x12(.viam.app.v1.UpdateBillingServiceRequest\x1a).viam.app.v1.UpdateBillingServiceResponse\x12t\n\x17GetBillingServiceConfig\x12+.viam.app.v1.GetBillingServiceConfigRequest\x1a,.viam.app.v1.GetBillingServiceConfigResponse\x12\x80\x01\n\x1bOrganizationSetSupportEmail\x12/.viam.app.v1.OrganizationSetSupportEmailRequest\x1a0.viam.app.v1.OrganizationSetSupportEmailResponse\x12\x80\x01\n\x1bOrganizationGetSupportEmail\x12/.viam.app.v1.OrganizationGetSupportEmailRequest\x1a0.viam.app.v1.OrganizationGetSupportEmailResponse\x12h\n\x13OrganizationSetLogo\x12\'.viam.app.v1.OrganizationSetLogoRequest\x1a(.viam.app.v1.OrganizationSetLogoResponse\x12h\n\x13OrganizationGetLogo\x12\'.viam.app.v1.OrganizationGetLogoRequest\x1a(.viam.app.v1.OrganizationGetLogoResponse\x12b\n\x11EnableAuthService\x12%.viam.app.v1.EnableAuthServiceRequest\x1a&.viam.app.v1.EnableAuthServiceResponse\x12e\n\x12DisableAuthService\x12&.viam.app.v1.DisableAuthServiceRequest\x1a\'.viam.app.v1.DisableAuthServiceResponse\x12Y\n\x0eCreateOAuthApp\x12".viam.app.v1.CreateOAuthAppRequest\x1a#.viam.app.v1.CreateOAuthAppResponse\x12S\n\x0cReadOAuthApp\x12 .viam.app.v1.ReadOAuthAppRequest\x1a!.viam.app.v1.ReadOAuthAppResponse\x12Y\n\x0eUpdateOAuthApp\x12".viam.app.v1.UpdateOAuthAppRequest\x1a#.viam.app.v1.UpdateOAuthAppResponse\x12Y\n\x0eDeleteOAuthApp\x12".viam.app.v1.DeleteOAuthAppRequest\x1a#.viam.app.v1.DeleteOAuthAppResponse\x12V\n\rListOAuthApps\x12!.viam.app.v1.ListOAuthAppsRequest\x1a".viam.app.v1.ListOAuthAppsResponse\x12Y\n\x0eCreateLocation\x12".viam.app.v1.CreateLocationRequest\x1a#.viam.app.v1.CreateLocationResponse\x12P\n\x0bGetLocation\x12\x1f.viam.app.v1.GetLocationRequest\x1a .viam.app.v1.GetLocationResponse\x12Y\n\x0eUpdateLocation\x12".viam.app.v1.UpdateLocationRequest\x1a#.viam.app.v1.UpdateLocationResponse\x12Y\n\x0eDeleteLocation\x12".viam.app.v1.DeleteLocationRequest\x1a#.viam.app.v1.DeleteLocationResponse\x12h\n\x13GetLocationMetadata\x12\'.viam.app.v1.GetLocationMetadataRequest\x1a(.viam.app.v1.GetLocationMetadataResponse\x12q\n\x16UpdateLocationMetadata\x12*.viam.app.v1.UpdateLocationMetadataRequest\x1a+.viam.app.v1.UpdateLocationMetadataResponse\x12V\n\rListLocations\x12!.viam.app.v1.ListLocationsRequest\x1a".viam.app.v1.ListLocationsResponse\x12V\n\rShareLocation\x12!.viam.app.v1.ShareLocationRequest\x1a".viam.app.v1.ShareLocationResponse\x12\\\n\x0fUnshareLocation\x12#.viam.app.v1.UnshareLocationRequest\x1a$.viam.app.v1.UnshareLocationResponse\x12S\n\x0cLocationAuth\x12 .viam.app.v1.LocationAuthRequest\x1a!.viam.app.v1.LocationAuthResponse\x12k\n\x14CreateLocationSecret\x12(.viam.app.v1.CreateLocationSecretRequest\x1a).viam.app.v1.CreateLocationSecretResponse\x12k\n\x14DeleteLocationSecret\x12(.viam.app.v1.DeleteLocationSecretRequest\x1a).viam.app.v1.DeleteLocationSecretResponse\x12G\n\x08GetRobot\x12\x1c.viam.app.v1.GetRobotRequest\x1a\x1d.viam.app.v1.GetRobotResponse\x12_\n\x10GetRobotMetadata\x12$.viam.app.v1.GetRobotMetadataRequest\x1a%.viam.app.v1.GetRobotMetadataResponse\x12h\n\x13UpdateRobotMetadata\x12\'.viam.app.v1.UpdateRobotMetadataRequest\x1a(.viam.app.v1.UpdateRobotMetadataResponse\x12k\n\x14GetRoverRentalRobots\x12(.viam.app.v1.GetRoverRentalRobotsRequest\x1a).viam.app.v1.GetRoverRentalRobotsResponse\x12V\n\rGetRobotParts\x12!.viam.app.v1.GetRobotPartsRequest\x1a".viam.app.v1.GetRobotPartsResponse\x12S\n\x0cGetRobotPart\x12 .viam.app.v1.GetRobotPartRequest\x1a!.viam.app.v1.GetRobotPartResponse\x12\x86\x01\n\x1dGetRobotPartByNameAndLocation\x121.viam.app.v1.GetRobotPartByNameAndLocationRequest\x1a2.viam.app.v1.GetRobotPartByNameAndLocationResponse\x12_\n\x10GetRobotPartLogs\x12$.viam.app.v1.GetRobotPartLogsRequest\x1a%.viam.app.v1.GetRobotPartLogsResponse\x12d\n\x11TailRobotPartLogs\x12%.viam.app.v1.TailRobotPartLogsRequest\x1a&.viam.app.v1.TailRobotPartLogsResponse0\x01\x12h\n\x13GetRobotPartHistory\x12\'.viam.app.v1.GetRobotPartHistoryRequest\x1a(.viam.app.v1.GetRobotPartHistoryResponse\x12\\\n\x0fUpdateRobotPart\x12#.viam.app.v1.UpdateRobotPartRequest\x1a$.viam.app.v1.UpdateRobotPartResponse\x12S\n\x0cNewRobotPart\x12 .viam.app.v1.NewRobotPartRequest\x1a!.viam.app.v1.NewRobotPartResponse\x12\\\n\x0fDeleteRobotPart\x12#.viam.app.v1.DeleteRobotPartRequest\x1a$.viam.app.v1.DeleteRobotPartResponse\x12k\n\x14GetRobotPartMetadata\x12(.viam.app.v1.GetRobotPartMetadataRequest\x1a).viam.app.v1.GetRobotPartMetadataResponse\x12t\n\x17UpdateRobotPartMetadata\x12+.viam.app.v1.UpdateRobotPartMetadataRequest\x1a,.viam.app.v1.UpdateRobotPartMetadataResponse\x12\\\n\x0fGetRobotAPIKeys\x12#.viam.app.v1.GetRobotAPIKeysRequest\x1a$.viam.app.v1.GetRobotAPIKeysResponse\x12Y\n\x0eMarkPartAsMain\x12".viam.app.v1.MarkPartAsMainRequest\x1a#.viam.app.v1.MarkPartAsMainResponse\x12e\n\x12MarkPartForRestart\x12&.viam.app.v1.MarkPartForRestartRequest\x1a\'.viam.app.v1.MarkPartForRestartResponse\x12n\n\x15CreateRobotPartSecret\x12).viam.app.v1.CreateRobotPartSecretRequest\x1a*.viam.app.v1.CreateRobotPartSecretResponse\x12n\n\x15DeleteRobotPartSecret\x12).viam.app.v1.DeleteRobotPartSecretRequest\x1a*.viam.app.v1.DeleteRobotPartSecretResponse\x12M\n\nListRobots\x12\x1e.viam.app.v1.ListRobotsRequest\x1a\x1f.viam.app.v1.ListRobotsResponse\x12G\n\x08NewRobot\x12\x1c.viam.app.v1.NewRobotRequest\x1a\x1d.viam.app.v1.NewRobotResponse\x12P\n\x0bUpdateRobot\x12\x1f.viam.app.v1.UpdateRobotRequest\x1a .viam.app.v1.UpdateRobotResponse\x12P\n\x0bDeleteRobot\x12\x1f.viam.app.v1.DeleteRobotRequest\x1a .viam.app.v1.DeleteRobotResponse\x12V\n\rListFragments\x12!.viam.app.v1.ListFragmentsRequest\x1a".viam.app.v1.ListFragmentsResponse\x12P\n\x0bGetFragment\x12\x1f.viam.app.v1.GetFragmentRequest\x1a .viam.app.v1.GetFragmentResponse\x12Y\n\x0eCreateFragment\x12".viam.app.v1.CreateFragmentRequest\x1a#.viam.app.v1.CreateFragmentResponse\x12Y\n\x0eUpdateFragment\x12".viam.app.v1.UpdateFragmentRequest\x1a#.viam.app.v1.UpdateFragmentResponse\x12Y\n\x0eDeleteFragment\x12".viam.app.v1.DeleteFragmentRequest\x1a#.viam.app.v1.DeleteFragmentResponse\x12h\n\x13ListNestedFragments\x12\'.viam.app.v1.ListNestedFragmentsRequest\x1a(.viam.app.v1.ListNestedFragmentsResponse\x12k\n\x14ListMachineFragments\x12(.viam.app.v1.ListMachineFragmentsRequest\x1a).viam.app.v1.ListMachineFragmentsResponse\x12k\n\x14ListMachineSummaries\x12(.viam.app.v1.ListMachineSummariesRequest\x1a).viam.app.v1.ListMachineSummariesResponse\x12e\n\x12GetFragmentHistory\x12&.viam.app.v1.GetFragmentHistoryRequest\x1a\'.viam.app.v1.GetFragmentHistoryResponse\x12_\n\x10GetFragmentUsage\x12$.viam.app.v1.GetFragmentUsageRequest\x1a%.viam.app.v1.GetFragmentUsageResponse\x12Y\n\x0eSetFragmentTag\x12".viam.app.v1.SetFragmentTagRequest\x1a#.viam.app.v1.SetFragmentTagResponse\x12b\n\x11DeleteFragmentTag\x12%.viam.app.v1.DeleteFragmentTagRequest\x1a&.viam.app.v1.DeleteFragmentTagResponse\x12D\n\x07AddRole\x12\x1b.viam.app.v1.AddRoleRequest\x1a\x1c.viam.app.v1.AddRoleResponse\x12M\n\nRemoveRole\x12\x1e.viam.app.v1.RemoveRoleRequest\x1a\x1f.viam.app.v1.RemoveRoleResponse\x12M\n\nChangeRole\x12\x1e.viam.app.v1.ChangeRoleRequest\x1a\x1f.viam.app.v1.ChangeRoleResponse\x12e\n\x12ListAuthorizations\x12&.viam.app.v1.ListAuthorizationsRequest\x1a\'.viam.app.v1.ListAuthorizationsResponse\x12_\n\x10CheckPermissions\x12$.viam.app.v1.CheckPermissionsRequest\x1a%.viam.app.v1.CheckPermissionsResponse\x12\\\n\x0fGetRegistryItem\x12#.viam.app.v1.GetRegistryItemRequest\x1a$.viam.app.v1.GetRegistryItemResponse\x12e\n\x12CreateRegistryItem\x12&.viam.app.v1.CreateRegistryItemRequest\x1a\'.viam.app.v1.CreateRegistryItemResponse\x12e\n\x12UpdateRegistryItem\x12&.viam.app.v1.UpdateRegistryItemRequest\x1a\'.viam.app.v1.UpdateRegistryItemResponse\x12b\n\x11ListRegistryItems\x12%.viam.app.v1.ListRegistryItemsRequest\x1a&.viam.app.v1.ListRegistryItemsResponse\x12e\n\x12DeleteRegistryItem\x12&.viam.app.v1.DeleteRegistryItemRequest\x1a\'.viam.app.v1.DeleteRegistryItemResponse\x12e\n\x12RenameRegistryItem\x12&.viam.app.v1.RenameRegistryItemRequest\x1a\'.viam.app.v1.RenameRegistryItemResponse\x12k\n\x14TransferRegistryItem\x12(.viam.app.v1.TransferRegistryItemRequest\x1a).viam.app.v1.TransferRegistryItemResponse\x12S\n\x0cCreateModule\x12 .viam.app.v1.CreateModuleRequest\x1a!.viam.app.v1.CreateModuleResponse\x12S\n\x0cUpdateModule\x12 .viam.app.v1.UpdateModuleRequest\x1a!.viam.app.v1.UpdateModuleResponse\x12a\n\x10UploadModuleFile\x12$.viam.app.v1.UploadModuleFileRequest\x1a%.viam.app.v1.UploadModuleFileResponse(\x01\x12J\n\tGetModule\x12\x1d.viam.app.v1.GetModuleRequest\x1a\x1e.viam.app.v1.GetModuleResponse\x12P\n\x0bListModules\x12\x1f.viam.app.v1.ListModulesRequest\x1a .viam.app.v1.ListModulesResponse\x12J\n\tCreateKey\x12\x1d.viam.app.v1.CreateKeyRequest\x1a\x1e.viam.app.v1.CreateKeyResponse\x12J\n\tDeleteKey\x12\x1d.viam.app.v1.DeleteKeyRequest\x1a\x1e.viam.app.v1.DeleteKeyResponse\x12G\n\x08ListKeys\x12\x1c.viam.app.v1.ListKeysRequest\x1a\x1d.viam.app.v1.ListKeysResponse\x12J\n\tRenameKey\x12\x1d.viam.app.v1.RenameKeyRequest\x1a\x1e.viam.app.v1.RenameKeyResponse\x12J\n\tRotateKey\x12\x1d.viam.app.v1.RotateKeyRequest\x1a\x1e.viam.app.v1.RotateKeyResponse\x12\xa1\x01\n&CreateKeyFromExistingKeyAuthorizations\x12:.viam.app.v1.CreateKeyFromExistingKeyAuthorizationsRequest\x1a;.viam.app.v1.CreateKeyFromExistingKeyAuthorizationsResponse\x12V\n\rGetAppContent\x12!.viam.app.v1.GetAppContentRequest\x1a".viam.app.v1.GetAppContentResponseB\x18Z\x16go.viam.com/api/app/v1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'app.v1.app_pb2', _globals) @@ -103,24 +103,24 @@ _globals['_FRAGMENTHISTORYENTRY'].fields_by_name['revision']._serialized_options = b'\x9a\x84\x9e\x03\x1fbson:"revision" json:"revision"' _globals['_FRAGMENTHISTORYENTRY'].fields_by_name['config']._loaded_options = None _globals['_FRAGMENTHISTORYENTRY'].fields_by_name['config']._serialized_options = b'\x9a\x84\x9e\x03\x1bbson:"config" json:"config"' - _globals['_AUTHENTICATIONTYPE']._serialized_start = 32511 - _globals['_AUTHENTICATIONTYPE']._serialized_end = 32720 - _globals['_FRAGMENTVISIBILITY']._serialized_start = 32723 - _globals['_FRAGMENTVISIBILITY']._serialized_end = 32886 - _globals['_FRAGMENTERRORTYPE']._serialized_start = 32889 - _globals['_FRAGMENTERRORTYPE']._serialized_end = 33110 - _globals['_REGISTRYITEMSTATUS']._serialized_start = 33113 - _globals['_REGISTRYITEMSTATUS']._serialized_end = 33248 - _globals['_VISIBILITY']._serialized_start = 33250 - _globals['_VISIBILITY']._serialized_end = 33369 - _globals['_CLIENTAUTHENTICATION']._serialized_start = 33372 - _globals['_CLIENTAUTHENTICATION']._serialized_end = 33565 - _globals['_PKCE']._serialized_start = 33567 - _globals['_PKCE']._serialized_end = 33693 - _globals['_URLVALIDATION']._serialized_start = 33695 - _globals['_URLVALIDATION']._serialized_end = 33810 - _globals['_ENABLEDGRANT']._serialized_start = 33813 - _globals['_ENABLEDGRANT']._serialized_end = 34016 + _globals['_AUTHENTICATIONTYPE']._serialized_start = 32796 + _globals['_AUTHENTICATIONTYPE']._serialized_end = 33005 + _globals['_FRAGMENTVISIBILITY']._serialized_start = 33008 + _globals['_FRAGMENTVISIBILITY']._serialized_end = 33171 + _globals['_FRAGMENTERRORTYPE']._serialized_start = 33174 + _globals['_FRAGMENTERRORTYPE']._serialized_end = 33395 + _globals['_REGISTRYITEMSTATUS']._serialized_start = 33398 + _globals['_REGISTRYITEMSTATUS']._serialized_end = 33533 + _globals['_VISIBILITY']._serialized_start = 33535 + _globals['_VISIBILITY']._serialized_end = 33654 + _globals['_CLIENTAUTHENTICATION']._serialized_start = 33657 + _globals['_CLIENTAUTHENTICATION']._serialized_end = 33850 + _globals['_PKCE']._serialized_start = 33852 + _globals['_PKCE']._serialized_end = 33978 + _globals['_URLVALIDATION']._serialized_start = 33980 + _globals['_URLVALIDATION']._serialized_end = 34095 + _globals['_ENABLEDGRANT']._serialized_start = 34098 + _globals['_ENABLEDGRANT']._serialized_end = 34301 _globals['_ROBOT']._serialized_start = 214 _globals['_ROBOT']._serialized_end = 578 _globals['_ROBOTPART']._serialized_start = 581 @@ -187,463 +187,467 @@ _globals['_DELETEORGANIZATIONINVITEREQUEST']._serialized_end = 5464 _globals['_DELETEORGANIZATIONINVITERESPONSE']._serialized_start = 5466 _globals['_DELETEORGANIZATIONINVITERESPONSE']._serialized_end = 5500 - _globals['_RESENDORGANIZATIONINVITEREQUEST']._serialized_start = 5502 - _globals['_RESENDORGANIZATIONINVITEREQUEST']._serialized_end = 5598 - _globals['_RESENDORGANIZATIONINVITERESPONSE']._serialized_start = 5600 - _globals['_RESENDORGANIZATIONINVITERESPONSE']._serialized_end = 5691 - _globals['_DELETEORGANIZATIONMEMBERREQUEST']._serialized_start = 5693 - _globals['_DELETEORGANIZATIONMEMBERREQUEST']._serialized_end = 5792 - _globals['_DELETEORGANIZATIONMEMBERRESPONSE']._serialized_start = 5794 - _globals['_DELETEORGANIZATIONMEMBERRESPONSE']._serialized_end = 5828 - _globals['_BILLINGADDRESS']._serialized_start = 5831 - _globals['_BILLINGADDRESS']._serialized_end = 6041 - _globals['_ENABLEBILLINGSERVICEREQUEST']._serialized_start = 6043 - _globals['_ENABLEBILLINGSERVICEREQUEST']._serialized_end = 6165 - _globals['_ENABLEBILLINGSERVICERESPONSE']._serialized_start = 6167 - _globals['_ENABLEBILLINGSERVICERESPONSE']._serialized_end = 6197 - _globals['_UPDATEBILLINGSERVICEREQUEST']._serialized_start = 6199 - _globals['_UPDATEBILLINGSERVICEREQUEST']._serialized_end = 6321 - _globals['_UPDATEBILLINGSERVICERESPONSE']._serialized_start = 6323 - _globals['_UPDATEBILLINGSERVICERESPONSE']._serialized_end = 6353 - _globals['_GETBILLINGSERVICECONFIGREQUEST']._serialized_start = 6355 - _globals['_GETBILLINGSERVICECONFIGREQUEST']._serialized_end = 6410 - _globals['_GETBILLINGSERVICECONFIGRESPONSE']._serialized_start = 6413 - _globals['_GETBILLINGSERVICECONFIGRESPONSE']._serialized_end = 6632 - _globals['_DISABLEBILLINGSERVICEREQUEST']._serialized_start = 6634 - _globals['_DISABLEBILLINGSERVICEREQUEST']._serialized_end = 6687 - _globals['_DISABLEBILLINGSERVICERESPONSE']._serialized_start = 6689 - _globals['_DISABLEBILLINGSERVICERESPONSE']._serialized_end = 6720 - _globals['_ORGANIZATIONSETSUPPORTEMAILREQUEST']._serialized_start = 6722 - _globals['_ORGANIZATIONSETSUPPORTEMAILREQUEST']._serialized_end = 6803 - _globals['_ORGANIZATIONSETSUPPORTEMAILRESPONSE']._serialized_start = 6805 - _globals['_ORGANIZATIONSETSUPPORTEMAILRESPONSE']._serialized_end = 6842 - _globals['_ORGANIZATIONGETSUPPORTEMAILREQUEST']._serialized_start = 6844 - _globals['_ORGANIZATIONGETSUPPORTEMAILREQUEST']._serialized_end = 6903 - _globals['_ORGANIZATIONGETSUPPORTEMAILRESPONSE']._serialized_start = 6905 - _globals['_ORGANIZATIONGETSUPPORTEMAILRESPONSE']._serialized_end = 6964 - _globals['_ORGANIZATIONIDENTITY']._serialized_start = 6966 - _globals['_ORGANIZATIONIDENTITY']._serialized_end = 7024 - _globals['_LOCATIONORGANIZATION']._serialized_start = 7026 - _globals['_LOCATIONORGANIZATION']._serialized_end = 7115 - _globals['_LOCATIONAUTH']._serialized_start = 7118 - _globals['_LOCATIONAUTH']._serialized_end = 7246 - _globals['_STORAGECONFIG']._serialized_start = 7248 - _globals['_STORAGECONFIG']._serialized_end = 7287 - _globals['_LOCATION']._serialized_start = 7290 - _globals['_LOCATION']._serialized_end = 7761 - _globals['_SHAREDSECRET']._serialized_start = 7764 - _globals['_SHAREDSECRET']._serialized_end = 8100 - _globals['_SHAREDSECRET_STATE']._serialized_start = 8031 - _globals['_SHAREDSECRET_STATE']._serialized_end = 8100 - _globals['_CREATELOCATIONREQUEST']._serialized_start = 8103 - _globals['_CREATELOCATIONREQUEST']._serialized_end = 8261 - _globals['_CREATELOCATIONRESPONSE']._serialized_start = 8263 - _globals['_CREATELOCATIONRESPONSE']._serialized_end = 8338 - _globals['_GETLOCATIONREQUEST']._serialized_start = 8340 - _globals['_GETLOCATIONREQUEST']._serialized_end = 8393 - _globals['_GETLOCATIONRESPONSE']._serialized_start = 8395 - _globals['_GETLOCATIONRESPONSE']._serialized_end = 8467 - _globals['_UPDATELOCATIONREQUEST']._serialized_start = 8470 - _globals['_UPDATELOCATIONREQUEST']._serialized_end = 8674 - _globals['_UPDATELOCATIONRESPONSE']._serialized_start = 8676 - _globals['_UPDATELOCATIONRESPONSE']._serialized_end = 8751 - _globals['_DELETELOCATIONREQUEST']._serialized_start = 8753 - _globals['_DELETELOCATIONREQUEST']._serialized_end = 8809 - _globals['_DELETELOCATIONRESPONSE']._serialized_start = 8811 - _globals['_DELETELOCATIONRESPONSE']._serialized_end = 8835 - _globals['_GETLOCATIONMETADATAREQUEST']._serialized_start = 8837 - _globals['_GETLOCATIONMETADATAREQUEST']._serialized_end = 8898 - _globals['_GETLOCATIONMETADATARESPONSE']._serialized_start = 8900 - _globals['_GETLOCATIONMETADATARESPONSE']._serialized_end = 8974 - _globals['_UPDATELOCATIONMETADATAREQUEST']._serialized_start = 8976 - _globals['_UPDATELOCATIONMETADATAREQUEST']._serialized_end = 9085 - _globals['_UPDATELOCATIONMETADATARESPONSE']._serialized_start = 9087 - _globals['_UPDATELOCATIONMETADATARESPONSE']._serialized_end = 9119 - _globals['_GETORGANIZATIONSWITHACCESSTOLOCATIONREQUEST']._serialized_start = 9121 - _globals['_GETORGANIZATIONSWITHACCESSTOLOCATIONREQUEST']._serialized_end = 9199 - _globals['_GETORGANIZATIONSWITHACCESSTOLOCATIONRESPONSE']._serialized_start = 9202 - _globals['_GETORGANIZATIONSWITHACCESSTOLOCATIONRESPONSE']._serialized_end = 9340 - _globals['_LISTLOCATIONSREQUEST']._serialized_start = 9342 - _globals['_LISTLOCATIONSREQUEST']._serialized_end = 9405 - _globals['_SHARELOCATIONREQUEST']._serialized_start = 9407 - _globals['_SHARELOCATIONREQUEST']._serialized_end = 9503 - _globals['_SHARELOCATIONRESPONSE']._serialized_start = 9505 - _globals['_SHARELOCATIONRESPONSE']._serialized_end = 9528 - _globals['_UNSHARELOCATIONREQUEST']._serialized_start = 9530 - _globals['_UNSHARELOCATIONREQUEST']._serialized_end = 9628 - _globals['_UNSHARELOCATIONRESPONSE']._serialized_start = 9630 - _globals['_UNSHARELOCATIONRESPONSE']._serialized_end = 9655 - _globals['_LISTLOCATIONSRESPONSE']._serialized_start = 9657 - _globals['_LISTLOCATIONSRESPONSE']._serialized_end = 9733 - _globals['_CREATELOCATIONSECRETREQUEST']._serialized_start = 9735 - _globals['_CREATELOCATIONSECRETREQUEST']._serialized_end = 9797 - _globals['_CREATELOCATIONSECRETRESPONSE']._serialized_start = 9799 - _globals['_CREATELOCATIONSECRETRESPONSE']._serialized_end = 9876 - _globals['_DELETELOCATIONSECRETREQUEST']._serialized_start = 9878 - _globals['_DELETELOCATIONSECRETREQUEST']._serialized_end = 9969 - _globals['_DELETELOCATIONSECRETRESPONSE']._serialized_start = 9971 - _globals['_DELETELOCATIONSECRETRESPONSE']._serialized_end = 10001 - _globals['_LOCATIONAUTHREQUEST']._serialized_start = 10003 - _globals['_LOCATIONAUTHREQUEST']._serialized_end = 10057 - _globals['_LOCATIONAUTHRESPONSE']._serialized_start = 10059 - _globals['_LOCATIONAUTHRESPONSE']._serialized_end = 10128 - _globals['_GETROBOTREQUEST']._serialized_start = 10130 - _globals['_GETROBOTREQUEST']._serialized_end = 10163 - _globals['_GETROVERRENTALROBOTSREQUEST']._serialized_start = 10165 - _globals['_GETROVERRENTALROBOTSREQUEST']._serialized_end = 10217 - _globals['_ROVERRENTALROBOT']._serialized_start = 10220 - _globals['_ROVERRENTALROBOT']._serialized_end = 10374 - _globals['_GETROVERRENTALROBOTSRESPONSE']._serialized_start = 10376 - _globals['_GETROVERRENTALROBOTSRESPONSE']._serialized_end = 10461 - _globals['_GETROBOTRESPONSE']._serialized_start = 10463 - _globals['_GETROBOTRESPONSE']._serialized_end = 10523 - _globals['_GETROBOTPARTSREQUEST']._serialized_start = 10525 - _globals['_GETROBOTPARTSREQUEST']._serialized_end = 10574 - _globals['_GETROBOTPARTSRESPONSE']._serialized_start = 10576 - _globals['_GETROBOTPARTSRESPONSE']._serialized_end = 10645 - _globals['_GETROBOTPARTREQUEST']._serialized_start = 10647 - _globals['_GETROBOTPARTREQUEST']._serialized_end = 10684 - _globals['_GETROBOTPARTRESPONSE']._serialized_start = 10686 - _globals['_GETROBOTPARTRESPONSE']._serialized_end = 10785 - _globals['_GETROBOTPARTLOGSREQUEST']._serialized_start = 10788 - _globals['_GETROBOTPARTLOGSREQUEST']._serialized_end = 11182 - _globals['_GETROBOTPARTLOGSRESPONSE']._serialized_start = 11184 - _globals['_GETROBOTPARTLOGSRESPONSE']._serialized_end = 11296 - _globals['_TAILROBOTPARTLOGSREQUEST']._serialized_start = 11298 - _globals['_TAILROBOTPARTLOGSREQUEST']._serialized_end = 11413 - _globals['_TAILROBOTPARTLOGSRESPONSE']._serialized_start = 11415 - _globals['_TAILROBOTPARTLOGSRESPONSE']._serialized_end = 11488 - _globals['_GETROBOTPARTHISTORYREQUEST']._serialized_start = 11490 - _globals['_GETROBOTPARTHISTORYREQUEST']._serialized_end = 11534 - _globals['_GETROBOTPARTHISTORYRESPONSE']._serialized_start = 11536 - _globals['_GETROBOTPARTHISTORYRESPONSE']._serialized_end = 11627 - _globals['_UPDATEROBOTPARTREQUEST']._serialized_start = 11630 - _globals['_UPDATEROBOTPARTREQUEST']._serialized_end = 11849 - _globals['_UPDATEROBOTPARTRESPONSE']._serialized_start = 11851 - _globals['_UPDATEROBOTPARTRESPONSE']._serialized_end = 11920 - _globals['_NEWROBOTPARTREQUEST']._serialized_start = 11922 - _globals['_NEWROBOTPARTREQUEST']._serialized_end = 11999 - _globals['_NEWROBOTPARTRESPONSE']._serialized_start = 12001 - _globals['_NEWROBOTPARTRESPONSE']._serialized_end = 12048 - _globals['_DELETEROBOTPARTREQUEST']._serialized_start = 12050 - _globals['_DELETEROBOTPARTREQUEST']._serialized_end = 12099 - _globals['_GETROBOTPARTMETADATAREQUEST']._serialized_start = 12101 - _globals['_GETROBOTPARTMETADATAREQUEST']._serialized_end = 12146 - _globals['_GETROBOTPARTMETADATARESPONSE']._serialized_start = 12148 - _globals['_GETROBOTPARTMETADATARESPONSE']._serialized_end = 12223 - _globals['_UPDATEROBOTPARTMETADATAREQUEST']._serialized_start = 12225 - _globals['_UPDATEROBOTPARTMETADATAREQUEST']._serialized_end = 12318 - _globals['_UPDATEROBOTPARTMETADATARESPONSE']._serialized_start = 12320 - _globals['_UPDATEROBOTPARTMETADATARESPONSE']._serialized_end = 12353 - _globals['_GETROBOTAPIKEYSREQUEST']._serialized_start = 12355 - _globals['_GETROBOTAPIKEYSREQUEST']._serialized_end = 12406 - _globals['_APIKEY']._serialized_start = 12408 - _globals['_APIKEY']._serialized_end = 12529 - _globals['_GETROBOTAPIKEYSRESPONSE']._serialized_start = 12531 - _globals['_GETROBOTAPIKEYSRESPONSE']._serialized_end = 12622 - _globals['_DELETEROBOTPARTRESPONSE']._serialized_start = 12624 - _globals['_DELETEROBOTPARTRESPONSE']._serialized_end = 12649 - _globals['_FRAGMENT']._serialized_start = 12652 - _globals['_FRAGMENT']._serialized_end = 13453 - _globals['_FRAGMENTHISTORYENTRY']._serialized_start = 13456 - _globals['_FRAGMENTHISTORYENTRY']._serialized_end = 13960 - _globals['_FRAGMENTREVISION']._serialized_start = 13962 - _globals['_FRAGMENTREVISION']._serialized_end = 14067 - _globals['_FRAGMENTTAG']._serialized_start = 14069 - _globals['_FRAGMENTTAG']._serialized_end = 14128 - _globals['_FRAGMENTERROR']._serialized_start = 14131 - _globals['_FRAGMENTERROR']._serialized_end = 14266 - _globals['_FRAGMENTUSAGE']._serialized_start = 14269 - _globals['_FRAGMENTUSAGE']._serialized_end = 14481 - _globals['_RESOLVEDFRAGMENT']._serialized_start = 14484 - _globals['_RESOLVEDFRAGMENT']._serialized_end = 14679 - _globals['_LISTFRAGMENTSREQUEST']._serialized_start = 14682 - _globals['_LISTFRAGMENTSREQUEST']._serialized_end = 14860 - _globals['_LISTFRAGMENTSRESPONSE']._serialized_start = 14863 - _globals['_LISTFRAGMENTSRESPONSE']._serialized_end = 15008 - _globals['_GETFRAGMENTREQUEST']._serialized_start = 15011 - _globals['_GETFRAGMENTREQUEST']._serialized_end = 15146 - _globals['_GETFRAGMENTRESPONSE']._serialized_start = 15149 - _globals['_GETFRAGMENTRESPONSE']._serialized_end = 15395 - _globals['_CREATEFRAGMENTREQUEST']._serialized_start = 15398 - _globals['_CREATEFRAGMENTREQUEST']._serialized_end = 15616 - _globals['_CREATEFRAGMENTRESPONSE']._serialized_start = 15618 - _globals['_CREATEFRAGMENTRESPONSE']._serialized_end = 15693 - _globals['_UPDATEFRAGMENTREQUEST']._serialized_start = 15696 - _globals['_UPDATEFRAGMENTREQUEST']._serialized_end = 16028 - _globals['_UPDATEFRAGMENTRESPONSE']._serialized_start = 16030 - _globals['_UPDATEFRAGMENTRESPONSE']._serialized_end = 16105 - _globals['_DELETEFRAGMENTREQUEST']._serialized_start = 16107 - _globals['_DELETEFRAGMENTREQUEST']._serialized_end = 16146 - _globals['_DELETEFRAGMENTRESPONSE']._serialized_start = 16148 - _globals['_DELETEFRAGMENTRESPONSE']._serialized_end = 16172 - _globals['_GETFRAGMENTHISTORYREQUEST']._serialized_start = 16175 - _globals['_GETFRAGMENTHISTORYREQUEST']._serialized_end = 16320 - _globals['_GETFRAGMENTHISTORYRESPONSE']._serialized_start = 16323 - _globals['_GETFRAGMENTHISTORYRESPONSE']._serialized_end = 16452 - _globals['_GETFRAGMENTUSAGEREQUEST']._serialized_start = 16454 - _globals['_GETFRAGMENTUSAGEREQUEST']._serialized_end = 16512 - _globals['_GETFRAGMENTUSAGERESPONSE']._serialized_start = 16514 - _globals['_GETFRAGMENTUSAGERESPONSE']._serialized_end = 16607 - _globals['_SETFRAGMENTTAGREQUEST']._serialized_start = 16609 - _globals['_SETFRAGMENTTAGREQUEST']._serialized_end = 16711 - _globals['_SETFRAGMENTTAGRESPONSE']._serialized_start = 16713 - _globals['_SETFRAGMENTTAGRESPONSE']._serialized_end = 16783 - _globals['_DELETEFRAGMENTTAGREQUEST']._serialized_start = 16785 - _globals['_DELETEFRAGMENTTAGREQUEST']._serialized_end = 16862 - _globals['_DELETEFRAGMENTTAGRESPONSE']._serialized_start = 16864 - _globals['_DELETEFRAGMENTTAGRESPONSE']._serialized_end = 16937 - _globals['_LISTROBOTSREQUEST']._serialized_start = 16939 - _globals['_LISTROBOTSREQUEST']._serialized_end = 16991 - _globals['_ADDITIONALFRAGMENT']._serialized_start = 16993 - _globals['_ADDITIONALFRAGMENT']._serialized_end = 17089 - _globals['_LISTNESTEDFRAGMENTSREQUEST']._serialized_start = 17092 - _globals['_LISTNESTEDFRAGMENTSREQUEST']._serialized_end = 17258 - _globals['_LISTNESTEDFRAGMENTSRESPONSE']._serialized_start = 17261 - _globals['_LISTNESTEDFRAGMENTSRESPONSE']._serialized_end = 17421 - _globals['_LISTMACHINEFRAGMENTSREQUEST']._serialized_start = 17424 - _globals['_LISTMACHINEFRAGMENTSREQUEST']._serialized_end = 17624 - _globals['_LISTMACHINEFRAGMENTSRESPONSE']._serialized_start = 17627 - _globals['_LISTMACHINEFRAGMENTSRESPONSE']._serialized_end = 17788 - _globals['_LISTMACHINESUMMARIESREQUEST']._serialized_start = 17790 - _globals['_LISTMACHINESUMMARIESREQUEST']._serialized_end = 17860 - _globals['_LISTMACHINESUMMARIESRESPONSE']._serialized_start = 17862 - _globals['_LISTMACHINESUMMARIESRESPONSE']._serialized_end = 17969 - _globals['_LOCATIONSUMMARY']._serialized_start = 17972 - _globals['_LOCATIONSUMMARY']._serialized_end = 18133 - _globals['_MACHINESUMMARY']._serialized_start = 18136 - _globals['_MACHINESUMMARY']._serialized_end = 18283 - _globals['_FRAGMENTSUMMARY']._serialized_start = 18285 - _globals['_FRAGMENTSUMMARY']._serialized_end = 18344 - _globals['_VIAMSERVERVERSION']._serialized_start = 18346 - _globals['_VIAMSERVERVERSION']._serialized_end = 18424 - _globals['_VIAMAGENTVERSION']._serialized_start = 18426 - _globals['_VIAMAGENTVERSION']._serialized_end = 18503 - _globals['_PARTSUMMARY']._serialized_start = 18506 - _globals['_PARTSUMMARY']._serialized_end = 19074 - _globals['_LISTROBOTSRESPONSE']._serialized_start = 19076 - _globals['_LISTROBOTSRESPONSE']._serialized_end = 19140 - _globals['_NEWROBOTREQUEST']._serialized_start = 19142 - _globals['_NEWROBOTREQUEST']._serialized_end = 19207 - _globals['_NEWROBOTRESPONSE']._serialized_start = 19209 - _globals['_NEWROBOTRESPONSE']._serialized_end = 19243 - _globals['_UPDATEROBOTREQUEST']._serialized_start = 19245 - _globals['_UPDATEROBOTREQUEST']._serialized_end = 19329 - _globals['_UPDATEROBOTRESPONSE']._serialized_start = 19331 - _globals['_UPDATEROBOTRESPONSE']._serialized_end = 19394 - _globals['_DELETEROBOTREQUEST']._serialized_start = 19396 - _globals['_DELETEROBOTREQUEST']._serialized_end = 19432 - _globals['_DELETEROBOTRESPONSE']._serialized_start = 19434 - _globals['_DELETEROBOTRESPONSE']._serialized_end = 19455 - _globals['_GETROBOTMETADATAREQUEST']._serialized_start = 19457 - _globals['_GETROBOTMETADATAREQUEST']._serialized_end = 19498 - _globals['_GETROBOTMETADATARESPONSE']._serialized_start = 19500 - _globals['_GETROBOTMETADATARESPONSE']._serialized_end = 19571 - _globals['_UPDATEROBOTMETADATAREQUEST']._serialized_start = 19573 - _globals['_UPDATEROBOTMETADATAREQUEST']._serialized_end = 19662 - _globals['_UPDATEROBOTMETADATARESPONSE']._serialized_start = 19664 - _globals['_UPDATEROBOTMETADATARESPONSE']._serialized_end = 19693 - _globals['_MARKPARTASMAINREQUEST']._serialized_start = 19695 - _globals['_MARKPARTASMAINREQUEST']._serialized_end = 19743 - _globals['_MARKPARTASMAINRESPONSE']._serialized_start = 19745 - _globals['_MARKPARTASMAINRESPONSE']._serialized_end = 19769 - _globals['_MARKPARTFORRESTARTREQUEST']._serialized_start = 19771 - _globals['_MARKPARTFORRESTARTREQUEST']._serialized_end = 19823 - _globals['_MARKPARTFORRESTARTRESPONSE']._serialized_start = 19825 - _globals['_MARKPARTFORRESTARTRESPONSE']._serialized_end = 19853 - _globals['_CREATEROBOTPARTSECRETREQUEST']._serialized_start = 19855 - _globals['_CREATEROBOTPARTSECRETREQUEST']._serialized_end = 19910 - _globals['_CREATEROBOTPARTSECRETRESPONSE']._serialized_start = 19912 - _globals['_CREATEROBOTPARTSECRETRESPONSE']._serialized_end = 19987 - _globals['_DELETEROBOTPARTSECRETREQUEST']._serialized_start = 19989 - _globals['_DELETEROBOTPARTSECRETREQUEST']._serialized_end = 20073 - _globals['_DELETEROBOTPARTSECRETRESPONSE']._serialized_start = 20075 - _globals['_DELETEROBOTPARTSECRETRESPONSE']._serialized_end = 20106 - _globals['_AUTHORIZATION']._serialized_start = 20109 - _globals['_AUTHORIZATION']._serialized_end = 20395 - _globals['_ADDROLEREQUEST']._serialized_start = 20397 - _globals['_ADDROLEREQUEST']._serialized_end = 20479 - _globals['_ADDROLERESPONSE']._serialized_start = 20481 - _globals['_ADDROLERESPONSE']._serialized_end = 20498 - _globals['_REMOVEROLEREQUEST']._serialized_start = 20500 - _globals['_REMOVEROLEREQUEST']._serialized_end = 20585 - _globals['_REMOVEROLERESPONSE']._serialized_start = 20587 - _globals['_REMOVEROLERESPONSE']._serialized_end = 20607 - _globals['_CHANGEROLEREQUEST']._serialized_start = 20610 - _globals['_CHANGEROLEREQUEST']._serialized_end = 20775 - _globals['_CHANGEROLERESPONSE']._serialized_start = 20777 - _globals['_CHANGEROLERESPONSE']._serialized_end = 20797 - _globals['_LISTAUTHORIZATIONSREQUEST']._serialized_start = 20799 - _globals['_LISTAUTHORIZATIONSREQUEST']._serialized_end = 20902 - _globals['_LISTAUTHORIZATIONSRESPONSE']._serialized_start = 20904 - _globals['_LISTAUTHORIZATIONSRESPONSE']._serialized_end = 21000 - _globals['_CHECKPERMISSIONSREQUEST']._serialized_start = 21002 - _globals['_CHECKPERMISSIONSREQUEST']._serialized_end = 21097 - _globals['_AUTHORIZEDPERMISSIONS']._serialized_start = 21099 - _globals['_AUTHORIZEDPERMISSIONS']._serialized_end = 21226 - _globals['_CHECKPERMISSIONSRESPONSE']._serialized_start = 21228 - _globals['_CHECKPERMISSIONSRESPONSE']._serialized_end = 21345 - _globals['_MODULEVERSION']._serialized_start = 21348 - _globals['_MODULEVERSION']._serialized_end = 21676 - _globals['_MODULEMETADATA']._serialized_start = 21679 - _globals['_MODULEMETADATA']._serialized_end = 21994 - _globals['_MLMODELMETADATA']._serialized_start = 21997 - _globals['_MLMODELMETADATA']._serialized_end = 22189 - _globals['_MLTRAININGVERSION']._serialized_start = 22191 - _globals['_MLTRAININGVERSION']._serialized_end = 22295 - _globals['_MLTRAININGMETADATA']._serialized_start = 22298 - _globals['_MLTRAININGMETADATA']._serialized_end = 22553 - _globals['_REGISTRYITEM']._serialized_start = 22556 - _globals['_REGISTRYITEM']._serialized_end = 23464 - _globals['_GETREGISTRYITEMREQUEST']._serialized_start = 23467 - _globals['_GETREGISTRYITEMREQUEST']._serialized_end = 23626 - _globals['_GETREGISTRYITEMRESPONSE']._serialized_start = 23628 - _globals['_GETREGISTRYITEMRESPONSE']._serialized_end = 23700 - _globals['_CREATEREGISTRYITEMREQUEST']._serialized_start = 23703 - _globals['_CREATEREGISTRYITEMREQUEST']._serialized_end = 23846 - _globals['_CREATEREGISTRYITEMRESPONSE']._serialized_start = 23848 - _globals['_CREATEREGISTRYITEMRESPONSE']._serialized_end = 23876 - _globals['_UPDATEREGISTRYITEMREQUEST']._serialized_start = 23879 - _globals['_UPDATEREGISTRYITEMREQUEST']._serialized_end = 24491 - _globals['_UPDATEREGISTRYITEMRESPONSE']._serialized_start = 24493 - _globals['_UPDATEREGISTRYITEMRESPONSE']._serialized_end = 24521 - _globals['_LISTREGISTRYITEMSREQUEST']._serialized_start = 24524 - _globals['_LISTREGISTRYITEMSREQUEST']._serialized_end = 25085 - _globals['_LISTREGISTRYITEMSRESPONSE']._serialized_start = 25087 - _globals['_LISTREGISTRYITEMSRESPONSE']._serialized_end = 25163 - _globals['_DELETEREGISTRYITEMREQUEST']._serialized_start = 25165 - _globals['_DELETEREGISTRYITEMREQUEST']._serialized_end = 25217 - _globals['_DELETEREGISTRYITEMRESPONSE']._serialized_start = 25219 - _globals['_DELETEREGISTRYITEMRESPONSE']._serialized_end = 25247 - _globals['_RENAMEREGISTRYITEMREQUEST']._serialized_start = 25249 - _globals['_RENAMEREGISTRYITEMREQUEST']._serialized_end = 25328 - _globals['_RENAMEREGISTRYITEMRESPONSE']._serialized_start = 25330 - _globals['_RENAMEREGISTRYITEMRESPONSE']._serialized_end = 25405 - _globals['_TRANSFERREGISTRYITEMREQUEST']._serialized_start = 25407 - _globals['_TRANSFERREGISTRYITEMREQUEST']._serialized_end = 25511 - _globals['_TRANSFERREGISTRYITEMRESPONSE']._serialized_start = 25513 - _globals['_TRANSFERREGISTRYITEMRESPONSE']._serialized_end = 25543 - _globals['_CREATEMODULEREQUEST']._serialized_start = 25545 - _globals['_CREATEMODULEREQUEST']._serialized_end = 25627 - _globals['_CREATEMODULERESPONSE']._serialized_start = 25629 - _globals['_CREATEMODULERESPONSE']._serialized_end = 25698 - _globals['_UPDATEMODULEREQUEST']._serialized_start = 25701 - _globals['_UPDATEMODULEREQUEST']._serialized_end = 26103 - _globals['_APP']._serialized_start = 26105 - _globals['_APP']._serialized_end = 26182 - _globals['_UPDATEMODULERESPONSE']._serialized_start = 26184 - _globals['_UPDATEMODULERESPONSE']._serialized_end = 26224 - _globals['_UPDATEMODULEMETADATA']._serialized_start = 26227 - _globals['_UPDATEMODULEMETADATA']._serialized_end = 26363 - _globals['_UPDATEMLMODELMETADATA']._serialized_start = 26366 - _globals['_UPDATEMLMODELMETADATA']._serialized_end = 26536 - _globals['_UPDATEMLTRAININGMETADATA']._serialized_start = 26539 - _globals['_UPDATEMLTRAININGMETADATA']._serialized_end = 26734 - _globals['_MODEL']._serialized_start = 26737 - _globals['_MODEL']._serialized_end = 26973 - _globals['_MODULEFILEINFO']._serialized_start = 26976 - _globals['_MODULEFILEINFO']._serialized_end = 27112 - _globals['_UPLOADMODULEFILEREQUEST']._serialized_start = 27115 - _globals['_UPLOADMODULEFILEREQUEST']._serialized_end = 27250 - _globals['_UPLOADMODULEFILERESPONSE']._serialized_start = 27252 - _globals['_UPLOADMODULEFILERESPONSE']._serialized_end = 27296 - _globals['_GETMODULEREQUEST']._serialized_start = 27299 - _globals['_GETMODULEREQUEST']._serialized_end = 27456 - _globals['_GETMODULERESPONSE']._serialized_start = 27458 - _globals['_GETMODULERESPONSE']._serialized_end = 27522 - _globals['_MODULE']._serialized_start = 27525 - _globals['_MODULE']._serialized_end = 28177 - _globals['_VERSIONHISTORY']._serialized_start = 28180 - _globals['_VERSIONHISTORY']._serialized_end = 28509 - _globals['_UPLOADS']._serialized_start = 28511 - _globals['_UPLOADS']._serialized_end = 28609 - _globals['_LISTMODULESREQUEST']._serialized_start = 28612 - _globals['_LISTMODULESREQUEST']._serialized_end = 28808 - _globals['_LISTMODULESRESPONSE']._serialized_start = 28810 - _globals['_LISTMODULESRESPONSE']._serialized_end = 28878 - _globals['_GETUSERIDBYEMAILREQUEST']._serialized_start = 28880 - _globals['_GETUSERIDBYEMAILREQUEST']._serialized_end = 28927 - _globals['_GETUSERIDBYEMAILRESPONSE']._serialized_start = 28929 - _globals['_GETUSERIDBYEMAILRESPONSE']._serialized_end = 28980 - _globals['_LISTORGANIZATIONSBYUSERREQUEST']._serialized_start = 28982 - _globals['_LISTORGANIZATIONSBYUSERREQUEST']._serialized_end = 29039 - _globals['_ORGDETAILS']._serialized_start = 29042 - _globals['_ORGDETAILS']._serialized_end = 29272 - _globals['_LISTORGANIZATIONSBYUSERRESPONSE']._serialized_start = 29274 - _globals['_LISTORGANIZATIONSBYUSERRESPONSE']._serialized_end = 29352 - _globals['_SEARCHORGANIZATIONSREQUEST']._serialized_start = 29355 - _globals['_SEARCHORGANIZATIONSREQUEST']._serialized_end = 29567 - _globals['_SEARCHORGANIZATIONSRESPONSE']._serialized_start = 29569 - _globals['_SEARCHORGANIZATIONSRESPONSE']._serialized_end = 29661 - _globals['_CREATEKEYREQUEST']._serialized_start = 29663 - _globals['_CREATEKEYREQUEST']._serialized_end = 29769 - _globals['_CREATEKEYRESPONSE']._serialized_start = 29771 - _globals['_CREATEKEYRESPONSE']._serialized_end = 29824 - _globals['_DELETEKEYREQUEST']._serialized_start = 29826 - _globals['_DELETEKEYREQUEST']._serialized_end = 29860 - _globals['_DELETEKEYRESPONSE']._serialized_start = 29862 - _globals['_DELETEKEYRESPONSE']._serialized_end = 29881 - _globals['_RENAMEKEYREQUEST']._serialized_start = 29883 - _globals['_RENAMEKEYREQUEST']._serialized_end = 29937 - _globals['_RENAMEKEYRESPONSE']._serialized_start = 29939 - _globals['_RENAMEKEYRESPONSE']._serialized_end = 29994 - _globals['_AUTHORIZATIONDETAILS']._serialized_start = 29997 - _globals['_AUTHORIZATIONDETAILS']._serialized_end = 30202 - _globals['_APIKEYWITHAUTHORIZATIONS']._serialized_start = 30205 - _globals['_APIKEYWITHAUTHORIZATIONS']._serialized_end = 30352 - _globals['_LISTKEYSREQUEST']._serialized_start = 30354 - _globals['_LISTKEYSREQUEST']._serialized_end = 30394 - _globals['_LISTKEYSRESPONSE']._serialized_start = 30396 - _globals['_LISTKEYSRESPONSE']._serialized_end = 30480 - _globals['_ROTATEKEYREQUEST']._serialized_start = 30482 - _globals['_ROTATEKEYREQUEST']._serialized_end = 30516 - _globals['_ROTATEKEYRESPONSE']._serialized_start = 30518 - _globals['_ROTATEKEYRESPONSE']._serialized_end = 30571 - _globals['_CREATEKEYFROMEXISTINGKEYAUTHORIZATIONSREQUEST']._serialized_start = 30573 - _globals['_CREATEKEYFROMEXISTINGKEYAUTHORIZATIONSREQUEST']._serialized_end = 30636 - _globals['_CREATEKEYFROMEXISTINGKEYAUTHORIZATIONSRESPONSE']._serialized_start = 30638 - _globals['_CREATEKEYFROMEXISTINGKEYAUTHORIZATIONSRESPONSE']._serialized_end = 30720 - _globals['_GETAPPCONTENTREQUEST']._serialized_start = 30722 - _globals['_GETAPPCONTENTREQUEST']._serialized_end = 30807 - _globals['_GETAPPCONTENTRESPONSE']._serialized_start = 30809 - _globals['_GETAPPCONTENTRESPONSE']._serialized_end = 30893 - _globals['_ORGANIZATIONSETLOGOREQUEST']._serialized_start = 30895 - _globals['_ORGANIZATIONSETLOGOREQUEST']._serialized_end = 30966 - _globals['_ORGANIZATIONSETLOGORESPONSE']._serialized_start = 30968 - _globals['_ORGANIZATIONSETLOGORESPONSE']._serialized_end = 30997 - _globals['_ORGANIZATIONGETLOGOREQUEST']._serialized_start = 30999 - _globals['_ORGANIZATIONGETLOGOREQUEST']._serialized_end = 31050 - _globals['_ORGANIZATIONGETLOGORESPONSE']._serialized_start = 31052 - _globals['_ORGANIZATIONGETLOGORESPONSE']._serialized_end = 31099 - _globals['_ENABLEAUTHSERVICEREQUEST']._serialized_start = 31101 - _globals['_ENABLEAUTHSERVICEREQUEST']._serialized_end = 31150 - _globals['_ENABLEAUTHSERVICERESPONSE']._serialized_start = 31152 - _globals['_ENABLEAUTHSERVICERESPONSE']._serialized_end = 31179 - _globals['_DISABLEAUTHSERVICEREQUEST']._serialized_start = 31181 - _globals['_DISABLEAUTHSERVICEREQUEST']._serialized_end = 31231 - _globals['_DISABLEAUTHSERVICERESPONSE']._serialized_start = 31233 - _globals['_DISABLEAUTHSERVICERESPONSE']._serialized_end = 31261 - _globals['_CREATEOAUTHAPPREQUEST']._serialized_start = 31264 - _globals['_CREATEOAUTHAPPREQUEST']._serialized_end = 31404 - _globals['_CREATEOAUTHAPPRESPONSE']._serialized_start = 31406 - _globals['_CREATEOAUTHAPPRESPONSE']._serialized_end = 31496 - _globals['_READOAUTHAPPREQUEST']._serialized_start = 31498 - _globals['_READOAUTHAPPREQUEST']._serialized_end = 31571 - _globals['_READOAUTHAPPRESPONSE']._serialized_start = 31574 - _globals['_READOAUTHAPPRESPONSE']._serialized_end = 31727 - _globals['_UPDATEOAUTHAPPREQUEST']._serialized_start = 31730 - _globals['_UPDATEOAUTHAPPREQUEST']._serialized_end = 31899 - _globals['_UPDATEOAUTHAPPRESPONSE']._serialized_start = 31901 - _globals['_UPDATEOAUTHAPPRESPONSE']._serialized_end = 31925 - _globals['_DELETEOAUTHAPPREQUEST']._serialized_start = 31927 - _globals['_DELETEOAUTHAPPREQUEST']._serialized_end = 32002 - _globals['_DELETEOAUTHAPPRESPONSE']._serialized_start = 32004 - _globals['_DELETEOAUTHAPPRESPONSE']._serialized_end = 32028 - _globals['_LISTOAUTHAPPSREQUEST']._serialized_start = 32030 - _globals['_LISTOAUTHAPPSREQUEST']._serialized_end = 32075 - _globals['_LISTOAUTHAPPSRESPONSE']._serialized_start = 32077 - _globals['_LISTOAUTHAPPSRESPONSE']._serialized_end = 32131 - _globals['_OAUTHCONFIG']._serialized_start = 32134 - _globals['_OAUTHCONFIG']._serialized_end = 32508 - _globals['_APPSERVICE']._serialized_start = 34019 - _globals['_APPSERVICE']._serialized_end = 44581 \ No newline at end of file + _globals['_RESENDORGANIZATIONINVITEREQUEST']._serialized_start = 5503 + _globals['_RESENDORGANIZATIONINVITEREQUEST']._serialized_end = 5670 + _globals['_RESENDORGANIZATIONINVITERESPONSE']._serialized_start = 5672 + _globals['_RESENDORGANIZATIONINVITERESPONSE']._serialized_end = 5763 + _globals['_DELETEORGANIZATIONMEMBERREQUEST']._serialized_start = 5765 + _globals['_DELETEORGANIZATIONMEMBERREQUEST']._serialized_end = 5864 + _globals['_DELETEORGANIZATIONMEMBERRESPONSE']._serialized_start = 5866 + _globals['_DELETEORGANIZATIONMEMBERRESPONSE']._serialized_end = 5900 + _globals['_BILLINGADDRESS']._serialized_start = 5903 + _globals['_BILLINGADDRESS']._serialized_end = 6113 + _globals['_ENABLEBILLINGSERVICEREQUEST']._serialized_start = 6115 + _globals['_ENABLEBILLINGSERVICEREQUEST']._serialized_end = 6237 + _globals['_ENABLEBILLINGSERVICERESPONSE']._serialized_start = 6239 + _globals['_ENABLEBILLINGSERVICERESPONSE']._serialized_end = 6269 + _globals['_UPDATEBILLINGSERVICEREQUEST']._serialized_start = 6271 + _globals['_UPDATEBILLINGSERVICEREQUEST']._serialized_end = 6393 + _globals['_UPDATEBILLINGSERVICERESPONSE']._serialized_start = 6395 + _globals['_UPDATEBILLINGSERVICERESPONSE']._serialized_end = 6425 + _globals['_GETBILLINGSERVICECONFIGREQUEST']._serialized_start = 6427 + _globals['_GETBILLINGSERVICECONFIGREQUEST']._serialized_end = 6482 + _globals['_GETBILLINGSERVICECONFIGRESPONSE']._serialized_start = 6485 + _globals['_GETBILLINGSERVICECONFIGRESPONSE']._serialized_end = 6704 + _globals['_DISABLEBILLINGSERVICEREQUEST']._serialized_start = 6706 + _globals['_DISABLEBILLINGSERVICEREQUEST']._serialized_end = 6759 + _globals['_DISABLEBILLINGSERVICERESPONSE']._serialized_start = 6761 + _globals['_DISABLEBILLINGSERVICERESPONSE']._serialized_end = 6792 + _globals['_ORGANIZATIONSETSUPPORTEMAILREQUEST']._serialized_start = 6794 + _globals['_ORGANIZATIONSETSUPPORTEMAILREQUEST']._serialized_end = 6875 + _globals['_ORGANIZATIONSETSUPPORTEMAILRESPONSE']._serialized_start = 6877 + _globals['_ORGANIZATIONSETSUPPORTEMAILRESPONSE']._serialized_end = 6914 + _globals['_ORGANIZATIONGETSUPPORTEMAILREQUEST']._serialized_start = 6916 + _globals['_ORGANIZATIONGETSUPPORTEMAILREQUEST']._serialized_end = 6975 + _globals['_ORGANIZATIONGETSUPPORTEMAILRESPONSE']._serialized_start = 6977 + _globals['_ORGANIZATIONGETSUPPORTEMAILRESPONSE']._serialized_end = 7036 + _globals['_ORGANIZATIONIDENTITY']._serialized_start = 7038 + _globals['_ORGANIZATIONIDENTITY']._serialized_end = 7096 + _globals['_LOCATIONORGANIZATION']._serialized_start = 7098 + _globals['_LOCATIONORGANIZATION']._serialized_end = 7187 + _globals['_LOCATIONAUTH']._serialized_start = 7190 + _globals['_LOCATIONAUTH']._serialized_end = 7318 + _globals['_STORAGECONFIG']._serialized_start = 7320 + _globals['_STORAGECONFIG']._serialized_end = 7359 + _globals['_LOCATION']._serialized_start = 7362 + _globals['_LOCATION']._serialized_end = 7833 + _globals['_SHAREDSECRET']._serialized_start = 7836 + _globals['_SHAREDSECRET']._serialized_end = 8172 + _globals['_SHAREDSECRET_STATE']._serialized_start = 8103 + _globals['_SHAREDSECRET_STATE']._serialized_end = 8172 + _globals['_CREATELOCATIONREQUEST']._serialized_start = 8175 + _globals['_CREATELOCATIONREQUEST']._serialized_end = 8333 + _globals['_CREATELOCATIONRESPONSE']._serialized_start = 8335 + _globals['_CREATELOCATIONRESPONSE']._serialized_end = 8410 + _globals['_GETLOCATIONREQUEST']._serialized_start = 8412 + _globals['_GETLOCATIONREQUEST']._serialized_end = 8465 + _globals['_GETLOCATIONRESPONSE']._serialized_start = 8467 + _globals['_GETLOCATIONRESPONSE']._serialized_end = 8539 + _globals['_UPDATELOCATIONREQUEST']._serialized_start = 8542 + _globals['_UPDATELOCATIONREQUEST']._serialized_end = 8746 + _globals['_UPDATELOCATIONRESPONSE']._serialized_start = 8748 + _globals['_UPDATELOCATIONRESPONSE']._serialized_end = 8823 + _globals['_DELETELOCATIONREQUEST']._serialized_start = 8825 + _globals['_DELETELOCATIONREQUEST']._serialized_end = 8881 + _globals['_DELETELOCATIONRESPONSE']._serialized_start = 8883 + _globals['_DELETELOCATIONRESPONSE']._serialized_end = 8907 + _globals['_GETLOCATIONMETADATAREQUEST']._serialized_start = 8909 + _globals['_GETLOCATIONMETADATAREQUEST']._serialized_end = 8970 + _globals['_GETLOCATIONMETADATARESPONSE']._serialized_start = 8972 + _globals['_GETLOCATIONMETADATARESPONSE']._serialized_end = 9046 + _globals['_UPDATELOCATIONMETADATAREQUEST']._serialized_start = 9048 + _globals['_UPDATELOCATIONMETADATAREQUEST']._serialized_end = 9157 + _globals['_UPDATELOCATIONMETADATARESPONSE']._serialized_start = 9159 + _globals['_UPDATELOCATIONMETADATARESPONSE']._serialized_end = 9191 + _globals['_GETORGANIZATIONSWITHACCESSTOLOCATIONREQUEST']._serialized_start = 9193 + _globals['_GETORGANIZATIONSWITHACCESSTOLOCATIONREQUEST']._serialized_end = 9271 + _globals['_GETORGANIZATIONSWITHACCESSTOLOCATIONRESPONSE']._serialized_start = 9274 + _globals['_GETORGANIZATIONSWITHACCESSTOLOCATIONRESPONSE']._serialized_end = 9412 + _globals['_LISTLOCATIONSREQUEST']._serialized_start = 9414 + _globals['_LISTLOCATIONSREQUEST']._serialized_end = 9477 + _globals['_SHARELOCATIONREQUEST']._serialized_start = 9479 + _globals['_SHARELOCATIONREQUEST']._serialized_end = 9575 + _globals['_SHARELOCATIONRESPONSE']._serialized_start = 9577 + _globals['_SHARELOCATIONRESPONSE']._serialized_end = 9600 + _globals['_UNSHARELOCATIONREQUEST']._serialized_start = 9602 + _globals['_UNSHARELOCATIONREQUEST']._serialized_end = 9700 + _globals['_UNSHARELOCATIONRESPONSE']._serialized_start = 9702 + _globals['_UNSHARELOCATIONRESPONSE']._serialized_end = 9727 + _globals['_LISTLOCATIONSRESPONSE']._serialized_start = 9729 + _globals['_LISTLOCATIONSRESPONSE']._serialized_end = 9805 + _globals['_CREATELOCATIONSECRETREQUEST']._serialized_start = 9807 + _globals['_CREATELOCATIONSECRETREQUEST']._serialized_end = 9869 + _globals['_CREATELOCATIONSECRETRESPONSE']._serialized_start = 9871 + _globals['_CREATELOCATIONSECRETRESPONSE']._serialized_end = 9948 + _globals['_DELETELOCATIONSECRETREQUEST']._serialized_start = 9950 + _globals['_DELETELOCATIONSECRETREQUEST']._serialized_end = 10041 + _globals['_DELETELOCATIONSECRETRESPONSE']._serialized_start = 10043 + _globals['_DELETELOCATIONSECRETRESPONSE']._serialized_end = 10073 + _globals['_LOCATIONAUTHREQUEST']._serialized_start = 10075 + _globals['_LOCATIONAUTHREQUEST']._serialized_end = 10129 + _globals['_LOCATIONAUTHRESPONSE']._serialized_start = 10131 + _globals['_LOCATIONAUTHRESPONSE']._serialized_end = 10200 + _globals['_GETROBOTREQUEST']._serialized_start = 10202 + _globals['_GETROBOTREQUEST']._serialized_end = 10235 + _globals['_GETROVERRENTALROBOTSREQUEST']._serialized_start = 10237 + _globals['_GETROVERRENTALROBOTSREQUEST']._serialized_end = 10289 + _globals['_ROVERRENTALROBOT']._serialized_start = 10292 + _globals['_ROVERRENTALROBOT']._serialized_end = 10446 + _globals['_GETROVERRENTALROBOTSRESPONSE']._serialized_start = 10448 + _globals['_GETROVERRENTALROBOTSRESPONSE']._serialized_end = 10533 + _globals['_GETROBOTRESPONSE']._serialized_start = 10535 + _globals['_GETROBOTRESPONSE']._serialized_end = 10595 + _globals['_GETROBOTPARTSREQUEST']._serialized_start = 10597 + _globals['_GETROBOTPARTSREQUEST']._serialized_end = 10646 + _globals['_GETROBOTPARTSRESPONSE']._serialized_start = 10648 + _globals['_GETROBOTPARTSRESPONSE']._serialized_end = 10717 + _globals['_GETROBOTPARTREQUEST']._serialized_start = 10719 + _globals['_GETROBOTPARTREQUEST']._serialized_end = 10756 + _globals['_GETROBOTPARTRESPONSE']._serialized_start = 10758 + _globals['_GETROBOTPARTRESPONSE']._serialized_end = 10857 + _globals['_GETROBOTPARTBYNAMEANDLOCATIONREQUEST']._serialized_start = 10859 + _globals['_GETROBOTPARTBYNAMEANDLOCATIONREQUEST']._serialized_end = 10950 + _globals['_GETROBOTPARTBYNAMEANDLOCATIONRESPONSE']._serialized_start = 10952 + _globals['_GETROBOTPARTBYNAMEANDLOCATIONRESPONSE']._serialized_end = 11035 + _globals['_GETROBOTPARTLOGSREQUEST']._serialized_start = 11038 + _globals['_GETROBOTPARTLOGSREQUEST']._serialized_end = 11432 + _globals['_GETROBOTPARTLOGSRESPONSE']._serialized_start = 11434 + _globals['_GETROBOTPARTLOGSRESPONSE']._serialized_end = 11546 + _globals['_TAILROBOTPARTLOGSREQUEST']._serialized_start = 11548 + _globals['_TAILROBOTPARTLOGSREQUEST']._serialized_end = 11663 + _globals['_TAILROBOTPARTLOGSRESPONSE']._serialized_start = 11665 + _globals['_TAILROBOTPARTLOGSRESPONSE']._serialized_end = 11738 + _globals['_GETROBOTPARTHISTORYREQUEST']._serialized_start = 11740 + _globals['_GETROBOTPARTHISTORYREQUEST']._serialized_end = 11784 + _globals['_GETROBOTPARTHISTORYRESPONSE']._serialized_start = 11786 + _globals['_GETROBOTPARTHISTORYRESPONSE']._serialized_end = 11877 + _globals['_UPDATEROBOTPARTREQUEST']._serialized_start = 11880 + _globals['_UPDATEROBOTPARTREQUEST']._serialized_end = 12099 + _globals['_UPDATEROBOTPARTRESPONSE']._serialized_start = 12101 + _globals['_UPDATEROBOTPARTRESPONSE']._serialized_end = 12170 + _globals['_NEWROBOTPARTREQUEST']._serialized_start = 12172 + _globals['_NEWROBOTPARTREQUEST']._serialized_end = 12249 + _globals['_NEWROBOTPARTRESPONSE']._serialized_start = 12251 + _globals['_NEWROBOTPARTRESPONSE']._serialized_end = 12298 + _globals['_DELETEROBOTPARTREQUEST']._serialized_start = 12300 + _globals['_DELETEROBOTPARTREQUEST']._serialized_end = 12349 + _globals['_GETROBOTPARTMETADATAREQUEST']._serialized_start = 12351 + _globals['_GETROBOTPARTMETADATAREQUEST']._serialized_end = 12396 + _globals['_GETROBOTPARTMETADATARESPONSE']._serialized_start = 12398 + _globals['_GETROBOTPARTMETADATARESPONSE']._serialized_end = 12473 + _globals['_UPDATEROBOTPARTMETADATAREQUEST']._serialized_start = 12475 + _globals['_UPDATEROBOTPARTMETADATAREQUEST']._serialized_end = 12568 + _globals['_UPDATEROBOTPARTMETADATARESPONSE']._serialized_start = 12570 + _globals['_UPDATEROBOTPARTMETADATARESPONSE']._serialized_end = 12603 + _globals['_GETROBOTAPIKEYSREQUEST']._serialized_start = 12605 + _globals['_GETROBOTAPIKEYSREQUEST']._serialized_end = 12656 + _globals['_APIKEY']._serialized_start = 12658 + _globals['_APIKEY']._serialized_end = 12779 + _globals['_GETROBOTAPIKEYSRESPONSE']._serialized_start = 12781 + _globals['_GETROBOTAPIKEYSRESPONSE']._serialized_end = 12872 + _globals['_DELETEROBOTPARTRESPONSE']._serialized_start = 12874 + _globals['_DELETEROBOTPARTRESPONSE']._serialized_end = 12899 + _globals['_FRAGMENT']._serialized_start = 12902 + _globals['_FRAGMENT']._serialized_end = 13703 + _globals['_FRAGMENTHISTORYENTRY']._serialized_start = 13706 + _globals['_FRAGMENTHISTORYENTRY']._serialized_end = 14210 + _globals['_FRAGMENTREVISION']._serialized_start = 14212 + _globals['_FRAGMENTREVISION']._serialized_end = 14317 + _globals['_FRAGMENTTAG']._serialized_start = 14319 + _globals['_FRAGMENTTAG']._serialized_end = 14378 + _globals['_FRAGMENTERROR']._serialized_start = 14381 + _globals['_FRAGMENTERROR']._serialized_end = 14516 + _globals['_FRAGMENTUSAGE']._serialized_start = 14519 + _globals['_FRAGMENTUSAGE']._serialized_end = 14731 + _globals['_RESOLVEDFRAGMENT']._serialized_start = 14734 + _globals['_RESOLVEDFRAGMENT']._serialized_end = 14929 + _globals['_LISTFRAGMENTSREQUEST']._serialized_start = 14932 + _globals['_LISTFRAGMENTSREQUEST']._serialized_end = 15110 + _globals['_LISTFRAGMENTSRESPONSE']._serialized_start = 15113 + _globals['_LISTFRAGMENTSRESPONSE']._serialized_end = 15258 + _globals['_GETFRAGMENTREQUEST']._serialized_start = 15261 + _globals['_GETFRAGMENTREQUEST']._serialized_end = 15396 + _globals['_GETFRAGMENTRESPONSE']._serialized_start = 15399 + _globals['_GETFRAGMENTRESPONSE']._serialized_end = 15645 + _globals['_CREATEFRAGMENTREQUEST']._serialized_start = 15648 + _globals['_CREATEFRAGMENTREQUEST']._serialized_end = 15866 + _globals['_CREATEFRAGMENTRESPONSE']._serialized_start = 15868 + _globals['_CREATEFRAGMENTRESPONSE']._serialized_end = 15943 + _globals['_UPDATEFRAGMENTREQUEST']._serialized_start = 15946 + _globals['_UPDATEFRAGMENTREQUEST']._serialized_end = 16278 + _globals['_UPDATEFRAGMENTRESPONSE']._serialized_start = 16280 + _globals['_UPDATEFRAGMENTRESPONSE']._serialized_end = 16355 + _globals['_DELETEFRAGMENTREQUEST']._serialized_start = 16357 + _globals['_DELETEFRAGMENTREQUEST']._serialized_end = 16396 + _globals['_DELETEFRAGMENTRESPONSE']._serialized_start = 16398 + _globals['_DELETEFRAGMENTRESPONSE']._serialized_end = 16422 + _globals['_GETFRAGMENTHISTORYREQUEST']._serialized_start = 16425 + _globals['_GETFRAGMENTHISTORYREQUEST']._serialized_end = 16570 + _globals['_GETFRAGMENTHISTORYRESPONSE']._serialized_start = 16573 + _globals['_GETFRAGMENTHISTORYRESPONSE']._serialized_end = 16702 + _globals['_GETFRAGMENTUSAGEREQUEST']._serialized_start = 16704 + _globals['_GETFRAGMENTUSAGEREQUEST']._serialized_end = 16762 + _globals['_GETFRAGMENTUSAGERESPONSE']._serialized_start = 16764 + _globals['_GETFRAGMENTUSAGERESPONSE']._serialized_end = 16857 + _globals['_SETFRAGMENTTAGREQUEST']._serialized_start = 16859 + _globals['_SETFRAGMENTTAGREQUEST']._serialized_end = 16961 + _globals['_SETFRAGMENTTAGRESPONSE']._serialized_start = 16963 + _globals['_SETFRAGMENTTAGRESPONSE']._serialized_end = 17033 + _globals['_DELETEFRAGMENTTAGREQUEST']._serialized_start = 17035 + _globals['_DELETEFRAGMENTTAGREQUEST']._serialized_end = 17112 + _globals['_DELETEFRAGMENTTAGRESPONSE']._serialized_start = 17114 + _globals['_DELETEFRAGMENTTAGRESPONSE']._serialized_end = 17187 + _globals['_LISTROBOTSREQUEST']._serialized_start = 17189 + _globals['_LISTROBOTSREQUEST']._serialized_end = 17241 + _globals['_ADDITIONALFRAGMENT']._serialized_start = 17243 + _globals['_ADDITIONALFRAGMENT']._serialized_end = 17339 + _globals['_LISTNESTEDFRAGMENTSREQUEST']._serialized_start = 17342 + _globals['_LISTNESTEDFRAGMENTSREQUEST']._serialized_end = 17508 + _globals['_LISTNESTEDFRAGMENTSRESPONSE']._serialized_start = 17511 + _globals['_LISTNESTEDFRAGMENTSRESPONSE']._serialized_end = 17671 + _globals['_LISTMACHINEFRAGMENTSREQUEST']._serialized_start = 17674 + _globals['_LISTMACHINEFRAGMENTSREQUEST']._serialized_end = 17874 + _globals['_LISTMACHINEFRAGMENTSRESPONSE']._serialized_start = 17877 + _globals['_LISTMACHINEFRAGMENTSRESPONSE']._serialized_end = 18038 + _globals['_LISTMACHINESUMMARIESREQUEST']._serialized_start = 18040 + _globals['_LISTMACHINESUMMARIESREQUEST']._serialized_end = 18145 + _globals['_LISTMACHINESUMMARIESRESPONSE']._serialized_start = 18147 + _globals['_LISTMACHINESUMMARIESRESPONSE']._serialized_end = 18254 + _globals['_LOCATIONSUMMARY']._serialized_start = 18257 + _globals['_LOCATIONSUMMARY']._serialized_end = 18418 + _globals['_MACHINESUMMARY']._serialized_start = 18421 + _globals['_MACHINESUMMARY']._serialized_end = 18568 + _globals['_FRAGMENTSUMMARY']._serialized_start = 18570 + _globals['_FRAGMENTSUMMARY']._serialized_end = 18629 + _globals['_VIAMSERVERVERSION']._serialized_start = 18631 + _globals['_VIAMSERVERVERSION']._serialized_end = 18709 + _globals['_VIAMAGENTVERSION']._serialized_start = 18711 + _globals['_VIAMAGENTVERSION']._serialized_end = 18788 + _globals['_PARTSUMMARY']._serialized_start = 18791 + _globals['_PARTSUMMARY']._serialized_end = 19359 + _globals['_LISTROBOTSRESPONSE']._serialized_start = 19361 + _globals['_LISTROBOTSRESPONSE']._serialized_end = 19425 + _globals['_NEWROBOTREQUEST']._serialized_start = 19427 + _globals['_NEWROBOTREQUEST']._serialized_end = 19492 + _globals['_NEWROBOTRESPONSE']._serialized_start = 19494 + _globals['_NEWROBOTRESPONSE']._serialized_end = 19528 + _globals['_UPDATEROBOTREQUEST']._serialized_start = 19530 + _globals['_UPDATEROBOTREQUEST']._serialized_end = 19614 + _globals['_UPDATEROBOTRESPONSE']._serialized_start = 19616 + _globals['_UPDATEROBOTRESPONSE']._serialized_end = 19679 + _globals['_DELETEROBOTREQUEST']._serialized_start = 19681 + _globals['_DELETEROBOTREQUEST']._serialized_end = 19717 + _globals['_DELETEROBOTRESPONSE']._serialized_start = 19719 + _globals['_DELETEROBOTRESPONSE']._serialized_end = 19740 + _globals['_GETROBOTMETADATAREQUEST']._serialized_start = 19742 + _globals['_GETROBOTMETADATAREQUEST']._serialized_end = 19783 + _globals['_GETROBOTMETADATARESPONSE']._serialized_start = 19785 + _globals['_GETROBOTMETADATARESPONSE']._serialized_end = 19856 + _globals['_UPDATEROBOTMETADATAREQUEST']._serialized_start = 19858 + _globals['_UPDATEROBOTMETADATAREQUEST']._serialized_end = 19947 + _globals['_UPDATEROBOTMETADATARESPONSE']._serialized_start = 19949 + _globals['_UPDATEROBOTMETADATARESPONSE']._serialized_end = 19978 + _globals['_MARKPARTASMAINREQUEST']._serialized_start = 19980 + _globals['_MARKPARTASMAINREQUEST']._serialized_end = 20028 + _globals['_MARKPARTASMAINRESPONSE']._serialized_start = 20030 + _globals['_MARKPARTASMAINRESPONSE']._serialized_end = 20054 + _globals['_MARKPARTFORRESTARTREQUEST']._serialized_start = 20056 + _globals['_MARKPARTFORRESTARTREQUEST']._serialized_end = 20108 + _globals['_MARKPARTFORRESTARTRESPONSE']._serialized_start = 20110 + _globals['_MARKPARTFORRESTARTRESPONSE']._serialized_end = 20138 + _globals['_CREATEROBOTPARTSECRETREQUEST']._serialized_start = 20140 + _globals['_CREATEROBOTPARTSECRETREQUEST']._serialized_end = 20195 + _globals['_CREATEROBOTPARTSECRETRESPONSE']._serialized_start = 20197 + _globals['_CREATEROBOTPARTSECRETRESPONSE']._serialized_end = 20272 + _globals['_DELETEROBOTPARTSECRETREQUEST']._serialized_start = 20274 + _globals['_DELETEROBOTPARTSECRETREQUEST']._serialized_end = 20358 + _globals['_DELETEROBOTPARTSECRETRESPONSE']._serialized_start = 20360 + _globals['_DELETEROBOTPARTSECRETRESPONSE']._serialized_end = 20391 + _globals['_AUTHORIZATION']._serialized_start = 20394 + _globals['_AUTHORIZATION']._serialized_end = 20680 + _globals['_ADDROLEREQUEST']._serialized_start = 20682 + _globals['_ADDROLEREQUEST']._serialized_end = 20764 + _globals['_ADDROLERESPONSE']._serialized_start = 20766 + _globals['_ADDROLERESPONSE']._serialized_end = 20783 + _globals['_REMOVEROLEREQUEST']._serialized_start = 20785 + _globals['_REMOVEROLEREQUEST']._serialized_end = 20870 + _globals['_REMOVEROLERESPONSE']._serialized_start = 20872 + _globals['_REMOVEROLERESPONSE']._serialized_end = 20892 + _globals['_CHANGEROLEREQUEST']._serialized_start = 20895 + _globals['_CHANGEROLEREQUEST']._serialized_end = 21060 + _globals['_CHANGEROLERESPONSE']._serialized_start = 21062 + _globals['_CHANGEROLERESPONSE']._serialized_end = 21082 + _globals['_LISTAUTHORIZATIONSREQUEST']._serialized_start = 21084 + _globals['_LISTAUTHORIZATIONSREQUEST']._serialized_end = 21187 + _globals['_LISTAUTHORIZATIONSRESPONSE']._serialized_start = 21189 + _globals['_LISTAUTHORIZATIONSRESPONSE']._serialized_end = 21285 + _globals['_CHECKPERMISSIONSREQUEST']._serialized_start = 21287 + _globals['_CHECKPERMISSIONSREQUEST']._serialized_end = 21382 + _globals['_AUTHORIZEDPERMISSIONS']._serialized_start = 21384 + _globals['_AUTHORIZEDPERMISSIONS']._serialized_end = 21511 + _globals['_CHECKPERMISSIONSRESPONSE']._serialized_start = 21513 + _globals['_CHECKPERMISSIONSRESPONSE']._serialized_end = 21630 + _globals['_MODULEVERSION']._serialized_start = 21633 + _globals['_MODULEVERSION']._serialized_end = 21961 + _globals['_MODULEMETADATA']._serialized_start = 21964 + _globals['_MODULEMETADATA']._serialized_end = 22279 + _globals['_MLMODELMETADATA']._serialized_start = 22282 + _globals['_MLMODELMETADATA']._serialized_end = 22474 + _globals['_MLTRAININGVERSION']._serialized_start = 22476 + _globals['_MLTRAININGVERSION']._serialized_end = 22580 + _globals['_MLTRAININGMETADATA']._serialized_start = 22583 + _globals['_MLTRAININGMETADATA']._serialized_end = 22838 + _globals['_REGISTRYITEM']._serialized_start = 22841 + _globals['_REGISTRYITEM']._serialized_end = 23749 + _globals['_GETREGISTRYITEMREQUEST']._serialized_start = 23752 + _globals['_GETREGISTRYITEMREQUEST']._serialized_end = 23911 + _globals['_GETREGISTRYITEMRESPONSE']._serialized_start = 23913 + _globals['_GETREGISTRYITEMRESPONSE']._serialized_end = 23985 + _globals['_CREATEREGISTRYITEMREQUEST']._serialized_start = 23988 + _globals['_CREATEREGISTRYITEMREQUEST']._serialized_end = 24131 + _globals['_CREATEREGISTRYITEMRESPONSE']._serialized_start = 24133 + _globals['_CREATEREGISTRYITEMRESPONSE']._serialized_end = 24161 + _globals['_UPDATEREGISTRYITEMREQUEST']._serialized_start = 24164 + _globals['_UPDATEREGISTRYITEMREQUEST']._serialized_end = 24776 + _globals['_UPDATEREGISTRYITEMRESPONSE']._serialized_start = 24778 + _globals['_UPDATEREGISTRYITEMRESPONSE']._serialized_end = 24806 + _globals['_LISTREGISTRYITEMSREQUEST']._serialized_start = 24809 + _globals['_LISTREGISTRYITEMSREQUEST']._serialized_end = 25370 + _globals['_LISTREGISTRYITEMSRESPONSE']._serialized_start = 25372 + _globals['_LISTREGISTRYITEMSRESPONSE']._serialized_end = 25448 + _globals['_DELETEREGISTRYITEMREQUEST']._serialized_start = 25450 + _globals['_DELETEREGISTRYITEMREQUEST']._serialized_end = 25502 + _globals['_DELETEREGISTRYITEMRESPONSE']._serialized_start = 25504 + _globals['_DELETEREGISTRYITEMRESPONSE']._serialized_end = 25532 + _globals['_RENAMEREGISTRYITEMREQUEST']._serialized_start = 25534 + _globals['_RENAMEREGISTRYITEMREQUEST']._serialized_end = 25613 + _globals['_RENAMEREGISTRYITEMRESPONSE']._serialized_start = 25615 + _globals['_RENAMEREGISTRYITEMRESPONSE']._serialized_end = 25690 + _globals['_TRANSFERREGISTRYITEMREQUEST']._serialized_start = 25692 + _globals['_TRANSFERREGISTRYITEMREQUEST']._serialized_end = 25796 + _globals['_TRANSFERREGISTRYITEMRESPONSE']._serialized_start = 25798 + _globals['_TRANSFERREGISTRYITEMRESPONSE']._serialized_end = 25828 + _globals['_CREATEMODULEREQUEST']._serialized_start = 25830 + _globals['_CREATEMODULEREQUEST']._serialized_end = 25912 + _globals['_CREATEMODULERESPONSE']._serialized_start = 25914 + _globals['_CREATEMODULERESPONSE']._serialized_end = 25983 + _globals['_UPDATEMODULEREQUEST']._serialized_start = 25986 + _globals['_UPDATEMODULEREQUEST']._serialized_end = 26388 + _globals['_APP']._serialized_start = 26390 + _globals['_APP']._serialized_end = 26467 + _globals['_UPDATEMODULERESPONSE']._serialized_start = 26469 + _globals['_UPDATEMODULERESPONSE']._serialized_end = 26509 + _globals['_UPDATEMODULEMETADATA']._serialized_start = 26512 + _globals['_UPDATEMODULEMETADATA']._serialized_end = 26648 + _globals['_UPDATEMLMODELMETADATA']._serialized_start = 26651 + _globals['_UPDATEMLMODELMETADATA']._serialized_end = 26821 + _globals['_UPDATEMLTRAININGMETADATA']._serialized_start = 26824 + _globals['_UPDATEMLTRAININGMETADATA']._serialized_end = 27019 + _globals['_MODEL']._serialized_start = 27022 + _globals['_MODEL']._serialized_end = 27258 + _globals['_MODULEFILEINFO']._serialized_start = 27261 + _globals['_MODULEFILEINFO']._serialized_end = 27397 + _globals['_UPLOADMODULEFILEREQUEST']._serialized_start = 27400 + _globals['_UPLOADMODULEFILEREQUEST']._serialized_end = 27535 + _globals['_UPLOADMODULEFILERESPONSE']._serialized_start = 27537 + _globals['_UPLOADMODULEFILERESPONSE']._serialized_end = 27581 + _globals['_GETMODULEREQUEST']._serialized_start = 27584 + _globals['_GETMODULEREQUEST']._serialized_end = 27741 + _globals['_GETMODULERESPONSE']._serialized_start = 27743 + _globals['_GETMODULERESPONSE']._serialized_end = 27807 + _globals['_MODULE']._serialized_start = 27810 + _globals['_MODULE']._serialized_end = 28462 + _globals['_VERSIONHISTORY']._serialized_start = 28465 + _globals['_VERSIONHISTORY']._serialized_end = 28794 + _globals['_UPLOADS']._serialized_start = 28796 + _globals['_UPLOADS']._serialized_end = 28894 + _globals['_LISTMODULESREQUEST']._serialized_start = 28897 + _globals['_LISTMODULESREQUEST']._serialized_end = 29093 + _globals['_LISTMODULESRESPONSE']._serialized_start = 29095 + _globals['_LISTMODULESRESPONSE']._serialized_end = 29163 + _globals['_GETUSERIDBYEMAILREQUEST']._serialized_start = 29165 + _globals['_GETUSERIDBYEMAILREQUEST']._serialized_end = 29212 + _globals['_GETUSERIDBYEMAILRESPONSE']._serialized_start = 29214 + _globals['_GETUSERIDBYEMAILRESPONSE']._serialized_end = 29265 + _globals['_LISTORGANIZATIONSBYUSERREQUEST']._serialized_start = 29267 + _globals['_LISTORGANIZATIONSBYUSERREQUEST']._serialized_end = 29324 + _globals['_ORGDETAILS']._serialized_start = 29327 + _globals['_ORGDETAILS']._serialized_end = 29557 + _globals['_LISTORGANIZATIONSBYUSERRESPONSE']._serialized_start = 29559 + _globals['_LISTORGANIZATIONSBYUSERRESPONSE']._serialized_end = 29637 + _globals['_SEARCHORGANIZATIONSREQUEST']._serialized_start = 29640 + _globals['_SEARCHORGANIZATIONSREQUEST']._serialized_end = 29852 + _globals['_SEARCHORGANIZATIONSRESPONSE']._serialized_start = 29854 + _globals['_SEARCHORGANIZATIONSRESPONSE']._serialized_end = 29946 + _globals['_CREATEKEYREQUEST']._serialized_start = 29948 + _globals['_CREATEKEYREQUEST']._serialized_end = 30054 + _globals['_CREATEKEYRESPONSE']._serialized_start = 30056 + _globals['_CREATEKEYRESPONSE']._serialized_end = 30109 + _globals['_DELETEKEYREQUEST']._serialized_start = 30111 + _globals['_DELETEKEYREQUEST']._serialized_end = 30145 + _globals['_DELETEKEYRESPONSE']._serialized_start = 30147 + _globals['_DELETEKEYRESPONSE']._serialized_end = 30166 + _globals['_RENAMEKEYREQUEST']._serialized_start = 30168 + _globals['_RENAMEKEYREQUEST']._serialized_end = 30222 + _globals['_RENAMEKEYRESPONSE']._serialized_start = 30224 + _globals['_RENAMEKEYRESPONSE']._serialized_end = 30279 + _globals['_AUTHORIZATIONDETAILS']._serialized_start = 30282 + _globals['_AUTHORIZATIONDETAILS']._serialized_end = 30487 + _globals['_APIKEYWITHAUTHORIZATIONS']._serialized_start = 30490 + _globals['_APIKEYWITHAUTHORIZATIONS']._serialized_end = 30637 + _globals['_LISTKEYSREQUEST']._serialized_start = 30639 + _globals['_LISTKEYSREQUEST']._serialized_end = 30679 + _globals['_LISTKEYSRESPONSE']._serialized_start = 30681 + _globals['_LISTKEYSRESPONSE']._serialized_end = 30765 + _globals['_ROTATEKEYREQUEST']._serialized_start = 30767 + _globals['_ROTATEKEYREQUEST']._serialized_end = 30801 + _globals['_ROTATEKEYRESPONSE']._serialized_start = 30803 + _globals['_ROTATEKEYRESPONSE']._serialized_end = 30856 + _globals['_CREATEKEYFROMEXISTINGKEYAUTHORIZATIONSREQUEST']._serialized_start = 30858 + _globals['_CREATEKEYFROMEXISTINGKEYAUTHORIZATIONSREQUEST']._serialized_end = 30921 + _globals['_CREATEKEYFROMEXISTINGKEYAUTHORIZATIONSRESPONSE']._serialized_start = 30923 + _globals['_CREATEKEYFROMEXISTINGKEYAUTHORIZATIONSRESPONSE']._serialized_end = 31005 + _globals['_GETAPPCONTENTREQUEST']._serialized_start = 31007 + _globals['_GETAPPCONTENTREQUEST']._serialized_end = 31092 + _globals['_GETAPPCONTENTRESPONSE']._serialized_start = 31094 + _globals['_GETAPPCONTENTRESPONSE']._serialized_end = 31178 + _globals['_ORGANIZATIONSETLOGOREQUEST']._serialized_start = 31180 + _globals['_ORGANIZATIONSETLOGOREQUEST']._serialized_end = 31251 + _globals['_ORGANIZATIONSETLOGORESPONSE']._serialized_start = 31253 + _globals['_ORGANIZATIONSETLOGORESPONSE']._serialized_end = 31282 + _globals['_ORGANIZATIONGETLOGOREQUEST']._serialized_start = 31284 + _globals['_ORGANIZATIONGETLOGOREQUEST']._serialized_end = 31335 + _globals['_ORGANIZATIONGETLOGORESPONSE']._serialized_start = 31337 + _globals['_ORGANIZATIONGETLOGORESPONSE']._serialized_end = 31384 + _globals['_ENABLEAUTHSERVICEREQUEST']._serialized_start = 31386 + _globals['_ENABLEAUTHSERVICEREQUEST']._serialized_end = 31435 + _globals['_ENABLEAUTHSERVICERESPONSE']._serialized_start = 31437 + _globals['_ENABLEAUTHSERVICERESPONSE']._serialized_end = 31464 + _globals['_DISABLEAUTHSERVICEREQUEST']._serialized_start = 31466 + _globals['_DISABLEAUTHSERVICEREQUEST']._serialized_end = 31516 + _globals['_DISABLEAUTHSERVICERESPONSE']._serialized_start = 31518 + _globals['_DISABLEAUTHSERVICERESPONSE']._serialized_end = 31546 + _globals['_CREATEOAUTHAPPREQUEST']._serialized_start = 31549 + _globals['_CREATEOAUTHAPPREQUEST']._serialized_end = 31689 + _globals['_CREATEOAUTHAPPRESPONSE']._serialized_start = 31691 + _globals['_CREATEOAUTHAPPRESPONSE']._serialized_end = 31781 + _globals['_READOAUTHAPPREQUEST']._serialized_start = 31783 + _globals['_READOAUTHAPPREQUEST']._serialized_end = 31856 + _globals['_READOAUTHAPPRESPONSE']._serialized_start = 31859 + _globals['_READOAUTHAPPRESPONSE']._serialized_end = 32012 + _globals['_UPDATEOAUTHAPPREQUEST']._serialized_start = 32015 + _globals['_UPDATEOAUTHAPPREQUEST']._serialized_end = 32184 + _globals['_UPDATEOAUTHAPPRESPONSE']._serialized_start = 32186 + _globals['_UPDATEOAUTHAPPRESPONSE']._serialized_end = 32210 + _globals['_DELETEOAUTHAPPREQUEST']._serialized_start = 32212 + _globals['_DELETEOAUTHAPPREQUEST']._serialized_end = 32287 + _globals['_DELETEOAUTHAPPRESPONSE']._serialized_start = 32289 + _globals['_DELETEOAUTHAPPRESPONSE']._serialized_end = 32313 + _globals['_LISTOAUTHAPPSREQUEST']._serialized_start = 32315 + _globals['_LISTOAUTHAPPSREQUEST']._serialized_end = 32360 + _globals['_LISTOAUTHAPPSRESPONSE']._serialized_start = 32362 + _globals['_LISTOAUTHAPPSRESPONSE']._serialized_end = 32416 + _globals['_OAUTHCONFIG']._serialized_start = 32419 + _globals['_OAUTHCONFIG']._serialized_end = 32793 + _globals['_APPSERVICE']._serialized_start = 34304 + _globals['_APPSERVICE']._serialized_end = 45003 \ No newline at end of file diff --git a/src/viam/gen/app/v1/app_pb2.pyi b/src/viam/gen/app/v1/app_pb2.pyi index 1c0bcd7fc..accb9d82a 100644 --- a/src/viam/gen/app/v1/app_pb2.pyi +++ b/src/viam/gen/app/v1/app_pb2.pyi @@ -886,13 +886,22 @@ class ResendOrganizationInviteRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor ORGANIZATION_ID_FIELD_NUMBER: builtins.int EMAIL_FIELD_NUMBER: builtins.int + SEND_EMAIL_INVITE_FIELD_NUMBER: builtins.int organization_id: builtins.str email: builtins.str + send_email_invite: builtins.bool + 'Set to true (the default) to send an email to the recipient of an invite. The user must accept the email to be added to the associated authorizations.\n When set to false, the user automatically receives the associated authorization on the next login of the user with the associated email address.\n ' - def __init__(self, *, organization_id: builtins.str=..., email: builtins.str=...) -> None: + def __init__(self, *, organization_id: builtins.str=..., email: builtins.str=..., send_email_invite: builtins.bool | None=...) -> None: ... - def ClearField(self, field_name: typing.Literal['email', b'email', 'organization_id', b'organization_id']) -> None: + def HasField(self, field_name: typing.Literal['_send_email_invite', b'_send_email_invite', 'send_email_invite', b'send_email_invite']) -> builtins.bool: + ... + + def ClearField(self, field_name: typing.Literal['_send_email_invite', b'_send_email_invite', 'email', b'email', 'organization_id', b'organization_id', 'send_email_invite', b'send_email_invite']) -> None: + ... + + def WhichOneof(self, oneof_group: typing.Literal['_send_email_invite', b'_send_email_invite']) -> typing.Literal['send_email_invite'] | None: ... global___ResendOrganizationInviteRequest = ResendOrganizationInviteRequest @@ -1869,6 +1878,40 @@ class GetRobotPartResponse(google.protobuf.message.Message): ... global___GetRobotPartResponse = GetRobotPartResponse +@typing.final +class GetRobotPartByNameAndLocationRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + NAME_FIELD_NUMBER: builtins.int + LOCATION_ID_FIELD_NUMBER: builtins.int + name: builtins.str + location_id: builtins.str + + def __init__(self, *, name: builtins.str=..., location_id: builtins.str=...) -> None: + ... + + def ClearField(self, field_name: typing.Literal['location_id', b'location_id', 'name', b'name']) -> None: + ... +global___GetRobotPartByNameAndLocationRequest = GetRobotPartByNameAndLocationRequest + +@typing.final +class GetRobotPartByNameAndLocationResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + PART_FIELD_NUMBER: builtins.int + + @property + def part(self) -> global___RobotPart: + ... + + def __init__(self, *, part: global___RobotPart | None=...) -> None: + ... + + def HasField(self, field_name: typing.Literal['part', b'part']) -> builtins.bool: + ... + + def ClearField(self, field_name: typing.Literal['part', b'part']) -> None: + ... +global___GetRobotPartByNameAndLocationResponse = GetRobotPartByNameAndLocationResponse + @typing.final class GetRobotPartLogsRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -2935,12 +2978,17 @@ global___ListMachineFragmentsResponse = ListMachineFragmentsResponse class ListMachineSummariesRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor ORGANIZATION_ID_FIELD_NUMBER: builtins.int + FRAGMENT_IDS_FIELD_NUMBER: builtins.int organization_id: builtins.str - def __init__(self, *, organization_id: builtins.str=...) -> None: + @property + def fragment_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: + """Optional list of fragment IDs to filter machines that use any of these fragments""" + + def __init__(self, *, organization_id: builtins.str=..., fragment_ids: collections.abc.Iterable[builtins.str] | None=...) -> None: ... - def ClearField(self, field_name: typing.Literal['organization_id', b'organization_id']) -> None: + def ClearField(self, field_name: typing.Literal['fragment_ids', b'fragment_ids', 'organization_id', b'organization_id']) -> None: ... global___ListMachineSummariesRequest = ListMachineSummariesRequest diff --git a/src/viam/gen/component/gripper/v1/gripper_grpc.py b/src/viam/gen/component/gripper/v1/gripper_grpc.py index 3431810f5..c49c58775 100644 --- a/src/viam/gen/component/gripper/v1/gripper_grpc.py +++ b/src/viam/gen/component/gripper/v1/gripper_grpc.py @@ -36,8 +36,12 @@ async def DoCommand(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.Do async def GetGeometries(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse]') -> None: pass + @abc.abstractmethod + async def GetKinematics(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.GetKinematicsRequest, common.v1.common_pb2.GetKinematicsResponse]') -> None: + pass + def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return {'/viam.component.gripper.v1.GripperService/Open': grpclib.const.Handler(self.Open, grpclib.const.Cardinality.UNARY_UNARY, component.gripper.v1.gripper_pb2.OpenRequest, component.gripper.v1.gripper_pb2.OpenResponse), '/viam.component.gripper.v1.GripperService/Grab': grpclib.const.Handler(self.Grab, grpclib.const.Cardinality.UNARY_UNARY, component.gripper.v1.gripper_pb2.GrabRequest, component.gripper.v1.gripper_pb2.GrabResponse), '/viam.component.gripper.v1.GripperService/Stop': grpclib.const.Handler(self.Stop, grpclib.const.Cardinality.UNARY_UNARY, component.gripper.v1.gripper_pb2.StopRequest, component.gripper.v1.gripper_pb2.StopResponse), '/viam.component.gripper.v1.GripperService/IsMoving': grpclib.const.Handler(self.IsMoving, grpclib.const.Cardinality.UNARY_UNARY, component.gripper.v1.gripper_pb2.IsMovingRequest, component.gripper.v1.gripper_pb2.IsMovingResponse), '/viam.component.gripper.v1.GripperService/DoCommand': grpclib.const.Handler(self.DoCommand, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse), '/viam.component.gripper.v1.GripperService/GetGeometries': grpclib.const.Handler(self.GetGeometries, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse)} + return {'/viam.component.gripper.v1.GripperService/Open': grpclib.const.Handler(self.Open, grpclib.const.Cardinality.UNARY_UNARY, component.gripper.v1.gripper_pb2.OpenRequest, component.gripper.v1.gripper_pb2.OpenResponse), '/viam.component.gripper.v1.GripperService/Grab': grpclib.const.Handler(self.Grab, grpclib.const.Cardinality.UNARY_UNARY, component.gripper.v1.gripper_pb2.GrabRequest, component.gripper.v1.gripper_pb2.GrabResponse), '/viam.component.gripper.v1.GripperService/Stop': grpclib.const.Handler(self.Stop, grpclib.const.Cardinality.UNARY_UNARY, component.gripper.v1.gripper_pb2.StopRequest, component.gripper.v1.gripper_pb2.StopResponse), '/viam.component.gripper.v1.GripperService/IsMoving': grpclib.const.Handler(self.IsMoving, grpclib.const.Cardinality.UNARY_UNARY, component.gripper.v1.gripper_pb2.IsMovingRequest, component.gripper.v1.gripper_pb2.IsMovingResponse), '/viam.component.gripper.v1.GripperService/DoCommand': grpclib.const.Handler(self.DoCommand, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse), '/viam.component.gripper.v1.GripperService/GetGeometries': grpclib.const.Handler(self.GetGeometries, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse), '/viam.component.gripper.v1.GripperService/GetKinematics': grpclib.const.Handler(self.GetKinematics, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.GetKinematicsRequest, common.v1.common_pb2.GetKinematicsResponse)} class UnimplementedGripperServiceBase(GripperServiceBase): @@ -59,6 +63,9 @@ async def DoCommand(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.Do async def GetGeometries(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse]') -> None: raise grpclib.exceptions.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + async def GetKinematics(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.GetKinematicsRequest, common.v1.common_pb2.GetKinematicsResponse]') -> None: + raise grpclib.exceptions.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + class GripperServiceStub: def __init__(self, channel: grpclib.client.Channel) -> None: @@ -67,4 +74,5 @@ def __init__(self, channel: grpclib.client.Channel) -> None: self.Stop = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.gripper.v1.GripperService/Stop', component.gripper.v1.gripper_pb2.StopRequest, component.gripper.v1.gripper_pb2.StopResponse) self.IsMoving = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.gripper.v1.GripperService/IsMoving', component.gripper.v1.gripper_pb2.IsMovingRequest, component.gripper.v1.gripper_pb2.IsMovingResponse) self.DoCommand = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.gripper.v1.GripperService/DoCommand', common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse) - self.GetGeometries = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.gripper.v1.GripperService/GetGeometries', common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse) \ No newline at end of file + self.GetGeometries = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.gripper.v1.GripperService/GetGeometries', common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse) + self.GetKinematics = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.gripper.v1.GripperService/GetKinematics', common.v1.common_pb2.GetKinematicsRequest, common.v1.common_pb2.GetKinematicsResponse) \ No newline at end of file diff --git a/src/viam/gen/component/gripper/v1/gripper_pb2.py b/src/viam/gen/component/gripper/v1/gripper_pb2.py index 315d394bd..3e6e9b0aa 100644 --- a/src/viam/gen/component/gripper/v1/gripper_pb2.py +++ b/src/viam/gen/component/gripper/v1/gripper_pb2.py @@ -9,7 +9,7 @@ from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n"component/gripper/v1/gripper.proto\x12\x19viam.component.gripper.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto"P\n\x0bOpenRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x0e\n\x0cOpenResponse"P\n\x0bGrabRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"W\n\x0cGrabResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"P\n\x0bStopRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x0e\n\x0cStopResponse"%\n\x0fIsMovingRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"/\n\x10IsMovingResponse\x12\x1b\n\tis_moving\x18\x01 \x01(\x08R\x08isMoving2\x87\x07\n\x0eGripperService\x12\x8f\x01\n\x04Open\x12&.viam.component.gripper.v1.OpenRequest\x1a\'.viam.component.gripper.v1.OpenResponse"6\xa0\x92)\x01\x82\xd3\xe4\x93\x02,\x1a*/viam/api/v1/component/gripper/{name}/open\x12\x8f\x01\n\x04Grab\x12&.viam.component.gripper.v1.GrabRequest\x1a\'.viam.component.gripper.v1.GrabResponse"6\xa0\x92)\x01\x82\xd3\xe4\x93\x02,\x1a*/viam/api/v1/component/gripper/{name}/grab\x12\x8b\x01\n\x04Stop\x12&.viam.component.gripper.v1.StopRequest\x1a\'.viam.component.gripper.v1.StopResponse"2\x82\xd3\xe4\x93\x02,"*/viam/api/v1/component/gripper/{name}/stop\x12\x9c\x01\n\x08IsMoving\x12*.viam.component.gripper.v1.IsMovingRequest\x1a+.viam.component.gripper.v1.IsMovingResponse"7\x82\xd3\xe4\x93\x021\x12//viam/api/v1/component/gripper/{name}/is_moving\x12\x8a\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"8\x82\xd3\xe4\x93\x022"0/viam/api/v1/component/gripper/{name}/do_command\x12\x96\x01\n\rGetGeometries\x12$.viam.common.v1.GetGeometriesRequest\x1a%.viam.common.v1.GetGeometriesResponse"8\x82\xd3\xe4\x93\x022\x120/viam/api/v1/component/gripper/{name}/geometriesBE\n\x1dcom.viam.component.gripper.v1Z$go.viam.com/api/component/gripper/v1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n"component/gripper/v1/gripper.proto\x12\x19viam.component.gripper.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto"P\n\x0bOpenRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x0e\n\x0cOpenResponse"P\n\x0bGrabRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"W\n\x0cGrabResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"P\n\x0bStopRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x0e\n\x0cStopResponse"%\n\x0fIsMovingRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"/\n\x10IsMovingResponse\x12\x1b\n\tis_moving\x18\x01 \x01(\x08R\x08isMoving2\xa0\x08\n\x0eGripperService\x12\x8f\x01\n\x04Open\x12&.viam.component.gripper.v1.OpenRequest\x1a\'.viam.component.gripper.v1.OpenResponse"6\xa0\x92)\x01\x82\xd3\xe4\x93\x02,\x1a*/viam/api/v1/component/gripper/{name}/open\x12\x8f\x01\n\x04Grab\x12&.viam.component.gripper.v1.GrabRequest\x1a\'.viam.component.gripper.v1.GrabResponse"6\xa0\x92)\x01\x82\xd3\xe4\x93\x02,\x1a*/viam/api/v1/component/gripper/{name}/grab\x12\x8b\x01\n\x04Stop\x12&.viam.component.gripper.v1.StopRequest\x1a\'.viam.component.gripper.v1.StopResponse"2\x82\xd3\xe4\x93\x02,"*/viam/api/v1/component/gripper/{name}/stop\x12\x9c\x01\n\x08IsMoving\x12*.viam.component.gripper.v1.IsMovingRequest\x1a+.viam.component.gripper.v1.IsMovingResponse"7\x82\xd3\xe4\x93\x021\x12//viam/api/v1/component/gripper/{name}/is_moving\x12\x8a\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"8\x82\xd3\xe4\x93\x022"0/viam/api/v1/component/gripper/{name}/do_command\x12\x96\x01\n\rGetGeometries\x12$.viam.common.v1.GetGeometriesRequest\x1a%.viam.common.v1.GetGeometriesResponse"8\x82\xd3\xe4\x93\x022\x120/viam/api/v1/component/gripper/{name}/geometries\x12\x96\x01\n\rGetKinematics\x12$.viam.common.v1.GetKinematicsRequest\x1a%.viam.common.v1.GetKinematicsResponse"8\x82\xd3\xe4\x93\x022\x120/viam/api/v1/component/gripper/{name}/kinematicsBE\n\x1dcom.viam.component.gripper.v1Z$go.viam.com/api/component/gripper/v1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'component.gripper.v1.gripper_pb2', _globals) @@ -28,6 +28,8 @@ _globals['_GRIPPERSERVICE'].methods_by_name['DoCommand']._serialized_options = b'\x82\xd3\xe4\x93\x022"0/viam/api/v1/component/gripper/{name}/do_command' _globals['_GRIPPERSERVICE'].methods_by_name['GetGeometries']._loaded_options = None _globals['_GRIPPERSERVICE'].methods_by_name['GetGeometries']._serialized_options = b'\x82\xd3\xe4\x93\x022\x120/viam/api/v1/component/gripper/{name}/geometries' + _globals['_GRIPPERSERVICE'].methods_by_name['GetKinematics']._loaded_options = None + _globals['_GRIPPERSERVICE'].methods_by_name['GetKinematics']._serialized_options = b'\x82\xd3\xe4\x93\x022\x120/viam/api/v1/component/gripper/{name}/kinematics' _globals['_OPENREQUEST']._serialized_start = 149 _globals['_OPENREQUEST']._serialized_end = 229 _globals['_OPENRESPONSE']._serialized_start = 231 @@ -45,4 +47,4 @@ _globals['_ISMOVINGRESPONSE']._serialized_start = 555 _globals['_ISMOVINGRESPONSE']._serialized_end = 602 _globals['_GRIPPERSERVICE']._serialized_start = 605 - _globals['_GRIPPERSERVICE']._serialized_end = 1508 \ No newline at end of file + _globals['_GRIPPERSERVICE']._serialized_end = 1661 \ No newline at end of file diff --git a/src/viam/gen/provisioning/v1/provisioning_grpc.py b/src/viam/gen/provisioning/v1/provisioning_grpc.py index c0ea3514a..7e3f89d4f 100644 --- a/src/viam/gen/provisioning/v1/provisioning_grpc.py +++ b/src/viam/gen/provisioning/v1/provisioning_grpc.py @@ -25,8 +25,12 @@ async def SetSmartMachineCredentials(self, stream: 'grpclib.server.Stream[provis async def GetNetworkList(self, stream: 'grpclib.server.Stream[provisioning.v1.provisioning_pb2.GetNetworkListRequest, provisioning.v1.provisioning_pb2.GetNetworkListResponse]') -> None: pass + @abc.abstractmethod + async def ExitProvisioning(self, stream: 'grpclib.server.Stream[provisioning.v1.provisioning_pb2.ExitProvisioningRequest, provisioning.v1.provisioning_pb2.ExitProvisioningResponse]') -> None: + pass + def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return {'/viam.provisioning.v1.ProvisioningService/GetSmartMachineStatus': grpclib.const.Handler(self.GetSmartMachineStatus, grpclib.const.Cardinality.UNARY_UNARY, provisioning.v1.provisioning_pb2.GetSmartMachineStatusRequest, provisioning.v1.provisioning_pb2.GetSmartMachineStatusResponse), '/viam.provisioning.v1.ProvisioningService/SetNetworkCredentials': grpclib.const.Handler(self.SetNetworkCredentials, grpclib.const.Cardinality.UNARY_UNARY, provisioning.v1.provisioning_pb2.SetNetworkCredentialsRequest, provisioning.v1.provisioning_pb2.SetNetworkCredentialsResponse), '/viam.provisioning.v1.ProvisioningService/SetSmartMachineCredentials': grpclib.const.Handler(self.SetSmartMachineCredentials, grpclib.const.Cardinality.UNARY_UNARY, provisioning.v1.provisioning_pb2.SetSmartMachineCredentialsRequest, provisioning.v1.provisioning_pb2.SetSmartMachineCredentialsResponse), '/viam.provisioning.v1.ProvisioningService/GetNetworkList': grpclib.const.Handler(self.GetNetworkList, grpclib.const.Cardinality.UNARY_UNARY, provisioning.v1.provisioning_pb2.GetNetworkListRequest, provisioning.v1.provisioning_pb2.GetNetworkListResponse)} + return {'/viam.provisioning.v1.ProvisioningService/GetSmartMachineStatus': grpclib.const.Handler(self.GetSmartMachineStatus, grpclib.const.Cardinality.UNARY_UNARY, provisioning.v1.provisioning_pb2.GetSmartMachineStatusRequest, provisioning.v1.provisioning_pb2.GetSmartMachineStatusResponse), '/viam.provisioning.v1.ProvisioningService/SetNetworkCredentials': grpclib.const.Handler(self.SetNetworkCredentials, grpclib.const.Cardinality.UNARY_UNARY, provisioning.v1.provisioning_pb2.SetNetworkCredentialsRequest, provisioning.v1.provisioning_pb2.SetNetworkCredentialsResponse), '/viam.provisioning.v1.ProvisioningService/SetSmartMachineCredentials': grpclib.const.Handler(self.SetSmartMachineCredentials, grpclib.const.Cardinality.UNARY_UNARY, provisioning.v1.provisioning_pb2.SetSmartMachineCredentialsRequest, provisioning.v1.provisioning_pb2.SetSmartMachineCredentialsResponse), '/viam.provisioning.v1.ProvisioningService/GetNetworkList': grpclib.const.Handler(self.GetNetworkList, grpclib.const.Cardinality.UNARY_UNARY, provisioning.v1.provisioning_pb2.GetNetworkListRequest, provisioning.v1.provisioning_pb2.GetNetworkListResponse), '/viam.provisioning.v1.ProvisioningService/ExitProvisioning': grpclib.const.Handler(self.ExitProvisioning, grpclib.const.Cardinality.UNARY_UNARY, provisioning.v1.provisioning_pb2.ExitProvisioningRequest, provisioning.v1.provisioning_pb2.ExitProvisioningResponse)} class UnimplementedProvisioningServiceBase(ProvisioningServiceBase): @@ -42,10 +46,14 @@ async def SetSmartMachineCredentials(self, stream: 'grpclib.server.Stream[provis async def GetNetworkList(self, stream: 'grpclib.server.Stream[provisioning.v1.provisioning_pb2.GetNetworkListRequest, provisioning.v1.provisioning_pb2.GetNetworkListResponse]') -> None: raise grpclib.exceptions.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + async def ExitProvisioning(self, stream: 'grpclib.server.Stream[provisioning.v1.provisioning_pb2.ExitProvisioningRequest, provisioning.v1.provisioning_pb2.ExitProvisioningResponse]') -> None: + raise grpclib.exceptions.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + class ProvisioningServiceStub: def __init__(self, channel: grpclib.client.Channel) -> None: self.GetSmartMachineStatus = grpclib.client.UnaryUnaryMethod(channel, '/viam.provisioning.v1.ProvisioningService/GetSmartMachineStatus', provisioning.v1.provisioning_pb2.GetSmartMachineStatusRequest, provisioning.v1.provisioning_pb2.GetSmartMachineStatusResponse) self.SetNetworkCredentials = grpclib.client.UnaryUnaryMethod(channel, '/viam.provisioning.v1.ProvisioningService/SetNetworkCredentials', provisioning.v1.provisioning_pb2.SetNetworkCredentialsRequest, provisioning.v1.provisioning_pb2.SetNetworkCredentialsResponse) self.SetSmartMachineCredentials = grpclib.client.UnaryUnaryMethod(channel, '/viam.provisioning.v1.ProvisioningService/SetSmartMachineCredentials', provisioning.v1.provisioning_pb2.SetSmartMachineCredentialsRequest, provisioning.v1.provisioning_pb2.SetSmartMachineCredentialsResponse) - self.GetNetworkList = grpclib.client.UnaryUnaryMethod(channel, '/viam.provisioning.v1.ProvisioningService/GetNetworkList', provisioning.v1.provisioning_pb2.GetNetworkListRequest, provisioning.v1.provisioning_pb2.GetNetworkListResponse) \ No newline at end of file + self.GetNetworkList = grpclib.client.UnaryUnaryMethod(channel, '/viam.provisioning.v1.ProvisioningService/GetNetworkList', provisioning.v1.provisioning_pb2.GetNetworkListRequest, provisioning.v1.provisioning_pb2.GetNetworkListResponse) + self.ExitProvisioning = grpclib.client.UnaryUnaryMethod(channel, '/viam.provisioning.v1.ProvisioningService/ExitProvisioning', provisioning.v1.provisioning_pb2.ExitProvisioningRequest, provisioning.v1.provisioning_pb2.ExitProvisioningResponse) \ No newline at end of file diff --git a/src/viam/gen/provisioning/v1/provisioning_pb2.py b/src/viam/gen/provisioning/v1/provisioning_pb2.py index e13d5e9c1..2692b7eda 100644 --- a/src/viam/gen/provisioning/v1/provisioning_pb2.py +++ b/src/viam/gen/provisioning/v1/provisioning_pb2.py @@ -6,34 +6,38 @@ from google.protobuf.internal import builder as _builder _runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 5, 29, 2, '', 'provisioning/v1/provisioning.proto') _sym_db = _symbol_database.Default() -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n"provisioning/v1/provisioning.proto\x12\x14viam.provisioning.v1"\x1e\n\x1cGetSmartMachineStatusRequest"\xcb\x02\n\x1dGetSmartMachineStatusResponse\x12S\n\x11provisioning_info\x18\x01 \x01(\x0b2&.viam.provisioning.v1.ProvisioningInfoR\x10provisioningInfo\x12A\n\x1dhas_smart_machine_credentials\x18\x02 \x01(\x08R\x1ahasSmartMachineCredentials\x12\x1b\n\tis_online\x18\x03 \x01(\x08R\x08isOnline\x12]\n\x19latest_connection_attempt\x18\x04 \x01(\x0b2!.viam.provisioning.v1.NetworkInfoR\x17latestConnectionAttempt\x12\x16\n\x06errors\x18\x05 \x03(\tR\x06errors"X\n\x1cSetNetworkCredentialsRequest\x12\x12\n\x04type\x18\x01 \x01(\tR\x04type\x12\x12\n\x04ssid\x18\x02 \x01(\tR\x04ssid\x12\x10\n\x03psk\x18\x03 \x01(\tR\x03psk"\x1f\n\x1dSetNetworkCredentialsResponse"\\\n!SetSmartMachineCredentialsRequest\x127\n\x05cloud\x18\x01 \x01(\x0b2!.viam.provisioning.v1.CloudConfigR\x05cloud"$\n"SetSmartMachineCredentialsResponse"\x17\n\x15GetNetworkListRequest"W\n\x16GetNetworkListResponse\x12=\n\x08networks\x18\x01 \x03(\x0b2!.viam.provisioning.v1.NetworkInfoR\x08networks"m\n\x10ProvisioningInfo\x12\x1f\n\x0bfragment_id\x18\x01 \x01(\tR\nfragmentId\x12\x14\n\x05model\x18\x02 \x01(\tR\x05model\x12"\n\x0cmanufacturer\x18\x03 \x01(\tR\x0cmanufacturer"\xa6\x01\n\x0bNetworkInfo\x12\x12\n\x04type\x18\x01 \x01(\tR\x04type\x12\x12\n\x04ssid\x18\x02 \x01(\tR\x04ssid\x12\x1a\n\x08security\x18\x03 \x01(\tR\x08security\x12\x16\n\x06signal\x18\x04 \x01(\x05R\x06signal\x12\x1c\n\tconnected\x18\x05 \x01(\x08R\tconnected\x12\x1d\n\nlast_error\x18\x06 \x01(\tR\tlastError"V\n\x0bCloudConfig\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x16\n\x06secret\x18\x02 \x01(\tR\x06secret\x12\x1f\n\x0bapp_address\x18\x03 \x01(\tR\nappAddress2\x9a\x04\n\x13ProvisioningService\x12\x80\x01\n\x15GetSmartMachineStatus\x122.viam.provisioning.v1.GetSmartMachineStatusRequest\x1a3.viam.provisioning.v1.GetSmartMachineStatusResponse\x12\x80\x01\n\x15SetNetworkCredentials\x122.viam.provisioning.v1.SetNetworkCredentialsRequest\x1a3.viam.provisioning.v1.SetNetworkCredentialsResponse\x12\x8f\x01\n\x1aSetSmartMachineCredentials\x127.viam.provisioning.v1.SetSmartMachineCredentialsRequest\x1a8.viam.provisioning.v1.SetSmartMachineCredentialsResponse\x12k\n\x0eGetNetworkList\x12+.viam.provisioning.v1.GetNetworkListRequest\x1a,.viam.provisioning.v1.GetNetworkListResponseB!Z\x1fgo.viam.com/api/provisioning/v1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n"provisioning/v1/provisioning.proto\x12\x14viam.provisioning.v1"\x19\n\x17ExitProvisioningRequest"\x1a\n\x18ExitProvisioningResponse"\x1e\n\x1cGetSmartMachineStatusRequest"\xf0\x02\n\x1dGetSmartMachineStatusResponse\x12S\n\x11provisioning_info\x18\x01 \x01(\x0b2&.viam.provisioning.v1.ProvisioningInfoR\x10provisioningInfo\x12A\n\x1dhas_smart_machine_credentials\x18\x02 \x01(\x08R\x1ahasSmartMachineCredentials\x12\x1b\n\tis_online\x18\x03 \x01(\x08R\x08isOnline\x12]\n\x19latest_connection_attempt\x18\x04 \x01(\x0b2!.viam.provisioning.v1.NetworkInfoR\x17latestConnectionAttempt\x12\x16\n\x06errors\x18\x05 \x03(\tR\x06errors\x12#\n\ragent_version\x18\x06 \x01(\tR\x0cagentVersion"X\n\x1cSetNetworkCredentialsRequest\x12\x12\n\x04type\x18\x01 \x01(\tR\x04type\x12\x12\n\x04ssid\x18\x02 \x01(\tR\x04ssid\x12\x10\n\x03psk\x18\x03 \x01(\tR\x03psk"\x1f\n\x1dSetNetworkCredentialsResponse"\\\n!SetSmartMachineCredentialsRequest\x127\n\x05cloud\x18\x01 \x01(\x0b2!.viam.provisioning.v1.CloudConfigR\x05cloud"$\n"SetSmartMachineCredentialsResponse"\x17\n\x15GetNetworkListRequest"W\n\x16GetNetworkListResponse\x12=\n\x08networks\x18\x01 \x03(\x0b2!.viam.provisioning.v1.NetworkInfoR\x08networks"m\n\x10ProvisioningInfo\x12\x1f\n\x0bfragment_id\x18\x01 \x01(\tR\nfragmentId\x12\x14\n\x05model\x18\x02 \x01(\tR\x05model\x12"\n\x0cmanufacturer\x18\x03 \x01(\tR\x0cmanufacturer"\xa6\x01\n\x0bNetworkInfo\x12\x12\n\x04type\x18\x01 \x01(\tR\x04type\x12\x12\n\x04ssid\x18\x02 \x01(\tR\x04ssid\x12\x1a\n\x08security\x18\x03 \x01(\tR\x08security\x12\x16\n\x06signal\x18\x04 \x01(\x05R\x06signal\x12\x1c\n\tconnected\x18\x05 \x01(\x08R\tconnected\x12\x1d\n\nlast_error\x18\x06 \x01(\tR\tlastError"V\n\x0bCloudConfig\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x16\n\x06secret\x18\x02 \x01(\tR\x06secret\x12\x1f\n\x0bapp_address\x18\x03 \x01(\tR\nappAddress2\x8d\x05\n\x13ProvisioningService\x12\x80\x01\n\x15GetSmartMachineStatus\x122.viam.provisioning.v1.GetSmartMachineStatusRequest\x1a3.viam.provisioning.v1.GetSmartMachineStatusResponse\x12\x80\x01\n\x15SetNetworkCredentials\x122.viam.provisioning.v1.SetNetworkCredentialsRequest\x1a3.viam.provisioning.v1.SetNetworkCredentialsResponse\x12\x8f\x01\n\x1aSetSmartMachineCredentials\x127.viam.provisioning.v1.SetSmartMachineCredentialsRequest\x1a8.viam.provisioning.v1.SetSmartMachineCredentialsResponse\x12k\n\x0eGetNetworkList\x12+.viam.provisioning.v1.GetNetworkListRequest\x1a,.viam.provisioning.v1.GetNetworkListResponse\x12q\n\x10ExitProvisioning\x12-.viam.provisioning.v1.ExitProvisioningRequest\x1a..viam.provisioning.v1.ExitProvisioningResponseB!Z\x1fgo.viam.com/api/provisioning/v1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'provisioning.v1.provisioning_pb2', _globals) if not _descriptor._USE_C_DESCRIPTORS: _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'Z\x1fgo.viam.com/api/provisioning/v1' - _globals['_GETSMARTMACHINESTATUSREQUEST']._serialized_start = 60 - _globals['_GETSMARTMACHINESTATUSREQUEST']._serialized_end = 90 - _globals['_GETSMARTMACHINESTATUSRESPONSE']._serialized_start = 93 - _globals['_GETSMARTMACHINESTATUSRESPONSE']._serialized_end = 424 - _globals['_SETNETWORKCREDENTIALSREQUEST']._serialized_start = 426 - _globals['_SETNETWORKCREDENTIALSREQUEST']._serialized_end = 514 - _globals['_SETNETWORKCREDENTIALSRESPONSE']._serialized_start = 516 - _globals['_SETNETWORKCREDENTIALSRESPONSE']._serialized_end = 547 - _globals['_SETSMARTMACHINECREDENTIALSREQUEST']._serialized_start = 549 - _globals['_SETSMARTMACHINECREDENTIALSREQUEST']._serialized_end = 641 - _globals['_SETSMARTMACHINECREDENTIALSRESPONSE']._serialized_start = 643 - _globals['_SETSMARTMACHINECREDENTIALSRESPONSE']._serialized_end = 679 - _globals['_GETNETWORKLISTREQUEST']._serialized_start = 681 - _globals['_GETNETWORKLISTREQUEST']._serialized_end = 704 - _globals['_GETNETWORKLISTRESPONSE']._serialized_start = 706 - _globals['_GETNETWORKLISTRESPONSE']._serialized_end = 793 - _globals['_PROVISIONINGINFO']._serialized_start = 795 - _globals['_PROVISIONINGINFO']._serialized_end = 904 - _globals['_NETWORKINFO']._serialized_start = 907 - _globals['_NETWORKINFO']._serialized_end = 1073 - _globals['_CLOUDCONFIG']._serialized_start = 1075 - _globals['_CLOUDCONFIG']._serialized_end = 1161 - _globals['_PROVISIONINGSERVICE']._serialized_start = 1164 - _globals['_PROVISIONINGSERVICE']._serialized_end = 1702 \ No newline at end of file + _globals['_EXITPROVISIONINGREQUEST']._serialized_start = 60 + _globals['_EXITPROVISIONINGREQUEST']._serialized_end = 85 + _globals['_EXITPROVISIONINGRESPONSE']._serialized_start = 87 + _globals['_EXITPROVISIONINGRESPONSE']._serialized_end = 113 + _globals['_GETSMARTMACHINESTATUSREQUEST']._serialized_start = 115 + _globals['_GETSMARTMACHINESTATUSREQUEST']._serialized_end = 145 + _globals['_GETSMARTMACHINESTATUSRESPONSE']._serialized_start = 148 + _globals['_GETSMARTMACHINESTATUSRESPONSE']._serialized_end = 516 + _globals['_SETNETWORKCREDENTIALSREQUEST']._serialized_start = 518 + _globals['_SETNETWORKCREDENTIALSREQUEST']._serialized_end = 606 + _globals['_SETNETWORKCREDENTIALSRESPONSE']._serialized_start = 608 + _globals['_SETNETWORKCREDENTIALSRESPONSE']._serialized_end = 639 + _globals['_SETSMARTMACHINECREDENTIALSREQUEST']._serialized_start = 641 + _globals['_SETSMARTMACHINECREDENTIALSREQUEST']._serialized_end = 733 + _globals['_SETSMARTMACHINECREDENTIALSRESPONSE']._serialized_start = 735 + _globals['_SETSMARTMACHINECREDENTIALSRESPONSE']._serialized_end = 771 + _globals['_GETNETWORKLISTREQUEST']._serialized_start = 773 + _globals['_GETNETWORKLISTREQUEST']._serialized_end = 796 + _globals['_GETNETWORKLISTRESPONSE']._serialized_start = 798 + _globals['_GETNETWORKLISTRESPONSE']._serialized_end = 885 + _globals['_PROVISIONINGINFO']._serialized_start = 887 + _globals['_PROVISIONINGINFO']._serialized_end = 996 + _globals['_NETWORKINFO']._serialized_start = 999 + _globals['_NETWORKINFO']._serialized_end = 1165 + _globals['_CLOUDCONFIG']._serialized_start = 1167 + _globals['_CLOUDCONFIG']._serialized_end = 1253 + _globals['_PROVISIONINGSERVICE']._serialized_start = 1256 + _globals['_PROVISIONINGSERVICE']._serialized_end = 1909 \ No newline at end of file diff --git a/src/viam/gen/provisioning/v1/provisioning_pb2.pyi b/src/viam/gen/provisioning/v1/provisioning_pb2.pyi index 1998bbebf..7192eeca9 100644 --- a/src/viam/gen/provisioning/v1/provisioning_pb2.pyi +++ b/src/viam/gen/provisioning/v1/provisioning_pb2.pyi @@ -10,6 +10,22 @@ import google.protobuf.message import typing DESCRIPTOR: google.protobuf.descriptor.FileDescriptor +@typing.final +class ExitProvisioningRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + def __init__(self) -> None: + ... +global___ExitProvisioningRequest = ExitProvisioningRequest + +@typing.final +class ExitProvisioningResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + def __init__(self) -> None: + ... +global___ExitProvisioningResponse = ExitProvisioningResponse + @typing.final class GetSmartMachineStatusRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -26,8 +42,10 @@ class GetSmartMachineStatusResponse(google.protobuf.message.Message): IS_ONLINE_FIELD_NUMBER: builtins.int LATEST_CONNECTION_ATTEMPT_FIELD_NUMBER: builtins.int ERRORS_FIELD_NUMBER: builtins.int + AGENT_VERSION_FIELD_NUMBER: builtins.int has_smart_machine_credentials: builtins.bool is_online: builtins.bool + agent_version: builtins.str @property def provisioning_info(self) -> global___ProvisioningInfo: @@ -41,13 +59,13 @@ class GetSmartMachineStatusResponse(google.protobuf.message.Message): def errors(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... - def __init__(self, *, provisioning_info: global___ProvisioningInfo | None=..., has_smart_machine_credentials: builtins.bool=..., is_online: builtins.bool=..., latest_connection_attempt: global___NetworkInfo | None=..., errors: collections.abc.Iterable[builtins.str] | None=...) -> None: + def __init__(self, *, provisioning_info: global___ProvisioningInfo | None=..., has_smart_machine_credentials: builtins.bool=..., is_online: builtins.bool=..., latest_connection_attempt: global___NetworkInfo | None=..., errors: collections.abc.Iterable[builtins.str] | None=..., agent_version: builtins.str=...) -> None: ... def HasField(self, field_name: typing.Literal['latest_connection_attempt', b'latest_connection_attempt', 'provisioning_info', b'provisioning_info']) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal['errors', b'errors', 'has_smart_machine_credentials', b'has_smart_machine_credentials', 'is_online', b'is_online', 'latest_connection_attempt', b'latest_connection_attempt', 'provisioning_info', b'provisioning_info']) -> None: + def ClearField(self, field_name: typing.Literal['agent_version', b'agent_version', 'errors', b'errors', 'has_smart_machine_credentials', b'has_smart_machine_credentials', 'is_online', b'is_online', 'latest_connection_attempt', b'latest_connection_attempt', 'provisioning_info', b'provisioning_info']) -> None: ... global___GetSmartMachineStatusResponse = GetSmartMachineStatusResponse diff --git a/src/viam/proto/app/__init__.py b/src/viam/proto/app/__init__.py index 6b307a839..c5202b596 100644 --- a/src/viam/proto/app/__init__.py +++ b/src/viam/proto/app/__init__.py @@ -119,6 +119,8 @@ GetRobotAPIKeysResponse, GetRobotMetadataRequest, GetRobotMetadataResponse, + GetRobotPartByNameAndLocationRequest, + GetRobotPartByNameAndLocationResponse, GetRobotPartHistoryRequest, GetRobotPartHistoryResponse, GetRobotPartLogsRequest, @@ -394,6 +396,8 @@ "GetRobotAPIKeysResponse", "GetRobotMetadataRequest", "GetRobotMetadataResponse", + "GetRobotPartByNameAndLocationRequest", + "GetRobotPartByNameAndLocationResponse", "GetRobotPartHistoryRequest", "GetRobotPartHistoryResponse", "GetRobotPartLogsRequest", diff --git a/src/viam/proto/provisioning/__init__.py b/src/viam/proto/provisioning/__init__.py index c39ab0bca..6fd004484 100644 --- a/src/viam/proto/provisioning/__init__.py +++ b/src/viam/proto/provisioning/__init__.py @@ -6,6 +6,8 @@ from ...gen.provisioning.v1.provisioning_grpc import ProvisioningServiceBase, ProvisioningServiceStub, UnimplementedProvisioningServiceBase from ...gen.provisioning.v1.provisioning_pb2 import ( CloudConfig, + ExitProvisioningRequest, + ExitProvisioningResponse, GetNetworkListRequest, GetNetworkListResponse, GetSmartMachineStatusRequest, @@ -23,6 +25,8 @@ "ProvisioningServiceStub", "UnimplementedProvisioningServiceBase", "CloudConfig", + "ExitProvisioningRequest", + "ExitProvisioningResponse", "GetNetworkListRequest", "GetNetworkListResponse", "GetSmartMachineStatusRequest", diff --git a/src/viam/version_metadata.py b/src/viam/version_metadata.py index 7401c828e..80afc195a 100644 --- a/src/viam/version_metadata.py +++ b/src/viam/version_metadata.py @@ -1,4 +1,4 @@ __version__ = "0.47.0" -API_VERSION = "v0.1.437" +API_VERSION = "v0.1.443" SDK_VERSION = __version__ diff --git a/tests/mocks/components.py b/tests/mocks/components.py index 16492aef5..3f03b04e7 100644 --- a/tests/mocks/components.py +++ b/tests/mocks/components.py @@ -531,6 +531,7 @@ class MockGripper(Gripper): def __init__(self, name: str): self.opened = False self.geometries = GEOMETRIES + self.kinematics = (KinematicsFileFormat.KINEMATICS_FILE_FORMAT_SVA, b"\x00\x01\x02") self.extra = None self.is_stopped = True self.timeout: Optional[float] = None @@ -562,6 +563,13 @@ async def get_geometries(self, *, extra: Optional[Dict[str, Any]] = None, timeou self.timeout = timeout return self.geometries + async def get_kinematics( + self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, **kwargs + ) -> Tuple[KinematicsFileFormat.ValueType, bytes]: + self.extra = extra + self.timeout = timeout + return self.kinematics + async def do_command(self, command: Mapping[str, ValueTypes], *, timeout: Optional[float] = None, **kwargs) -> Mapping[str, ValueTypes]: return {"command": command} diff --git a/tests/mocks/services.py b/tests/mocks/services.py index 12f34bd69..4cb4a4f25 100644 --- a/tests/mocks/services.py +++ b/tests/mocks/services.py @@ -321,7 +321,7 @@ GetSmartMachineStatusRequest, GetSmartMachineStatusResponse, NetworkInfo, - ProvisioningServiceBase, + UnimplementedProvisioningServiceBase, SetNetworkCredentialsRequest, SetNetworkCredentialsResponse, SetSmartMachineCredentialsRequest, @@ -792,7 +792,7 @@ async def do_command(self, command: Mapping[str, ValueTypes], *, timeout: Option return {"command": command} -class MockProvisioning(ProvisioningServiceBase): +class MockProvisioning(UnimplementedProvisioningServiceBase): def __init__( self, smart_machine_status: GetSmartMachineStatusResponse, diff --git a/tests/test_gripper.py b/tests/test_gripper.py index 84f47cf0a..100430eb4 100644 --- a/tests/test_gripper.py +++ b/tests/test_gripper.py @@ -2,9 +2,16 @@ from grpclib.testing import ChannelFor from viam.components.generic.service import GenericRPCService -from viam.components.gripper import Gripper, GripperClient +from viam.components.gripper import Gripper, GripperClient, KinematicsFileFormat from viam.components.gripper.service import GripperRPCService -from viam.proto.common import DoCommandRequest, DoCommandResponse, GetGeometriesRequest, GetGeometriesResponse +from viam.proto.common import ( + DoCommandRequest, + DoCommandResponse, + GetGeometriesRequest, + GetGeometriesResponse, + GetKinematicsRequest, + GetKinematicsResponse, +) from viam.proto.component.gripper import ( GrabRequest, GrabResponse, @@ -79,6 +86,11 @@ async def test_get_geometries(self, gripper: MockGripper): geometries = await gripper.get_geometries() assert geometries == GEOMETRIES + async def test_get_kinematics(self, gripper: MockGripper): + kinematics = (KinematicsFileFormat.KINEMATICS_FILE_FORMAT_SVA, b"\x00\x01\x02") + kd = await gripper.get_kinematics(extra={"1": "2"}) + assert kd == kinematics + assert gripper.extra == {"1": "2"} class TestService: async def test_open(self, gripper: MockGripper, service: GripperRPCService): @@ -146,6 +158,13 @@ async def test_get_geometries(self, gripper: MockGripper, service: GripperRPCSer response: GetGeometriesResponse = await client.GetGeometries(request) assert [geometry for geometry in response.geometries] == GEOMETRIES + async def test_get_kinematics(self, gripper: MockGripper, service: GripperRPCService): + async with ChannelFor([service]) as channel: + client = GripperServiceStub(channel) + kinematics = (KinematicsFileFormat.KINEMATICS_FILE_FORMAT_SVA, b"\x00\x01\x02") + request = GetKinematicsRequest(name=gripper.name) + response: GetKinematicsResponse = await client.GetKinematics(request) + assert (response.format, response.kinematics_data) == kinematics class TestClient: async def test_open(self, gripper: MockGripper, service: GripperRPCService): @@ -201,3 +220,11 @@ async def test_get_geometries(self, gripper: MockGripper, service: GripperRPCSer client = GripperClient(gripper.name, channel) geometries = await client.get_geometries() assert geometries == GEOMETRIES + + async def test_get_kinematics(self, gripper: MockGripper, service: GripperRPCService): + async with ChannelFor([service]) as channel: + client = GripperClient(gripper.name, channel) + kinematics = (KinematicsFileFormat.KINEMATICS_FILE_FORMAT_SVA, b"\x00\x01\x02") + kd = await client.get_kinematics(extra={"1": "2"}) + assert kd == kinematics + assert gripper.extra == {"1": "2"}