viam.proto.app.robot

@generated by Viam. Do not edit manually!

Classes

RobotServiceBase

Helper class that provides a standard way to create an ABC using

RobotServiceStub

UnimplementedRobotServiceBase

Helper class that provides a standard way to create an ABC using

AgentInfo

Abstract base class for protocol messages.

AppValidationStatus

Abstract base class for protocol messages.

AuthConfig

Abstract base class for protocol messages.

AuthHandlerConfig

Abstract base class for protocol messages.

CertificateRequest

Abstract base class for protocol messages.

CertificateResponse

Abstract base class for protocol messages.

CloudConfig

Abstract base class for protocol messages.

ComponentConfig

Abstract base class for protocol messages.

ConfigRequest

Abstract base class for protocol messages.

ConfigResponse

Abstract base class for protocol messages.

CredentialsType

ExternalAuthConfig

ExternalAuthConfig describes how a viam managed robot can accept

Frame

Abstract base class for protocol messages.

JWKSFile

Abstract base class for protocol messages.

LocationSecret

Valid location secret that can be used for authentication to the robot.

LogConfiguration

Abstract base class for protocol messages.

LogPatternConfig

LogPatternConfig allows you to specify a 2-tuple consisting

LogRequest

Abstract base class for protocol messages.

LogResponse

Abstract base class for protocol messages.

MaintenanceConfig

Abstract base class for protocol messages.

ModuleConfig

ModuleConfig is the configuration for a module.

NeedsRestartRequest

Abstract base class for protocol messages.

NeedsRestartResponse

Abstract base class for protocol messages.

NetworkConfig

Abstract base class for protocol messages.

Orientation

Abstract base class for protocol messages.

PackageConfig

PackageConfig is the configration for deployed Packages.

ProcessConfig

A ProcessConfig describes how to manage a system process.

RemoteAuth

RemoteAuth specifies how to authenticate against a remote. If no credentials are

RemoteConfig

A RemoteConfig describes a remote robot that should be integrated.

ResourceLevelServiceConfig

A ResourceLevelServiceConfig describes component or remote configuration for a service.

RobotConfig

Abstract base class for protocol messages.

ServiceConfig

Abstract base class for protocol messages.

SessionsConfig

Abstract base class for protocol messages.

Translation

Abstract base class for protocol messages.

Module Contents

class viam.proto.app.robot.RobotServiceBase[source]

Bases: abc.ABC

Helper class that provides a standard way to create an ABC using inheritance.

abstract Config(stream: grpclib.server.Stream[app.v1.robot_pb2.ConfigRequest, app.v1.robot_pb2.ConfigResponse]) None[source]
Async:

abstract Certificate(stream: grpclib.server.Stream[app.v1.robot_pb2.CertificateRequest, app.v1.robot_pb2.CertificateResponse]) None[source]
Async:

abstract Log(stream: grpclib.server.Stream[app.v1.robot_pb2.LogRequest, app.v1.robot_pb2.LogResponse]) None[source]
Async:

abstract NeedsRestart(stream: grpclib.server.Stream[app.v1.robot_pb2.NeedsRestartRequest, app.v1.robot_pb2.NeedsRestartResponse]) None[source]
Async:

__mapping__() Dict[str, grpclib.const.Handler][source]
class viam.proto.app.robot.RobotServiceStub(channel: grpclib.client.Channel)[source]
Config
Certificate
Log
NeedsRestart
class viam.proto.app.robot.UnimplementedRobotServiceBase[source]

Bases: RobotServiceBase

Helper class that provides a standard way to create an ABC using inheritance.

async Config(stream: grpclib.server.Stream[app.v1.robot_pb2.ConfigRequest, app.v1.robot_pb2.ConfigResponse]) None[source]
async Certificate(stream: grpclib.server.Stream[app.v1.robot_pb2.CertificateRequest, app.v1.robot_pb2.CertificateResponse]) None[source]
async Log(stream: grpclib.server.Stream[app.v1.robot_pb2.LogRequest, app.v1.robot_pb2.LogResponse]) None[source]
async NeedsRestart(stream: grpclib.server.Stream[app.v1.robot_pb2.NeedsRestartRequest, app.v1.robot_pb2.NeedsRestartResponse]) None[source]
class viam.proto.app.robot.AgentInfo(*, host: str = ..., os: str = ..., ips: collections.abc.Iterable[str] | None = ..., version: str = ..., git_revision: str = ..., platform: str | None = ..., platform_tags: collections.abc.Iterable[str] | None = ...)

Bases: google.protobuf.message.Message

Abstract base class for protocol messages.

Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below.

host: str
os: str

Will soon be deprecated, use platform instead

version: str

RDK version

git_revision: str
platform: str

The platform the RDK is running on. For example linux/amd64

property ips: google.protobuf.internal.containers.RepeatedScalarFieldContainer[str]

list of all ipv4 ips.

property platform_tags: google.protobuf.internal.containers.RepeatedScalarFieldContainer[str]

Optional tags to further constrain which artifact is returned for modules.

HasField(field_name: Literal['_platform', b'_platform', 'platform', b'platform']) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

WhichOneof(oneof_group: Literal['_platform', b'_platform']) Literal['platform'] | None

Returns the name of the field that is set inside a oneof group.

If no field is set, returns None.

Parameters:

oneof_group (str) – the name of the oneof group to check.

Returns:

The name of the group that is set, or None.

Return type:

str or None

Raises:

ValueError – no group with the given name exists

class viam.proto.app.robot.AppValidationStatus(*, error: str = ...)

Bases: google.protobuf.message.Message

Abstract base class for protocol messages.

Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below.

error: str
class viam.proto.app.robot.AuthConfig(*, handlers: collections.abc.Iterable[global___AuthHandlerConfig] | None = ..., tls_auth_entities: collections.abc.Iterable[str] | None = ..., external_auth_config: global___ExternalAuthConfig | None = ...)

Bases: google.protobuf.message.Message

Abstract base class for protocol messages.

Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below.

property handlers: google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___AuthHandlerConfig]
property tls_auth_entities: google.protobuf.internal.containers.RepeatedScalarFieldContainer[str]
property external_auth_config: global___ExternalAuthConfig
HasField(field_name: Literal['_external_auth_config', b'_external_auth_config', 'external_auth_config', b'external_auth_config']) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

WhichOneof(oneof_group: Literal['_external_auth_config', b'_external_auth_config']) Literal['external_auth_config'] | None

Returns the name of the field that is set inside a oneof group.

If no field is set, returns None.

Parameters:

oneof_group (str) – the name of the oneof group to check.

Returns:

The name of the group that is set, or None.

Return type:

str or None

Raises:

ValueError – no group with the given name exists

class viam.proto.app.robot.AuthHandlerConfig(*, type: global___CredentialsType = ..., config: google.protobuf.struct_pb2.Struct | None = ...)

Bases: google.protobuf.message.Message

Abstract base class for protocol messages.

Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below.

type: global___CredentialsType
property config: google.protobuf.struct_pb2.Struct
HasField(field_name: Literal['config', b'config']) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

class viam.proto.app.robot.CertificateRequest(*, id: str = ...)

Bases: google.protobuf.message.Message

Abstract base class for protocol messages.

Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below.

id: str

Robot part id.

class viam.proto.app.robot.CertificateResponse(*, id: str = ..., tls_certificate: str = ..., tls_private_key: str = ...)

Bases: google.protobuf.message.Message

Abstract base class for protocol messages.

Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below.

id: str

Robot part id.

tls_certificate: str
tls_private_key: str
class viam.proto.app.robot.CloudConfig(*, id: str = ..., fqdn: str = ..., local_fqdn: str = ..., managed_by: str = ..., signaling_address: str = ..., signaling_insecure: bool = ..., location_secret: str = ..., secret: str = ..., location_secrets: collections.abc.Iterable[global___LocationSecret] | None = ..., primary_org_id: str = ..., location_id: str = ..., machine_id: str = ...)

Bases: google.protobuf.message.Message

Abstract base class for protocol messages.

Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below.

id: str

Robot part id.

fqdn: str
local_fqdn: str
managed_by: str
signaling_address: str
signaling_insecure: bool
location_secret: str

Deprecated use location_secrets

secret: str

Robot part secret

primary_org_id: str
location_id: str
machine_id: str
property location_secrets: google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___LocationSecret]

All valid location secrets.

class viam.proto.app.robot.ComponentConfig(*, name: str = ..., namespace: str = ..., type: str = ..., model: str = ..., frame: global___Frame | None = ..., depends_on: collections.abc.Iterable[str] | None = ..., service_configs: collections.abc.Iterable[global___ResourceLevelServiceConfig] | None = ..., attributes: google.protobuf.struct_pb2.Struct | None = ..., api: str = ..., log_configuration: global___LogConfiguration | None = ...)

Bases: google.protobuf.message.Message

Abstract base class for protocol messages.

Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below.

name: str
namespace: str

deprecated; use api

type: str

deprecated; use api

model: str
api: str
property frame: global___Frame
property depends_on: google.protobuf.internal.containers.RepeatedScalarFieldContainer[str]
property service_configs: google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ResourceLevelServiceConfig]
property attributes: google.protobuf.struct_pb2.Struct
property log_configuration: global___LogConfiguration
HasField(field_name: Literal['attributes', b'attributes', 'frame', b'frame', 'log_configuration', b'log_configuration']) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

class viam.proto.app.robot.ConfigRequest(*, id: str = ..., agent_info: global___AgentInfo | None = ...)

Bases: google.protobuf.message.Message

Abstract base class for protocol messages.

Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below.

id: str

Robot part id.

property agent_info: global___AgentInfo

Details about the RDK (os, version) are updated during this request.

HasField(field_name: Literal['_agent_info', b'_agent_info', 'agent_info', b'agent_info']) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

WhichOneof(oneof_group: Literal['_agent_info', b'_agent_info']) Literal['agent_info'] | None

Returns the name of the field that is set inside a oneof group.

If no field is set, returns None.

Parameters:

oneof_group (str) – the name of the oneof group to check.

Returns:

The name of the group that is set, or None.

Return type:

str or None

Raises:

ValueError – no group with the given name exists

class viam.proto.app.robot.ConfigResponse(*, config: global___RobotConfig | None = ...)

Bases: google.protobuf.message.Message

Abstract base class for protocol messages.

Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below.

property config: global___RobotConfig
HasField(field_name: Literal['config', b'config']) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

class viam.proto.app.robot.CredentialsType

Bases: _CredentialsType

class viam.proto.app.robot.ExternalAuthConfig(*, jwks: global___JWKSFile | None = ...)

Bases: google.protobuf.message.Message

ExternalAuthConfig describes how a viam managed robot can accept credentials signed by the cloud app.

property jwks: global___JWKSFile
HasField(field_name: Literal['jwks', b'jwks']) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

class viam.proto.app.robot.Frame(*, parent: str = ..., translation: global___Translation | None = ..., orientation: global___Orientation | None = ..., geometry: viam.gen.common.v1.common_pb2.Geometry | None = ...)

Bases: google.protobuf.message.Message

Abstract base class for protocol messages.

Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below.

parent: str
property translation: global___Translation
property orientation: global___Orientation
property geometry: viam.gen.common.v1.common_pb2.Geometry
HasField(field_name: Literal['geometry', b'geometry', 'orientation', b'orientation', 'translation', b'translation']) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

class viam.proto.app.robot.JWKSFile(*, json: google.protobuf.struct_pb2.Struct | None = ...)

Bases: google.protobuf.message.Message

Abstract base class for protocol messages.

Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below.

property json: google.protobuf.struct_pb2.Struct

JSON Web Keys (JWKS) file as arbitary json. See https://www.rfc-editor.org/rfc/rfc7517

HasField(field_name: Literal['json', b'json']) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

class viam.proto.app.robot.LocationSecret(*, id: str = ..., secret: str = ...)

Bases: google.protobuf.message.Message

Valid location secret that can be used for authentication to the robot.

id: str
secret: str

secret payload

class viam.proto.app.robot.LogConfiguration(*, level: str = ...)

Bases: google.protobuf.message.Message

Abstract base class for protocol messages.

Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below.

level: str
class viam.proto.app.robot.LogPatternConfig(*, pattern: str = ..., level: str = ...)

Bases: google.protobuf.message.Message

LogPatternConfig allows you to specify a 2-tuple consisting of a logger name and its corresponding log level.

pattern: str
level: str
class viam.proto.app.robot.LogRequest(*, id: str = ..., logs: collections.abc.Iterable[viam.gen.common.v1.common_pb2.LogEntry] | None = ...)

Bases: google.protobuf.message.Message

Abstract base class for protocol messages.

Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below.

id: str

Robot part id.

property logs: google.protobuf.internal.containers.RepeatedCompositeFieldContainer[viam.gen.common.v1.common_pb2.LogEntry]
class viam.proto.app.robot.LogResponse

Bases: google.protobuf.message.Message

Abstract base class for protocol messages.

Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below.

class viam.proto.app.robot.MaintenanceConfig(*, sensor_name: viam.gen.common.v1.common_pb2.ResourceName | None = ..., maintenance_allowed_key: str = ...)

Bases: google.protobuf.message.Message

Abstract base class for protocol messages.

Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below.

maintenance_allowed_key: str
property sensor_name: viam.gen.common.v1.common_pb2.ResourceName
HasField(field_name: Literal['sensor_name', b'sensor_name']) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

class viam.proto.app.robot.ModuleConfig(*, name: str = ..., path: str = ..., log_level: str = ..., type: str = ..., module_id: str = ..., env: collections.abc.Mapping[str, str] | None = ..., status: global___AppValidationStatus | None = ..., first_run_timeout: google.protobuf.duration_pb2.Duration | None = ...)

Bases: google.protobuf.message.Message

ModuleConfig is the configuration for a module.

class EnvEntry(*, key: str = ..., value: str = ...)

Bases: google.protobuf.message.Message

Abstract base class for protocol messages.

Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below.

key: str
value: str
name: str
path: str

path to the executable

log_level: str

log level for module

type: str

type of the module (“local” or “registry”)

module_id: str

the id of the module if it is a registry module

property env: google.protobuf.internal.containers.ScalarMap[str, str]

additional environment variables passed to the module process

property status: global___AppValidationStatus

info about the validity of the module

property first_run_timeout: google.protobuf.duration_pb2.Duration

timeout for first_run script

HasField(field_name: Literal['first_run_timeout', b'first_run_timeout', 'status', b'status']) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

class viam.proto.app.robot.NeedsRestartRequest(*, id: str = ...)

Bases: google.protobuf.message.Message

Abstract base class for protocol messages.

Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below.

id: str

Robot part id.

class viam.proto.app.robot.NeedsRestartResponse(*, id: str = ..., must_restart: bool = ..., restart_check_interval: google.protobuf.duration_pb2.Duration | None = ...)

Bases: google.protobuf.message.Message

Abstract base class for protocol messages.

Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below.

id: str

Robot part id.

must_restart: bool
property restart_check_interval: google.protobuf.duration_pb2.Duration
HasField(field_name: Literal['restart_check_interval', b'restart_check_interval']) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

class viam.proto.app.robot.NetworkConfig(*, fqdn: str = ..., bind_address: str = ..., tls_cert_file: str = ..., tls_key_file: str = ..., sessions: global___SessionsConfig | None = ...)

Bases: google.protobuf.message.Message

Abstract base class for protocol messages.

Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below.

fqdn: str
bind_address: str
tls_cert_file: str
tls_key_file: str
property sessions: global___SessionsConfig
HasField(field_name: Literal['sessions', b'sessions']) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

class viam.proto.app.robot.Orientation(*, no_orientation: global___Orientation | None = ..., vector_radians: global___Orientation | None = ..., vector_degrees: global___Orientation | None = ..., euler_angles: global___Orientation | None = ..., axis_angles: global___Orientation | None = ..., quaternion: global___Orientation | None = ...)

Bases: google.protobuf.message.Message

Abstract base class for protocol messages.

Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below.

class NoOrientation

Bases: google.protobuf.message.Message

Abstract base class for protocol messages.

Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below.

class OrientationVectorRadians(*, theta: float = ..., x: float = ..., y: float = ..., z: float = ...)

Bases: google.protobuf.message.Message

OrientationVector containing ox, oy, oz, theta represents an orientation vector Structured similarly to an angle axis, an orientation vector works differently. Rather than representing an orientation with an arbitrary axis and a rotation around it from an origin, an orientation vector represents orientation such that the ox/oy/oz components represent the point on the cartesian unit sphere at which your end effector is pointing from the origin, and that unit vector forms an axis around which theta rotates. This means that incrementing/decrementing theta will perform an in-line rotation of the end effector. Theta is defined as rotation between two planes: the plane defined by the origin, the point (0,0,1), and the rx,ry,rz point, and the plane defined by the origin, the rx,ry,rz point, and the new local Z axis. So if theta is kept at zero as the north/south pole is circled, the Roll will correct itself to remain in-line.

theta: float
x: float
y: float
z: float
class OrientationVectorDegrees(*, theta: float = ..., x: float = ..., y: float = ..., z: float = ...)

Bases: google.protobuf.message.Message

OrientationVectorDegrees is the orientation vector between two objects, but expressed in degrees rather than radians. Because protobuf Pose is in degrees, this is necessary.

theta: float
x: float
y: float
z: float
class EulerAngles(*, roll: float = ..., pitch: float = ..., yaw: float = ...)

Bases: google.protobuf.message.Message

EulerAngles are three angles (in radians) used to represent the rotation of an object in 3D Euclidean space The Tait–Bryan angle formalism is used, with rotations around three distinct axes in the z-y′-x″ sequence.

roll: float
pitch: float
yaw: float
class AxisAngles(*, theta: float = ..., x: float = ..., y: float = ..., z: float = ...)

Bases: google.protobuf.message.Message

See here for a thorough explanation: https://en.wikipedia.org/wiki/Axis%E2%80%93angle_representation Basic explanation: Imagine a 3d cartesian grid centered at 0,0,0, and a sphere of radius 1 centered at that same point. An orientation can be expressed by first specifying an axis, i.e. a line from the origin to a point on that sphere, represented by (rx, ry, rz), and a rotation around that axis, theta. These four numbers can be used as-is (R4), or they can be converted to R3, where theta is multiplied by each of the unit sphere components to give a vector whose length is theta and whose direction is the original axis. AxisAngles represents an R4 axis angle.

theta: float
x: float
y: float
z: float
class Quaternion(*, w: float = ..., x: float = ..., y: float = ..., z: float = ...)

Bases: google.protobuf.message.Message

Quaternion is a float64 precision quaternion.

w: float
x: float
y: float
z: float
property no_orientation: global___Orientation
property vector_radians: global___Orientation
property vector_degrees: global___Orientation
property euler_angles: global___Orientation
property axis_angles: global___Orientation
property quaternion: global___Orientation
HasField(field_name: Literal['axis_angles', b'axis_angles', 'euler_angles', b'euler_angles', 'no_orientation', b'no_orientation', 'quaternion', b'quaternion', 'type', b'type', 'vector_degrees', b'vector_degrees', 'vector_radians', b'vector_radians']) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

WhichOneof(oneof_group: Literal['type', b'type']) Literal['no_orientation', 'vector_radians', 'vector_degrees', 'euler_angles', 'axis_angles', 'quaternion'] | None

Returns the name of the field that is set inside a oneof group.

If no field is set, returns None.

Parameters:

oneof_group (str) – the name of the oneof group to check.

Returns:

The name of the group that is set, or None.

Return type:

str or None

Raises:

ValueError – no group with the given name exists

class viam.proto.app.robot.PackageConfig(*, name: str = ..., package: str = ..., version: str = ..., type: str = ..., status: global___AppValidationStatus | None = ...)

Bases: google.protobuf.message.Message

PackageConfig is the configration for deployed Packages.

name: str

Name is the local name of the package on the RDK. Must be unique across Packages. Must not be empty.

package: str

Package is the unique package name hosted by Viam. Must not be empty.

version: str

version of the package ID hosted by Viam. If not specified “latest” is assumed.

type: str

type of the package

property status: global___AppValidationStatus

info about the validity of the package

HasField(field_name: Literal['status', b'status']) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

class viam.proto.app.robot.ProcessConfig(*, id: str = ..., name: str = ..., args: collections.abc.Iterable[str] | None = ..., cwd: str = ..., one_shot: bool = ..., log: bool = ..., stop_signal: int = ..., stop_timeout: google.protobuf.duration_pb2.Duration | None = ..., env: collections.abc.Mapping[str, str] | None = ..., username: str = ...)

Bases: google.protobuf.message.Message

A ProcessConfig describes how to manage a system process.

class EnvEntry(*, key: str = ..., value: str = ...)

Bases: google.protobuf.message.Message

Abstract base class for protocol messages.

Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below.

key: str
value: str
id: str
name: str
cwd: str
one_shot: bool
log: bool
stop_signal: int
username: str
property args: google.protobuf.internal.containers.RepeatedScalarFieldContainer[str]
property stop_timeout: google.protobuf.duration_pb2.Duration
property env: google.protobuf.internal.containers.ScalarMap[str, str]

additional environment variables passed to the process

HasField(field_name: Literal['stop_timeout', b'stop_timeout']) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

class viam.proto.app.robot.RemoteAuth(*, credentials: global___RemoteAuth | None = ..., entity: str = ...)

Bases: google.protobuf.message.Message

RemoteAuth specifies how to authenticate against a remote. If no credentials are specified, authentication does not happen. If an entity is specified, the authentication request will specify it.

class Credentials(*, type: global___CredentialsType = ..., payload: str = ...)

Bases: google.protobuf.message.Message

Credentials packages up both a type of credential along with its payload which is formatted specific to the type.

type: global___CredentialsType
payload: str
entity: str
property credentials: global___RemoteAuth
HasField(field_name: Literal['credentials', b'credentials']) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

class viam.proto.app.robot.RemoteConfig(*, name: str = ..., address: str = ..., frame: global___Frame | None = ..., auth: global___RemoteAuth | None = ..., managed_by: str = ..., insecure: bool = ..., connection_check_interval: google.protobuf.duration_pb2.Duration | None = ..., reconnect_interval: google.protobuf.duration_pb2.Duration | None = ..., service_configs: collections.abc.Iterable[global___ResourceLevelServiceConfig] | None = ..., secret: str = ...)

Bases: google.protobuf.message.Message

A RemoteConfig describes a remote robot that should be integrated. The Frame field defines how the “world” node of the remote robot should be reconciled with the “world” node of the the current robot. All components of the remote robot who have Parent as “world” will be attached to the parent defined in Frame, and with the given offset as well.

name: str
address: str
managed_by: str
insecure: bool
secret: str

Secret is a helper for a robot location secret.

property frame: global___Frame
property auth: global___RemoteAuth
property connection_check_interval: google.protobuf.duration_pb2.Duration
property reconnect_interval: google.protobuf.duration_pb2.Duration
property service_configs: google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ResourceLevelServiceConfig]
HasField(field_name: Literal['auth', b'auth', 'connection_check_interval', b'connection_check_interval', 'frame', b'frame', 'reconnect_interval', b'reconnect_interval']) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

class viam.proto.app.robot.ResourceLevelServiceConfig(*, type: str = ..., attributes: google.protobuf.struct_pb2.Struct | None = ...)

Bases: google.protobuf.message.Message

A ResourceLevelServiceConfig describes component or remote configuration for a service.

type: str
property attributes: google.protobuf.struct_pb2.Struct

Should this be move to a structured type as defined in the typescript frontend.

Type:

TODO(adam)

HasField(field_name: Literal['attributes', b'attributes']) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

class viam.proto.app.robot.RobotConfig(*, cloud: global___CloudConfig | None = ..., remotes: collections.abc.Iterable[global___RemoteConfig] | None = ..., components: collections.abc.Iterable[global___ComponentConfig] | None = ..., processes: collections.abc.Iterable[global___ProcessConfig] | None = ..., services: collections.abc.Iterable[global___ServiceConfig] | None = ..., network: global___NetworkConfig | None = ..., auth: global___AuthConfig | None = ..., debug: bool | None = ..., modules: collections.abc.Iterable[global___ModuleConfig] | None = ..., disable_partial_start: bool | None = ..., packages: collections.abc.Iterable[global___PackageConfig] | None = ..., overwrite_fragment_status: collections.abc.Iterable[global___AppValidationStatus] | None = ..., enable_web_profile: bool = ..., log: collections.abc.Iterable[global___LogPatternConfig] | None = ..., revision: str = ..., maintenance: global___MaintenanceConfig | None = ..., disable_log_deduplication: bool = ...)

Bases: google.protobuf.message.Message

Abstract base class for protocol messages.

Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below.

debug: bool

Turns on debug mode for robot, adding an echo server and more logging and tracing. Only works after restart

disable_partial_start: bool
enable_web_profile: bool

Turns on pprof http server on localhost. By default false.

revision: str

Attributes a particular revision to the config.

disable_log_deduplication: bool

Disables the robot’s log deduplication (identical, noisy logs will still be output individually instead of aggregated.)

property cloud: global___CloudConfig
property remotes: google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___RemoteConfig]
property components: google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ComponentConfig]
property processes: google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ProcessConfig]
property services: google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ServiceConfig]
property network: global___NetworkConfig
property auth: global___AuthConfig
property modules: google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ModuleConfig]
property packages: google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PackageConfig]
property overwrite_fragment_status: google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___AppValidationStatus]
property log: google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___LogPatternConfig]
property maintenance: global___MaintenanceConfig
HasField(field_name: Literal['_auth', b'_auth', '_debug', b'_debug', '_disable_partial_start', b'_disable_partial_start', '_maintenance', b'_maintenance', '_network', b'_network', 'auth', b'auth', 'cloud', b'cloud', 'debug', b'debug', 'disable_partial_start', b'disable_partial_start', 'maintenance', b'maintenance', 'network', b'network']) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

WhichOneof(oneof_group: Literal['_auth', b'_auth']) Literal['auth'] | None
WhichOneof(oneof_group: Literal['_debug', b'_debug']) Literal['debug'] | None
WhichOneof(oneof_group: Literal['_disable_partial_start', b'_disable_partial_start']) Literal['disable_partial_start'] | None
WhichOneof(oneof_group: Literal['_maintenance', b'_maintenance']) Literal['maintenance'] | None
WhichOneof(oneof_group: Literal['_network', b'_network']) Literal['network'] | None

Returns the name of the field that is set inside a oneof group.

If no field is set, returns None.

Parameters:

oneof_group (str) – the name of the oneof group to check.

Returns:

The name of the group that is set, or None.

Return type:

str or None

Raises:

ValueError – no group with the given name exists

class viam.proto.app.robot.ServiceConfig(*, name: str = ..., namespace: str = ..., type: str = ..., attributes: google.protobuf.struct_pb2.Struct | None = ..., depends_on: collections.abc.Iterable[str] | None = ..., model: str = ..., api: str = ..., service_configs: collections.abc.Iterable[global___ResourceLevelServiceConfig] | None = ..., log_configuration: global___LogConfiguration | None = ...)

Bases: google.protobuf.message.Message

Abstract base class for protocol messages.

Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below.

name: str
namespace: str

deprecated; use api

type: str

deprecated; use api

model: str
api: str
property attributes: google.protobuf.struct_pb2.Struct
property depends_on: google.protobuf.internal.containers.RepeatedScalarFieldContainer[str]
property service_configs: google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ResourceLevelServiceConfig]
property log_configuration: global___LogConfiguration
HasField(field_name: Literal['attributes', b'attributes', 'log_configuration', b'log_configuration']) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

class viam.proto.app.robot.SessionsConfig(*, heartbeat_window: google.protobuf.duration_pb2.Duration | None = ...)

Bases: google.protobuf.message.Message

Abstract base class for protocol messages.

Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below.

property heartbeat_window: google.protobuf.duration_pb2.Duration
HasField(field_name: Literal['heartbeat_window', b'heartbeat_window']) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

class viam.proto.app.robot.Translation(*, x: float = ..., y: float = ..., z: float = ...)

Bases: google.protobuf.message.Message

Abstract base class for protocol messages.

Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below.

x: float
y: float
z: float