VirtualMachineDetails

Details of a VirtualMachine.

JSON representation
{
  "coreCount": integer,
  "memoryMb": integer,
  "osName": string,
  "vmUuid": string,
  "vmName": string,
  "osFamily": enum (OperatingSystemFamily),
  "vmArchitecture": {
    object (VirtualMachineArchitectureDetails)
  },
  "vmNetwork": {
    object (VirtualMachineNetworkDetails)
  },
  "vmDisks": {
    object (VirtualMachineDiskDetails)
  },
  "guestOs": {
    object (GuestOsDetails)
  },
  "vcenterFolder": string,
  "vcenterUrl": string,
  "vcenterVmId": string,
  "powerState": string,
  "platform": {
    object (PlatformDetails)
  },
  "osVersion": string,
  "createTime": string
}
Fields
coreCount

integer

Number of CPU cores in the VirtualMachine. Must be non-negative.

memoryMb

integer

The amount of memory in the VirtualMachine. Must be non-negative.

osName

string

The name of the operating system running on the VirtualMachine.

vmUuid

string

Virtual Machine unique identifier.

vmName

string

Virtual Machine display name.

osFamily

enum (OperatingSystemFamily)

What family the OS belong to, if known.

vmArchitecture

object (VirtualMachineArchitectureDetails)

VM architecture details (vendor, cpu arch).

vmNetwork

object (VirtualMachineNetworkDetails)

VM network details.

vmDisks

object (VirtualMachineDiskDetails)

VM disk details.

guestOs

object (GuestOsDetails)

Guest OS information.

vcenterFolder

string

Folder name in vCenter where asset resides.

vcenterUrl

string

vCenter URL used in collection.

vcenterVmId

string

vCenter VM ID.

powerState

string

Power state of VM (poweredOn or poweredOff).

platform

object (PlatformDetails)

Platform information.

osVersion

string

The version of the operating system running on the virtual machine.

createTime

string (Timestamp format)

VM creation timestamp.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

OperatingSystemFamily

Known categories of operating systems.

Enums
OS_FAMILY_UNKNOWN
OS_FAMILY_WINDOWS Microsoft Windows Server and Desktop.
OS_FAMILY_LINUX Various Linux flavors.
OS_FAMILY_UNIX Non-Linux Unix flavors.

VirtualMachineArchitectureDetails

Details of the VM architecture.

JSON representation
{
  "cpuArchitecture": string,
  "cpuName": string,
  "cpuManufacturer": string,
  "vendor": string,
  "cpuThreadCount": integer,
  "cpuSocketCount": integer,
  "bios": {
    object (BiosDetails)
  },
  "firmware": string,
  "hyperthreading": enum (HyperThreading)
}
Fields
cpuArchitecture

string

CPU architecture, e.g., "x64-based PC", "x86_64", "i686" etc.

cpuName

string

CPU name, e.g., "Intel Xeon E5-2690", "AMD EPYC 7571" etc.

cpuManufacturer

string

CPU manufacturer, e.g., "Intel", "AMD".

vendor

string

Hardware vendor.

cpuThreadCount

integer

Number of CPU threads allocated to the machine.

cpuSocketCount

integer

Number of processor sockets allocated to the machine.

bios

object (BiosDetails)

BIOS Details.

firmware

string

Firmware (BIOS/efi).

hyperthreading

enum (HyperThreading)

CPU hyperthreading support.

BiosDetails

Details about the BIOS.

JSON representation
{
  "biosName": string,
  "biosManufacturer": string,
  "biosVersion": string,
  "biosReleaseDate": string,
  "smbiosUuid": string
}
Fields
biosName

string

BIOS name.

biosManufacturer

string

BIOS manufacturer.

biosVersion

string

BIOS version.

biosReleaseDate

string

BIOS release date.

smbiosUuid

string

SMBIOS UUID.

HyperThreading

CPU hyperthreading support.

Enums
HYPER_THREADING_UNSPECIFIED Unknown (default value).
HYPER_THREADING_DISABLED Hyperthreading is disabled.
HYPER_THREADING_ENABLED Hyperthreading is enabled.

VirtualMachineNetworkDetails

Details of network adapters and settings.

JSON representation
{
  "primaryIpAddress": string,
  "networkAdapters": {
    object (NetworkAdapterList)
  },
  "defaultGw": string,
  "primaryMacAddress": string,
  "publicIpAddress": string
}
Fields
primaryIpAddress

string

IP address of the machine.

networkAdapters

object (NetworkAdapterList)

List of network adapters.

defaultGw

string

Default gateway address.

primaryMacAddress

string

MAC address of the machine. This property is used to uniqly identify the machine.

publicIpAddress

string

Public IP address of the machine.

NetworkAdapterList

List of network adapters.

JSON representation
{
  "networkAdapters": [
    {
      object (NetworkAdapterDetails)
    }
  ]
}
Fields
networkAdapters[]

object (NetworkAdapterDetails)

Network adapter descriptions.

NetworkAdapterDetails

Details of network adapter.

JSON representation
{
  "adapterType": string,
  "macAddress": string,
  "addresses": {
    object (NetworkAddressList)
  }
}
Fields
adapterType

string

Network adapter type (e.g. VMXNET3).

macAddress

string

MAC address.

addresses

object (NetworkAddressList)

NetworkAddressList

NetworkAddressList

List of allocated/assigned network addresses.

JSON representation
{
  "addresses": [
    {
      object (NetworkAddress)
    }
  ]
}
Fields
addresses[]

object (NetworkAddress)

Network address entries.

NetworkAddress

Details of network address.

JSON representation
{
  "ipAddress": string,
  "subnetMask": string,
  "bcast": string,
  "fqdn": string,
  "assignment": enum (AddressAssignment)
}
Fields
ipAddress

string

Assigned or configured IP Address.

subnetMask

string

Subnet mask.

bcast

string

Broadcast address.

fqdn

string

Fully qualified domain name.

assignment

enum (AddressAssignment)

Whether DHCP is used to assign addresses.

AddressAssignment

Network address assignment.

Enums
ADDRESS_ASSIGNMENT_UNSPECIFIED Unknown (default value).
ADDRESS_ASSIGNMENT_STATIC Staticly assigned IP.
ADDRESS_ASSIGNMENT_DHCP Dynamically assigned IP (DHCP).

VirtualMachineDiskDetails

Details of VM disks.

JSON representation
{
  "hddTotalCapacityBytes": string,
  "hddTotalFreeBytes": string,
  "disks": {
    object (DiskEntryList)
  },
  "lsblkJson": string
}
Fields
hddTotalCapacityBytes

string (int64 format)

Disk total Capacity.

hddTotalFreeBytes

string (int64 format)

Total Disk Free Space.

disks

object (DiskEntryList)

List of disks.

lsblkJson

string

Raw lsblk output in json.

DiskEntryList

VM disks.

JSON representation
{
  "entries": [
    {
      object (DiskEntry)
    }
  ]
}
Fields
entries[]

object (DiskEntry)

Disk entries.

DiskEntry

Single disk entry.

JSON representation
{
  "totalCapacityBytes": string,
  "totalFreeBytes": string,
  "diskLabel": string,
  "diskLabelType": string,
  "status": string,
  "interfaceType": string,
  "partitions": {
    object (DiskPartitionList)
  },
  "hwAddress": string,
  "vmwareConfig": {
    object (VmwareDiskConfig)
  }
}
Fields
totalCapacityBytes

string (int64 format)

Disk capacity.

totalFreeBytes

string (int64 format)

Disk free space.

diskLabel

string

Disk label.

diskLabelType

string

Disk label type (e.g. BIOS/GPT)

status

string

Disk status (e.g. online).

interfaceType

string

Disks interface type (e.g. SATA/SCSI)

partitions

object (DiskPartitionList)

Partition layout.

hwAddress

string

Disk hardware address (e.g. 0:1 for SCSI).

vmwareConfig

object (VmwareDiskConfig)

VMware disk details.

DiskPartitionList

Disk partition list.

JSON representation
{
  "entries": [
    {
      object (DiskPartition)
    }
  ]
}
Fields
entries[]

object (DiskPartition)

Partition entries.

DiskPartition

Disk Partition details.

JSON representation
{
  "type": string,
  "fileSystem": string,
  "mountPoint": string,
  "capacityBytes": string,
  "freeBytes": string,
  "uuid": string,
  "subPartitions": {
    object (DiskPartitionList)
  }
}
Fields
type

string

Partition type (e.g. BIOS boot).

fileSystem

string

Partition file system.

mountPoint

string

Mount pount (Linux/Windows) or drive letter (Windows).

capacityBytes

string (int64 format)

Partition capacity.

freeBytes

string (int64 format)

Partition free space.

uuid

string

Partition UUID.

subPartitions

object (DiskPartitionList)

Sub-partitions.

VmwareDiskConfig

VMware disk config details.

JSON representation
{
  "backingType": enum (BackingType),
  "shared": boolean,
  "vmdkDiskMode": string,
  "rdmCompatibilityMode": string
}
Fields
backingType

enum (BackingType)

VMDK backing type.

shared

boolean

Is VMDK shared with other VMs.

vmdkDiskMode

string

VMDK disk mode.

rdmCompatibilityMode

string

RDM compatibility mode.

BackingType

VMDK backing type possible values.

Enums
BACKING_TYPE_UNSPECIFIED Default value.
BACKING_TYPE_FLAT_V1 Flat v1.
BACKING_TYPE_FLAT_V2 Flat v2.
BACKING_TYPE_PMEM Persistent memory, also known as Non-Volatile Memory (NVM).
BACKING_TYPE_RDM_V1 Raw Disk Memory v1.
BACKING_TYPE_RDM_V2 Raw Disk Memory v2.
BACKING_TYPE_SESPARSE SEsparse is a snapshot format introduced in vSphere 5.5 for large disks.
BACKING_TYPE_SESPARSE_V1 SEsparse v1.
BACKING_TYPE_SESPARSE_V2 SEsparse v1.

GuestOsDetails

Information from Guest-level collections.

JSON representation
{
  "config": {
    object (GuestConfigDetails)
  },
  "runtime": {
    object (GuestRuntimeDetails)
  }
}
Fields
config

object (GuestConfigDetails)

OS and app configuration.

runtime

object (GuestRuntimeDetails)

Runtime information.

GuestConfigDetails

Guest OS config information.

JSON representation
{
  "issue": string,
  "fstab": {
    object (FstabEntryList)
  },
  "hosts": {
    object (HostsEntryList)
  },
  "nfsExports": {
    object (NfsExportList)
  },
  "selinux": {
    object (Selinux)
  }
}
Fields
issue

string

OS issue (typically /etc/issue in Linux).

fstab

object (FstabEntryList)

Mount list (Linux fstab).

hosts

object (HostsEntryList)

Hosts file (/etc/hosts).

nfsExports

object (NfsExportList)

NFS exports.

selinux

object (Selinux)

SELinux details.

FstabEntryList

Fstab content.

JSON representation
{
  "entries": [
    {
      object (FstabEntry)
    }
  ]
}
Fields
entries[]

object (FstabEntry)

Fstab entries.

FstabEntry

Single fstab entry.

JSON representation
{
  "spec": string,
  "file": string,
  "vfstype": string,
  "mntops": string,
  "freq": integer,
  "passno": integer
}
Fields
spec

string

The block special device or remote filesystem to be mounted.

file

string

The mount point for the filesystem.

vfstype

string

The type of the filesystem.

mntops

string

Mount options associated with the filesystem.

freq

integer

Used by dump to determine which filesystems need to be dumped.

passno

integer

Used by the fsck(8) program to determine the order in which filesystem checks are done at reboot time.

HostsEntryList

Hosts content.

JSON representation
{
  "entries": [
    {
      object (HostsEntry)
    }
  ]
}
Fields
entries[]

object (HostsEntry)

Hosts entries.

HostsEntry

Single /etc/hosts entry.

JSON representation
{
  "ip": string,
  "hostNames": [
    string
  ]
}
Fields
ip

string

IP (raw, IPv4/6 agnostic).

hostNames[]

string

List of host names / aliases.

NfsExportList

NFS exports.

JSON representation
{
  "entries": [
    {
      object (NfsExport)
    }
  ]
}
Fields
entries[]

object (NfsExport)

NFS export entries.

NfsExport

NFS export.

JSON representation
{
  "exportDirectory": string,
  "hosts": [
    string
  ]
}
Fields
exportDirectory

string

The directory being exported.

hosts[]

string

The hosts or networks to which the export is being shared.

Selinux

SELinux details.

JSON representation
{
  "enabled": boolean,
  "mode": string
}
Fields
enabled

boolean

Is SELinux enabled.

mode

string

SELinux mode enforcing / permissive.

GuestRuntimeDetails

Guest OS runtime information.

JSON representation
{
  "services": {
    object (RunningServiceList)
  },
  "processes": {
    object (RunningProcessList)
  },
  "networkInfo": {
    object (RuntimeNetworkInfo)
  },
  "lastUptime": {
    object (Date)
  },
  "domain": string,
  "machineName": string,
  "installedApps": {
    object (GuestInstalledApplicationList)
  },
  "openFileList": {
    object (OpenFileList)
  }
}
Fields
services

object (RunningServiceList)

Running background services.

processes

object (RunningProcessList)

Running processes.

networkInfo

object (RuntimeNetworkInfo)

Runtime network information (connections, ports).

lastUptime

object (Date)

Date since last booted (last uptime date).

domain

string

Domain, e.g. c.stratozone-development.internal.

machineName

string

Machine name.

installedApps

object (GuestInstalledApplicationList)

Installed applications information.

openFileList

object (OpenFileList)

Open files information.

RunningServiceList

List of running guest OS services.

JSON representation
{
  "services": [
    {
      object (RunningService)
    }
  ]
}
Fields
services[]

object (RunningService)

Running service entries.

RunningService

Guest OS running service details.

JSON representation
{
  "name": string,
  "state": string,
  "startMode": string,
  "status": string,
  "exePath": string,
  "cmdline": string,
  "pid": string
}
Fields
name

string

Service name.

state

string

Service state (raw, OS-agnostic).

startMode

string

Service start mode (raw, OS-agnostic).

status

string

Service status.

exePath

string

Service binary path.

cmdline

string

Service command line.

pid

string (int64 format)

Service pid.

RunningProcessList

List of running guest OS processes.

JSON representation
{
  "processes": [
    {
      object (RunningProcess)
    }
  ]
}
Fields
processes[]

object (RunningProcess)

Running process entries.

RunningProcess

Guest OS running process details.

JSON representation
{
  "pid": string,
  "exePath": string,
  "cmdline": string,
  "user": string,
  "attributes": {
    string: string,
    ...
  }
}
Fields
pid

string (int64 format)

Process ID.

exePath

string

Process binary path.

cmdline

string

Process full command line.

user

string

User running the process.

attributes

map (key: string, value: string)

Process extended attributes.

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

RuntimeNetworkInfo

Runtime networking information.

JSON representation
{
  "netstat": string,
  "connections": {
    object (NetworkConnectionList)
  },
  "netstatTime": {
    object (DateTime)
  }
}
Fields
netstat

string

Netstat (raw, OS-agnostic).

connections

object (NetworkConnectionList)

Network connections.

netstatTime

object (DateTime)

Netstat time collected.

NetworkConnectionList

Network connection list.

JSON representation
{
  "entries": [
    {
      object (NetworkConnection)
    }
  ]
}
Fields
entries[]

object (NetworkConnection)

Network connection entries.

NetworkConnection

JSON representation
{
  "protocol": string,
  "localIpAddress": string,
  "localPort": integer,
  "remoteIpAddress": string,
  "remotePort": integer,
  "state": string,
  "pid": string,
  "processName": string
}
Fields
protocol

string

Connection protocol (e.g. TCP/UDP).

localIpAddress

string

Local IP address.

localPort

integer

Local port.

remoteIpAddress

string

Remote IP address.

remotePort

integer

Remote port.

state

string

Connection state (e.g. CONNECTED).

pid

string (int64 format)

Process ID.

processName

string

Process or service name.

DateTime

Represents civil time (or occasionally physical time).

This type can represent a civil time in one of a few possible ways:

  • When utcOffset is set and timeZone is unset: a civil time on a calendar day with a particular offset from UTC.
  • When timeZone is set and utcOffset is unset: a civil time on a calendar day in a particular time zone.
  • When neither timeZone nor utcOffset is set: a civil time on a calendar day in local time.

The date is relative to the Proleptic Gregorian Calendar.

If year, month, or day are 0, the DateTime is considered not to have a specific year, month, or day respectively.

This type may also be used to represent a physical time if all the date and time fields are set and either case of the time_offset oneof is set. Consider using Timestamp message for physical time instead. If your use case also would like to store the user's timezone, that can be done in another field.

This type is more flexible than some applications may want. Make sure to document and validate your application's limitations.

JSON representation
{
  "year": integer,
  "month": integer,
  "day": integer,
  "hours": integer,
  "minutes": integer,
  "seconds": integer,
  "nanos": integer,

  // Union field time_offset can be only one of the following:
  "utcOffset": string,
  "timeZone": {
    object (TimeZone)
  }
  // End of list of possible types for union field time_offset.
}
Fields
year

integer

Optional. Year of date. Must be from 1 to 9999, or 0 if specifying a datetime without a year.

month

integer

Optional. Month of year. Must be from 1 to 12, or 0 if specifying a datetime without a month.

day

integer

Optional. Day of month. Must be from 1 to 31 and valid for the year and month, or 0 if specifying a datetime without a day.

hours

integer

Optional. Hours of day in 24 hour format. Should be from 0 to 23, defaults to 0 (midnight). An API may choose to allow the value "24:00:00" for scenarios like business closing time.

minutes

integer

Optional. Minutes of hour of day. Must be from 0 to 59, defaults to 0.

seconds

integer

Optional. Seconds of minutes of the time. Must normally be from 0 to 59, defaults to 0. An API may allow the value 60 if it allows leap-seconds.

nanos

integer

Optional. Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999, defaults to 0.

Union field time_offset. Optional. Specifies either the UTC offset or the time zone of the DateTime. Choose carefully between them, considering that time zone data may change in the future (for example, a country modifies their DST start/end dates, and future DateTimes in the affected range had already been stored). If omitted, the DateTime is considered to be in local time. time_offset can be only one of the following:
utcOffset

string (Duration format)

UTC offset. Must be whole seconds, between -18 hours and +18 hours. For example, a UTC offset of -4:00 would be represented as { seconds: -14400 }.

A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".

timeZone

object (TimeZone)

Time zone.

TimeZone

Represents a time zone from the IANA Time Zone Database.

JSON representation
{
  "id": string,
  "version": string
}
Fields
id

string

IANA Time Zone Database time zone, e.g. "America/New_York".

version

string

Optional. IANA Time Zone Database version number, e.g. "2019a".

GuestInstalledApplicationList

Guest installed application list.

JSON representation
{
  "entries": [
    {
      object (GuestInstalledApplication)
    }
  ]
}
Fields
entries[]

object (GuestInstalledApplication)

Application entries.

GuestInstalledApplication

Guest installed application information.

JSON representation
{
  "name": string,
  "vendor": string,
  "time": string,
  "path": string,
  "version": string,
  "licenses": [
    string
  ]
}
Fields
name

string

Installed application name.

vendor

string

Installed application vendor.

time

string

Date application was installed.

path

string

Source path.

version

string

Installed application version.

licenses[]

string

License strings associated with the installed application.

OpenFileList

Open file list.

JSON representation
{
  "entries": [
    {
      object (OpenFileDetails)
    }
  ]
}
Fields
entries[]

object (OpenFileDetails)

Open file details entries.

OpenFileDetails

Open file Information.

JSON representation
{
  "command": string,
  "user": string,
  "fileType": string,
  "filePath": string
}
Fields
command

string

Opened file command.

user

string

Opened file user.

fileType

string

Opened file file type.

filePath

string

Opened file file path.

PlatformDetails

Information about the platform.

JSON representation
{

  // Union field vendor_details can be only one of the following:
  "vmwareDetails": {
    object (VmwarePlatformDetails)
  },
  "awsEc2Details": {
    object (AwsEc2PlatformDetails)
  },
  "azureVmDetails": {
    object (AzureVmPlatformDetails)
  },
  "genericDetails": {
    object (GenericPlatformDetails)
  },
  "physicalDetails": {
    object (PhysicalPlatformDetails)
  }
  // End of list of possible types for union field vendor_details.
}
Fields

Union field vendor_details.

vendor_details can be only one of the following:

vmwareDetails

object (VmwarePlatformDetails)

VMware specific details.

awsEc2Details

object (AwsEc2PlatformDetails)

AWS EC2 specific details.

azureVmDetails

object (AzureVmPlatformDetails)

Azure VM specific details.

genericDetails

object (GenericPlatformDetails)

Generic platform details.

physicalDetails

object (PhysicalPlatformDetails)

Physical machines platform details.

VmwarePlatformDetails

VMware specific details.

JSON representation
{
  "vcenterVersion": string,
  "esxVersion": string,
  "osid": string
}
Fields
vcenterVersion

string

vCenter version.

esxVersion

string

ESX version.

osid

string

VMware os enum - https://vdc-repo.vmware.com/vmwb-repository/dcr-public/da47f910-60ac-438b-8b9b-6122f4d14524/16b7274a-bf8b-4b4c-a05e-746f2aa93c8c/doc/vim.vm.GuestOsDescriptor.GuestOsIdentifier.html.

AwsEc2PlatformDetails

AWS EC2 specific details.

JSON representation
{
  "machineTypeLabel": string,
  "location": string
}
Fields
machineTypeLabel

string

AWS platform's machine type label.

location

string

The location of the machine in the AWS format.

AzureVmPlatformDetails

Azure VM specific details.

JSON representation
{
  "machineTypeLabel": string,
  "location": string,
  "provisioningState": string
}
Fields
machineTypeLabel

string

Azure platform's machine type label.

location

string

The location of the machine in the Azure format.

provisioningState

string

Azure platform's provisioning state.

GenericPlatformDetails

Generic platform details.

JSON representation
{
  "location": string
}
Fields
location

string

Free text representation of the machine location. The format of this field should not be relied on. Different VMs in the same location may have different string values for this field.

PhysicalPlatformDetails

Platform specific details for Physical Machines.

JSON representation
{
  "location": string
}
Fields
location

string

Free text representation of the machine location. The format of this field should not be relied on. Different machines in the same location may have different string values for this field.