:py:mod:`viam.gen.app.v1.robot_pb2` =================================== .. py:module:: viam.gen.app.v1.robot_pb2 .. autoapi-nested-parse:: @generated by mypy-protobuf. Do not edit manually! isort:skip_file Module Contents --------------- Classes ~~~~~~~ .. autoapisummary:: viam.gen.app.v1.robot_pb2.CredentialsType viam.gen.app.v1.robot_pb2.RobotConfig viam.gen.app.v1.robot_pb2.LocationSecret viam.gen.app.v1.robot_pb2.AppValidationStatus viam.gen.app.v1.robot_pb2.CloudConfig viam.gen.app.v1.robot_pb2.ComponentConfig viam.gen.app.v1.robot_pb2.ResourceLevelServiceConfig viam.gen.app.v1.robot_pb2.ProcessConfig viam.gen.app.v1.robot_pb2.ServiceConfig viam.gen.app.v1.robot_pb2.NetworkConfig viam.gen.app.v1.robot_pb2.SessionsConfig viam.gen.app.v1.robot_pb2.AuthConfig viam.gen.app.v1.robot_pb2.JWKSFile viam.gen.app.v1.robot_pb2.ExternalAuthConfig viam.gen.app.v1.robot_pb2.AuthHandlerConfig viam.gen.app.v1.robot_pb2.Frame viam.gen.app.v1.robot_pb2.LogConfiguration viam.gen.app.v1.robot_pb2.Translation viam.gen.app.v1.robot_pb2.Orientation viam.gen.app.v1.robot_pb2.RemoteConfig viam.gen.app.v1.robot_pb2.RemoteAuth viam.gen.app.v1.robot_pb2.AgentInfo viam.gen.app.v1.robot_pb2.ConfigRequest viam.gen.app.v1.robot_pb2.ConfigResponse viam.gen.app.v1.robot_pb2.CertificateRequest viam.gen.app.v1.robot_pb2.CertificateResponse viam.gen.app.v1.robot_pb2.LogRequest viam.gen.app.v1.robot_pb2.LogResponse viam.gen.app.v1.robot_pb2.NeedsRestartRequest viam.gen.app.v1.robot_pb2.NeedsRestartResponse viam.gen.app.v1.robot_pb2.ModuleConfig viam.gen.app.v1.robot_pb2.PackageConfig Attributes ~~~~~~~~~~ .. autoapisummary:: viam.gen.app.v1.robot_pb2.DESCRIPTOR viam.gen.app.v1.robot_pb2.CREDENTIALS_TYPE_UNSPECIFIED viam.gen.app.v1.robot_pb2.CREDENTIALS_TYPE_INTERNAL viam.gen.app.v1.robot_pb2.CREDENTIALS_TYPE_API_KEY viam.gen.app.v1.robot_pb2.CREDENTIALS_TYPE_ROBOT_SECRET viam.gen.app.v1.robot_pb2.CREDENTIALS_TYPE_ROBOT_LOCATION_SECRET viam.gen.app.v1.robot_pb2.global___CredentialsType viam.gen.app.v1.robot_pb2.global___RobotConfig viam.gen.app.v1.robot_pb2.global___LocationSecret viam.gen.app.v1.robot_pb2.global___AppValidationStatus viam.gen.app.v1.robot_pb2.global___CloudConfig viam.gen.app.v1.robot_pb2.global___ComponentConfig viam.gen.app.v1.robot_pb2.global___ResourceLevelServiceConfig viam.gen.app.v1.robot_pb2.global___ProcessConfig viam.gen.app.v1.robot_pb2.global___ServiceConfig viam.gen.app.v1.robot_pb2.global___NetworkConfig viam.gen.app.v1.robot_pb2.global___SessionsConfig viam.gen.app.v1.robot_pb2.global___AuthConfig viam.gen.app.v1.robot_pb2.global___JWKSFile viam.gen.app.v1.robot_pb2.global___ExternalAuthConfig viam.gen.app.v1.robot_pb2.global___AuthHandlerConfig viam.gen.app.v1.robot_pb2.global___Frame viam.gen.app.v1.robot_pb2.global___LogConfiguration viam.gen.app.v1.robot_pb2.global___Translation viam.gen.app.v1.robot_pb2.global___Orientation viam.gen.app.v1.robot_pb2.global___RemoteConfig viam.gen.app.v1.robot_pb2.global___RemoteAuth viam.gen.app.v1.robot_pb2.global___AgentInfo viam.gen.app.v1.robot_pb2.global___ConfigRequest viam.gen.app.v1.robot_pb2.global___ConfigResponse viam.gen.app.v1.robot_pb2.global___CertificateRequest viam.gen.app.v1.robot_pb2.global___CertificateResponse viam.gen.app.v1.robot_pb2.global___LogRequest viam.gen.app.v1.robot_pb2.global___LogResponse viam.gen.app.v1.robot_pb2.global___NeedsRestartRequest viam.gen.app.v1.robot_pb2.global___NeedsRestartResponse viam.gen.app.v1.robot_pb2.global___ModuleConfig viam.gen.app.v1.robot_pb2.global___PackageConfig .. py:data:: DESCRIPTOR :type: google.protobuf.descriptor.FileDescriptor .. py:class:: CredentialsType Bases: :py:obj:`_CredentialsType` .. py:data:: CREDENTIALS_TYPE_UNSPECIFIED :type: CredentialsType .. py:data:: CREDENTIALS_TYPE_INTERNAL :type: CredentialsType .. py:data:: CREDENTIALS_TYPE_API_KEY :type: CredentialsType .. py:data:: CREDENTIALS_TYPE_ROBOT_SECRET :type: CredentialsType .. py:data:: CREDENTIALS_TYPE_ROBOT_LOCATION_SECRET :type: CredentialsType .. py:data:: global___CredentialsType .. py:class:: 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 | None = ...) Bases: :py:obj:`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. .. py:property:: cloud :type: global___CloudConfig .. py:property:: remotes :type: google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___RemoteConfig] .. py:property:: components :type: google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ComponentConfig] .. py:property:: processes :type: google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ProcessConfig] .. py:property:: services :type: google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ServiceConfig] .. py:property:: network :type: global___NetworkConfig .. py:property:: auth :type: global___AuthConfig .. py:property:: modules :type: google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ModuleConfig] .. py:property:: packages :type: google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PackageConfig] .. py:property:: overwrite_fragment_status :type: google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___AppValidationStatus] .. py:attribute:: debug :type: bool Turns on debug mode for robot, adding an echo server and more logging and tracing. Only works after restart .. py:attribute:: disable_partial_start :type: bool .. py:attribute:: enable_web_profile :type: bool Turns on pprof http server on localhost. By default false. .. py:method:: HasField(field_name: Literal[_auth, b'_auth', _debug, b'_debug', _disable_partial_start, b'_disable_partial_start', _enable_web_profile, b'_enable_web_profile', _network, b'_network', auth, b'auth', cloud, b'cloud', debug, b'debug', disable_partial_start, b'disable_partial_start', enable_web_profile, b'enable_web_profile', 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, :exc:`ValueError` will be raised. :param field_name: The name of the field to check for presence. :type field_name: str :returns: Whether a value has been set for the named field. :rtype: bool :raises ValueError: if the `field_name` is not a member of this message. .. py:method:: 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[_enable_web_profile, b'_enable_web_profile']) -> Literal[enable_web_profile] | 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. :param oneof_group: the name of the oneof group to check. :type oneof_group: str :returns: The name of the group that is set, or None. :rtype: str or None :raises ValueError: no group with the given name exists .. py:data:: global___RobotConfig .. py:class:: LocationSecret(*, id: str = ..., secret: str = ...) Bases: :py:obj:`google.protobuf.message.Message` Valid location secret that can be used for authentication to the robot. .. py:attribute:: id :type: str .. py:attribute:: secret :type: str secret payload .. py:data:: global___LocationSecret .. py:class:: AppValidationStatus(*, error: str = ...) Bases: :py:obj:`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. .. py:attribute:: error :type: str .. py:data:: global___AppValidationStatus .. py:class:: 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: :py:obj:`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. .. py:property:: location_secrets :type: google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___LocationSecret] All valid location secrets. .. py:attribute:: id :type: str Robot part id. .. py:attribute:: fqdn :type: str .. py:attribute:: local_fqdn :type: str .. py:attribute:: managed_by :type: str .. py:attribute:: signaling_address :type: str .. py:attribute:: signaling_insecure :type: bool .. py:attribute:: location_secret :type: str Deprecated use location_secrets .. py:attribute:: secret :type: str Robot part secret .. py:attribute:: primary_org_id :type: str .. py:attribute:: location_id :type: str .. py:attribute:: machine_id :type: str .. py:data:: global___CloudConfig .. py:class:: 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: :py:obj:`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. .. py:property:: frame :type: global___Frame .. py:property:: depends_on :type: google.protobuf.internal.containers.RepeatedScalarFieldContainer[str] .. py:property:: service_configs :type: google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ResourceLevelServiceConfig] .. py:property:: attributes :type: google.protobuf.struct_pb2.Struct .. py:property:: log_configuration :type: global___LogConfiguration .. py:attribute:: name :type: str .. py:attribute:: namespace :type: str deprecated; use api .. py:attribute:: type :type: str deprecated; use api .. py:attribute:: model :type: str .. py:attribute:: api :type: str .. py:method:: 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, :exc:`ValueError` will be raised. :param field_name: The name of the field to check for presence. :type field_name: str :returns: Whether a value has been set for the named field. :rtype: bool :raises ValueError: if the `field_name` is not a member of this message. .. py:data:: global___ComponentConfig .. py:class:: ResourceLevelServiceConfig(*, type: str = ..., attributes: google.protobuf.struct_pb2.Struct | None = ...) Bases: :py:obj:`google.protobuf.message.Message` A ResourceLevelServiceConfig describes component or remote configuration for a service. .. py:property:: attributes :type: google.protobuf.struct_pb2.Struct Should this be move to a structured type as defined in the typescript frontend. :type: TODO(adam) .. py:attribute:: type :type: str .. py:method:: 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, :exc:`ValueError` will be raised. :param field_name: The name of the field to check for presence. :type field_name: str :returns: Whether a value has been set for the named field. :rtype: bool :raises ValueError: if the `field_name` is not a member of this message. .. py:data:: global___ResourceLevelServiceConfig .. py:class:: 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 = ...) Bases: :py:obj:`google.protobuf.message.Message` A ProcessConfig describes how to manage a system process. .. py:class:: EnvEntry(*, key: str = ..., value: str = ...) Bases: :py:obj:`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. .. py:attribute:: key :type: str .. py:attribute:: value :type: str .. py:property:: args :type: google.protobuf.internal.containers.RepeatedScalarFieldContainer[str] .. py:property:: stop_timeout :type: google.protobuf.duration_pb2.Duration .. py:property:: env :type: google.protobuf.internal.containers.ScalarMap[str, str] additional environment variables passed to the process .. py:attribute:: id :type: str .. py:attribute:: name :type: str .. py:attribute:: cwd :type: str .. py:attribute:: one_shot :type: bool .. py:attribute:: log :type: bool .. py:attribute:: stop_signal :type: int .. py:method:: 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, :exc:`ValueError` will be raised. :param field_name: The name of the field to check for presence. :type field_name: str :returns: Whether a value has been set for the named field. :rtype: bool :raises ValueError: if the `field_name` is not a member of this message. .. py:data:: global___ProcessConfig .. py:class:: 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 = ...) Bases: :py:obj:`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. .. py:property:: attributes :type: google.protobuf.struct_pb2.Struct .. py:property:: depends_on :type: google.protobuf.internal.containers.RepeatedScalarFieldContainer[str] .. py:property:: service_configs :type: google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ResourceLevelServiceConfig] .. py:attribute:: name :type: str .. py:attribute:: namespace :type: str deprecated; use api .. py:attribute:: type :type: str deprecated; use api .. py:attribute:: model :type: str .. py:attribute:: api :type: str .. py:method:: 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, :exc:`ValueError` will be raised. :param field_name: The name of the field to check for presence. :type field_name: str :returns: Whether a value has been set for the named field. :rtype: bool :raises ValueError: if the `field_name` is not a member of this message. .. py:data:: global___ServiceConfig .. py:class:: NetworkConfig(*, fqdn: str = ..., bind_address: str = ..., tls_cert_file: str = ..., tls_key_file: str = ..., sessions: global___SessionsConfig | None = ...) Bases: :py:obj:`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. .. py:property:: sessions :type: global___SessionsConfig .. py:attribute:: fqdn :type: str .. py:attribute:: bind_address :type: str .. py:attribute:: tls_cert_file :type: str .. py:attribute:: tls_key_file :type: str .. py:method:: 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, :exc:`ValueError` will be raised. :param field_name: The name of the field to check for presence. :type field_name: str :returns: Whether a value has been set for the named field. :rtype: bool :raises ValueError: if the `field_name` is not a member of this message. .. py:data:: global___NetworkConfig .. py:class:: SessionsConfig(*, heartbeat_window: google.protobuf.duration_pb2.Duration | None = ...) Bases: :py:obj:`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. .. py:property:: heartbeat_window :type: google.protobuf.duration_pb2.Duration .. py:method:: 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, :exc:`ValueError` will be raised. :param field_name: The name of the field to check for presence. :type field_name: str :returns: Whether a value has been set for the named field. :rtype: bool :raises ValueError: if the `field_name` is not a member of this message. .. py:data:: global___SessionsConfig .. py:class:: AuthConfig(*, handlers: collections.abc.Iterable[global___AuthHandlerConfig] | None = ..., tls_auth_entities: collections.abc.Iterable[str] | None = ..., external_auth_config: global___ExternalAuthConfig | None = ...) Bases: :py:obj:`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. .. py:property:: handlers :type: google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___AuthHandlerConfig] .. py:property:: tls_auth_entities :type: google.protobuf.internal.containers.RepeatedScalarFieldContainer[str] .. py:property:: external_auth_config :type: global___ExternalAuthConfig .. py:method:: 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, :exc:`ValueError` will be raised. :param field_name: The name of the field to check for presence. :type field_name: str :returns: Whether a value has been set for the named field. :rtype: bool :raises ValueError: if the `field_name` is not a member of this message. .. py:method:: 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. :param oneof_group: the name of the oneof group to check. :type oneof_group: str :returns: The name of the group that is set, or None. :rtype: str or None :raises ValueError: no group with the given name exists .. py:data:: global___AuthConfig .. py:class:: JWKSFile(*, json: google.protobuf.struct_pb2.Struct | None = ...) Bases: :py:obj:`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. .. py:property:: json :type: google.protobuf.struct_pb2.Struct JSON Web Keys (JWKS) file as arbitary json. See https://www.rfc-editor.org/rfc/rfc7517 .. py:method:: 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, :exc:`ValueError` will be raised. :param field_name: The name of the field to check for presence. :type field_name: str :returns: Whether a value has been set for the named field. :rtype: bool :raises ValueError: if the `field_name` is not a member of this message. .. py:data:: global___JWKSFile .. py:class:: ExternalAuthConfig(*, jwks: global___JWKSFile | None = ...) Bases: :py:obj:`google.protobuf.message.Message` ExternalAuthConfig describes how a viam managed robot can accept credentials signed by the cloud app. .. py:property:: jwks :type: global___JWKSFile .. py:method:: 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, :exc:`ValueError` will be raised. :param field_name: The name of the field to check for presence. :type field_name: str :returns: Whether a value has been set for the named field. :rtype: bool :raises ValueError: if the `field_name` is not a member of this message. .. py:data:: global___ExternalAuthConfig .. py:class:: AuthHandlerConfig(*, type: global___CredentialsType = ..., config: google.protobuf.struct_pb2.Struct | None = ...) Bases: :py:obj:`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. .. py:property:: config :type: google.protobuf.struct_pb2.Struct .. py:attribute:: type :type: global___CredentialsType .. py:method:: 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, :exc:`ValueError` will be raised. :param field_name: The name of the field to check for presence. :type field_name: str :returns: Whether a value has been set for the named field. :rtype: bool :raises ValueError: if the `field_name` is not a member of this message. .. py:data:: global___AuthHandlerConfig .. py:class:: Frame(*, parent: str = ..., translation: global___Translation | None = ..., orientation: global___Orientation | None = ..., geometry: viam.gen.common.v1.common_pb2.Geometry | None = ...) Bases: :py:obj:`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. .. py:property:: translation :type: global___Translation .. py:property:: orientation :type: global___Orientation .. py:property:: geometry :type: viam.gen.common.v1.common_pb2.Geometry .. py:attribute:: parent :type: str .. py:method:: 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, :exc:`ValueError` will be raised. :param field_name: The name of the field to check for presence. :type field_name: str :returns: Whether a value has been set for the named field. :rtype: bool :raises ValueError: if the `field_name` is not a member of this message. .. py:data:: global___Frame .. py:class:: LogConfiguration(*, level: str = ...) Bases: :py:obj:`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. .. py:attribute:: level :type: str .. py:data:: global___LogConfiguration .. py:class:: Translation(*, x: float = ..., y: float = ..., z: float = ...) Bases: :py:obj:`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. .. py:attribute:: x :type: float .. py:attribute:: y :type: float .. py:attribute:: z :type: float .. py:data:: global___Translation .. py:class:: 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: :py:obj:`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. .. py:class:: NoOrientation Bases: :py:obj:`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. .. py:class:: OrientationVectorRadians(*, theta: float = ..., x: float = ..., y: float = ..., z: float = ...) Bases: :py:obj:`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. .. py:attribute:: theta :type: float .. py:attribute:: x :type: float .. py:attribute:: y :type: float .. py:attribute:: z :type: float .. py:class:: OrientationVectorDegrees(*, theta: float = ..., x: float = ..., y: float = ..., z: float = ...) Bases: :py:obj:`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. .. py:attribute:: theta :type: float .. py:attribute:: x :type: float .. py:attribute:: y :type: float .. py:attribute:: z :type: float .. py:class:: EulerAngles(*, roll: float = ..., pitch: float = ..., yaw: float = ...) Bases: :py:obj:`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. .. py:attribute:: roll :type: float .. py:attribute:: pitch :type: float .. py:attribute:: yaw :type: float .. py:class:: AxisAngles(*, theta: float = ..., x: float = ..., y: float = ..., z: float = ...) Bases: :py:obj:`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. .. py:attribute:: theta :type: float .. py:attribute:: x :type: float .. py:attribute:: y :type: float .. py:attribute:: z :type: float .. py:class:: Quaternion(*, w: float = ..., x: float = ..., y: float = ..., z: float = ...) Bases: :py:obj:`google.protobuf.message.Message` Quaternion is a float64 precision quaternion. .. py:attribute:: w :type: float .. py:attribute:: x :type: float .. py:attribute:: y :type: float .. py:attribute:: z :type: float .. py:property:: no_orientation :type: global___Orientation .. py:property:: vector_radians :type: global___Orientation .. py:property:: vector_degrees :type: global___Orientation .. py:property:: euler_angles :type: global___Orientation .. py:property:: axis_angles :type: global___Orientation .. py:property:: quaternion :type: global___Orientation .. py:method:: 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, :exc:`ValueError` will be raised. :param field_name: The name of the field to check for presence. :type field_name: str :returns: Whether a value has been set for the named field. :rtype: bool :raises ValueError: if the `field_name` is not a member of this message. .. py:method:: 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. :param oneof_group: the name of the oneof group to check. :type oneof_group: str :returns: The name of the group that is set, or None. :rtype: str or None :raises ValueError: no group with the given name exists .. py:data:: global___Orientation .. py:class:: 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: :py:obj:`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. .. py:property:: frame :type: global___Frame .. py:property:: auth :type: global___RemoteAuth .. py:property:: connection_check_interval :type: google.protobuf.duration_pb2.Duration .. py:property:: reconnect_interval :type: google.protobuf.duration_pb2.Duration .. py:property:: service_configs :type: google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ResourceLevelServiceConfig] .. py:attribute:: name :type: str .. py:attribute:: address :type: str .. py:attribute:: managed_by :type: str .. py:attribute:: insecure :type: bool .. py:attribute:: secret :type: str Secret is a helper for a robot location secret. .. py:method:: 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, :exc:`ValueError` will be raised. :param field_name: The name of the field to check for presence. :type field_name: str :returns: Whether a value has been set for the named field. :rtype: bool :raises ValueError: if the `field_name` is not a member of this message. .. py:data:: global___RemoteConfig .. py:class:: RemoteAuth(*, credentials: global___RemoteAuth | None = ..., entity: str = ...) Bases: :py:obj:`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. .. py:class:: Credentials(*, type: global___CredentialsType = ..., payload: str = ...) Bases: :py:obj:`google.protobuf.message.Message` Credentials packages up both a type of credential along with its payload which is formatted specific to the type. .. py:attribute:: type :type: global___CredentialsType .. py:attribute:: payload :type: str .. py:property:: credentials :type: global___RemoteAuth .. py:attribute:: entity :type: str .. py:method:: 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, :exc:`ValueError` will be raised. :param field_name: The name of the field to check for presence. :type field_name: str :returns: Whether a value has been set for the named field. :rtype: bool :raises ValueError: if the `field_name` is not a member of this message. .. py:data:: global___RemoteAuth .. py:class:: AgentInfo(*, host: str = ..., os: str = ..., ips: collections.abc.Iterable[str] | None = ..., version: str = ..., git_revision: str = ..., platform: str | None = ...) Bases: :py:obj:`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. .. py:property:: ips :type: google.protobuf.internal.containers.RepeatedScalarFieldContainer[str] list of all ipv4 ips. .. py:attribute:: host :type: str .. py:attribute:: os :type: str Will soon be deprecated, use platform instead .. py:attribute:: version :type: str RDK version .. py:attribute:: git_revision :type: str .. py:attribute:: platform :type: str The platform the RDK is running on. For example linux/amd64 .. py:method:: 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, :exc:`ValueError` will be raised. :param field_name: The name of the field to check for presence. :type field_name: str :returns: Whether a value has been set for the named field. :rtype: bool :raises ValueError: if the `field_name` is not a member of this message. .. py:method:: 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. :param oneof_group: the name of the oneof group to check. :type oneof_group: str :returns: The name of the group that is set, or None. :rtype: str or None :raises ValueError: no group with the given name exists .. py:data:: global___AgentInfo .. py:class:: ConfigRequest(*, id: str = ..., agent_info: global___AgentInfo | None = ...) Bases: :py:obj:`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. .. py:property:: agent_info :type: global___AgentInfo Details about the RDK (os, version) are updated during this request. .. py:attribute:: id :type: str Robot part id. .. py:method:: 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, :exc:`ValueError` will be raised. :param field_name: The name of the field to check for presence. :type field_name: str :returns: Whether a value has been set for the named field. :rtype: bool :raises ValueError: if the `field_name` is not a member of this message. .. py:method:: 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. :param oneof_group: the name of the oneof group to check. :type oneof_group: str :returns: The name of the group that is set, or None. :rtype: str or None :raises ValueError: no group with the given name exists .. py:data:: global___ConfigRequest .. py:class:: ConfigResponse(*, config: global___RobotConfig | None = ...) Bases: :py:obj:`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. .. py:property:: config :type: global___RobotConfig .. py:method:: 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, :exc:`ValueError` will be raised. :param field_name: The name of the field to check for presence. :type field_name: str :returns: Whether a value has been set for the named field. :rtype: bool :raises ValueError: if the `field_name` is not a member of this message. .. py:data:: global___ConfigResponse .. py:class:: CertificateRequest(*, id: str = ...) Bases: :py:obj:`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. .. py:attribute:: id :type: str Robot part id. .. py:data:: global___CertificateRequest .. py:class:: CertificateResponse(*, id: str = ..., tls_certificate: str = ..., tls_private_key: str = ...) Bases: :py:obj:`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. .. py:attribute:: id :type: str Robot part id. .. py:attribute:: tls_certificate :type: str .. py:attribute:: tls_private_key :type: str .. py:data:: global___CertificateResponse .. py:class:: LogRequest(*, id: str = ..., logs: collections.abc.Iterable[viam.gen.common.v1.common_pb2.LogEntry] | None = ...) Bases: :py:obj:`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. .. py:property:: logs :type: google.protobuf.internal.containers.RepeatedCompositeFieldContainer[viam.gen.common.v1.common_pb2.LogEntry] .. py:attribute:: id :type: str Robot part id. .. py:data:: global___LogRequest .. py:class:: LogResponse Bases: :py:obj:`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. .. py:data:: global___LogResponse .. py:class:: NeedsRestartRequest(*, id: str = ...) Bases: :py:obj:`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. .. py:attribute:: id :type: str Robot part id. .. py:data:: global___NeedsRestartRequest .. py:class:: NeedsRestartResponse(*, id: str = ..., must_restart: bool = ..., restart_check_interval: google.protobuf.duration_pb2.Duration | None = ...) Bases: :py:obj:`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. .. py:property:: restart_check_interval :type: google.protobuf.duration_pb2.Duration .. py:attribute:: id :type: str Robot part id. .. py:attribute:: must_restart :type: bool .. py:method:: 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, :exc:`ValueError` will be raised. :param field_name: The name of the field to check for presence. :type field_name: str :returns: Whether a value has been set for the named field. :rtype: bool :raises ValueError: if the `field_name` is not a member of this message. .. py:data:: global___NeedsRestartResponse .. py:class:: ModuleConfig(*, name: str = ..., path: str = ..., log_level: str = ..., type: str = ..., module_id: str = ..., env: collections.abc.Mapping[str, str] | None = ..., status: global___AppValidationStatus | None = ...) Bases: :py:obj:`google.protobuf.message.Message` ModuleConfig is the configuration for a module. .. py:class:: EnvEntry(*, key: str = ..., value: str = ...) Bases: :py:obj:`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. .. py:attribute:: key :type: str .. py:attribute:: value :type: str .. py:property:: env :type: google.protobuf.internal.containers.ScalarMap[str, str] additional environment variables passed to the module process .. py:property:: status :type: global___AppValidationStatus info about the validity of the module .. py:attribute:: name :type: str .. py:attribute:: path :type: str path to the executable .. py:attribute:: log_level :type: str log level for module .. py:attribute:: type :type: str type of the module ("local" or "registry") .. py:attribute:: module_id :type: str the id of the module if it is a registry module .. py:method:: 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, :exc:`ValueError` will be raised. :param field_name: The name of the field to check for presence. :type field_name: str :returns: Whether a value has been set for the named field. :rtype: bool :raises ValueError: if the `field_name` is not a member of this message. .. py:data:: global___ModuleConfig .. py:class:: PackageConfig(*, name: str = ..., package: str = ..., version: str = ..., type: str = ..., status: global___AppValidationStatus | None = ...) Bases: :py:obj:`google.protobuf.message.Message` PackageConfig is the configration for deployed Packages. .. py:property:: status :type: global___AppValidationStatus info about the validity of the package .. py:attribute:: name :type: str Name is the local name of the package on the RDK. Must be unique across Packages. Must not be empty. .. py:attribute:: package :type: str Package is the unique package name hosted by Viam. Must not be empty. .. py:attribute:: version :type: str version of the package ID hosted by Viam. If not specified "latest" is assumed. .. py:attribute:: type :type: str type of the package .. py:method:: 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, :exc:`ValueError` will be raised. :param field_name: The name of the field to check for presence. :type field_name: str :returns: Whether a value has been set for the named field. :rtype: bool :raises ValueError: if the `field_name` is not a member of this message. .. py:data:: global___PackageConfig