viam-sdk 0.47.0__py3-none-linux_armv7l.whl → 0.48.0__py3-none-linux_armv7l.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of viam-sdk might be problematic. Click here for more details.
- viam/app/data_client.py +19 -3
- viam/components/arm/arm.py +1 -1
- viam/components/gripper/__init__.py +2 -0
- viam/components/gripper/client.py +15 -2
- viam/components/gripper/gripper.py +37 -1
- viam/components/gripper/service.py +19 -3
- viam/gen/app/datapipelines/v1/data_pipelines_grpc.py +1 -1
- viam/gen/app/datapipelines/v1/data_pipelines_pb2.py +42 -41
- viam/gen/app/datapipelines/v1/data_pipelines_pb2.pyi +40 -7
- viam/gen/app/v1/app_grpc.py +9 -1
- viam/gen/app/v1/app_pb2.py +523 -519
- viam/gen/app/v1/app_pb2.pyi +56 -6
- viam/gen/component/gripper/v1/gripper_grpc.py +10 -2
- viam/gen/component/gripper/v1/gripper_pb2.py +4 -2
- viam/gen/provisioning/v1/provisioning_grpc.py +10 -2
- viam/gen/provisioning/v1/provisioning_pb2.py +29 -25
- viam/gen/provisioning/v1/provisioning_pb2.pyi +20 -2
- viam/module/module.py +43 -5
- viam/proto/app/__init__.py +4 -0
- viam/proto/provisioning/__init__.py +4 -0
- viam/rpc/server.py +24 -10
- viam/version_metadata.py +2 -2
- {viam_sdk-0.47.0.dist-info → viam_sdk-0.48.0.dist-info}/METADATA +1 -1
- {viam_sdk-0.47.0.dist-info → viam_sdk-0.48.0.dist-info}/RECORD +26 -26
- {viam_sdk-0.47.0.dist-info → viam_sdk-0.48.0.dist-info}/WHEEL +0 -0
- {viam_sdk-0.47.0.dist-info → viam_sdk-0.48.0.dist-info}/licenses/LICENSE +0 -0
viam/app/data_client.py
CHANGED
|
@@ -270,6 +270,9 @@ class DataClient:
|
|
|
270
270
|
enabled: bool
|
|
271
271
|
"""Whether the data pipeline is enabled"""
|
|
272
272
|
|
|
273
|
+
data_source_type: TabularDataSourceType.ValueType
|
|
274
|
+
"""The type of data source for the data pipeline"""
|
|
275
|
+
|
|
273
276
|
@classmethod
|
|
274
277
|
def from_proto(cls, data_pipeline: ProtoDataPipeline) -> Self:
|
|
275
278
|
return cls(
|
|
@@ -281,6 +284,7 @@ class DataClient:
|
|
|
281
284
|
created_on=data_pipeline.created_on.ToDatetime(),
|
|
282
285
|
updated_at=data_pipeline.updated_at.ToDatetime(),
|
|
283
286
|
enabled=data_pipeline.enabled,
|
|
287
|
+
data_source_type=data_pipeline.data_source_type,
|
|
284
288
|
)
|
|
285
289
|
|
|
286
290
|
@dataclass
|
|
@@ -1883,7 +1887,14 @@ class DataClient:
|
|
|
1883
1887
|
response: ListDataPipelinesResponse = await self._data_pipelines_client.ListDataPipelines(request, metadata=self._metadata)
|
|
1884
1888
|
return [DataClient.DataPipeline.from_proto(pipeline) for pipeline in response.data_pipelines]
|
|
1885
1889
|
|
|
1886
|
-
async def create_data_pipeline(
|
|
1890
|
+
async def create_data_pipeline(
|
|
1891
|
+
self,
|
|
1892
|
+
organization_id: str,
|
|
1893
|
+
name: str,
|
|
1894
|
+
mql_binary: List[Dict[str, Any]],
|
|
1895
|
+
schedule: str,
|
|
1896
|
+
data_source_type: TabularDataSourceType.ValueType = TabularDataSourceType.TABULAR_DATA_SOURCE_TYPE_STANDARD,
|
|
1897
|
+
) -> str:
|
|
1887
1898
|
"""Create a new data pipeline.
|
|
1888
1899
|
|
|
1889
1900
|
::
|
|
@@ -1892,7 +1903,8 @@ class DataClient:
|
|
|
1892
1903
|
organization_id="<YOUR-ORGANIZATION-ID>",
|
|
1893
1904
|
name="<YOUR-PIPELINE-NAME>",
|
|
1894
1905
|
mql_binary=[<YOUR-MQL-PIPELINE-AGGREGATION>],
|
|
1895
|
-
schedule="<YOUR-SCHEDULE>"
|
|
1906
|
+
schedule="<YOUR-SCHEDULE>",
|
|
1907
|
+
data_source_type=TabularDataSourceType.TABULAR_DATA_SOURCE_TYPE_STANDARD,
|
|
1896
1908
|
)
|
|
1897
1909
|
|
|
1898
1910
|
Args:
|
|
@@ -1902,12 +1914,16 @@ class DataClient:
|
|
|
1902
1914
|
mql_binary (List[Dict[str, Any]]):The MQL pipeline to run, as a list of MongoDB aggregation pipeline stages.
|
|
1903
1915
|
schedule (str): A cron expression representing the expected execution schedule in UTC (note this also
|
|
1904
1916
|
defines the input time window; an hourly schedule would process 1 hour of data at a time).
|
|
1917
|
+
data_source_type (TabularDataSourceType): The type of data source to use for the pipeline.
|
|
1918
|
+
Defaults to TabularDataSourceType.TABULAR_DATA_SOURCE_TYPE_STANDARD.
|
|
1905
1919
|
|
|
1906
1920
|
Returns:
|
|
1907
1921
|
str: The ID of the newly created pipeline.
|
|
1908
1922
|
"""
|
|
1909
1923
|
binary: List[bytes] = [bson.encode(query) for query in mql_binary]
|
|
1910
|
-
request = CreateDataPipelineRequest(
|
|
1924
|
+
request = CreateDataPipelineRequest(
|
|
1925
|
+
organization_id=organization_id, name=name, mql_binary=binary, schedule=schedule, data_source_type=data_source_type
|
|
1926
|
+
)
|
|
1911
1927
|
response: CreateDataPipelineResponse = await self._data_pipelines_client.CreateDataPipeline(request, metadata=self._metadata)
|
|
1912
1928
|
return response.id
|
|
1913
1929
|
|
viam/components/arm/arm.py
CHANGED
|
@@ -194,7 +194,7 @@ class Arm(ComponentBase):
|
|
|
194
194
|
|
|
195
195
|
@abc.abstractmethod
|
|
196
196
|
async def get_kinematics(
|
|
197
|
-
self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None
|
|
197
|
+
self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, **kwargs
|
|
198
198
|
) -> Tuple[KinematicsFileFormat.ValueType, bytes]:
|
|
199
199
|
"""
|
|
200
200
|
Get the kinematics information associated with the arm.
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
from viam.proto.common import KinematicsFileFormat
|
|
1
2
|
from viam.resource.registry import Registry, ResourceRegistration
|
|
2
3
|
|
|
3
4
|
from .client import GripperClient
|
|
@@ -6,6 +7,7 @@ from .service import GripperRPCService
|
|
|
6
7
|
|
|
7
8
|
__all__ = [
|
|
8
9
|
"Gripper",
|
|
10
|
+
"KinematicsFileFormat",
|
|
9
11
|
]
|
|
10
12
|
|
|
11
13
|
Registry.register_api(ResourceRegistration(Gripper, GripperRPCService, lambda name, channel: GripperClient(name, channel)))
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
from typing import Any, Dict, List, Mapping, Optional
|
|
1
|
+
from typing import Any, Dict, List, Mapping, Optional, Tuple
|
|
2
2
|
|
|
3
3
|
from grpclib.client import Channel
|
|
4
4
|
|
|
5
|
-
from viam.proto.common import DoCommandRequest, DoCommandResponse, Geometry
|
|
5
|
+
from viam.proto.common import DoCommandRequest, DoCommandResponse, Geometry, GetKinematicsRequest, GetKinematicsResponse
|
|
6
6
|
from viam.proto.component.gripper import (
|
|
7
7
|
GrabRequest,
|
|
8
8
|
GrabResponse,
|
|
@@ -15,6 +15,7 @@ from viam.proto.component.gripper import (
|
|
|
15
15
|
from viam.resource.rpc_client_base import ReconfigurableResourceRPCClientBase
|
|
16
16
|
from viam.utils import ValueTypes, dict_to_struct, get_geometries, struct_to_dict
|
|
17
17
|
|
|
18
|
+
from . import KinematicsFileFormat
|
|
18
19
|
from .gripper import Gripper
|
|
19
20
|
|
|
20
21
|
|
|
@@ -83,3 +84,15 @@ class GripperClient(Gripper, ReconfigurableResourceRPCClientBase):
|
|
|
83
84
|
async def get_geometries(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, **kwargs) -> List[Geometry]:
|
|
84
85
|
md = kwargs.get("metadata", self.Metadata())
|
|
85
86
|
return await get_geometries(self.client, self.name, extra, timeout, md)
|
|
87
|
+
|
|
88
|
+
async def get_kinematics(
|
|
89
|
+
self,
|
|
90
|
+
*,
|
|
91
|
+
extra: Optional[Dict[str, Any]] = None,
|
|
92
|
+
timeout: Optional[float] = None,
|
|
93
|
+
**kwargs,
|
|
94
|
+
) -> Tuple[KinematicsFileFormat.ValueType, bytes]:
|
|
95
|
+
md = kwargs.get("metadata", self.Metadata()).proto
|
|
96
|
+
request = GetKinematicsRequest(name=self.name, extra=dict_to_struct(extra))
|
|
97
|
+
response: GetKinematicsResponse = await self.client.GetKinematics(request, timeout=timeout, metadata=md)
|
|
98
|
+
return (response.format, response.kinematics_data)
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import abc
|
|
2
|
-
from typing import Any, Dict, Final, Optional
|
|
2
|
+
from typing import Any, Dict, Final, Optional, Tuple
|
|
3
3
|
|
|
4
4
|
from viam.components.component_base import ComponentBase
|
|
5
5
|
from viam.resource.types import API, RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_COMPONENT
|
|
6
6
|
|
|
7
|
+
from . import KinematicsFileFormat
|
|
8
|
+
|
|
7
9
|
|
|
8
10
|
class Gripper(ComponentBase):
|
|
9
11
|
"""
|
|
@@ -112,3 +114,37 @@ class Gripper(ComponentBase):
|
|
|
112
114
|
For more information, see `Gripper component <https://docs.viam.com/dev/reference/apis/components/gripper/#is_moving>`_.
|
|
113
115
|
"""
|
|
114
116
|
...
|
|
117
|
+
|
|
118
|
+
@abc.abstractmethod
|
|
119
|
+
async def get_kinematics(
|
|
120
|
+
self,
|
|
121
|
+
*,
|
|
122
|
+
extra: Optional[Dict[str, Any]] = None,
|
|
123
|
+
timeout: Optional[float] = None,
|
|
124
|
+
**kwargs,
|
|
125
|
+
) -> Tuple[KinematicsFileFormat.ValueType, bytes]:
|
|
126
|
+
"""
|
|
127
|
+
Get the kinematics information associated with the gripper.
|
|
128
|
+
|
|
129
|
+
::
|
|
130
|
+
|
|
131
|
+
my_gripper = Gripper.from_robot(robot=machine, name="my_gripper")
|
|
132
|
+
|
|
133
|
+
# Get the kinematics information associated with the gripper.
|
|
134
|
+
kinematics = await my_gripper.get_kinematics()
|
|
135
|
+
|
|
136
|
+
# Get the format of the kinematics file.
|
|
137
|
+
k_file = kinematics[0]
|
|
138
|
+
|
|
139
|
+
# Get the byte contents of the file.
|
|
140
|
+
k_bytes = kinematics[1]
|
|
141
|
+
|
|
142
|
+
Returns:
|
|
143
|
+
Tuple[KinematicsFileFormat.ValueType, bytes]: A tuple containing two values; the first [0] value represents the format of the
|
|
144
|
+
file, either in URDF format (``KinematicsFileFormat.KINEMATICS_FILE_FORMAT_URDF``) or
|
|
145
|
+
Viam's kinematic parameter format (spatial vector algebra) (``KinematicsFileFormat.KINEMATICS_FILE_FORMAT_SVA``),
|
|
146
|
+
and the second [1] value represents the byte contents of the file.
|
|
147
|
+
|
|
148
|
+
For more information, see `Gripper component <https://docs.viam.com/dev/reference/apis/components/gripper/#getkinematics>`_.
|
|
149
|
+
"""
|
|
150
|
+
...
|
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
from grpclib.server import Stream
|
|
2
2
|
|
|
3
|
-
from viam.proto.common import
|
|
3
|
+
from viam.proto.common import (
|
|
4
|
+
DoCommandRequest,
|
|
5
|
+
DoCommandResponse,
|
|
6
|
+
GetGeometriesRequest,
|
|
7
|
+
GetGeometriesResponse,
|
|
8
|
+
GetKinematicsRequest,
|
|
9
|
+
GetKinematicsResponse,
|
|
10
|
+
)
|
|
4
11
|
from viam.proto.component.gripper import (
|
|
5
12
|
GrabRequest,
|
|
6
13
|
GrabResponse,
|
|
@@ -74,8 +81,17 @@ class GripperRPCService(GripperServiceBase, ResourceRPCServiceBase[Gripper]):
|
|
|
74
81
|
async def GetGeometries(self, stream: Stream[GetGeometriesRequest, GetGeometriesResponse]) -> None:
|
|
75
82
|
request = await stream.recv_message()
|
|
76
83
|
assert request is not None
|
|
77
|
-
|
|
84
|
+
gripper = self.get_resource(request.name)
|
|
78
85
|
timeout = stream.deadline.time_remaining() if stream.deadline else None
|
|
79
|
-
geometries = await
|
|
86
|
+
geometries = await gripper.get_geometries(extra=struct_to_dict(request.extra), timeout=timeout)
|
|
80
87
|
response = GetGeometriesResponse(geometries=geometries)
|
|
81
88
|
await stream.send_message(response)
|
|
89
|
+
|
|
90
|
+
async def GetKinematics(self, stream: Stream[GetKinematicsRequest, GetKinematicsResponse]) -> None:
|
|
91
|
+
request = await stream.recv_message()
|
|
92
|
+
assert request is not None
|
|
93
|
+
gripper = self.get_resource(request.name)
|
|
94
|
+
timeout = stream.deadline.time_remaining() if stream.deadline else None
|
|
95
|
+
format, kinematics_data = await gripper.get_kinematics(extra=struct_to_dict(request.extra), timeout=timeout)
|
|
96
|
+
response = GetKinematicsResponse(format=format, kinematics_data=kinematics_data)
|
|
97
|
+
await stream.send_message(response)
|
|
@@ -6,51 +6,52 @@ from google.protobuf import symbol_database as _symbol_database
|
|
|
6
6
|
from google.protobuf.internal import builder as _builder
|
|
7
7
|
_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 5, 29, 2, '', 'app/datapipelines/v1/data_pipelines.proto')
|
|
8
8
|
_sym_db = _symbol_database.Default()
|
|
9
|
+
from ....app.data.v1 import data_pb2 as app_dot_data_dot_v1_dot_data__pb2
|
|
9
10
|
from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
|
|
10
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)app/datapipelines/v1/data_pipelines.proto\x12\x19viam.app.datapipelines.v1\x1a\x1fgoogle/protobuf/timestamp.proto"\
|
|
11
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)app/datapipelines/v1/data_pipelines.proto\x12\x19viam.app.datapipelines.v1\x1a\x16app/data/v1/data.proto\x1a\x1fgoogle/protobuf/timestamp.proto"\x93\x03\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\x12V\n\x10data_source_type\x18\t \x01(\x0e2\'.viam.app.data.v1.TabularDataSourceTypeH\x00R\x0edataSourceType\x88\x01\x01B\x13\n\x11_data_source_type"(\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"\xc2\x02\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\x01\x12V\n\x10data_source_type\x18\x06 \x01(\x0e2\'.viam.app.data.v1.TabularDataSourceTypeH\x01R\x0edataSourceType\x88\x01\x01B\x12\n\x10_enable_backfillB\x13\n\x11_data_source_type",\n\x1aCreateDataPipelineResponse\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"\xe7\x01\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\x12V\n\x10data_source_type\x18\x05 \x01(\x0e2\'.viam.app.data.v1.TabularDataSourceTypeH\x00R\x0edataSourceType\x88\x01\x01B\x13\n\x11_data_source_type"\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')
|
|
11
12
|
_globals = globals()
|
|
12
13
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
13
14
|
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'app.datapipelines.v1.data_pipelines_pb2', _globals)
|
|
14
15
|
if not _descriptor._USE_C_DESCRIPTORS:
|
|
15
16
|
_globals['DESCRIPTOR']._loaded_options = None
|
|
16
17
|
_globals['DESCRIPTOR']._serialized_options = b'Z$go.viam.com/api/app/datapipelines/v1'
|
|
17
|
-
_globals['_DATAPIPELINERUNSTATUS']._serialized_start =
|
|
18
|
-
_globals['_DATAPIPELINERUNSTATUS']._serialized_end =
|
|
19
|
-
_globals['_DATAPIPELINE']._serialized_start =
|
|
20
|
-
_globals['_DATAPIPELINE']._serialized_end =
|
|
21
|
-
_globals['_GETDATAPIPELINEREQUEST']._serialized_start =
|
|
22
|
-
_globals['_GETDATAPIPELINEREQUEST']._serialized_end =
|
|
23
|
-
_globals['_GETDATAPIPELINERESPONSE']._serialized_start =
|
|
24
|
-
_globals['_GETDATAPIPELINERESPONSE']._serialized_end =
|
|
25
|
-
_globals['_LISTDATAPIPELINESREQUEST']._serialized_start =
|
|
26
|
-
_globals['_LISTDATAPIPELINESREQUEST']._serialized_end =
|
|
27
|
-
_globals['_LISTDATAPIPELINESRESPONSE']._serialized_start =
|
|
28
|
-
_globals['_LISTDATAPIPELINESRESPONSE']._serialized_end =
|
|
29
|
-
_globals['_CREATEDATAPIPELINEREQUEST']._serialized_start =
|
|
30
|
-
_globals['_CREATEDATAPIPELINEREQUEST']._serialized_end =
|
|
31
|
-
_globals['_CREATEDATAPIPELINERESPONSE']._serialized_start =
|
|
32
|
-
_globals['_CREATEDATAPIPELINERESPONSE']._serialized_end =
|
|
33
|
-
_globals['_UPDATEDATAPIPELINEREQUEST']._serialized_start =
|
|
34
|
-
_globals['_UPDATEDATAPIPELINEREQUEST']._serialized_end =
|
|
35
|
-
_globals['_UPDATEDATAPIPELINERESPONSE']._serialized_start =
|
|
36
|
-
_globals['_UPDATEDATAPIPELINERESPONSE']._serialized_end =
|
|
37
|
-
_globals['_DELETEDATAPIPELINEREQUEST']._serialized_start =
|
|
38
|
-
_globals['_DELETEDATAPIPELINEREQUEST']._serialized_end =
|
|
39
|
-
_globals['_DELETEDATAPIPELINERESPONSE']._serialized_start =
|
|
40
|
-
_globals['_DELETEDATAPIPELINERESPONSE']._serialized_end =
|
|
41
|
-
_globals['_ENABLEDATAPIPELINEREQUEST']._serialized_start =
|
|
42
|
-
_globals['_ENABLEDATAPIPELINEREQUEST']._serialized_end =
|
|
43
|
-
_globals['_ENABLEDATAPIPELINERESPONSE']._serialized_start =
|
|
44
|
-
_globals['_ENABLEDATAPIPELINERESPONSE']._serialized_end =
|
|
45
|
-
_globals['_DISABLEDATAPIPELINEREQUEST']._serialized_start =
|
|
46
|
-
_globals['_DISABLEDATAPIPELINEREQUEST']._serialized_end =
|
|
47
|
-
_globals['_DISABLEDATAPIPELINERESPONSE']._serialized_start =
|
|
48
|
-
_globals['_DISABLEDATAPIPELINERESPONSE']._serialized_end =
|
|
49
|
-
_globals['_LISTDATAPIPELINERUNSREQUEST']._serialized_start =
|
|
50
|
-
_globals['_LISTDATAPIPELINERUNSREQUEST']._serialized_end =
|
|
51
|
-
_globals['_LISTDATAPIPELINERUNSRESPONSE']._serialized_start =
|
|
52
|
-
_globals['_LISTDATAPIPELINERUNSRESPONSE']._serialized_end =
|
|
53
|
-
_globals['_DATAPIPELINERUN']._serialized_start =
|
|
54
|
-
_globals['_DATAPIPELINERUN']._serialized_end =
|
|
55
|
-
_globals['_DATAPIPELINESSERVICE']._serialized_start =
|
|
56
|
-
_globals['_DATAPIPELINESSERVICE']._serialized_end =
|
|
18
|
+
_globals['_DATAPIPELINERUNSTATUS']._serialized_start = 2356
|
|
19
|
+
_globals['_DATAPIPELINERUNSTATUS']._serialized_end = 2576
|
|
20
|
+
_globals['_DATAPIPELINE']._serialized_start = 130
|
|
21
|
+
_globals['_DATAPIPELINE']._serialized_end = 533
|
|
22
|
+
_globals['_GETDATAPIPELINEREQUEST']._serialized_start = 535
|
|
23
|
+
_globals['_GETDATAPIPELINEREQUEST']._serialized_end = 575
|
|
24
|
+
_globals['_GETDATAPIPELINERESPONSE']._serialized_start = 577
|
|
25
|
+
_globals['_GETDATAPIPELINERESPONSE']._serialized_end = 680
|
|
26
|
+
_globals['_LISTDATAPIPELINESREQUEST']._serialized_start = 682
|
|
27
|
+
_globals['_LISTDATAPIPELINESREQUEST']._serialized_end = 749
|
|
28
|
+
_globals['_LISTDATAPIPELINESRESPONSE']._serialized_start = 751
|
|
29
|
+
_globals['_LISTDATAPIPELINESRESPONSE']._serialized_end = 858
|
|
30
|
+
_globals['_CREATEDATAPIPELINEREQUEST']._serialized_start = 861
|
|
31
|
+
_globals['_CREATEDATAPIPELINEREQUEST']._serialized_end = 1183
|
|
32
|
+
_globals['_CREATEDATAPIPELINERESPONSE']._serialized_start = 1185
|
|
33
|
+
_globals['_CREATEDATAPIPELINERESPONSE']._serialized_end = 1229
|
|
34
|
+
_globals['_UPDATEDATAPIPELINEREQUEST']._serialized_start = 1232
|
|
35
|
+
_globals['_UPDATEDATAPIPELINEREQUEST']._serialized_end = 1463
|
|
36
|
+
_globals['_UPDATEDATAPIPELINERESPONSE']._serialized_start = 1465
|
|
37
|
+
_globals['_UPDATEDATAPIPELINERESPONSE']._serialized_end = 1493
|
|
38
|
+
_globals['_DELETEDATAPIPELINEREQUEST']._serialized_start = 1495
|
|
39
|
+
_globals['_DELETEDATAPIPELINEREQUEST']._serialized_end = 1538
|
|
40
|
+
_globals['_DELETEDATAPIPELINERESPONSE']._serialized_start = 1540
|
|
41
|
+
_globals['_DELETEDATAPIPELINERESPONSE']._serialized_end = 1568
|
|
42
|
+
_globals['_ENABLEDATAPIPELINEREQUEST']._serialized_start = 1570
|
|
43
|
+
_globals['_ENABLEDATAPIPELINEREQUEST']._serialized_end = 1613
|
|
44
|
+
_globals['_ENABLEDATAPIPELINERESPONSE']._serialized_start = 1615
|
|
45
|
+
_globals['_ENABLEDATAPIPELINERESPONSE']._serialized_end = 1643
|
|
46
|
+
_globals['_DISABLEDATAPIPELINEREQUEST']._serialized_start = 1645
|
|
47
|
+
_globals['_DISABLEDATAPIPELINEREQUEST']._serialized_end = 1689
|
|
48
|
+
_globals['_DISABLEDATAPIPELINERESPONSE']._serialized_start = 1691
|
|
49
|
+
_globals['_DISABLEDATAPIPELINERESPONSE']._serialized_end = 1720
|
|
50
|
+
_globals['_LISTDATAPIPELINERUNSREQUEST']._serialized_start = 1722
|
|
51
|
+
_globals['_LISTDATAPIPELINERUNSREQUEST']._serialized_end = 1827
|
|
52
|
+
_globals['_LISTDATAPIPELINERUNSRESPONSE']._serialized_start = 1830
|
|
53
|
+
_globals['_LISTDATAPIPELINERUNSRESPONSE']._serialized_end = 1997
|
|
54
|
+
_globals['_DATAPIPELINERUN']._serialized_start = 2000
|
|
55
|
+
_globals['_DATAPIPELINERUN']._serialized_end = 2353
|
|
56
|
+
_globals['_DATAPIPELINESSERVICE']._serialized_start = 2579
|
|
57
|
+
_globals['_DATAPIPELINESSERVICE']._serialized_end = 3652
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
@generated by mypy-protobuf. Do not edit manually!
|
|
3
3
|
isort:skip_file
|
|
4
4
|
"""
|
|
5
|
+
from .... import app
|
|
5
6
|
import builtins
|
|
6
7
|
import collections.abc
|
|
7
8
|
import google.protobuf.descriptor
|
|
@@ -49,6 +50,7 @@ class DataPipeline(google.protobuf.message.Message):
|
|
|
49
50
|
ENABLED_FIELD_NUMBER: builtins.int
|
|
50
51
|
CREATED_ON_FIELD_NUMBER: builtins.int
|
|
51
52
|
UPDATED_AT_FIELD_NUMBER: builtins.int
|
|
53
|
+
DATA_SOURCE_TYPE_FIELD_NUMBER: builtins.int
|
|
52
54
|
id: builtins.str
|
|
53
55
|
organization_id: builtins.str
|
|
54
56
|
'The associated Viam organization ID.'
|
|
@@ -58,6 +60,8 @@ class DataPipeline(google.protobuf.message.Message):
|
|
|
58
60
|
'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 '
|
|
59
61
|
enabled: builtins.bool
|
|
60
62
|
'Whether or not the pipeline is enabled.'
|
|
63
|
+
data_source_type: app.data.v1.data_pb2.TabularDataSourceType.ValueType
|
|
64
|
+
'The type of data source for the pipeline. If not specified, default is standard data storage.'
|
|
61
65
|
|
|
62
66
|
@property
|
|
63
67
|
def mql_binary(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.bytes]:
|
|
@@ -73,13 +77,16 @@ class DataPipeline(google.protobuf.message.Message):
|
|
|
73
77
|
def updated_at(self) -> google.protobuf.timestamp_pb2.Timestamp:
|
|
74
78
|
"""The time the pipeline was last updated."""
|
|
75
79
|
|
|
76
|
-
def __init__(self, *, id: builtins.str=..., organization_id: builtins.str=..., name: builtins.str=..., mql_binary: collections.abc.Iterable[builtins.bytes] | None=..., schedule: builtins.str=..., enabled: builtins.bool=..., created_on: google.protobuf.timestamp_pb2.Timestamp | None=..., updated_at: google.protobuf.timestamp_pb2.Timestamp | None=...) -> None:
|
|
80
|
+
def __init__(self, *, id: builtins.str=..., organization_id: builtins.str=..., name: builtins.str=..., mql_binary: collections.abc.Iterable[builtins.bytes] | None=..., schedule: builtins.str=..., enabled: builtins.bool=..., created_on: google.protobuf.timestamp_pb2.Timestamp | None=..., updated_at: google.protobuf.timestamp_pb2.Timestamp | None=..., data_source_type: app.data.v1.data_pb2.TabularDataSourceType.ValueType | None=...) -> None:
|
|
77
81
|
...
|
|
78
82
|
|
|
79
|
-
def HasField(self, field_name: typing.Literal['created_on', b'created_on', 'updated_at', b'updated_at']) -> builtins.bool:
|
|
83
|
+
def HasField(self, field_name: typing.Literal['_data_source_type', b'_data_source_type', 'created_on', b'created_on', 'data_source_type', b'data_source_type', 'updated_at', b'updated_at']) -> builtins.bool:
|
|
80
84
|
...
|
|
81
85
|
|
|
82
|
-
def ClearField(self, field_name: typing.Literal['created_on', b'created_on', 'enabled', b'enabled', 'id', b'id', 'mql_binary', b'mql_binary', 'name', b'name', 'organization_id', b'organization_id', 'schedule', b'schedule', 'updated_at', b'updated_at']) -> None:
|
|
86
|
+
def ClearField(self, field_name: typing.Literal['_data_source_type', b'_data_source_type', 'created_on', b'created_on', 'data_source_type', b'data_source_type', 'enabled', b'enabled', 'id', b'id', 'mql_binary', b'mql_binary', 'name', b'name', 'organization_id', b'organization_id', 'schedule', b'schedule', 'updated_at', b'updated_at']) -> None:
|
|
87
|
+
...
|
|
88
|
+
|
|
89
|
+
def WhichOneof(self, oneof_group: typing.Literal['_data_source_type', b'_data_source_type']) -> typing.Literal['data_source_type'] | None:
|
|
83
90
|
...
|
|
84
91
|
global___DataPipeline = DataPipeline
|
|
85
92
|
|
|
@@ -153,12 +160,18 @@ class CreateDataPipelineRequest(google.protobuf.message.Message):
|
|
|
153
160
|
NAME_FIELD_NUMBER: builtins.int
|
|
154
161
|
MQL_BINARY_FIELD_NUMBER: builtins.int
|
|
155
162
|
SCHEDULE_FIELD_NUMBER: builtins.int
|
|
163
|
+
ENABLE_BACKFILL_FIELD_NUMBER: builtins.int
|
|
164
|
+
DATA_SOURCE_TYPE_FIELD_NUMBER: builtins.int
|
|
156
165
|
organization_id: builtins.str
|
|
157
166
|
'The associated Viam organization ID.'
|
|
158
167
|
name: builtins.str
|
|
159
168
|
'A unique identifier at the org level.'
|
|
160
169
|
schedule: builtins.str
|
|
161
170
|
'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 '
|
|
171
|
+
enable_backfill: builtins.bool
|
|
172
|
+
"When true, pipeline runs will be scheduled for the organization's past data."
|
|
173
|
+
data_source_type: app.data.v1.data_pb2.TabularDataSourceType.ValueType
|
|
174
|
+
'The type of data source for the pipeline. If not specified, default is standard data storage.'
|
|
162
175
|
|
|
163
176
|
@property
|
|
164
177
|
def mql_binary(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.bytes]:
|
|
@@ -166,10 +179,21 @@ class CreateDataPipelineRequest(google.protobuf.message.Message):
|
|
|
166
179
|
each document is one stage in the pipeline.
|
|
167
180
|
"""
|
|
168
181
|
|
|
169
|
-
def __init__(self, *, organization_id: builtins.str=..., name: builtins.str=..., mql_binary: collections.abc.Iterable[builtins.bytes] | None=..., schedule: builtins.str=...) -> None:
|
|
182
|
+
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=..., data_source_type: app.data.v1.data_pb2.TabularDataSourceType.ValueType | None=...) -> None:
|
|
183
|
+
...
|
|
184
|
+
|
|
185
|
+
def HasField(self, field_name: typing.Literal['_data_source_type', b'_data_source_type', '_enable_backfill', b'_enable_backfill', 'data_source_type', b'data_source_type', 'enable_backfill', b'enable_backfill']) -> builtins.bool:
|
|
186
|
+
...
|
|
187
|
+
|
|
188
|
+
def ClearField(self, field_name: typing.Literal['_data_source_type', b'_data_source_type', '_enable_backfill', b'_enable_backfill', 'data_source_type', b'data_source_type', 'enable_backfill', b'enable_backfill', 'mql_binary', b'mql_binary', 'name', b'name', 'organization_id', b'organization_id', 'schedule', b'schedule']) -> None:
|
|
170
189
|
...
|
|
171
190
|
|
|
172
|
-
|
|
191
|
+
@typing.overload
|
|
192
|
+
def WhichOneof(self, oneof_group: typing.Literal['_data_source_type', b'_data_source_type']) -> typing.Literal['data_source_type'] | None:
|
|
193
|
+
...
|
|
194
|
+
|
|
195
|
+
@typing.overload
|
|
196
|
+
def WhichOneof(self, oneof_group: typing.Literal['_enable_backfill', b'_enable_backfill']) -> typing.Literal['enable_backfill'] | None:
|
|
173
197
|
...
|
|
174
198
|
global___CreateDataPipelineRequest = CreateDataPipelineRequest
|
|
175
199
|
|
|
@@ -194,12 +218,15 @@ class UpdateDataPipelineRequest(google.protobuf.message.Message):
|
|
|
194
218
|
NAME_FIELD_NUMBER: builtins.int
|
|
195
219
|
MQL_BINARY_FIELD_NUMBER: builtins.int
|
|
196
220
|
SCHEDULE_FIELD_NUMBER: builtins.int
|
|
221
|
+
DATA_SOURCE_TYPE_FIELD_NUMBER: builtins.int
|
|
197
222
|
id: builtins.str
|
|
198
223
|
'The ID of the data pipeline to update.'
|
|
199
224
|
name: builtins.str
|
|
200
225
|
'A unique identifier at the org level.'
|
|
201
226
|
schedule: builtins.str
|
|
202
227
|
'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 '
|
|
228
|
+
data_source_type: app.data.v1.data_pb2.TabularDataSourceType.ValueType
|
|
229
|
+
'The type of data source for the pipeline. If not specified, default is standard data storage.'
|
|
203
230
|
|
|
204
231
|
@property
|
|
205
232
|
def mql_binary(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.bytes]:
|
|
@@ -207,10 +234,16 @@ class UpdateDataPipelineRequest(google.protobuf.message.Message):
|
|
|
207
234
|
each document is one stage in the pipeline.
|
|
208
235
|
"""
|
|
209
236
|
|
|
210
|
-
def __init__(self, *, id: builtins.str=..., name: builtins.str=..., mql_binary: collections.abc.Iterable[builtins.bytes] | None=..., schedule: builtins.str=...) -> None:
|
|
237
|
+
def __init__(self, *, id: builtins.str=..., name: builtins.str=..., mql_binary: collections.abc.Iterable[builtins.bytes] | None=..., schedule: builtins.str=..., data_source_type: app.data.v1.data_pb2.TabularDataSourceType.ValueType | None=...) -> None:
|
|
238
|
+
...
|
|
239
|
+
|
|
240
|
+
def HasField(self, field_name: typing.Literal['_data_source_type', b'_data_source_type', 'data_source_type', b'data_source_type']) -> builtins.bool:
|
|
241
|
+
...
|
|
242
|
+
|
|
243
|
+
def ClearField(self, field_name: typing.Literal['_data_source_type', b'_data_source_type', 'data_source_type', b'data_source_type', 'id', b'id', 'mql_binary', b'mql_binary', 'name', b'name', 'schedule', b'schedule']) -> None:
|
|
211
244
|
...
|
|
212
245
|
|
|
213
|
-
def
|
|
246
|
+
def WhichOneof(self, oneof_group: typing.Literal['_data_source_type', b'_data_source_type']) -> typing.Literal['data_source_type'] | None:
|
|
214
247
|
...
|
|
215
248
|
global___UpdateDataPipelineRequest = UpdateDataPipelineRequest
|
|
216
249
|
|
viam/gen/app/v1/app_grpc.py
CHANGED
|
@@ -221,6 +221,10 @@ class AppServiceBase(abc.ABC):
|
|
|
221
221
|
async def GetRobotPart(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.GetRobotPartRequest, app.v1.app_pb2.GetRobotPartResponse]') -> None:
|
|
222
222
|
pass
|
|
223
223
|
|
|
224
|
+
@abc.abstractmethod
|
|
225
|
+
async def GetRobotPartByNameAndLocation(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.GetRobotPartByNameAndLocationRequest, app.v1.app_pb2.GetRobotPartByNameAndLocationResponse]') -> None:
|
|
226
|
+
pass
|
|
227
|
+
|
|
224
228
|
@abc.abstractmethod
|
|
225
229
|
async def GetRobotPartLogs(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.GetRobotPartLogsRequest, app.v1.app_pb2.GetRobotPartLogsResponse]') -> None:
|
|
226
230
|
pass
|
|
@@ -434,7 +438,7 @@ class AppServiceBase(abc.ABC):
|
|
|
434
438
|
pass
|
|
435
439
|
|
|
436
440
|
def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]:
|
|
437
|
-
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)}
|
|
441
|
+
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)}
|
|
438
442
|
|
|
439
443
|
class UnimplementedAppServiceBase(AppServiceBase):
|
|
440
444
|
|
|
@@ -594,6 +598,9 @@ class UnimplementedAppServiceBase(AppServiceBase):
|
|
|
594
598
|
async def GetRobotPart(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.GetRobotPartRequest, app.v1.app_pb2.GetRobotPartResponse]') -> None:
|
|
595
599
|
raise grpclib.exceptions.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
|
|
596
600
|
|
|
601
|
+
async def GetRobotPartByNameAndLocation(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.GetRobotPartByNameAndLocationRequest, app.v1.app_pb2.GetRobotPartByNameAndLocationResponse]') -> None:
|
|
602
|
+
raise grpclib.exceptions.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
|
|
603
|
+
|
|
597
604
|
async def GetRobotPartLogs(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.GetRobotPartLogsRequest, app.v1.app_pb2.GetRobotPartLogsResponse]') -> None:
|
|
598
605
|
raise grpclib.exceptions.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
|
|
599
606
|
|
|
@@ -808,6 +815,7 @@ class AppServiceStub:
|
|
|
808
815
|
self.GetRoverRentalRobots = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/GetRoverRentalRobots', app.v1.app_pb2.GetRoverRentalRobotsRequest, app.v1.app_pb2.GetRoverRentalRobotsResponse)
|
|
809
816
|
self.GetRobotParts = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/GetRobotParts', app.v1.app_pb2.GetRobotPartsRequest, app.v1.app_pb2.GetRobotPartsResponse)
|
|
810
817
|
self.GetRobotPart = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/GetRobotPart', app.v1.app_pb2.GetRobotPartRequest, app.v1.app_pb2.GetRobotPartResponse)
|
|
818
|
+
self.GetRobotPartByNameAndLocation = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/GetRobotPartByNameAndLocation', app.v1.app_pb2.GetRobotPartByNameAndLocationRequest, app.v1.app_pb2.GetRobotPartByNameAndLocationResponse)
|
|
811
819
|
self.GetRobotPartLogs = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/GetRobotPartLogs', app.v1.app_pb2.GetRobotPartLogsRequest, app.v1.app_pb2.GetRobotPartLogsResponse)
|
|
812
820
|
self.TailRobotPartLogs = grpclib.client.UnaryStreamMethod(channel, '/viam.app.v1.AppService/TailRobotPartLogs', app.v1.app_pb2.TailRobotPartLogsRequest, app.v1.app_pb2.TailRobotPartLogsResponse)
|
|
813
821
|
self.GetRobotPartHistory = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/GetRobotPartHistory', app.v1.app_pb2.GetRobotPartHistoryRequest, app.v1.app_pb2.GetRobotPartHistoryResponse)
|