viam.gen.app.v1.robot_pb2

@generated by mypy-protobuf. Do not edit manually! isort:skip_file

Attributes

DESCRIPTOR

CREDENTIALS_TYPE_UNSPECIFIED

CREDENTIALS_TYPE_INTERNAL

CREDENTIALS_TYPE_API_KEY

CREDENTIALS_TYPE_ROBOT_SECRET

CREDENTIALS_TYPE_ROBOT_LOCATION_SECRET

global___CredentialsType

global___RobotConfig

global___LogPatternConfig

global___LocationSecret

global___AppValidationStatus

global___CloudConfig

global___ComponentConfig

global___ResourceLevelServiceConfig

global___ProcessConfig

global___ServiceConfig

global___NetworkConfig

global___SessionsConfig

global___AuthConfig

global___JWKSFile

global___ExternalAuthConfig

global___AuthHandlerConfig

global___Frame

global___LogConfiguration

global___Translation

global___Orientation

global___RemoteConfig

global___RemoteAuth

global___AgentInfo

global___ConfigRequest

global___ConfigResponse

global___CertificateRequest

global___CertificateResponse

global___LogRequest

global___LogResponse

global___NeedsRestartRequest

global___NeedsRestartResponse

global___ModuleConfig

global___PackageConfig

global___MaintenanceConfig

Classes

CredentialsType

RobotConfig

Abstract base class for protocol messages.

LogPatternConfig

LogPatternConfig allows you to specify a 2-tuple consisting

LocationSecret

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

AppValidationStatus

Abstract base class for protocol messages.

CloudConfig

Abstract base class for protocol messages.

ComponentConfig

Abstract base class for protocol messages.

ResourceLevelServiceConfig

A ResourceLevelServiceConfig describes component or remote configuration for a service.

ProcessConfig

A ProcessConfig describes how to manage a system process.

ServiceConfig

Abstract base class for protocol messages.

NetworkConfig

Abstract base class for protocol messages.

SessionsConfig

Abstract base class for protocol messages.

AuthConfig

Abstract base class for protocol messages.

JWKSFile

Abstract base class for protocol messages.

ExternalAuthConfig

ExternalAuthConfig describes how a viam managed robot can accept

AuthHandlerConfig

Abstract base class for protocol messages.

Frame

Abstract base class for protocol messages.

LogConfiguration

Abstract base class for protocol messages.

Translation

Abstract base class for protocol messages.

Orientation

Abstract base class for protocol messages.

RemoteConfig

A RemoteConfig describes a remote robot that should be integrated.

RemoteAuth

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

AgentInfo

Abstract base class for protocol messages.

ConfigRequest

Abstract base class for protocol messages.

ConfigResponse

Abstract base class for protocol messages.

CertificateRequest

Abstract base class for protocol messages.

CertificateResponse

Abstract base class for protocol messages.

LogRequest

Abstract base class for protocol messages.

LogResponse

Abstract base class for protocol messages.

NeedsRestartRequest

Abstract base class for protocol messages.

NeedsRestartResponse

Abstract base class for protocol messages.

ModuleConfig

ModuleConfig is the configuration for a module.

PackageConfig

PackageConfig is the configration for deployed Packages.

MaintenanceConfig

Abstract base class for protocol messages.

Module Contents

viam.gen.app.v1.robot_pb2.DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
class viam.gen.app.v1.robot_pb2.CredentialsType

Bases: _CredentialsType

viam.gen.app.v1.robot_pb2.CREDENTIALS_TYPE_UNSPECIFIED: CredentialsType
viam.gen.app.v1.robot_pb2.CREDENTIALS_TYPE_INTERNAL: CredentialsType
viam.gen.app.v1.robot_pb2.CREDENTIALS_TYPE_API_KEY: CredentialsType
viam.gen.app.v1.robot_pb2.CREDENTIALS_TYPE_ROBOT_SECRET: CredentialsType
viam.gen.app.v1.robot_pb2.CREDENTIALS_TYPE_ROBOT_LOCATION_SECRET: CredentialsType
viam.gen.app.v1.robot_pb2.global___CredentialsType
class viam.gen.app.v1.robot_pb2.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 = ...)

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.

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

viam.gen.app.v1.robot_pb2.global___RobotConfig
class viam.gen.app.v1.robot_pb2.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
viam.gen.app.v1.robot_pb2.global___LogPatternConfig
class viam.gen.app.v1.robot_pb2.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

viam.gen.app.v1.robot_pb2.global___LocationSecret
class viam.gen.app.v1.robot_pb2.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
viam.gen.app.v1.robot_pb2.global___AppValidationStatus
class viam.gen.app.v1.robot_pb2.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.

viam.gen.app.v1.robot_pb2.global___CloudConfig
class viam.gen.app.v1.robot_pb2.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.

viam.gen.app.v1.robot_pb2.global___ComponentConfig
class viam.gen.app.v1.robot_pb2.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.

viam.gen.app.v1.robot_pb2.global___ResourceLevelServiceConfig
class viam.gen.app.v1.robot_pb2.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.

viam.gen.app.v1.robot_pb2.global___ProcessConfig
class viam.gen.app.v1.robot_pb2.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.

viam.gen.app.v1.robot_pb2.global___ServiceConfig
class viam.gen.app.v1.robot_pb2.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.

viam.gen.app.v1.robot_pb2.global___NetworkConfig
class viam.gen.app.v1.robot_pb2.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.

viam.gen.app.v1.robot_pb2.global___SessionsConfig
class viam.gen.app.v1.robot_pb2.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

viam.gen.app.v1.robot_pb2.global___AuthConfig
class viam.gen.app.v1.robot_pb2.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.

viam.gen.app.v1.robot_pb2.global___JWKSFile
class viam.gen.app.v1.robot_pb2.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.

viam.gen.app.v1.robot_pb2.global___ExternalAuthConfig
class viam.gen.app.v1.robot_pb2.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.

viam.gen.app.v1.robot_pb2.global___AuthHandlerConfig
class viam.gen.app.v1.robot_pb2.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.

viam.gen.app.v1.robot_pb2.global___Frame
class viam.gen.app.v1.robot_pb2.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
viam.gen.app.v1.robot_pb2.global___LogConfiguration
class viam.gen.app.v1.robot_pb2.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
viam.gen.app.v1.robot_pb2.global___Translation
class viam.gen.app.v1.robot_pb2.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

viam.gen.app.v1.robot_pb2.global___Orientation
class viam.gen.app.v1.robot_pb2.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.

viam.gen.app.v1.robot_pb2.global___RemoteConfig
class viam.gen.app.v1.robot_pb2.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.

viam.gen.app.v1.robot_pb2.global___RemoteAuth
class viam.gen.app.v1.robot_pb2.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

viam.gen.app.v1.robot_pb2.global___AgentInfo
class viam.gen.app.v1.robot_pb2.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

viam.gen.app.v1.robot_pb2.global___ConfigRequest
class viam.gen.app.v1.robot_pb2.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.

viam.gen.app.v1.robot_pb2.global___ConfigResponse
class viam.gen.app.v1.robot_pb2.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.

viam.gen.app.v1.robot_pb2.global___CertificateRequest
class viam.gen.app.v1.robot_pb2.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
viam.gen.app.v1.robot_pb2.global___CertificateResponse
class viam.gen.app.v1.robot_pb2.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]
viam.gen.app.v1.robot_pb2.global___LogRequest
class viam.gen.app.v1.robot_pb2.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.

viam.gen.app.v1.robot_pb2.global___LogResponse
class viam.gen.app.v1.robot_pb2.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.

viam.gen.app.v1.robot_pb2.global___NeedsRestartRequest
class viam.gen.app.v1.robot_pb2.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.

viam.gen.app.v1.robot_pb2.global___NeedsRestartResponse
class viam.gen.app.v1.robot_pb2.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.

viam.gen.app.v1.robot_pb2.global___ModuleConfig
class viam.gen.app.v1.robot_pb2.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.

viam.gen.app.v1.robot_pb2.global___PackageConfig
class viam.gen.app.v1.robot_pb2.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.

viam.gen.app.v1.robot_pb2.global___MaintenanceConfig