Device

Struct Device 

Source
#[non_exhaustive]
pub struct Device {
Show 63 fields pub agent_list: Option<Vec<Agent>>, pub autoscale_uid: Option<String>, pub boot_time: Option<i64>, pub boot_time_dt: Option<String>, pub boot_uid: Option<String>, pub container: Option<Box<Container>>, pub created_time: Option<i64>, pub created_time_dt: Option<String>, pub desc: Option<String>, pub domain: Option<String>, pub eid: Option<String>, pub first_seen_time: Option<i64>, pub first_seen_time_dt: Option<String>, pub groups: Option<Vec<Group>>, pub hostname: Option<String>, pub hw_info: Option<Box<DeviceHwInfo>>, pub hypervisor: Option<String>, pub iccid: Option<String>, pub image: Option<Box<Image>>, pub imei: Option<String>, pub imei_list: Option<Vec<String>>, pub instance_uid: Option<String>, pub interface_name: Option<String>, pub interface_uid: Option<String>, pub ip: Option<String>, pub is_backed_up: Option<bool>, pub is_compliant: Option<bool>, pub is_managed: Option<bool>, pub is_mobile_account_active: Option<bool>, pub is_personal: Option<bool>, pub is_shared: Option<bool>, pub is_supervised: Option<bool>, pub is_trusted: Option<bool>, pub last_seen_time: Option<i64>, pub last_seen_time_dt: Option<String>, pub location: Option<Box<Location>>, pub mac: Option<String>, pub meid: Option<String>, pub model: Option<String>, pub modified_time: Option<i64>, pub modified_time_dt: Option<String>, pub name: Option<String>, pub namespace_pid: Option<i64>, pub network_interfaces: Option<Vec<NetworkInterface>>, pub org: Option<Box<Organization>>, pub os: Option<Box<Os>>, pub os_machine_uuid: Option<String>, pub owner: Option<Box<User>>, pub region: Option<String>, pub risk_level: Option<String>, pub risk_level_id: Option<i64>, pub risk_score: Option<i64>, pub subnet: Option<String>, pub subnet_uid: Option<String>, pub type: Option<String>, pub type_id: Option<i64>, pub udid: Option<String>, pub uid: Option<String>, pub uid_alt: Option<String>, pub vendor_name: Option<String>, pub vlan_uid: Option<String>, pub vpc_uid: Option<String>, pub zone: Option<String>,
}
Expand description

Device

The Device object represents an addressable computer system or host, which is typically connected to a computer network and participates in the transmission or processing of data within the computer network.

[] Category: | Name: device

Constraints:

  • at_least_one: [name,uid]

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§agent_list: Option<Vec<Agent>>

Agent List

A list of agent objects associated with a device, endpoint, or resource.

optional

§autoscale_uid: Option<String>

Autoscale UID

The unique identifier of the cloud autoscale configuration.

optional

§boot_time: Option<i64>

Boot Time

The time the system was booted.

optional

§boot_time_dt: Option<String>

Boot Time

The time the system was booted.

optional

§boot_uid: Option<String>

Boot UID

A unique identifier of the device that changes after every reboot. For example, the value of /proc/sys/kernel/random/boot_id from Linux’s procfs.

optional

§container: Option<Box<Container>>

Container

The information describing an instance of a container. A container is a prepackaged, portable system image that runs isolated on an existing system using a container runtime like containerd.

recommended

§created_time: Option<i64>

Created Time

The time when the device was known to have been created.

optional

§created_time_dt: Option<String>

Created Time

The time when the device was known to have been created.

optional

§desc: Option<String>

Description

The description of the device, ordinarily as reported by the operating system.

optional

§domain: Option<String>

Domain

The network domain where the device resides. For example: work.example.com.

optional

§eid: Option<String>

EID

An Embedded Identity Document, is a unique serial number that identifies an eSIM-enabled device.

optional

§first_seen_time: Option<i64>

First Seen

The initial discovery time of the device.

optional

§first_seen_time_dt: Option<String>

First Seen

The initial discovery time of the device.

optional

§groups: Option<Vec<Group>>

Groups

The group names to which the device belongs. For example: [“Windows Laptops”, “Engineering”].

optional

§hostname: Option<String>

Hostname

The device hostname.

recommended

§hw_info: Option<Box<DeviceHwInfo>>

Hardware Info

The endpoint hardware information.

optional

§hypervisor: Option<String>

Hypervisor

The name of the hypervisor running on the device. For example, Xen, VMware, Hyper-V, VirtualBox, etc.

optional

§iccid: Option<String>

ICCID

The Integrated Circuit Card Identification of a mobile device. Typically it is a unique 18 to 22 digit number that identifies a SIM card.

optional

§image: Option<Box<Image>>

Image

The image used as a template to run the virtual machine.

optional

§imei: Option<String>

IMEI

The International Mobile Equipment Identity that is associated with the device.

optional

§imei_list: Option<Vec<String>>

IMEI List

The International Mobile Equipment Identity values that are associated with the device.

optional

§instance_uid: Option<String>

Instance ID

The unique identifier of a VM instance.

recommended

§interface_name: Option<String>

Network Interface Name

The name of the network interface (e.g. eth2).

recommended

§interface_uid: Option<String>

Network Interface ID

The unique identifier of the network interface.

recommended

§ip: Option<String>

IP Address

The device IP address, in either IPv4 or IPv6 format.

optional

§is_backed_up: Option<bool>

Back Ups Configured

Indicates whether the device or resource has a backup enabled, such as an automated snapshot or a cloud backup. For example, this is indicated by the cloudBackupEnabled value within JAMF Pro mobile devices or the registration of an AWS ARN with the AWS Backup service.

optional

§is_compliant: Option<bool>

Compliant Device

The event occurred on a compliant device.

optional

§is_managed: Option<bool>

Managed Device

The event occurred on a managed device.

optional

§is_mobile_account_active: Option<bool>

Mobile Account Active

Indicates whether the device has an active mobile account. For example, this is indicated by the itunesStoreAccountActive value within JAMF Pro mobile devices.

optional

§is_personal: Option<bool>

Personal Device

The event occurred on a personal device.

optional

§is_shared: Option<bool>

Shared Device

The event occurred on a shared device.

optional

§is_supervised: Option<bool>

Supervised Device

The event occurred on a supervised device. Devices that are supervised are typically mobile devices managed by a Mobile Device Management solution and are restricted from specific behaviors such as Apple AirDrop.

optional

§is_trusted: Option<bool>

Trusted Device

The event occurred on a trusted device.

optional

§last_seen_time: Option<i64>

Last Seen

The most recent discovery time of the device.

optional

§last_seen_time_dt: Option<String>

Last Seen

The most recent discovery time of the device.

optional

§location: Option<Box<Location>>

Geo Location

The geographical location of the device.

optional

§mac: Option<String>

MAC Address

The Media Access Control (MAC) address of the endpoint.

optional

§meid: Option<String>

MEID

The Mobile Equipment Identifier. It’s a unique number that identifies a Code Division Multiple Access (CDMA) mobile device.

optional

§model: Option<String>

Model

The model of the device. For example ThinkPad X1 Carbon.

optional

§modified_time: Option<i64>

Modified Time

The time when the device was last known to have been modified.

optional

§modified_time_dt: Option<String>

Modified Time

The time when the device was last known to have been modified.

optional

§name: Option<String>

Name

The alternate device name, ordinarily as assigned by an administrator.

Note: The Name could be any other string that helps to identify the device, such as a phone number; for example 310-555-1234.

optional

§namespace_pid: Option<i64>

Namespace PID

If running under a process namespace (such as in a container), the process identifier within that process namespace.

recommended

§network_interfaces: Option<Vec<NetworkInterface>>

Network Interfaces

The physical or virtual network interfaces that are associated with the device, one for each unique MAC address/IP address/hostname/name combination.

Note: The first element of the array is the network information that pertains to the event.

optional

§org: Option<Box<Organization>>

Organization

Organization and org unit related to the device.

optional

§os: Option<Box<Os>>

OS

The endpoint operating system.

optional

§os_machine_uuid: Option<String>

OS Machine UUID

The operating system assigned Machine ID. In Windows, this is the value stored at the registry path: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\MachineGuid. In Linux, this is stored in the file: /etc/machine-id.

optional

§owner: Option<Box<User>>

Owner

The identity of the service or user account that owns the endpoint or was last logged into it.

recommended

§region: Option<String>

Region

The region where the virtual machine is located. For example, an AWS Region.

recommended

§risk_level: Option<String>

Risk Level

The risk level, normalized to the caption of the risk_level_id value.

optional

§risk_level_id: Option<i64>

Risk Level ID

The normalized risk level id.

optional

§risk_score: Option<i64>

Risk Score

The risk score as reported by the event source.

optional

§subnet: Option<String>

Subnet

The subnet mask.

optional

§subnet_uid: Option<String>

Subnet UID

The unique identifier of a virtual subnet.

optional

§type: Option<String>

Type

The device type. For example: unknown, server, desktop, laptop, tablet, mobile, virtual, browser, or other.

recommended

§type_id: Option<i64>

Type ID

The device type ID.

required

§udid: Option<String>

Unique Device Identifier

The Apple assigned Unique Device Identifier (UDID). For iOS, iPadOS, tvOS, watchOS and visionOS devices, this is the UDID. For macOS devices, it is the Provisioning UDID. For example: 00008020-008D4548007B4F26

optional

§uid: Option<String>

Unique ID

The unique identifier of the device. For example the Windows TargetSID or AWS EC2 ARN.

recommended

§uid_alt: Option<String>

Alternate ID

An alternate unique identifier of the device if any. For example the ActiveDirectory DN.

optional

§vendor_name: Option<String>

Vendor Name

The vendor for the device. For example Dell or Lenovo.

recommended

§vlan_uid: Option<String>

VLAN

The Virtual LAN identifier.

optional

§vpc_uid: Option<String>

VPC UID

The unique identifier of the Virtual Private Cloud (VPC).

optional

§zone: Option<String>

Network Zone

The network zone or LAN segment.

optional

Trait Implementations§

Source§

impl Clone for Device

Source§

fn clone(&self) -> Device

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Device

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Device

Source§

fn default() -> Device

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for Device
where Device: Default,

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl PartialEq for Device

Source§

fn eq(&self, other: &Device) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for Device

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for Device

Auto Trait Implementations§

§

impl Freeze for Device

§

impl RefUnwindSafe for Device

§

impl Send for Device

§

impl Sync for Device

§

impl Unpin for Device

§

impl UnwindSafe for Device

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,